  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; background: #FAF6EE; color: #22303B; font-family: 'Jost', sans-serif; -webkit-font-smoothing: antialiased; }
  img { max-width: 100%; }
  a { color: #B5763A; text-decoration: none; }
  a:hover { color: #96622F; }

  @keyframes heroFade { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
  @keyframes kenburnsSlow { from { transform: scale(1); } to { transform: scale(1.06); } }

  /* --- hover davranışları (dc style-hover yerine gerçek CSS) --- */
  .nav-a, .menu-a, .lang-a { transition: color 0.25s; }
  /* inline color'ı geçmek için !important */
  .nav-a:hover, .menu-a:hover, .foot-a:hover, .contact-a:hover, .lang-a:hover { color: #E8B87E !important; }
  .lang-a.active { color: #E8B87E !important; font-weight: 500; }
  .btn-gold { transition: all 0.3s; }
  .btn-gold:hover { background: #96622F; color: #FFF; }
  .btn-ghost:hover { background: rgba(255,255,255,0.16); color: #FFF; }
  .btn-dark { transition: background 0.25s; }
  .btn-dark:hover { background: #B5763A; color: #FFF; }
  .link-arrow { transition: color 0.35s; }
  .link-arrow:hover { color: #B5763A; }
  .zoom { transition: transform 0.7s cubic-bezier(0.22,1,0.36,1); }
  .zoomwrap:hover .zoom, .events-photo:hover .zoom { transform: scale(1.05); }
  .maps-btn { transition: background 0.3s; }
  .maps-btn:hover { background: #B5763A; color: #FFF; }
  .rez-outline { transition: all 0.4s; }
  .rez-outline:hover { background: #0D2436; border-color: #0D2436; color: #FAF6EE; }
  #topBtn { transition: opacity 0.4s, background 0.3s, transform 0.3s; }
  #topBtn:hover { background: #B5763A; border-color: #B5763A; color: #FFF; transform: translateY(-3px); }

  /* --- rezervasyon paneli alanları --- */
  .rez-input { font-family: 'Cormorant Garamond', serif; font-size: 22px; color: #22303B; border: none; background: transparent; width: 100%; padding: 0; margin: 0; cursor: pointer; -webkit-appearance: none; appearance: none; }
  .rez-input:focus { outline: none; color: #B5763A; }
  .rez-input::-webkit-calendar-picker-indicator { cursor: pointer; opacity: 0.5; }
  select.rez-input { padding-right: 18px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath fill='%23B5763A' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right center; }

  /* --- galeri filtre --- */
  .filter-btn { font-family: 'Jost', sans-serif; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; padding: 10px 22px; cursor: pointer; border: 1px solid #D8CDB9; background: transparent; color: #5C6B76; transition: all 0.25s; }
  .filter-btn.active { background: #0D2436; border-color: #0D2436; color: #FFF; }

  /* --- reveal başlangıç durumu --- */
  [data-reveal] { opacity: 0; }
  [data-reveal].revealed { opacity: 1; }

  /* --- rezervasyon paneli --- */
  /* Geniş/tablet (>760px): tek sıra, hero üzerinde. Panel tek sırada ~700px yer kaplar. */
  .rez-panel { margin: -120px auto 0; }
  /* ≤760px: panel alt alta sarılır → temiz dikey yığın, hero'nun altına in (taşma/çakışma olmasın) */
  @media (max-width: 760px) {
    .rez-panel { margin-top: 0; flex-direction: column; }
    /* inline "flex: 1 1 180px" dikey düzende yükseklik olur → içerik yüksekliğine sabitle */
    .rez-panel > div { flex: 0 0 auto !important; border-right: none !important; border-bottom: 1px solid #EBE2D2; }
    .rez-panel > a { justify-content: center; padding: 16px 40px !important; }
  }

  /* --- Keşfet kutuları: tablette 2x2, telefonda tek sıra --- */
  /* 5 kart: auto-fit 1240px kapta 4 sutun uretip tek kart oksuz kaliyordu ->
     kirilma noktalari acikca tanimlandi. */
  .grid-explore { display: grid; grid-template-columns: repeat(5, 1fr); }
  @media (max-width: 1200px) { .grid-explore { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 860px)  { .grid-explore { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px)  { .grid-explore { grid-template-columns: 1fr; } }
  /* 6 oda kartı: geniş ekranda 3+3 */
  .grid-rooms { display: grid; grid-template-columns: repeat(3, 1fr); }
  @media (max-width: 900px) { .grid-rooms { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .grid-rooms { grid-template-columns: 1fr; } }

  /* --- mobil menü --- */
  #mobileMenu { display: none; }
  #mobileMenu.open { display: flex; }
  #nav-burger { display: none; }
  @media (max-width: 640px) { #hero-nav { padding-top: 58px !important; } }
  @media (max-width: 1180px) {
    #nav-links { display: none !important; }
    #nav-burger { display: flex !important; }
  }

  /* --- Kahvaltı kareleri --- */
  .events-section { padding: clamp(56px, 7vw, 110px) clamp(24px, 5vw, 72px); background: #FFFDF8; }
  .events-wrap { max-width: 1160px; margin: 0 auto; }
  .events-heading { max-width: 780px; margin-bottom: 40px; }
  .events-kicker { font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: #B5763A; margin-bottom: 16px; }
  .events-heading h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(34px, 3.8vw, 56px); font-weight: 500; line-height: 1.12; text-wrap: balance; margin: 0; color: #0D2436; }
  .events-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(28px, 4vw, 56px); align-items: stretch; }
  .events-copy p { font-size: 15px; font-weight: 300; line-height: 1.85; margin: 0 0 20px; color: #44515A; }
  .events-copy p[data-i18n="events.p4"] { font-family: 'Cormorant Garamond', serif; font-size: 27px; font-style: italic; line-height: 1.35; color: #B5763A; border-left: 2px solid #B5763A; padding-left: 20px; margin: 28px 0; }
  .events-contact { display: inline-block; background: #0D2436; color: #FFFDF8; padding: 17px 23px; font-size: 13px; line-height: 1.5; transition: background .2s; }
  .events-contact:hover, .events-contact:focus-visible { background: #8B572A; color: #FFFDF8; }
  .events-media { min-width: 0; align-self: start; }
  .events-gallery { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(6px, 1vw, 12px); }
  .events-photo { position: relative; display: block; aspect-ratio: 1 / 1; min-width: 0; overflow: hidden; padding: 0; border: 0; background: #F3E9D7; cursor: pointer; }
  .events-photo:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
  .events-photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
  .events-photo:focus-visible, .events-contact:focus-visible { outline: 3px solid #B5763A; outline-offset: 4px; }
  .events-gallery-hint { margin: 14px 0 0; color: #8B572A; font-size: 12px; letter-spacing: .08em; }
  #mobileMenu { overflow-y: auto; padding: 72px 24px 32px; box-sizing: border-box; }
  @media (max-height: 680px) { #mobileMenu { justify-content: flex-start !important; gap: 18px !important; } }
  @media (max-width: 760px) {
    .events-layout { grid-template-columns: 1fr; }
    .events-heading { margin-bottom: 28px; }
  }
  .footer-brand { display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap; margin-bottom: 30px; }
  .footer-trademark { display: flex; align-items: center; gap: 14px; padding: 10px 16px; border: 1px solid rgba(232,184,126,.3); background: transparent; color: #FAF6EE; font: inherit; text-align: left; cursor: pointer; }
  .footer-trademark img { width: 46px; height: 69px; object-fit: contain; }
  .footer-trademark span { font-size: 13px; line-height: 1.6; }
  .footer-trademark small { display: block; color: #E8B87E; font-size: 11px; }
  .footer-trademark:hover { border-color: #E8B87E; }
  .footer-trademark:focus-visible { outline: 2px solid #E8B87E; outline-offset: 4px; }
  .kahvalti-kare { padding: 0; border: 1px solid rgba(232,184,126,0.35); background: none; cursor: pointer; overflow: hidden; display: block; line-height: 0; }
  .kahvalti-kare img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; }
  .kahvalti-kare:hover { border-color: #E8B87E; }

  /* --- Tanıtım filmi modalı --- */
  /* Kutu genişliği 16:9'a göre türetiliyor ki yükseklik 88vh'i asla aşmasın
     (oda modalindeki ile aynı teknik). */
  .video-modal { position: fixed; inset: 0; z-index: 210; display: none; align-items: center; justify-content: center; padding: clamp(10px, 3vw, 40px); }
  .video-modal.open { display: flex; }
  .video-modal-backdrop { position: absolute; inset: 0; background: rgba(10,22,34,0.92); backdrop-filter: blur(6px); }
  .video-modal-box { position: relative; z-index: 1; width: min(1100px, 94vw, calc(88vh * 16 / 9)); aspect-ratio: 16 / 9; background: #000; box-shadow: 0 30px 80px rgba(6,18,28,0.6); }
  .video-el { width: 100%; height: 100%; display: block; object-fit: contain; background: #000; }
  .btn-play:hover { background: rgba(255,255,255,0.16) !important; color: #FFF; }

  /* --- Oda galeri modalı --- */
  .room-modal { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; padding: clamp(10px, 3vw, 40px); }
  .room-modal.open { display: flex; }
  .room-modal-backdrop { position: absolute; inset: 0; background: rgba(10,22,34,0.9); backdrop-filter: blur(6px); }
  /* Genislik yukseklige bagli: foto alani hep 3:2 dolar (yan bant yok), 260px kucuk resim+bilgi paneline ayrilir */
  /* Kutunun kendisi KAYMAZ (eski hali: overflow-y:auto). Fotograf tum yuksekligi yiyip
     kunye/olanaklar/rezervasyon butonunu gorunmez birakiyordu. Artik yalnizca metin alani
     kayiyor, buton her zaman dipte sabit. */
  .room-modal-box { position: relative; z-index: 1; background: #FFFDF8; width: 100%; max-width: min(980px, calc((92vh - 260px) * 1.5)); max-height: 92vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 30px 80px rgba(6,18,28,0.5); }
  .room-stage, .room-thumbs { flex: 0 0 auto; }
  .room-modal-close { position: absolute; top: 12px; right: 12px; z-index: 3; width: 42px; height: 42px; border-radius: 50%; border: none; background: rgba(13,36,54,0.75); color: #E8B87E; font-size: 15px; cursor: pointer; transition: background 0.25s, color 0.25s; }
  .room-modal-close:hover { background: #B5763A; color: #FFF; }
  .room-stage { position: relative; background: #0D2436; aspect-ratio: 3 / 2; }
  .room-stage-img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .room-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 1px solid rgba(232,184,126,0.5); background: rgba(13,36,54,0.55); color: #E8B87E; font-size: 26px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.25s; }
  .room-nav:hover { background: #B5763A; border-color: #B5763A; color: #FFF; }
  .room-prev { left: 12px; }
  .room-next { right: 12px; }
  .room-counter { position: absolute; bottom: 12px; right: 14px; background: rgba(13,36,54,0.75); color: #E8B87E; font-size: 12px; letter-spacing: 0.1em; padding: 4px 10px; }
  .room-thumbs { display: flex; gap: 8px; padding: 12px; overflow-x: auto; background: #F3E9D7; scrollbar-width: thin; scrollbar-color: rgba(181,118,58,0.5) transparent; }
  .room-thumbs::-webkit-scrollbar { height: 6px; }
  .room-thumbs::-webkit-scrollbar-track { background: transparent; }
  .room-thumbs::-webkit-scrollbar-thumb { background: rgba(181,118,58,0.5); border-radius: 3px; }
  .room-thumb { flex: 0 0 auto; width: 88px; height: 58px; object-fit: cover; cursor: pointer; opacity: 0.55; border: 2px solid transparent; transition: opacity 0.2s, border-color 0.2s; }
  .room-thumb:hover { opacity: 0.85; }
  .room-thumb.active { opacity: 1; border-color: #B5763A; }
  .room-info { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0; padding: 0; }
  /* Alt kenardaki solma, "asagida devami var" ipucu. Icerik sigdiginda alt dolguya
     denk geldigi icin gorunmez; tasinca yaziyi keser ve kaydirmaya davet eder. */
  .room-info-text { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: clamp(20px, 3vw, 30px) clamp(20px, 3vw, 30px) 26px;
                    -webkit-mask-image: linear-gradient(#000 calc(100% - 26px), transparent);
                            mask-image: linear-gradient(#000 calc(100% - 26px), transparent); }
  .room-info-size { font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: #B5763A; margin-bottom: 8px; }
  .room-info-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(26px, 3vw, 38px); color: #0D2436; margin: 0 0 10px; }
  .room-info-desc { font-size: 14.5px; font-weight: 300; line-height: 1.7; color: #5C6B76; margin: 0; max-width: 46ch; }
  .room-info .btn-gold { flex: 0 0 auto; display: block; width: 100%; text-align: center; background: #B5763A; color: #FFF; padding: 17px 20px; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; white-space: nowrap; border-top: 1px solid #EBE2D2; }
  /* künye: m² · kişi · yatak */
  .room-specs { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 18px 0 0; padding: 0; }
  .room-specs li { border: 1px solid rgba(181,118,58,0.4); padding: 7px 14px; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #0D2436; }
  /* oda olanakları */
  .room-amen { margin-top: 18px; }
  .room-amen-t { font-size: 10.5px; letter-spacing: 0.3em; text-transform: uppercase; color: #B5763A; margin-bottom: 10px; }
  .room-amen-l { display: grid; grid-template-columns: 1fr; gap: 9px; list-style: none; margin: 0; padding: 0; }
  .room-amen-l li { display: flex; align-items: center; gap: 11px; font-size: 13px; font-weight: 300; color: #5C6B76; }
  /* color: ikonun kendi rengi; wifi'nin noktasi fill="currentColor" ile bunu kullanir */
  .room-amen-l svg { width: 17px; height: 17px; flex: 0 0 17px; color: #B5763A; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
  /* --- Modal: genis ekranda iki sutun (fotograf | bilgi) ---
     Dikey yiginda 3:2 fotograf yuksekligin ~%66'sini yiyor ve bilgi+buton ekran
     disinda kaliyordu (olculdu: 147-172px tasma, buton her odada gorunmez).
     Yan yana koyunca her sey tek bakista siger, kaydirmaya gerek kalmaz. */
  @media (min-width: 960px) {
    .room-modal-box {
      --info-w: 370px;
      display: grid;
      /* Sol sutun genisligi 3:2 fotografa gore: kirpma yok, kutu 88vh'i asmaz.
         120px = kucuk resim seridi icin ust sinir. 57 fotoluk galeride serit 106px'e
         cikiyor (yatay kaydirma cubugu); 120 emniyet payi birakiyor.
         Ust sinir oldugu icin fazla tahmin zararsiz: kutu birkac px kisalir, icerik kirpilmaz. */
      --stage-w: min(calc(94vw - var(--info-w)), calc((88vh - 120px) * 1.5), 880px);
      grid-template-columns: var(--stage-w) var(--info-w);
      /* Yukseklik KESIN olmali: aksi halde bilgi sutununun icerigi (olanaklar listesi)
         auto satirlari buyutup kutuyu 88vh'in otesine tasiyor ve overflow:hidden kirpiyor.
         Kesin yukseklikle 1fr satiri artani yutar, metin kendi icinde kayar. */
      grid-template-rows: auto minmax(0, 1fr);
      width: auto; max-width: none;
      height: min(88vh, calc(var(--stage-w) / 1.5 + 106px));
      max-height: 88vh;
    }
    .room-stage  { grid-area: 1 / 1 / 2 / 2; }
    .room-thumbs { grid-area: 2 / 1 / 3 / 2; align-items: center; }
    .room-info   { grid-area: 1 / 2 / 3 / 3; border-left: 1px solid #EBE2D2; }
    /* kapatma dugmesi bilgi sutununun sag ustune biniyor - baslik ona yer acsin */
    .room-info-size, .room-info-title { padding-right: 44px; }
    .room-info-desc { max-width: none; }
  }

  @media (max-width: 560px) {
    .room-nav { width: 38px; height: 38px; font-size: 22px; }
    .room-specs li { padding: 6px 11px; font-size: 10px; letter-spacing: 0.1em; }
    .room-amen-l { grid-template-columns: 1fr 1fr; gap: 8px 12px; }
    .room-amen-l li { gap: 8px; font-size: 12.5px; }
    .room-amen-l svg { width: 15px; height: 15px; flex-basis: 15px; }
  }

  /* --- Sürdürülebilirlik: belge kartları --- */
  .grid-belge { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.6vw, 32px); }
  @media (max-width: 900px) { .grid-belge { grid-template-columns: 1fr; } }
  .belge-kart { display: flex; flex-direction: column; gap: clamp(18px, 2.4vw, 26px); background: #FAF6EE; padding: clamp(20px, 2.6vw, 28px); box-shadow: 0 2px 22px rgba(13,36,54,0.06); }
  .belge-gorsel { flex: 0 0 auto; width: 148px; align-self: flex-start; padding: 0; border: 1px solid rgba(232,184,126,0.55); background: #FFF; cursor: pointer; line-height: 0; overflow: hidden; transition: border-color 0.25s, transform 0.4s, box-shadow 0.4s; }
  .belge-gorsel img { width: 100%; height: auto; display: block; }
  .belge-gorsel:hover { border-color: #B5763A; transform: translateY(-3px); box-shadow: 0 12px 26px rgba(13,36,54,0.12); }
  .belge-bilgi { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
  /* tek yesil vurgu: gecerli belge isareti (programin resmi rengi) */
  .belge-durum { display: inline-flex; align-items: center; gap: 8px; font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase; color: #3E7A55; margin-bottom: 10px; }
  .belge-durum-gecmis { color: #8A97A0; }
  .belge-nokta { width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: 0 0 7px; }
  .belge-bilgi h3 { font-family: 'Cormorant Garamond', serif; font-weight: 600; font-size: clamp(22px, 2.2vw, 28px); color: #0D2436; margin: 0 0 8px; }
  .belge-bilgi > p { font-size: 14px; font-weight: 300; line-height: 1.7; color: #5C6B76; margin: 0 0 16px; }
  .belge-kunye { width: 100%; margin: 0 0 20px; display: grid; gap: 0; }
  .belge-kunye > div { display: flex; gap: 14px; align-items: baseline; border-top: 1px solid #E4DAC6; padding: 9px 0; }
  .belge-kunye dt { flex: 0 0 auto; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: #B5763A; }
  .belge-kunye dd { margin: 0 0 0 auto; text-align: right; font-size: 13px; font-weight: 300; color: #22303B; }
  .belge-link { margin-top: auto; font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: #0D2436; background: none; border: 1px solid #B5763A; padding: 13px 26px; cursor: pointer; transition: all 0.3s; }
  .belge-link:hover { background: #0D2436; border-color: #0D2436; color: #FAF6EE; }
  @media (min-width: 421px) and (max-width: 900px) { .belge-kart { flex-direction: row; } }
  .belge-not { max-width: 760px; margin: clamp(28px, 3.4vw, 40px) auto 0; text-align: center; font-size: 11.5px; font-weight: 300; line-height: 1.85; color: #8A97A0; }
  @media (max-width: 420px) { .belge-kart { flex-direction: column; } .belge-gorsel { width: 132px; } }

  /* --- Belge modalı --- */
  /* Belgeler A4 dikey (en/boy ~0.705); oda modalı 3:2 + object-fit:cover olduğu için
     oraya uymuyor. Kutu genişliği yükseklikten türetiliyor: yan bant da oluşmuyor,
     kutu da 92vh'i aşmıyor. 58px = alt şerit (56px) + emniyet payı. */
  .doc-modal { position: fixed; inset: 0; z-index: 210; display: none; align-items: center; justify-content: center; padding: clamp(10px, 3vw, 40px); }
  .doc-modal.open { display: flex; }
  .doc-modal-backdrop { position: absolute; inset: 0; background: rgba(10,22,34,0.92); backdrop-filter: blur(6px); }
  .doc-modal-box { position: relative; z-index: 1; width: min(680px, 94vw, calc((92vh - 58px) * 0.705)); background: #FFFDF8; box-shadow: 0 30px 80px rgba(6,18,28,0.55); }
  /* aspect-ratio: gorsel inmeden once de yer ayrilir, acilista sicrama olmaz */
  .doc-img { display: block; width: 100%; height: auto; aspect-ratio: 705 / 1000; object-fit: contain; background: #FFF; }
  .doc-bar { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; height: 56px; border-top: 1px solid #EBE2D2; }
  .doc-tab { font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #5C6B76; background: none; border: 1px solid transparent; padding: 9px 18px; cursor: pointer; transition: all 0.25s; }
  .doc-tab:hover { color: #0D2436; }
  .doc-tab.active { border-color: #B5763A; color: #0D2436; }
  .doc-full { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(181,118,58,0.45); color: #B5763A; font-size: 15px; line-height: 34px; text-align: center; transition: background 0.25s, color 0.25s; }
  .doc-full:hover { background: #B5763A; border-color: #B5763A; color: #FFF; }
  @media (max-width: 400px) { .doc-tab { padding: 9px 12px; font-size: 10px; letter-spacing: 0.14em; } }

  /* --- Sürdürülebilirlik politikası (açılır liste) --- */
  /* <details>/<summary> kullanılıyor: JS gerekmiyor, klavye ve ekran okuyucu hazır gelir. */
  .politika { max-width: 900px; margin: clamp(46px, 5.5vw, 78px) auto 0; }
  .politika-alinti { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(21px, 2.3vw, 29px); line-height: 1.4; color: #0D2436; margin: 0 0 16px; text-wrap: balance; }
  .politika-giris { font-size: 14.5px; font-weight: 300; line-height: 1.85; color: #5C6B76; margin: 0; }
  .politika-liste { border-top: 1px solid #E4DAC6; }
  .politika-oge { border-bottom: 1px solid #E4DAC6; }
  .politika-oge > summary { display: flex; align-items: center; gap: 16px; list-style: none; cursor: pointer; padding: 18px 2px; font-family: 'Cormorant Garamond', serif; font-weight: 600; font-size: clamp(19px, 1.9vw, 24px); color: #0D2436; transition: color 0.25s; }
  .politika-oge > summary::-webkit-details-marker { display: none; }
  .politika-oge > summary:hover { color: #B5763A; }
  .politika-oge > summary:focus-visible { outline: 1px solid #B5763A; outline-offset: 3px; }
  /* + isareti acilinca 45 derece donup x oluyor */
  .politika-oge > summary::after { content: '+'; display: inline-block; margin-left: auto; font-family: 'Jost', sans-serif; font-size: 21px; font-weight: 300; line-height: 1; color: #B5763A; transition: transform 0.3s; }
  .politika-oge[open] > summary::after { transform: rotate(45deg); }
  .politika-govde { padding: 0 2px 26px; font-size: 14.5px; font-weight: 300; line-height: 1.85; color: #5C6B76; }
  .politika-govde p { margin: 0 0 14px; }
  .politika-govde ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
  .politika-govde li { position: relative; padding-left: 22px; }
  .politika-govde li::before { content: ''; position: absolute; left: 2px; top: 13px; width: 7px; height: 1px; background: #B5763A; }
  .politika-govde > :last-child { margin-bottom: 0; }

  /* --- İletişim formu modalı --- */
  .form-modal { position: fixed; inset: 0; z-index: 220; display: none; align-items: center; justify-content: center; padding: clamp(10px, 3vw, 40px); }
  .form-modal.open { display: flex; }
  .form-modal-backdrop { position: absolute; inset: 0; background: rgba(10,22,34,0.92); backdrop-filter: blur(6px); }
  .form-modal-box { position: relative; z-index: 1; width: min(560px, 94vw); max-height: 92vh; overflow-y: auto; background: #FFFDF8; padding: clamp(28px, 4vw, 44px) clamp(24px, 3.4vw, 40px) clamp(24px, 3vw, 36px); box-shadow: 0 30px 80px rgba(6,18,28,0.55); }
  .form-ust { margin-bottom: clamp(20px, 2.6vw, 28px); padding-right: 46px; }
  .form-kicker { font-size: 11px; letter-spacing: 0.34em; text-transform: uppercase; color: #B5763A; margin-bottom: 10px; }
  .form-ust h3 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(27px, 3vw, 38px); color: #0D2436; margin: 0 0 10px; }
  .form-ust p { font-size: 14px; font-weight: 300; line-height: 1.75; color: #5C6B76; margin: 0; }
  .form-alan { display: block; margin-bottom: 18px; }
  .form-alan > span { display: block; font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase; color: #B5763A; margin-bottom: 7px; }
  .form-alan input, .form-alan textarea { width: 100%; font-family: 'Jost', sans-serif; font-size: 15px; font-weight: 300; color: #22303B; background: transparent; border: none; border-bottom: 1px solid #DCCBAA; border-radius: 0; padding: 9px 2px; transition: border-color 0.25s; }
  .form-alan input:focus, .form-alan textarea:focus { outline: none; border-bottom-color: #B5763A; }
  .form-alan textarea { resize: vertical; min-height: 108px; line-height: 1.7; }
  .form-ikili { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
  @media (max-width: 480px) { .form-ikili { grid-template-columns: 1fr; } }
  /* Bal küpü ekranın dışında duruyor; display:none botların bu alanı atlamasına yol açıyor. */
  .form-tuzak { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
  .form-gonder { display: block; width: 100%; margin-top: 8px; background: #B5763A; color: #FFF; border: none; font-family: 'Jost', sans-serif; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; padding: 17px 20px; cursor: pointer; }
  .form-gonder:disabled { opacity: 0.55; cursor: default; }
  .form-gonder:disabled:hover { background: #B5763A; }
  .form-durum { margin: 14px 0 0; font-size: 13.5px; font-weight: 300; line-height: 1.65; }
  .form-durum:empty { margin: 0; }
  .form-durum-ok { color: #3E7A55; }
  .form-durum-hata { color: #A8402F; }
  .form-not { margin: 16px 0 0; font-size: 11px; font-weight: 300; line-height: 1.7; color: #8A97A0; }
