/* ==========================================================================
   ХАРХОРУМЫН ОЛОН УЛСЫН ЭРДМИЙН ЧУУЛГАН 2026
   Олон улсын монголч эрдэмтдийн XIII их хурлын хүрээнд
   Дизайн систем v2.0 — Хархорум хотын Зөвлөлийн албан ёсны хэв маягтай нэгдсэн
   Roboto · төрийн хөх #083479 · сүлдний хөх #002060 · ёслолын алт #B08A3E
   ========================================================================== */

:root{
  --ink:       #08234F;   /* гүн хөх — hero, хар талбар */
  --ink-2:     #0E3067;
  --ink-3:     #666F81;   /* туслах текст */
  --state:     #083479;   /* төрийн хөх */
  --state-2:   #316AD2;   /* холбоос, идэвхтэй */
  --state-3:   #EDF2FC;   /* цайвар хөх талбар */
  --emblem:    #002060;   /* сүлдний хөх — хөл */
  --gold:      #B08A3E;   /* ёслолын алт — ганц өргөлт */
  --gold-lt:   #D8B96F;
  --gold-dk:   #8A6A2A;
  --seal:      #B3282D;
  --parch:     #FFFFFF;
  --parch-2:   #F6F8FC;
  --parch-3:   #E1E8F5;
  --rule:      #E3E9F2;
  --rule-2:    #D3DCEA;
  --text:      #343F52;
  --text-2:    #60697B;
  --white:     #fff;

  --wrap: 1140px;
  --sec-y: 64px;
  --r-s: 2px;
  --r-m: 3px;
  --r-l: 4px;
  --sh-1: 0 0 0 .8px rgba(8,60,130,.06), 0 0 20px rgba(30,34,40,.04);
  --sh-2: 0 0 0 .8px rgba(8,60,130,.08), 0 8px 28px rgba(30,34,40,.09);

  --f-head: "Roboto", -apple-system, "Segoe UI", Arial, sans-serif;
  --f-body: "Roboto", -apple-system, "Segoe UI", Arial, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:68px; -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--white); color:var(--text-2);
  font-family:var(--f-body); font-size:15.5px; line-height:1.75; font-weight:400;
  -webkit-font-smoothing:antialiased; overflow-wrap:break-word;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--state-2); text-decoration:none; transition:color .15s; }
a:hover{ color:var(--state); }
h1,h2,h3,h4{ font-family:var(--f-head); color:var(--text); line-height:1.24; margin:0 0 .55em; }
h1{ font-size:clamp(28px,3.6vw,42px); font-weight:900; letter-spacing:.008em; }
h2{ font-size:clamp(23px,2.6vw,32px); font-weight:900; letter-spacing:.01em; }
h3{ font-size:clamp(17px,1.6vw,20px); font-weight:700; }
h4{ font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--state); }
p{ margin:0 0 1.05em; }
ul,ol{ margin:0 0 1.05em; padding-left:1.25em; }
li{ margin-bottom:.4em; }
strong,b{ font-weight:700; color:var(--text); }
:focus-visible{ outline:2px solid var(--state-2); outline-offset:3px; border-radius:2px; }
::selection{ background:var(--state-2); color:#fff; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* Skip-link — гарын хэрэглэгч Tab дарахад харагдана */
.sr-only:focus{
  position:fixed; top:10px; left:10px; width:auto; height:auto; margin:0; overflow:visible;
  clip:auto; clip-path:none; white-space:normal; z-index:999;
  padding:12px 20px; background:var(--state); color:#fff; font-weight:700; border-radius:2px;
  box-shadow:0 6px 24px rgba(8,35,79,.35);
}

.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 24px; }
.narrow{ max-width:860px; }

