/* Sent Antuan Bazilikası — site.css
   Tek kasıtlı görünüm: gün ışığındaki taş cephe (rehber) + mumla aydınlanmış nef (içerik).
   Açık/koyu tema geçişi sunulmuyor; bu bilinçli, tek bir tasarım dilidir. */

:root{
  --rail-bg:#e7dfc9; --rail-bg-2:#ddd2b1; --rail-ink:#241d13; --rail-muted:#6b6146; --rail-rule:#c9bb95;
  --content-bg:#171209; --content-bg-2:#1e1710; --ink:#eee3c9; --ink-soft:#c9b998; --muted:#8f8266;
  --wine:#b4523f; --wine-soft:#8a3d2f; --gold:#cf9f52; --gold-soft:#a67f43;
  --rule:#332a1c;
  --shadow: 0 26px 54px -20px rgba(0,0,0,.7);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--content-bg); color:var(--ink); font-family:'Crimson Pro', Georgia, serif; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'IM Fell English', 'Iowan Old Style', Georgia, serif; font-weight:400; text-wrap:balance; margin:0;}
.eyebrow{font-family:'Work Sans',sans-serif; font-weight:600; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold);}
a{color:inherit}
img{max-width:100%; height:auto; display:block}
:focus-visible{outline:2px solid var(--gold); outline-offset:2px}

/* ============ KAYDIRMA ÇUBUĞU — sayfa geneli (koyu nef zemini) ============ */
html{scrollbar-color: var(--wine-soft) var(--content-bg); scrollbar-width: thin}
::-webkit-scrollbar{width:12px; height:12px}
::-webkit-scrollbar-track{background:var(--content-bg)}
::-webkit-scrollbar-thumb{background:var(--wine-soft); border:3px solid var(--content-bg); border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:var(--wine)}
::-webkit-scrollbar-corner{background:var(--content-bg)}
/* ---- rehber şeridi (açık taş zemini) kendi tonlarıyla ---- */
.rail{scrollbar-color: var(--rail-muted) var(--rail-bg); scrollbar-width: thin}
.rail::-webkit-scrollbar{width:10px}
.rail::-webkit-scrollbar-track{background:var(--rail-bg)}
.rail::-webkit-scrollbar-thumb{background:var(--rail-rule); border:2px solid var(--rail-bg); border-radius:8px}
.rail::-webkit-scrollbar-thumb:hover{background:var(--wine-soft)}

/* ============ SHELL ============ */
.shell{display:grid; grid-template-columns:340px 1fr; min-height:100vh}

/* ============ RAIL ============ */
.rail{background:var(--rail-bg); color:var(--rail-ink); padding:40px 32px 32px; position:sticky; top:0; align-self:start; height:100vh; overflow-y:auto; border-right:1px solid var(--rail-rule)}
.rail-logo{margin-bottom:22px}
.rail-logo a{display:block}
.rail-logo img{width:100%; max-width:250px; height:auto}
.rail hr{border:none; border-top:2px solid var(--gold-soft); margin:0 0 26px; width:56px}
.rail-nav-toggle summary{display:none}
.rail-nav{list-style:none; margin:0 0 34px; padding:0; font-family:'Work Sans',sans-serif; display:flex; flex-direction:column}
.rail-nav li a{
  display:block; text-decoration:none; color:var(--rail-ink); font-size:.86rem; font-weight:500;
  padding:9px 0 9px 14px; border-left:2px solid transparent; letter-spacing:.01em;
}
.rail-nav li a:hover{border-left-color:var(--rail-rule)}
.rail-nav li a.current{border-left-color:var(--wine); color:var(--wine-soft); font-weight:600}
.rail-nav li ul{list-style:none; margin:2px 0 6px 14px; padding:0; border-left:1px dotted var(--rail-rule)}
.rail-nav li ul a{font-size:.78rem; padding:6px 0 6px 12px; color:var(--rail-muted)}
.rail-nav li ul a.current{color:var(--wine-soft)}
.rail-today{background:var(--rail-bg-2); border:1px solid var(--rail-rule); padding:18px 18px 16px; margin-bottom:24px}
.rail-today .eyebrow{color:var(--wine-soft)}
.rail-today .row{display:flex; justify-content:space-between; gap:10px; font-family:'Work Sans',sans-serif; font-size:.82rem; padding:7px 0; border-top:1px solid var(--rail-rule)}
.rail-today .row:first-of-type{border-top:none; margin-top:10px}
.rail-today b{font-variant-numeric:tabular-nums; white-space:nowrap}
.rail-today a.rail-link{display:inline-block; margin-top:12px; font-family:'Work Sans',sans-serif; font-size:.74rem; font-weight:600; color:var(--wine-soft); text-decoration:none; border-bottom:1px solid var(--wine-soft)}
.rail-addr{font-family:'Work Sans',sans-serif; font-size:.78rem; line-height:1.65; color:var(--rail-muted)}
.rail-addr strong{display:block; color:var(--rail-ink); font-weight:600; margin-bottom:2px}
.rail-addr a{color:var(--rail-muted); text-decoration:none}
.rail-addr a:hover{color:var(--wine-soft)}
.rail-langs{margin-top:22px; font-family:'Work Sans',sans-serif; font-size:.68rem; letter-spacing:.1em; color:var(--rail-muted); text-transform:uppercase}

