/* T-141b: ana sayfa alt yarı — kampanya bandı, tanıtım kartları, müşteri yorumları, bülten.
   Bordo başlık / krem zemin / yumuşak gölge. Yeşil mevcut tema token'ından (--color-primary); bordo ve krem bu bölüme özgü
   --hb-* token'ları (üst yarı eklenince tek ortak token'a taşınabilir). Serif başlık: Fraunces (yerel, T-131b). */
:where(.hb, .hb-news) {
  --hb-burgundy: #8e1b2c;
  --hb-burgundy-deep: #5e1220;
  /* T-178: hazır tema seçilince (/theme.css) --home-hb-* bu bölümü temaya bağlar; tanımlı değilse (Orman / Özel) bordo-krem marka görünümü aynen kalır. */
  --hb-cream: var(--home-hb-cream, #f7f1e3);
  --hb-cream-deep: var(--home-hb-cream-deep, #efe5cf);
  --hb-ink: var(--home-hb-ink, #34201a);
  --hb-gold: var(--home-hb-gold, #e6b955);
  --hb-paper: var(--home-hb-paper, #fff);
  --hb-serif: "Fraunces", Georgia, "Times New Roman", serif;
  --hb-shadow: 0 6px 22px rgba(52, 32, 26, .10), 0 1px 3px rgba(52, 32, 26, .08);
}

.hb { margin-block: var(--space-6, 24px); }

/* ── Ortak: serif başlık, el yazısı etiket, düğme ─────────────────────────────────────────── */
.hb-script { margin: 0 0 var(--space-2, 8px); font: italic 600 clamp(1rem, 1.5vw, 1.2rem)/1.2 var(--hb-serif); color: var(--hb-gold); letter-spacing: .01em; }
.hb-btn { display: inline-flex; align-items: center; gap: var(--space-2, 8px); min-height: 44px; padding: 0 var(--space-5, 20px); border-radius: var(--radius-btn); font-weight: 700; font-size: .95rem; text-decoration: none; transition: transform var(--dur, 160ms) var(--ease, ease), box-shadow var(--dur, 160ms); }
.hb-btn--white { background: var(--hb-paper); color: var(--hb-ink); box-shadow: 0 4px 14px rgba(0, 0, 0, .22); }
.hb-btn--white:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0, 0, 0, .28); color: var(--hb-ink); }
.hb-btn:focus-visible, .hb-promo__link:focus-visible, .hb-head__link:focus-visible, .hb-arrow:focus-visible, .hb-news__btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }

/* ── (5) Kampanya bandı ──────────────────────────────────────────────────────────────────── */
.hb-banner { position: relative; display: flex; align-items: center; min-height: clamp(210px, 25vw, 340px); border-radius: var(--radius-lg, 18px); overflow: hidden; color: #fff; box-shadow: var(--hb-shadow); background: linear-gradient(120deg, var(--hb-burgundy-deep), var(--hb-burgundy)); isolation: isolate; }
.hb-banner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hb-banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(34, 15, 10, .86) 0%, rgba(34, 15, 10, .62) 42%, rgba(34, 15, 10, 0) 78%); }
.hb-banner--plain::before { background: none; }
.hb-banner__body { max-width: min(560px, 62%); padding: var(--space-6, 24px) clamp(20px, 4vw, 48px); }
.hb-banner__title { margin: 0 0 var(--space-3, 12px); font: 700 clamp(1.7rem, 3.4vw, 2.9rem)/1.1 var(--hb-serif); color: #fff; text-wrap: balance; }
.hb-banner__sub { margin: 0 0 var(--space-5, 20px); font-size: clamp(.9rem, 1.2vw, 1.05rem); color: rgba(255, 255, 255, .92); max-width: 42ch; }
.hb-badge { position: absolute; right: clamp(12px, 4.5vw, 64px); top: 50%; display: grid; place-items: center; align-content: center; gap: 2px; width: clamp(88px, 11vw, 150px); aspect-ratio: 1; border-radius: 50%; background: var(--hb-burgundy); color: #fff; text-align: center; transform: translateY(-50%) rotate(-8deg); box-shadow: 0 8px 24px rgba(0, 0, 0, .35); outline: 2px dotted rgba(255, 255, 255, .7); outline-offset: -7px; padding: var(--space-2, 8px); }
.hb-badge__text { font: italic 700 clamp(.8rem, 1.25vw, 1.2rem)/1.1 var(--hb-serif); text-wrap: balance; overflow-wrap: normal; }
.hb-badge__leaf { width: clamp(14px, 1.6vw, 22px); height: clamp(14px, 1.6vw, 22px); color: var(--hb-gold); }
@media (max-width: 767.98px) {
  .hb-banner { min-height: 280px; align-items: flex-end; }
  .hb-banner::before { background: linear-gradient(0deg, rgba(34, 15, 10, .9) 0%, rgba(34, 15, 10, .55) 55%, rgba(34, 15, 10, 0) 100%); }
  .hb-banner__body { max-width: 100%; padding-top: 96px; }
  .hb-badge { top: 14px; right: 14px; transform: rotate(-8deg); width: 84px; }
}

/* ── (6) Tanıtım kartları ────────────────────────────────────────────────────────────────── */
.hb-promos { display: grid; gap: var(--space-4, 16px); grid-template-columns: 1fr; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .hb-promos { grid-template-columns: repeat(3, 1fr); gap: var(--space-5, 20px); } }
.hb-promo { position: relative; display: flex; align-items: center; min-height: 168px; border-radius: var(--radius-md, 12px); overflow: hidden; background: var(--hb-cream); box-shadow: var(--hb-shadow); isolation: isolate; }
.hb-promo__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; z-index: -2; }
.hb-promo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--hb-cream) 0%, var(--hb-cream) 42%, color-mix(in srgb, var(--hb-cream) 70%, transparent) 62%, transparent 86%); }
.hb-promo--plain::before { background: linear-gradient(120deg, var(--hb-cream), var(--hb-cream-deep)); }
.hb-promo__body { max-width: 58%; padding: var(--space-5, 20px) var(--space-5, 20px); }
.hb-promo__title { margin: 0 0 var(--space-2, 8px); font: 700 clamp(1.25rem, 1.9vw, 1.6rem)/1.15 var(--hb-serif); color: var(--hb-ink); text-wrap: balance; }
.hb-promo__text { margin: 0 0 var(--space-3, 12px); font-size: .92rem; color: color-mix(in srgb, var(--hb-ink) 82%, transparent); }
.hb-promo__link { display: inline-flex; align-items: center; gap: var(--space-2, 8px); font-weight: 700; font-size: .92rem; color: var(--hb-ink); text-decoration: none; }
.hb-promo__link::after { content: ""; position: absolute; inset: 0; }   /* kartın tamamı tıklanır */
.hb-promo:hover .hb-promo__link i { transform: translateX(3px); }
.hb-promo__link i { transition: transform var(--dur, 160ms) var(--ease, ease); }
@media (max-width: 767.98px) {
  .hb-promo { min-height: 112px; }
  .hb-promo__body { max-width: 66%; padding: var(--space-4, 16px); }
  .hb-promo__title { font-size: 1.125rem; margin-bottom: 2px; }
  .hb-promo__text { font-size: .8125rem; margin-bottom: var(--space-2, 8px); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
  .hb-promos { gap: var(--space-3, 12px); }
}

/* ── (7) Müşteri yorumları ───────────────────────────────────────────────────────────────── */
.hb-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4, 16px); margin-bottom: var(--space-4, 16px); }
.hb-head__title { margin: 0; font-family: var(--font-heading, inherit); font-weight: 800; font-size: var(--fs-h2); line-height: 1.2; letter-spacing: var(--ls-tight); color: var(--home-heading, var(--color-text)); }
.hb-head__link { display: inline-flex; align-items: center; gap: var(--space-1, 4px); font-size: .9rem; font-weight: 700; color: var(--color-primary); text-decoration: none; white-space: nowrap; }
.hb-head__link:hover { text-decoration: underline; }
.hb-reviews { position: relative; }
.hb-reviews__track { display: flex; gap: var(--space-4, 16px); margin: 0; padding: var(--space-2, 8px) 2px var(--space-4, 16px); list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; }
.hb-reviews__track::-webkit-scrollbar { display: none; }
.hb-reviews__track:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--radius-md, 12px); }
.hb-review { flex: 0 0 calc((100% - 2 * var(--space-4, 16px)) / 3); min-width: 0; scroll-snap-align: start; display: flex; flex-direction: column; gap: var(--space-3, 12px); padding: var(--space-5, 20px); background: var(--color-surface, #fff); border-radius: var(--radius-md, 12px); box-shadow: var(--hb-shadow); }
.hb-review__top { display: flex; align-items: center; gap: var(--space-3, 12px); }
.hb-review__avatar { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--hb-cream-deep); color: var(--hb-ink); font-weight: 800; font-size: 1.05rem; }
.hb-stars { display: inline-flex; gap: 2px; color: var(--hb-gold); font-size: .95rem; }
.hb-review__quote { margin: 0; font-size: .95rem; line-height: 1.55; color: var(--color-text, var(--hb-ink)); flex: 1; }
.hb-review__name { margin: 0; font-weight: 800; font-size: .92rem; color: var(--hb-ink); }
.hb-review__verified { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: .82rem; font-weight: 700; color: var(--color-success-text, #1e7b3c); }
.hb-arrow { position: absolute; top: calc(50% - 14px); z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: var(--radius-btn); background: var(--hb-paper); color: var(--hb-ink); box-shadow: var(--hb-shadow); cursor: pointer; }
.hb-arrow[hidden] { display: none; }
.hb-arrow--prev { left: -22px; }
.hb-arrow--next { right: -22px; }
.hb-arrow:hover { background: var(--hb-cream); }
.hb-dots { display: flex; justify-content: center; gap: 8px; margin-top: var(--space-2, 8px); }
.hb-dots[hidden] { display: none; }
.hb-dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: var(--color-border, #e2e6e0); cursor: pointer; position: relative; }
.hb-dot::after { content: ""; position: absolute; inset: -17px -4px; }   /* dokunma alanı ≥ 44px */
.hb-dot[aria-selected="true"] { background: var(--color-primary); }
@media (max-width: 1023.98px) { .hb-review { flex-basis: calc((100% - var(--space-4, 16px)) / 2); } }
@media (max-width: 639.98px) {
  .hb-review { flex-basis: 86%; }
  .hb-arrow { display: none; }
  .hb-head { align-items: center; }
}

/* ── (8) Bülten ──────────────────────────────────────────────────────────────────────────── */
.hb-news { position: relative; margin-block: var(--space-6, 24px) 0; padding: clamp(36px, 5vw, 64px) 0; background: linear-gradient(180deg, var(--hb-cream) 0%, var(--hb-cream-deep) 100%); overflow: hidden; isolation: isolate; }
.hb-news__inner { position: relative; z-index: 1; display: grid; justify-items: center; text-align: center; gap: var(--space-3, 12px); }
.hb-news__title { margin: 0; font: 700 clamp(1.4rem, 2.6vw, 2.1rem)/1.2 var(--hb-serif); color: var(--hb-ink); text-wrap: balance; }
.hb-news__desc { margin: 0; color: color-mix(in srgb, var(--hb-ink) 80%, transparent); font-size: .95rem; }
.hb-news__form { width: min(640px, 100%); margin-top: var(--space-2, 8px); }
.hb-news__row { display: flex; align-items: stretch; background: var(--hb-paper); border: 1px solid color-mix(in srgb, var(--hb-ink) 18%, transparent); border-radius: 12px; overflow: hidden; box-shadow: var(--hb-shadow); }
.hb-news__row:focus-within { box-shadow: var(--focus-ring), var(--hb-shadow); }
.hb-news__input { flex: 1; min-width: 0; min-height: 52px; padding: 0 var(--space-4, 16px); border: 0; background: transparent; font: inherit; color: var(--hb-ink); }
.hb-news__input:focus { outline: none; }
.hb-news__input[aria-invalid="true"] { color: var(--color-danger-text, #c0322b); }
.hb-news__btn { min-width: 132px; padding: 0 var(--space-5, 20px); border: 0; background: var(--color-primary); color: var(--color-on-primary, #fff); font-weight: 800; cursor: pointer; transition: background var(--dur, 160ms); }
.hb-news__btn:hover { background: var(--color-primary-hover, var(--color-primary)); }
.hb-news__btn:disabled { opacity: .7; cursor: progress; }
.hb-news__error { margin: var(--space-2, 8px) 0 0; font-size: .88rem; font-weight: 700; color: var(--color-danger-text, #c0322b); }
.hb-news__error[hidden], .hb-news__done[hidden] { display: none; }
.hb-news__done { display: inline-flex; align-items: center; gap: var(--space-2, 8px); margin: 0; font-weight: 800; color: var(--color-success-text, #1e7b3c); }
.hb-news__legal { margin: 0; font-size: .78rem; color: color-mix(in srgb, var(--hb-ink) 65%, transparent); }
.hb-news__legal a { color: inherit; text-decoration: underline; }
.hb-olive { position: absolute; bottom: -10px; z-index: 0; width: clamp(110px, 17vw, 240px); height: auto; color: color-mix(in srgb, var(--color-primary) 70%, var(--hb-cream)); opacity: .55; pointer-events: none; }
.hb-olive--left { left: -14px; }
.hb-olive--right { right: -14px; transform: scaleX(-1); }
.hb-olive__leaf { fill: color-mix(in srgb, var(--color-primary) 55%, var(--hb-cream)); }
.hb-olive__fruit { fill: color-mix(in srgb, var(--color-primary) 85%, #000); }
@media (max-width: 575.98px) {
  .hb-olive { width: 84px; opacity: .4; }
  .hb-news__row { flex-direction: column; }
  .hb-news__btn { min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .hb-reviews__track { scroll-behavior: auto; }
  .hb-btn, .hb-promo__link i, .hb-news__btn { transition: none; }
}

/* ── T-142 bölüm görselleri ──────────────────────────────────────────────────────────────── */
/* Yorumlar: başlık altında ince yatay görsel bandı */
.hb-reviews-band { height: 96px; margin: 0 0 var(--space-4, 16px); overflow: hidden; border: 1px solid color-mix(in srgb, var(--hb-ink) 10%, transparent); border-radius: var(--radius-md, 12px); box-shadow: var(--hb-shadow); }
.hb-reviews-band img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* Bülten: masaüstünde görsel sağ yarıda, krem geçişle soldaki form/metne karışır; mobilde açık krem katman altında zemin */
.hb-news__bg { position: absolute; top: 0; right: 0; bottom: 0; z-index: 0; width: 56%; height: 100%; object-fit: cover; }
.hb-news--img::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, var(--hb-cream) 0%, var(--hb-cream) 44%, color-mix(in srgb, var(--hb-cream) 55%, transparent) 62%, color-mix(in srgb, var(--hb-cream) 8%, transparent) 100%); }
.hb-news--img .hb-news__inner { justify-items: start; text-align: left; }
.hb-news--img .hb-news__inner > * { max-width: min(520px, 46%); }
.hb-news--img .hb-news__form { width: 100%; }
@media (max-width: 767.98px) {
  .hb-news--img { padding: var(--space-6, 24px) 0; }
  .hb-news__bg { width: 100%; }
  .hb-news--img::after { background: linear-gradient(180deg, color-mix(in srgb, var(--hb-cream) 92%, transparent), color-mix(in srgb, var(--hb-cream) 84%, transparent)); }
  .hb-news--img .hb-news__inner { justify-items: center; text-align: center; gap: var(--space-2, 8px); }
  .hb-news--img .hb-news__inner > * { max-width: 100%; }
}
@media (max-width: 639.98px) {
  .hb-reviews-band { height: 64px; margin-bottom: var(--space-3, 12px); }
}

/* Masaüstü (patron 2026-10-25): bülten e-posta alanı yazının SAĞINDA — solda başlık/açıklama, sağda form + yasal not */
@media (min-width: 992px) {
  .hb-news__inner { grid-template-columns: minmax(0, 1fr) minmax(380px, 520px); grid-template-areas: "title form" "desc legal" "desc done"; justify-items: stretch; align-items: center; text-align: left; column-gap: var(--space-8, 40px); row-gap: var(--space-2, 8px); }
  .hb-news__title { grid-area: title; }
  .hb-news__desc { grid-area: desc; align-self: start; }
  .hb-news__form { grid-area: form; width: 100%; margin-top: 0; }
  .hb-news__done { grid-area: form; }
  .hb-news__legal { grid-area: legal; align-self: start; }
  /* Görselli sürüm: içerik tam genişliğe yayılır; görsel yine sağda ama form okunur kalsın diye katman tüm alanı hafif kaplar */
  .hb-news--img .hb-news__inner > * { max-width: none; }
  .hb-news--img::after { background: linear-gradient(90deg, var(--hb-cream) 0%, var(--hb-cream) 40%, color-mix(in srgb, var(--hb-cream) 82%, transparent) 70%, color-mix(in srgb, var(--hb-cream) 70%, transparent) 100%); }
}