/* ══════════════ TOPBAR ══════════════ */
.topbar{
  position:sticky; top:0; z-index:100; background:var(--white);
  border-bottom:1px solid var(--rule); box-shadow:0 2px 12px rgba(8,35,79,.05);
}
.topbar .wrap{ display:flex; align-items:center; gap:14px; min-height:64px; max-width:1440px; }
.tb-brand{ display:flex; align-items:center; gap:11px; color:var(--emblem); flex:none; padding:8px 0; }
.tb-brand:hover{ color:var(--emblem); }
.tb-emblem{ width:36px; height:36px; flex:none; object-fit:contain; }
.tb-brand b{ font-family:var(--f-head); font-weight:700; font-size:12.4px; line-height:1.25; display:block;
  max-width:210px; white-space:normal; color:var(--emblem); text-transform:uppercase; letter-spacing:.03em; }
.tb-brand small{ display:block; font-size:10px; letter-spacing:.16em; color:var(--ink-3); font-weight:500; margin-top:2px; }
.tb-nav{ margin-left:auto; display:flex; align-items:center; gap:0; min-width:0; overflow:hidden; }
.tb-nav a{
  color:var(--text); font-size:12.6px; font-weight:500; padding:9px 7px; border-radius:var(--r-s);
  white-space:nowrap; transition:background .15s, color .15s;
}
.tb-nav a:hover{ background:var(--state-3); color:var(--state); }
.tb-nav a.active{ color:var(--state); font-weight:700; box-shadow:inset 0 -2px 0 var(--gold); border-radius:0; }
.tb-council{
  color:#fff !important; background:var(--state); border-radius:var(--r-s); padding:7px 13px !important;
  font-size:12.5px !important; font-weight:700 !important; flex:none; margin-left:8px;
}
.tb-council:hover{ background:var(--ink); color:#fff !important; }
/* Гар утасны цэс дэх Зөвлөлийн холбоос — зөвхөн нээлттэй цэсэнд */
.tb-council-m{ display:none; color:var(--state) !important; font-weight:700 !important; border-top:2px solid var(--gold); margin-top:6px; padding-top:14px !important; }
@media (max-width:1260px){ .tb-council{ display:none; } .tb-council-m{ display:block; } }
.tb-actions{ display:flex; align-items:center; gap:9px; flex:none; }
.lang{ display:flex; border:1px solid var(--rule-2); border-radius:var(--r-s); overflow:hidden; background:#fff; }
.lang button{
  background:none; border:0; color:var(--text-2); font:inherit; font-size:12px; font-weight:700;
  padding:5px 11px; cursor:pointer;
}
.lang button.on{ background:var(--state); color:#fff; }
.tb-burger{ display:none; background:var(--white); border:1px solid var(--rule-2); border-radius:var(--r-s); padding:8px 10px; cursor:pointer; }
.tb-burger span{ display:block; width:18px; height:2px; background:var(--state); margin:3.5px 0; border-radius:2px; }

/* ══════════════ HERO ══════════════ */
.hero{ position:relative; background:var(--ink); color:#fff; overflow:hidden; min-height:min(84vh,720px); display:flex; align-items:center; }
.hero-bg{ position:absolute; inset:0; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; }
.hero-bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(8,35,79,.95) 0%, rgba(8,35,79,.84) 42%, rgba(8,35,79,.46) 100%);
}
.hero-bg-fallback{ position:absolute; inset:0; background:linear-gradient(120deg,#08234F,#0E3067 62%,#123A73); }
/* .hero нь flex тул .wrap агшиж, агуулга нарийсан голдоо шахагдаж байсан —
   width:100% өгснөөр max-width:1140px хүчинтэй болж, бусад хэсэгтэй мөр таарна */
.hero .wrap{ position:relative; z-index:2; width:100%; padding-top:70px; padding-bottom:70px; }
.hero-sup{
  display:inline-flex; align-items:center; gap:12px;
  font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-lt);
  margin-bottom:20px; max-width:820px;
}
.hero-sup::before{ content:""; width:36px; height:1px; background:var(--gold); flex:none; }
.hero h1{ color:#fff; max-width:880px; margin-bottom:.32em; }
.hero .hero-sub{
  font-size:clamp(15.5px,1.5vw,19px); color:rgba(255,255,255,.84); max-width:660px; margin-bottom:26px; font-weight:400;
}
.hero .hero-meta{ display:flex; gap:0; flex-wrap:wrap; margin-bottom:32px; }
.hero .hero-meta div{ border-left:2px solid var(--gold); padding:2px 28px 2px 16px; margin-right:12px; }
.hero .hero-meta strong{ display:block; font-family:var(--f-head); font-weight:700; font-size:18px; color:#fff; }
.hero .hero-meta small{ display:block; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-top:3px; }
.hero-cta{ display:flex; gap:12px; flex-wrap:wrap; }

/* Countdown */
.countdown{ display:flex; gap:10px; margin-top:36px; flex-wrap:wrap; }
.cd-cell{
  background:rgba(255,255,255,.08); border-radius:var(--r-m);
  padding:14px 18px; min-width:88px; text-align:center;
}
.cd-cell b{ display:block; font-family:var(--f-head); font-size:30px; font-weight:900; color:#fff; line-height:1.05; font-variant-numeric:tabular-nums; }
.cd-cell span{ display:block; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.58); margin-top:5px; }

/* ══════════════ ТОВЧ ══════════════ */
.btn{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--f-head); font-size:14px; font-weight:700;
  letter-spacing:.02em; padding:12px 22px; border-radius:var(--r-s); border:1px solid transparent; cursor:pointer;
  transition:background .16s, border-color .16s, color .16s;
}
.btn-gold{ background:var(--gold); color:#fff; border-color:var(--gold); }
.btn-gold:hover{ background:var(--gold-dk); border-color:var(--gold-dk); color:#fff; }
.btn-outline-l{ background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.btn-outline-l:hover{ background:rgba(255,255,255,.14); border-color:#fff; color:#fff; }
.btn-wine{ background:var(--state-2); color:#fff; border-color:var(--state-2); }
.btn-wine:hover{ background:var(--state); border-color:var(--state); color:#fff; }
.btn-outline{ background:var(--white); color:var(--state); border-color:var(--rule-2); }
.btn-outline:hover{ border-color:var(--state-2); color:var(--state-2); }
.btn-sm{ padding:8px 15px; font-size:13px; }

/* ══════════════ ХЭСЭГ ══════════════ */
.sec{ padding:var(--sec-y) 0; background:var(--white); }
.sec-parch2{ background:var(--parch-2); }
.sec-deep{ background:var(--ink); color:rgba(255,255,255,.78); }
.sec-deep h2,.sec-deep h3{ color:#fff; }
.sec-deep strong{ color:#fff; }
.sec-wine{ background:var(--emblem); color:rgba(255,255,255,.8); }
.sec-wine h2,.sec-wine h3{ color:#fff; }
.sec-head{ max-width:800px; margin-bottom:40px; }
.sec-head .eyebrow{
  font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--state-2);
  margin-bottom:12px;
}
.sec-deep .eyebrow,.sec-wine .eyebrow{ color:var(--gold-lt); }
.sec-head p{ color:var(--text-2); font-size:16.5px; margin-bottom:0; }
.sec-deep .sec-head p,.sec-wine .sec-head p{ color:rgba(255,255,255,.72); }

/* ══════════════ ОЙН ЗУРВАС ══════════════ */
.anniv{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr)); gap:0; background:var(--emblem); }
.anniv div{ padding:38px 20px; text-align:center; border-right:1px solid rgba(255,255,255,.12); }
.anniv div:last-child{ border-right:0; }
.anniv b{ display:block; font-family:var(--f-head); font-size:clamp(28px,2.8vw,40px); font-weight:900; color:#fff; line-height:1.08; letter-spacing:0; }
.anniv span{ display:block; font-size:12.5px; color:rgba(255,255,255,.62); margin-top:11px; line-height:1.55; }

/* ══════════════ КАРТ ══════════════ */
.grid{ display:grid; gap:26px; }
.g2{ grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr)); }
.g3{ grid-template-columns:repeat(auto-fit,minmax(min(272px,100%),1fr)); }
.g4{ grid-template-columns:repeat(auto-fit,minmax(min(215px,100%),1fr)); }
.crd{ background:var(--white); border:0; border-radius:var(--r-m); padding:28px 26px; box-shadow:var(--sh-1); }
.crd h3{ margin-bottom:.5em; }
.crd p:last-child{ margin-bottom:0; }
.crd .num{ font-family:var(--f-head); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--state-2); display:block; margin-bottom:12px; }
.sec-deep .crd,.sec-wine .crd{ background:rgba(255,255,255,.06); box-shadow:none; color:rgba(255,255,255,.78); }
.sec-deep .crd h3,.sec-wine .crd h3{ color:#fff; }
.sec-deep .crd .num,.sec-wine .crd .num{ color:var(--gold-lt); }
a.crd{ color:inherit; display:block; transition:box-shadow .2s; }
a.crd:hover{ box-shadow:var(--sh-2); color:inherit; }

/* ══════════════ ХӨТӨЛБӨР ══════════════ */
.prog-controls{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-bottom:26px; max-width:100%; }
.daytabs{ display:flex; gap:2px; background:var(--white); border:1px solid var(--rule-2); border-radius:var(--r-s); padding:3px; flex-wrap:wrap; max-width:100%; }
.daytabs button{
  background:none; border:0; font:inherit; font-family:var(--f-head); font-size:13.5px; font-weight:700; color:var(--text-2);
  padding:9px 16px; border-radius:var(--r-s); cursor:pointer; white-space:nowrap; transition:background .15s, color .15s;
}
.daytabs button:hover{ background:var(--state-3); color:var(--state); }
.daytabs button.on{ background:var(--state); color:#fff; }
.filters{ display:flex; gap:6px; flex-wrap:wrap; margin-left:auto; }
.filters button{
  background:var(--white); border:1px solid var(--rule-2); font:inherit; font-size:12.5px; font-weight:500; color:var(--text-2);
  min-height:36px; padding:0 14px; border-radius:var(--r-s); cursor:pointer; display:inline-flex; align-items:center; gap:7px; transition:all .15s;
}
.filters button:hover{ border-color:var(--state-2); color:var(--state-2); }
.filters button.on{ background:var(--state-2); border-color:var(--state-2); color:#fff; font-weight:700; }
.filters .dot{ width:8px; height:8px; border-radius:50%; flex:none; }
.filters button.on .dot{ background:#fff !important; }

.timeline-p{ border-left:0; margin:0; padding:0; list-style:none; }
.slot{ position:relative; padding:0; margin-bottom:12px; }
.slot::before{ content:none; }
.slot-inner{
  background:var(--white); border-radius:var(--r-m); overflow:hidden; box-shadow:var(--sh-1);
  border-left:3px solid var(--rule-2); transition:box-shadow .2s, border-color .2s;
}
.slot-inner:hover{ box-shadow:var(--sh-2); }
.slot.k-hural    .slot-inner{ border-left-color:var(--state); }
.slot.k-soyol    .slot-inner{ border-left-color:var(--gold); }
.slot.k-ayalal   .slot-inner{ border-left-color:#2E7D64; }
.slot.k-temtseen .slot-inner{ border-left-color:#2A5D86; }
.slot.k-logistik .slot-inner{ border-left-color:#98A2B3; }
.slot-head{ display:flex; gap:20px; padding:18px 22px; cursor:pointer; align-items:flex-start; }
.slot-time{
  flex:none; width:106px; font-family:var(--f-head); font-weight:900; font-size:15px; color:var(--state);
  font-variant-numeric:tabular-nums; padding-top:2px; letter-spacing:-.01em;
}
.slot-main{ flex:1; min-width:0; }
.slot-main h3{ font-size:16.5px; font-weight:700; margin:0 0 6px; color:var(--text); }
.slot-place{ font-size:13px; color:var(--ink-3); display:flex; align-items:flex-start; gap:6px; line-height:1.5; }
.slot-place svg{ width:14px; height:14px; flex:none; margin-top:3px; }
.slot-side{ flex:none; display:flex; align-items:center; gap:9px; }
.kind{ display:inline-flex; align-items:center; justify-content:center; height:30px; width:158px; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; font-weight:700; padding:0 8px; border-radius:var(--r-s); white-space:nowrap; }
.kind.k-hural{ background:var(--state-3); color:var(--state); }
.kind.k-soyol{ background:var(--state-3); color:var(--state); }
.kind.k-ayalal{ background:var(--state-3); color:var(--state); }
.kind.k-temtseen{ background:var(--state-3); color:var(--state); }
.kind.k-logistik{ background:var(--state-3); color:var(--state); }
.star{
  background:none; border:1px solid var(--rule-2); border-radius:var(--r-s); width:30px; height:30px; cursor:pointer;
  display:grid; place-items:center; color:var(--ink-3); flex:none; font-size:13px; transition:all .15s;
}
.star:hover{ border-color:var(--gold); color:var(--gold); }
.star.on{ background:var(--gold); border-color:var(--gold); color:#fff; }
.slot-body{ display:none; padding:0 22px 22px 148px; }
.slot-inner.open .slot-body{ display:block; padding-top:4px; }
.slot-body ul{ margin:0; padding-left:1.15em; }
.slot-body li{ font-size:14.5px; color:var(--text-2); }
.slot-body .talk{ border-left:2px solid var(--state-3); padding:2px 0 2px 16px; margin-bottom:16px; }
.slot-body .talk b{ display:block; font-family:var(--f-head); font-weight:700; font-size:15px; color:var(--text); line-height:1.5; }
.slot-body .talk span{ display:block; font-size:13.5px; color:var(--text-2); margin-top:4px; line-height:1.6; }
.slot-note{ background:var(--state-3); border-radius:var(--r-s); padding:12px 16px; font-size:13.5px; color:#2A4266; margin-top:12px; }

/* ══════════════ ИЛТГЭГЧ ══════════════ */
.spk{ background:var(--white); border-radius:var(--r-m); padding:26px; box-shadow:var(--sh-1); display:flex; flex-direction:column; }
.spk .ini{
  width:52px; height:52px; border-radius:50%; background:var(--state-3); color:var(--state); display:grid; place-items:center;
  font-family:var(--f-head); font-weight:900; font-size:16px; margin-bottom:16px;
}
.spk.key .ini{ background:var(--state); color:#fff; }
.spk img.ini{ object-fit:cover; display:block; border:2px solid var(--state-3); }
.spk.key img.ini{ border-color:var(--state); }
.spk h3{ font-size:17px; font-weight:700; margin-bottom:5px; }
.spk .role{ font-size:13.5px; color:var(--text-2); margin-bottom:14px; line-height:1.6; }
.spk .talk-title{ font-size:14.5px; color:var(--text); border-top:1px solid var(--rule); padding-top:14px; margin-top:auto; line-height:1.6; }
.spk .flag{ font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--state-2); margin-bottom:7px; }

/* ══════════════ ОРОЛЦОГЧИЙН ГАРЫН АВЛАГА ══════════════ */
.guide{ display:flex; flex-direction:column; background:var(--white); border-radius:var(--r-m); box-shadow:var(--sh-1); overflow:hidden; }
.guide-card{ background:var(--white); border-bottom:1px solid var(--rule); }
.guide-card:last-child{ border-bottom:0; }
.guide-card > summary{
  padding:16px 22px; display:flex; align-items:center; gap:13px; cursor:pointer; list-style:none;
  transition:background .15s;
}
.guide-card > summary::-webkit-details-marker{ display:none; }
.guide-card > summary::after{
  content:""; width:8px; height:8px; border-right:2px solid var(--state-2); border-bottom:2px solid var(--state-2);
  transform:rotate(45deg) translateY(-2px); margin-left:auto; flex:none; transition:transform .2s;
}
.guide-card[open] > summary::after{ transform:rotate(-135deg) translateY(-2px); }
.guide-card[open] > summary{ background:var(--state-3); }
.guide-card > summary svg{ width:21px; height:21px; color:var(--state); flex:none; }
.guide-card > summary h3{ margin:0; font-size:16px; font-weight:700; color:var(--state); }
.guide-body{ padding:20px 22px 24px; }
.guide-body dl{ margin:0; }
.guide-body dt{ font-weight:700; font-size:13.5px; color:var(--text); margin-top:16px; }
.guide-body dt:first-child{ margin-top:0; }
.guide-body dd{ margin:3px 0 0; font-size:14.3px; color:var(--text-2); line-height:1.65; }
.chk{ list-style:none; padding:0; margin:0; }
.chk li{ position:relative; padding-left:26px; font-size:14.3px; color:var(--text-2); margin-bottom:11px; line-height:1.6; }
.chk li::before{
  content:""; position:absolute; left:2px; top:7px; width:10px; height:6px;
  border-left:2px solid var(--state-2); border-bottom:2px solid var(--state-2); transform:rotate(-45deg);
}

/* ══════════════ БАЙРШИЛ ══════════════ */
.venue{ background:var(--white); border-radius:var(--r-m); overflow:hidden; box-shadow:var(--sh-1); display:flex; flex-direction:column; }
.venue .vimg{ aspect-ratio:16/10; background:var(--parch-3); overflow:hidden; }
/* Зураггүй байршлын брэндийн зай — navy хүрээ + сүлд */
.venue .vph{
  aspect-ratio:16/10; background:linear-gradient(125deg, var(--ink), var(--ink-2) 55%, #123A73);
  display:grid; place-items:center; position:relative; overflow:hidden;
}
.venue .vph::after{
  content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.16); border-radius:2px; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='76' fill='none' stroke='rgba(255,255,255,0.14)' stroke-width='1.2'%3E%3Cg%3E%3Ccircle cx='16' cy='60' r='10'/%3E%3Ccircle cx='16' cy='60' r='4'/%3E%3Ccircle cx='42' cy='54' r='10'/%3E%3Ccircle cx='42' cy='54' r='4'/%3E%3Ccircle cx='68' cy='60' r='10'/%3E%3Ccircle cx='68' cy='60' r='4'/%3E%3Ccircle cx='55' cy='30' r='10'/%3E%3Ccircle cx='55' cy='30' r='4'/%3E%3Ccircle cx='81' cy='24' r='10'/%3E%3Ccircle cx='81' cy='24' r='4'/%3E%3C/g%3E%3C/svg%3E") no-repeat right 12px bottom 8px;
}
.venue .vph img{ width:54px; height:54px; opacity:.75; object-fit:contain; }
.venue .vimg img{ width:100%; height:100%; object-fit:cover; }
.venue .vbody{ padding:22px 24px 24px; flex:1; display:flex; flex-direction:column; }
.venue h3{ font-size:17px; font-weight:700; margin-bottom:8px; }
.venue p{ font-size:14.3px; color:var(--text-2); }
.venue .vlink{
  margin-top:auto; align-self:flex-start; display:inline-block;
  padding:8px 16px; border:1px solid var(--rule-2); border-radius:var(--r-s);
  font-size:13px; font-weight:700; color:var(--state);
  transition:background .15s, border-color .15s, color .15s;
}
.venue .vlink:hover{ background:var(--state); border-color:var(--state); color:#fff; }

/* ══════════════ ХҮСНЭГТ ══════════════ */
.tbl-wrap{ overflow-x:auto; border-radius:var(--r-m); background:var(--white); box-shadow:var(--sh-1); }
table.t{ width:100%; border-collapse:collapse; font-size:14.5px; min-width:600px; }
table.t th,table.t td{ padding:14px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--rule); }
table.t thead th{
  background:var(--state-3); color:var(--state); font-family:var(--f-head); font-size:12.5px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid var(--rule-2);
}
table.t tbody tr:last-child td{ border-bottom:0; }
table.t tbody tr:hover{ background:var(--parch-2); }

/* ══════════════ FAQ ══════════════ */
.faq details{ background:var(--white); border-radius:var(--r-m); margin-bottom:10px; box-shadow:var(--sh-1); }
.faq summary{
  cursor:pointer; padding:18px 22px; font-family:var(--f-head); font-weight:700; font-size:16px; color:var(--text);
  list-style:none; display:flex; align-items:center; gap:14px;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:""; margin-left:auto; width:9px; height:9px; flex:none;
  border-right:2px solid var(--state-2); border-bottom:2px solid var(--state-2);
  transform:rotate(45deg) translateY(-2px); transition:transform .2s;
}
.faq details[open] summary::after{ transform:rotate(-135deg) translateY(-2px); }
.faq details[open] summary{ color:var(--state); }
.faq .fa-body{ padding:0 22px 20px; font-size:14.8px; color:var(--text-2); }
.faq .fa-body p:last-child{ margin-bottom:0; }

/* ══════════════ ТЭМДЭГЛЭЛ ══════════════ */
.callout{
  background:var(--parch-2); border-left:3px solid var(--gold); border-radius:0 var(--r-s) var(--r-s) 0;
  padding:20px 24px; font-size:14.8px; color:var(--text-2);
}
.callout strong{ color:var(--text); }
.callout.wine{ background:var(--state-3); border-left-color:var(--state); color:#2A4266; }
.callout.wine strong{ color:var(--state); }
.callout.jade{ background:var(--state-3); border-left-color:var(--state-2); color:#2A4266; }
.callout.jade strong{ color:var(--state); }

/* ══════════════ ХОЛБОО БАРИХ ══════════════ */
.contacts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:0; border-radius:var(--r-m); overflow:hidden; }
.contacts div{ background:rgba(255,255,255,.06); padding:22px 24px; border-right:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.contacts strong{ display:block; font-family:var(--f-head); font-weight:700; font-size:16px; color:#fff; }
.contacts span{ display:block; font-size:13px; color:rgba(255,255,255,.62); margin:5px 0 10px; line-height:1.55; }
.contacts a{ color:var(--gold-lt); font-weight:700; font-size:15.5px; font-variant-numeric:tabular-nums; }
.contacts a:hover{ color:#fff; }

/* ══════════════ ХӨЛ ══════════════ */
.foot{ background:var(--emblem); color:rgba(255,255,255,.64); padding:58px 0 0; font-size:14px; }
.foot h4{ color:#fff; font-family:var(--f-head); font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:18px; }
.foot a{ color:rgba(255,255,255,.64); }
.foot a:hover{ color:#fff; }
.foot-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:42px; }
.foot ul{ list-style:none; padding:0; margin:0; }
.foot li{ margin-bottom:9px; line-height:1.6; }
.foot-bot{ border-top:1px solid rgba(255,255,255,.12); padding:20px 0; font-size:12.5px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }

/* ══════════════ ХӨДӨЛГӨӨН ══════════════ */
.js .rv{ opacity:0; transform:translateY(16px); transition:opacity .65s cubic-bezier(.2,.7,.3,1), transform .65s cubic-bezier(.2,.7,.3,1); }
.js .rv.in{ opacity:1; transform:none; }
@keyframes floatUp{ from{ opacity:0; transform:translateY(22px);} to{ opacity:1; transform:none;} }
.hero .wrap > *{ animation:floatUp .8s cubic-bezier(.2,.7,.3,1) both; }
.hero .hero-sup{ animation-delay:.04s; }
.hero h1{ animation-delay:.12s; }
.hero .hero-sub{ animation-delay:.2s; }
.hero .hero-meta{ animation-delay:.28s; }
.hero .hero-cta{ animation-delay:.36s; }
.hero .countdown{ animation-delay:.44s; }
@media (prefers-reduced-motion:reduce){
  .js .rv{ opacity:1; transform:none; transition:none; }
  .hero .wrap > *{ animation:none; }
  html{ scroll-behavior:auto; }
}

/* ══════════════ RESPONSIVE ══════════════ */
@media (max-width:1080px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:1260px){
  .tb-nav{ display:none; position:absolute; top:100%; left:0; right:0; background:var(--white); flex-direction:column; align-items:stretch; padding:8px 14px 16px; box-shadow:var(--sh-2); border-bottom:1px solid var(--rule); }
  .tb-nav.open{ display:flex; }
  .tb-nav a{ padding:12px; border-radius:0; border-bottom:1px solid var(--rule); }
  .tb-nav a.active{ box-shadow:inset 3px 0 0 var(--gold); background:var(--state-3); }
  .tb-burger{ display:block; }
  /* Nav нуугдсан үед МН/EN + цэс баруун захад очно */
  .tb-actions{ margin-left:auto; }
  .topbar .wrap{ position:relative; }
}
@media (max-width:900px){
  .filters{ margin-left:0; }
  .slot-body{ padding-left:22px; }
  .slot-head{ flex-wrap:wrap; gap:10px 12px; }
  .slot-time{ width:auto; order:1; }
  .slot-side{ margin-left:auto; order:2; }
  /* Гарчиг өөрийн бүтэн мөрөнд — нарийн дэлгэцэд үсэг босоо овоорохоос сэргийлнэ */
  .slot-main{ flex:1 1 100%; order:3; min-width:100%; }
  .kind{ width:auto; min-width:0; padding:0 12px; }
  .anniv div{ border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .contacts div{ border-right:0; }
}
@media (max-width:640px){
  .topbar .wrap{ padding:0 14px; gap:10px; min-height:56px; }
  .tb-brand{ flex:1 1 auto; min-width:0; gap:9px; }
  .tb-brand span{ min-width:0; }
  .tb-brand b{ font-size:11.6px; white-space:normal; display:block; max-width:160px; }
  .tb-brand small{ font-size:10px; letter-spacing:.1em; }
  .tb-emblem{ width:28px; height:28px; }
  .lang button{ padding:5px 8px; font-size:11px; }
  .tb-burger{ padding:7px 9px; }
}
@media (max-width:600px){
  .sec{ padding:52px 0; }
  .hero-cta{ flex-direction:column; }
  .hero-cta .btn{ width:100%; justify-content:center; }
  .foot-grid{ grid-template-columns:1fr; }
  .cd-cell{ min-width:72px; padding:11px 13px; }
  .cd-cell b{ font-size:24px; }
  .hero .hero-meta div{ padding-right:16px; margin-bottom:10px; }
  .crd{ padding:24px 20px; }
}

/* ══════════════ ХЭВЛЭХ ══════════════ */
@media print{
  .topbar,.hero-cta,.countdown,.filters,.daytabs,.star,.no-print{ display:none !important; }
  body{ background:#fff; font-size:11pt; color:#000; }
  .hero{ min-height:auto; background:#fff; color:#000; }
  .hero-bg,.hero-bg-fallback{ display:none; }
  .hero h1,.hero .hero-sub,.hero .hero-meta strong,.hero-sup{ color:#000; }
  .slot-inner .slot-body{ display:block !important; }
  .slot-inner{ break-inside:avoid; box-shadow:none; border:1px solid #ccc; }
  .rv, .js .rv{ opacity:1 !important; transform:none !important; transition:none !important; }
  .sec-deep, .sec-deep *, .sec-wine, .sec-wine *, .foot, .foot *, .contacts, .contacts *, .anniv, .anniv *{
    background:#fff !important; color:#000 !important; }
  .contacts div, .anniv div{ border:1px solid #ccc !important; }

  .sec{ padding:16px 0; }
}