/* ============ CONTENT — shared ============ */
.content{padding:64px 64px 90px}
.content-narrow{max-width:640px}
.breadcrumb{font-family:'Work Sans',sans-serif; font-size:.72rem; letter-spacing:.04em; color:var(--muted); margin-bottom:18px}
.breadcrumb a{color:var(--gold-soft); text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}

/* ---- Frontispiece (home) ---- */
.frontispiece h1{font-size:clamp(2.3rem,4vw,3.4rem); line-height:1.08; max-width:16ch}
.frontispiece .eyebrow{display:block; margin-bottom:16px}
.drop p:first-of-type::first-letter{
  font-family:'IM Fell English', serif; font-size:3.4rem; line-height:.82; float:left;
  padding:4px 8px 0 0; color:var(--gold); font-weight:400;
}
@media (max-width:560px){ .drop p:first-of-type::first-letter{ font-size:2.6rem; padding:2px 6px 0 0; } }
.lede{font-size:1.14rem; line-height:1.8; color:var(--ink-soft); max-width:60ch}
.lede + .lede{margin-top:6px}
.frontispiece-figure{ float:right; width:300px; margin:6px 0 20px 40px; border:1px solid var(--rule); padding:10px; background:var(--content-bg-2); box-shadow:var(--shadow); }
.frontispiece-figure img{filter:saturate(.9) brightness(.92)}
.frontispiece-figure figcaption{font-family:'Work Sans',sans-serif; font-size:.68rem; letter-spacing:.06em; color:var(--muted); margin-top:9px; text-transform:uppercase}
.cta-row{display:flex; gap:14px; margin:36px 0 0; clear:both; flex-wrap:wrap}
.btn{font-family:'Work Sans',sans-serif; font-weight:600; font-size:.84rem; padding:12px 22px; text-decoration:none; letter-spacing:.01em; border:1px solid var(--gold-soft); display:inline-flex; align-items:center;}
.btn-primary{background:var(--wine); border-color:var(--wine); color:#f8e9de}
.btn-primary:hover{background:var(--wine-soft)}
.btn-ghost{color:var(--gold)}
.btn-ghost:hover{background:rgba(207,159,82,.09)}

/* ---- Contents index (home + section landing) ---- */
.index-section{margin-top:88px; padding-top:56px; border-top:1px solid var(--rule)}
.index-section.tight{margin-top:0; padding-top:0; border-top:none}
.index-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; flex-wrap:wrap; gap:10px}
.index-head h2{font-size:1.9rem}
.index-head .eyebrow{margin:0}
.index-list{list-style:none; margin:34px 0 0; padding:0}
.index-row{display:grid; grid-template-columns:64px 1fr auto; gap:24px; align-items:baseline; padding:22px 0; border-top:1px solid var(--rule); text-decoration:none; color:inherit;}
.index-list li:first-child .index-row{border-top:1px solid var(--rule)}
.index-row:hover .num{color:var(--wine)}
.index-row .num{font-family:'IM Fell English',serif; font-size:1.7rem; color:var(--gold-soft); text-align:right}
.index-row .rt{display:flex; flex-direction:column; gap:5px}
.index-row h3{font-size:1.3rem; color:var(--ink)}
.index-row p{margin:0; font-family:'Crimson Pro',serif; font-size:.96rem; color:var(--muted); max-width:56ch}
.index-row .go{font-family:'Work Sans',sans-serif; font-size:.76rem; color:var(--gold-soft); align-self:center; white-space:nowrap}

