/* Casa Bho — site stilleri
   1. Fontlar   : Cormorant Garamond (başlıklar) + Instrument Sans (metin), yerel woff2
   2. Temel     : gövde, bağlantılar, keyframe'ler
   Not: bileşen stillerinin çoğu hâlâ index.html içinde inline style="" olarak duruyor. */

/* ============================================================
   1. FONTLAR
   ============================================================ */
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/cormorant-garamond-italic-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/cormorant-garamond-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/cormorant-garamond-italic-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/cormorant-garamond-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/cormorant-garamond-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/cormorant-garamond-italic-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/cormorant-garamond-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/cormorant-garamond-italic-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/cormorant-garamond-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/cormorant-garamond-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/cormorant-garamond-normal-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/instrument-sans-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/instrument-sans-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/instrument-sans-normal-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/instrument-sans-normal-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/instrument-sans-normal-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/instrument-sans-normal-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   2. TEMEL
   ============================================================ */
html { scroll-behavior: smooth; }
body { margin: 0; background: #EFEBE4; color: #191713; font-family: 'Instrument Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:hover { color: #8A6A46; }
::selection { background: #191713; color: #EFEBE4; }
@keyframes cbFade { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes cbLine { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ============================================================
   3. RESPONSIVE
   Düzen değerleri markup'ta inline style="" içinde durduğu için,
   kırılım noktalarındaki geçersiz kılmalar !important gerektiriyor.
   Yalnızca düzeni etkileyen özellikler eziliyor; renk ve tipografi
   inline hâliyle kalıyor.
   Kırılımlar: 1024px (tablet) · 760px (mobil)
   ============================================================ */

/* markup'ta çalışmayan style-hover attribute'unun yerine gerçek hover */
.cb-btn { transition: background 240ms ease, color 240ms ease, border-color 240ms ease; }
.cb-btn:hover { background: #F2EEE7 !important; color: #12100D !important; border-color: #F2EEE7 !important; }

/* ---------- tablet ---------- */
@media (max-width: 1024px) {
  .cb-grid-4,
  .cb-grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ---------- mobil ---------- */
@media (max-width: 760px) {
  /* iki kolonlu bölümler tek kolona iner */
  .cb-two,
  .cb-grid-3,
  .cb-fluid-cols { grid-template-columns: 1fr !important; }

  /* dörtlü ızgaralar ikili kalır (Elements, Process) */
  .cb-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
  /* 4 kolonda ritim veren kademeli hizalama, 2 kolonda bozukluk gibi duruyor */
  .cb-grid-4 > figure { padding-top: 0 !important; }

  /* masaüstünde kolon olan görseller mobilde tam genişlik şerit olur */
  .cb-band-img { min-height: 52vh !important; }

  /* header: logo üstte, menü altında tek sırada */
  .cb-header { flex-direction: column; align-items: flex-start !important; gap: 9px; padding: 13px 20px !important; }
  .cb-logo span:first-child { font-size: 17px !important; }
  .cb-logo-sub { display: none !important; }
  /* dar ekranlarda sabit gap taşmaya yol açıyordu: tam genişlikte eşit dağıt */
  .cb-nav { width: 100%; justify-content: space-between; gap: 6px !important;
            font-size: 10.5px !important; letter-spacing: 0.08em !important; }

  .cb-hero-inner { padding: 104px 20px 52px !important; gap: 24px !important; }

  /* 22px değerler iki kolonlu hücrelere sığmıyordu */
  .cb-spec > div { padding: 15px 14px !important; }
  .cb-spec > div > div:last-child { font-size: 17px !important; }

  .cb-footer { gap: 14px !important; }
  .cb-footer img { height: 42px !important; }

  /* 10-11px etiketler mobilde okunmuyordu */
  [style*="font-size:10px"], [style*="font-size: 10px"] { font-size: 11px !important; letter-spacing: 0.16em !important; }
  [style*="font-size:11px"], [style*="font-size: 11px"] { letter-spacing: 0.16em !important; }
}

/* ---------- çok dar ekranlar (eski/küçük telefonlar) ---------- */
@media (max-width: 360px) {
  .cb-nav { font-size: 9.5px !important; letter-spacing: 0.04em !important; }
  .cb-hero-inner { padding: 100px 16px 48px !important; }
}

/* ============================================================
   4. SCROLL'A DUYARLI HEADER
   Sabit header hem koyu hem açık bölümlerin üstünden geçiyor.
   site.js, header'ın ortasına denk gelen bölümün data-tone
   değerine göre .is-on-light sınıfını ekleyip kaldırıyor.
   Renkler markup'ta inline olduğu için ezmek !important gerektiriyor.
   ============================================================ */
.cb-header,
.cb-header .cb-logo span,
.cb-header .cb-nav a { transition: background 420ms ease, color 320ms ease, text-shadow 320ms ease; }

.cb-header.is-on-light {
  background: linear-gradient(180deg, rgba(239,235,228,0.94) 0%, rgba(239,235,228,0.74) 58%, rgba(239,235,228,0) 100%) !important;
  text-shadow: none !important;
}
.cb-header.is-on-light .cb-logo span,
.cb-header.is-on-light .cb-nav a { color: #191713 !important; }
.cb-header.is-on-light .cb-logo-sub { color: #4A443A !important; }
.cb-header.is-on-light .cb-nav a:hover { color: #8A6A46 !important; }

/* ============================================================
   5. HERO PANELİ — video katmanı
   Hero görseli object-fit:cover ile kırpıldığı için, videoyu görselin
   üstüne doğru yere koymak ancak aynı kırpma geometrisini taklit eden
   bir sarmalayıcıyla mümkün. .cb-hero-media, hero görselinin en-boy
   oranında ve bölümü tam kaplayacak büyüklükte bir kare; içindeki
   yüzdeler doğrudan görsel koordinatlarına karşılık geliyor.

   Panel koordinatları 2048×2048'lik hero görseline göre:
     x 948 · y 370 · genişlik 399 · yükseklik 1166
   Alt kenar tahminî — tutmazsa sadece --panel-h değerini değiştir.
   --panel-bleed, videoyu her yönde birkaç piksel taşırarak panel
   kenarında saç teli boşluk kalmasını engelliyor.
   ============================================================ */
:root {
  --panel-x: 46.289%;
  --panel-y: 18.066%;
  --panel-w: 19.482%;
  --panel-h: 56.934%;
  --panel-bleed: 3px;
  --panel-fade: 84%;
  --hero-opacity: 0.88;
}

.cb-hero-media {
  --side: max(100vw, 100svh, 520px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--side);
  height: var(--side);
  pointer-events: none;
  /* sönümleme katmanlara ayrı ayrı değil, bütüne uygulanmalı — aksi hâlde
     video yarı saydam kalıp altındaki görselin kendi kuşunu sızdırıyor */
  opacity: var(--hero-opacity);
}

.cb-hero-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.cb-hero-panel {
  position: absolute;
  left:   calc(var(--panel-x) - var(--panel-bleed));
  top:    calc(var(--panel-y) - var(--panel-bleed));
  width:  calc(var(--panel-w) + var(--panel-bleed) * 2);
  height: calc(var(--panel-h) + var(--panel-bleed) * 2);
  display: block;
  object-fit: cover;
  /* Alt kenar: panelin nerede bittiği görselde tam ölçülemiyor (aşağıda panel
     içeriği de çevresi kadar koyulaştığı için kontrast kayboluyor). Keskin bir
     çizgi bırakmak yerine videoyu alttaki durağan görsele erittiriyoruz —
     o bölge zaten koyu orman olduğu için geçiş görünmüyor. */
  -webkit-mask-image: linear-gradient(to bottom, #000 var(--panel-fade), transparent 100%);
          mask-image: linear-gradient(to bottom, #000 var(--panel-fade), transparent 100%);
}

/* hareket azaltma tercihi: video gizlenir, altındaki durağan hero görünür */
@media (prefers-reduced-motion: reduce) {
  .cb-hero-panel { display: none; }
}