/* ---- Content footer ---- */
.content-foot{margin-top:90px; padding-top:26px; border-top:1px solid var(--rule); font-family:'Work Sans',sans-serif; font-size:.78rem; color:var(--muted); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px}

/* ---- Generic page head ---- */
.page-head .eyebrow{display:block; margin-bottom:14px}
.page-head h1{font-size:clamp(2.1rem,4vw,2.9rem)}
.page-head .dek{color:var(--muted); font-family:'Crimson Pro',serif; font-size:1.05rem; margin-top:16px; line-height:1.7; max-width:60ch}

/* ---- Prose content (auto-derived from source pages) ---- */
.prose{max-width:680px; margin-top:40px; font-size:1.04rem; line-height:1.8; color:var(--ink-soft)}
.prose h2{font-size:1.5rem; color:var(--gold); margin:46px 0 16px; padding-top:26px; border-top:1px solid var(--rule)}
.prose h2:first-child{margin-top:0; padding-top:0; border-top:none}
.prose h3{font-size:1.22rem; color:var(--ink); margin:32px 0 12px}
.prose p{margin:0 0 18px}
.prose p:last-child{margin-bottom:0}
.prose .quote{font-style:italic; color:var(--gold-soft); border-left:2px solid var(--gold-soft); padding:2px 0 2px 18px; margin:22px 0}
.prose .signoff{color:var(--muted); font-family:'Work Sans',sans-serif; font-size:.86rem; margin-top:30px}
.prose figure{margin:8px 0 30px; float:right; width:280px; margin-left:32px; border:1px solid var(--rule); padding:9px; background:var(--content-bg-2); box-shadow:var(--shadow)}
.prose figure img{filter:saturate(.92)}
.prose figure figcaption{font-family:'Work Sans',sans-serif; font-size:.66rem; letter-spacing:.05em; color:var(--muted); margin-top:8px; text-transform:uppercase}
@media (max-width:640px){ .prose figure{float:none; width:100%; margin-left:0} }

/* ---- Q&A (Katolik İlkeleri) ---- */
.qa-list{max-width:720px; margin-top:40px}
.qa-item{display:grid; grid-template-columns:44px 1fr; gap:16px; padding:16px 0; border-top:1px dotted var(--rule)}
.qa-item:first-child{border-top:none}
.qa-num{font-family:'Work Sans',sans-serif; font-size:.76rem; color:var(--gold-soft); padding-top:.3em; text-align:right}
.qa-q{font-weight:600; color:var(--ink); font-size:1.03rem; margin:0 0 6px}
.qa-a{color:var(--ink-soft); margin:0; line-height:1.75}

/* ---- Timeline (Tarih) ---- */
.timeline{max-width:680px; margin-top:50px}
.tl-item{display:grid; grid-template-columns:120px 1fr; gap:26px; padding:26px 0; border-top:1px solid var(--rule)}
.tl-item:first-child{border-top:1px solid var(--rule)}
.tl-year{font-family:'IM Fell English',serif; font-size:1.55rem; color:var(--gold); font-variant-numeric:tabular-nums}
.tl-item p{margin:0; line-height:1.75; font-size:1.02rem; color:var(--ink-soft)}
@media (max-width:640px){ .tl-item{grid-template-columns:84px 1fr} }

/* ---- Schedule (Ayin Saatleri) ---- */
.season-toggle{display:flex; gap:26px; margin-top:22px; font-family:'Work Sans',sans-serif}
.season-toggle button{background:none; border:none; padding:0 0 6px; font-size:.86rem; font-weight:600; color:var(--muted); cursor:pointer; border-bottom:2px solid transparent;}
.season-toggle button.active{color:var(--gold); border-color:var(--gold)}
table.mass-table{width:100%; max-width:760px; border-collapse:collapse; margin-top:44px; font-family:'Crimson Pro',serif}
table.mass-table th{ font-family:'Work Sans',sans-serif; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-soft); text-align:left; padding:0 18px 14px 0; border-bottom:1px solid var(--rule); font-weight:600; }
table.mass-table td{padding:14px 18px 14px 0; border-bottom:1px solid var(--rule); font-size:1rem; vertical-align:top}
table.mass-table td.day-cell{font-family:'IM Fell English',serif; font-size:1.2rem; color:var(--ink); white-space:nowrap}
table.mass-table td.time-cell{font-variant-numeric:tabular-nums; color:var(--ink); white-space:nowrap}
table.mass-table td.lang-cell{color:var(--ink-soft)}
table.mass-table td.note-cell{color:var(--muted); font-size:.86rem}
.sched-note{max-width:760px; margin-top:30px; font-family:'Work Sans',sans-serif; font-size:.82rem; color:var(--muted); font-style:italic}
@media (max-width:640px){
  table.mass-table, table.mass-table thead, table.mass-table tbody, table.mass-table tr, table.mass-table td{display:block}
  table.mass-table thead{display:none}
  table.mass-table tr{padding:14px 0; border-top:1px solid var(--rule)}
  table.mass-table tr:first-child{border-top:none}
  table.mass-table td{border-bottom:none; padding:2px 0}
  table.mass-table td.day-cell{font-size:1.1rem; margin-top:8px}
}

/* ---- Special days ---- */
.special-days{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--rule); border:1px solid var(--rule); max-width:900px; margin-top:44px}
.special-day{background:var(--content-bg-2); padding:26px 24px}
.special-day h3{font-size:1.3rem; color:var(--gold); margin-bottom:4px}
.special-day .sd-date{font-family:'Work Sans',sans-serif; font-size:.78rem; color:var(--muted); margin-bottom:14px; display:block}
.special-day ul{list-style:none; margin:0; padding:0; font-family:'Work Sans',sans-serif; font-size:.88rem}
.special-day li{display:flex; justify-content:space-between; gap:10px; padding:6px 0; border-top:1px dotted var(--rule)}
.special-day li:first-child{border-top:none}
.special-day .note{margin-top:14px; font-family:'Crimson Pro',serif; font-style:italic; color:var(--ink-soft); font-size:.94rem}
@media (max-width:640px){ .special-days{grid-template-columns:1fr} }

/* ---- Gallery ---- */
.gallery-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:1000px; margin-top:44px}
.gallery-grid figure{margin:0; overflow:hidden; background:var(--content-bg-2); border:1px solid var(--rule)}
.gallery-grid img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; filter:saturate(.92)}
.gallery-grid figcaption{font-family:'Work Sans',sans-serif; font-size:.7rem; color:var(--muted); padding:8px 10px; letter-spacing:.03em}
.gallery-grid li.tall img{aspect-ratio:3/4}
@media (max-width:760px){ .gallery-grid{grid-template-columns:1fr 1fr} }
@media (max-width:480px){ .gallery-grid{grid-template-columns:1fr} }

/* ---- İletişim ---- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:44px; max-width:1000px}
.contact-info dl{font-family:'Work Sans',sans-serif; font-size:.92rem; margin:0}
.contact-info dt{font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-soft); margin-top:22px}
.contact-info dt:first-child{margin-top:0}
.contact-info dd{margin:6px 0 0; color:var(--ink-soft); line-height:1.6}
.contact-info dd a{color:var(--ink-soft); text-decoration:underline; text-decoration-color:var(--rule)}
.contact-map{border:1px solid var(--rule); background:var(--content-bg-2); min-height:320px}
.contact-map iframe{width:100%; height:100%; min-height:320px; border:0; filter:grayscale(.25) sepia(.12) contrast(1.02)}
@media (max-width:760px){ .contact-grid{grid-template-columns:1fr} }

/* ---- Language switcher (Evlilik Merasimi) ---- */
.lang-switch{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; font-family:'Work Sans',sans-serif; font-size:.78rem}
.lang-switch a{padding:7px 14px; border:1px solid var(--rule); color:var(--ink-soft); text-decoration:none}
.lang-switch a.current{border-color:var(--wine); color:var(--wine-soft); font-weight:600}
.lang-switch a:hover{border-color:var(--gold-soft); color:var(--gold-soft)}
.rite{max-width:680px; margin-top:44px; font-size:1.04rem; line-height:1.85; color:var(--ink-soft)}
.rite p{margin:0 0 16px}
.rite .speaker{font-family:'Work Sans',sans-serif; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-soft); margin-top:24px}
.rite .stage{font-style:italic; color:var(--muted); font-size:.94rem}

/* ============ MOBİL ÜST ÇUBUK + HAMBURGER ÇEKMECESİ ============ */
.mobile-bar{display:none}
.rail-backdrop{display:none}
.rail-close{display:none}

@media (max-width:980px){
  .shell{grid-template-columns:1fr}

  .mobile-bar{
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    position:sticky; top:0; z-index:50;
    background:var(--rail-bg); border-bottom:1px solid var(--rail-rule);
    padding:10px 18px;
  }
  .mobile-logo{display:block}
  .mobile-bar img{height:34px; width:auto; display:block}
  .hamburger-btn{
    width:42px; height:42px; flex:none; display:flex; align-items:center; justify-content:center;
    background:var(--rail-bg-2); border:1px solid var(--rail-rule); border-radius:6px;
    cursor:pointer; padding:0;
  }
  .hamburger-btn svg{display:block; overflow:visible}
  .hamburger-btn .bar{
    fill:none; stroke:var(--rail-ink); stroke-width:2; stroke-linecap:round;
    transform-origin:12px 12px; transition:transform .2s ease, opacity .2s ease;
  }
  body.menu-open .hamburger-btn .bar-top{transform:translateY(5px) rotate(45deg)}
  body.menu-open .hamburger-btn .bar-mid{opacity:0}
  body.menu-open .hamburger-btn .bar-bot{transform:translateY(-5px) rotate(-45deg)}

  .rail-backdrop{
    display:block; position:fixed; inset:0; z-index:65;
    background:rgba(12,9,4,.55); opacity:0; pointer-events:none; transition:opacity .2s ease;
  }
  body.menu-open .rail-backdrop{opacity:1; pointer-events:auto}

  .rail{
    position:fixed; top:0; left:0; bottom:0; z-index:70;
    width:min(320px, 84vw); height:100vh; height:100dvh;
    border-right:1px solid var(--rail-rule); border-bottom:none;
    box-shadow:0 0 40px rgba(0,0,0,.35);
    transform:translateX(-105%); transition:transform .25s ease;
  }
  body.menu-open .rail{transform:translateX(0)}
  body.menu-open{overflow:hidden}

  .rail-close{
    display:flex; align-items:center; justify-content:center;
    position:absolute; top:14px; right:14px; width:34px; height:34px;
    background:var(--rail-bg-2); border:1px solid var(--rail-rule); border-radius:6px;
    color:var(--rail-ink); font-size:1rem; line-height:1; cursor:pointer;
  }

  .content{padding:44px 26px 70px}
  .frontispiece-figure{float:none; width:100%; margin:24px 0}
  .index-row{grid-template-columns:44px 1fr}
  .index-row .go{grid-column:2}
  .gallery-grid{grid-template-columns:1fr 1fr}
}
