/*
Theme Name: Dove Inn
Theme URI: https://doveinn.pk/
Author: Built for Dove Inn, Johar Town, Lahore
Description: A hotel theme with a built-in direct-booking engine — real availability, a two-hour cash hold, and JazzCash / Easypaisa manual-transfer confirmation. Rooms, offers and services are all editable in the WordPress admin.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dove-inn
Tags: hotel, booking, custom-menu, custom-logo, translation-ready
*/

/* ============================================================
   DOVE INN — Johar Town, Lahore
   Palette : emerald / antique gold / ivory
   Type    : Bodoni Moda (display) · Jost (body) · Plex Mono (data)
             Noto Nastaliq Urdu (Urdu accents)
   Motif   : girih star jali, used as divider + hero screen
   ============================================================ */
:root{
  --ground:#FBF7EF;
  --surface:#FFFFFF;
  --surface-2:#F4EEE1;
  --ink:#16241F;
  --ink-2:#4E605A;
  --ink-3:#84958D;
  --line:#E6DECD;
  --line-2:#D0C4AC;
  --emerald:#0E4A3C;
  --emerald-2:#093127;
  --emerald-soft:#E3EDE8;
  --gold:#8E6E15;
  --gold-bright:#C9A227;
  --gold-soft:#F8F0D8;
  --clay:#9E3A2A;
  --clay-soft:#FAE7E2;
  --good:#1B7454;
  --good-soft:#DEF0E7;
  --warn:#8A6014;
  --warn-soft:#FAEED6;
  /* action tokens — keep component rules out of theme blocks */
  --accent-bg:#0E4A3C; --accent-fg:#FBF7EF;
  --gold-bg:#C9A227;   --gold-fg:#22190B;
  --dark-band:#093127; --dark-band-fg:#DCE9E3; --dark-band-dim:#93AFA6;
  --scrim:linear-gradient(180deg,rgba(6,26,20,.62) 0%,rgba(6,26,20,.28) 45%,rgba(6,26,20,.80) 100%);
  --shadow-sm:0 1px 2px rgba(22,36,31,.06), 0 2px 8px rgba(22,36,31,.05);
  --shadow-md:0 2px 6px rgba(22,36,31,.07), 0 14px 34px rgba(22,36,31,.10);
  --shadow-lg:0 4px 12px rgba(22,36,31,.10), 0 28px 64px rgba(22,36,31,.16);
  --r-s:4px; --r-m:8px; --r-l:14px;
  --maxw:1180px;
  --note:#7B3FA8; --note-soft:#F1E7F8;
  color-scheme: light;   /* light only — native date pickers and selects stay light */
}
/* ---------- base ---------- */
*{box-sizing:border-box}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:"Jost","Helvetica Neue",Arial,sans-serif;
  font-size:16px; line-height:1.62; font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:"Bodoni Moda",Didot,Georgia,serif; font-weight:500; line-height:1.1; margin:0; text-wrap:balance; letter-spacing:-.005em}
h4{font-family:"Jost",sans-serif; font-weight:600; margin:0; font-size:1rem}
h1{font-size:clamp(2.2rem,5vw,3.7rem)}
h2{font-size:clamp(1.6rem,3.2vw,2.35rem)}
h3{font-size:1.2rem}
p{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit; color:inherit}
:focus-visible{outline:2.5px solid var(--emerald); outline-offset:3px; border-radius:2px}
.urdu{font-family:"Noto Nastaliq Urdu",serif; line-height:2.1}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}
.stack{display:flex; flex-direction:column}
.mono{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace}
.tnum{font-variant-numeric:tabular-nums}
.eyebrow{
  font-family:"Jost",sans-serif; font-size:.7rem; font-weight:600;
  letter-spacing:.24em; text-transform:uppercase; color:var(--gold);
}
.lede{font-size:1.06rem; color:var(--ink-2); max-width:62ch; line-height:1.68; font-weight:300}
.muted{color:var(--ink-2)}
.small{font-size:.85rem}
section.band{padding:78px 0}
section.band.tight{padding:50px 0}
.band-alt{background:var(--surface)}
.sec-head{display:flex; flex-direction:column; gap:11px; margin-bottom:36px; max-width:62ch}
.rule{display:flex; align-items:center; gap:14px; margin-bottom:11px}
.rule::after{content:""; height:1px; flex:1; background:linear-gradient(90deg,var(--line-2),transparent)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:1px solid transparent; border-radius:var(--r-s); cursor:pointer;
  padding:12px 22px; font-weight:600; font-size:.9rem; letter-spacing:.03em;
  transition:filter .16s, color .16s, border-color .16s, background .16s, transform .1s;
  text-decoration:none; white-space:nowrap; font-family:"Jost",sans-serif;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent-bg); color:var(--accent-fg); border-color:var(--accent-bg)}
.btn-primary:hover{filter:brightness(1.12)}
.btn-gold{background:var(--gold-bg); color:var(--gold-fg); border-color:var(--gold-bg)}
.btn-gold:hover{filter:brightness(1.08)}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--emerald); color:var(--emerald)}
.btn-sm{padding:8px 15px; font-size:.82rem}
.btn-lg{padding:15px 30px; font-size:.95rem}
.btn-block{width:100%}
.link-arrow{display:inline-flex; align-items:center; gap:7px; font-weight:600; font-size:.87rem; letter-spacing:.04em;
  color:var(--emerald); text-decoration:none; border-bottom:1px solid transparent; padding-bottom:2px; background:none; border-top:0; border-left:0; border-right:0; cursor:pointer}
.link-arrow:hover{border-bottom-color:var(--emerald)}
.link-arrow svg{transition:transform .16s}
.link-arrow:hover svg{transform:translateX(3px)}

/* ---------- header ---------- */
.utility{background:var(--dark-band); color:var(--dark-band-fg); font-size:.78rem}
.utility .wrap{display:flex; align-items:center; gap:18px; height:38px; flex-wrap:wrap}
.utility a{color:inherit; text-decoration:none; display:inline-flex; align-items:center; gap:6px}
.utility a:hover{text-decoration:underline}
.utility .spacer{flex:1}
.utility select{background:transparent; border:1px solid rgba(255,255,255,.22); color:inherit; border-radius:3px; padding:2px 6px; font-size:.78rem}
.utility select option{color:#16241F; background:#fff}

header.nav{position:sticky; top:0; z-index:60; background:var(--surface); border-bottom:1px solid var(--line); box-shadow:var(--shadow-sm)}
.nav-inner{display:flex; align-items:center; gap:20px; height:74px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; cursor:pointer; background:none; border:0; padding:0; text-align:left}
.brand-mark{width:40px; height:40px; flex:none}
.brand-txt{display:flex; flex-direction:column; line-height:1}
.brand-name{font-family:"Bodoni Moda",serif; font-size:1.42rem; font-weight:600; letter-spacing:.01em}
.brand-sub{font-size:.56rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-3); margin-top:5px; font-weight:600}
.nav-links{display:flex; gap:1px; margin-left:auto}
.nav-links button{background:none; border:0; cursor:pointer; padding:8px 11px; border-radius:var(--r-s);
  font-size:.86rem; font-weight:500; letter-spacing:.03em; color:var(--ink-2); font-family:"Jost",sans-serif}
.nav-links button:hover{background:var(--surface-2); color:var(--ink)}
.nav-links button.active{color:var(--emerald); font-weight:600}
.nav-actions{display:flex; align-items:center; gap:10px}
.notes-toggle{display:inline-flex; align-items:center; gap:7px; border:1px solid var(--note); color:var(--note);
  background:transparent; border-radius:999px; padding:6px 13px; font-size:.78rem; font-weight:600; cursor:pointer; font-family:"Jost",sans-serif}
.notes-toggle[aria-pressed="true"]{background:var(--note); color:#fff}
.notes-toggle .dotmark{width:8px; height:8px; border-radius:50%; background:currentColor}
@media (max-width:1120px){ .nav-links{display:none} }

/* ---------- hero ---------- */
.hero{position:relative; overflow:hidden; background:var(--emerald-2)}
.hero-media{position:absolute; inset:0}
.hero-media svg{width:100%; height:100%; display:block}
.hero-scrim{position:absolute; inset:0; background:var(--scrim)}
.hero-jali{position:absolute; inset:0; opacity:.16; pointer-events:none}
.hero-inner{position:relative; padding:70px 0 40px; color:#F6F1E5}
.hero-inner h1{color:#fff; max-width:16ch}
.hero-kicker{display:flex; align-items:center; gap:14px; margin-bottom:18px; flex-wrap:wrap}
.hero-kicker .eyebrow{color:var(--gold-bright)}
.hero-sub{margin-top:16px; max-width:46ch; font-size:1.05rem; color:#DFEAE4; font-weight:300}
.hero-stats{display:flex; gap:34px; flex-wrap:wrap; margin-top:28px}
.hero-stat b{font-family:"Bodoni Moda",serif; font-size:1.6rem; font-weight:500; color:#fff; display:block}
.hero-stat span{font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:#A8C6BB; font-weight:600}

/* ---------- booking widget ---------- */
.bookbar{background:var(--surface); border:1px solid var(--line); border-top:3px solid var(--gold-bright);
  border-radius:var(--r-m); box-shadow:var(--shadow-lg); padding:18px; margin-top:36px}
.bookbar-grid{display:grid; grid-template-columns:1.1fr 1.1fr 1fr auto; gap:12px; align-items:end}
.field{display:flex; flex-direction:column; gap:6px; min-width:0}
.field label{font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-3); font-weight:600}
.field input,.field select,.field textarea{
  background:var(--ground); border:1px solid var(--line); border-radius:var(--r-s);
  padding:11px 12px; font-size:.94rem; width:100%; color:var(--ink); font-family:"Jost",sans-serif;
}
.field input:hover,.field select:hover{border-color:var(--line-2)}
.bookbar-foot{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:14px; padding-top:13px;
  border-top:1px solid var(--line); font-size:.82rem; color:var(--ink-2)}
.pill{display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:3px 11px; font-size:.73rem; font-weight:600; letter-spacing:.02em}
.pill-good{background:var(--good-soft); color:var(--good)}
.pill-warn{background:var(--warn-soft); color:var(--warn)}
.pill-clay{background:var(--clay-soft); color:var(--clay)}
.pill-em{background:var(--emerald-soft); color:var(--emerald)}
.pill-gold{background:var(--gold-soft); color:var(--gold)}
@media (max-width:900px){ .bookbar-grid{grid-template-columns:1fr 1fr} .bookbar-grid .field-cta{grid-column:1/-1} }

/* ---------- trust ---------- */
.trust{border-bottom:1px solid var(--line); background:var(--surface)}
.trust .wrap{display:flex; align-items:center; gap:26px; padding-top:17px; padding-bottom:17px; flex-wrap:wrap; justify-content:space-between}
.trust-item{display:flex; align-items:center; gap:9px; font-size:.85rem; color:var(--ink-2)}
.trust-item b{color:var(--ink); font-weight:600}
.stars{display:inline-flex; gap:1.5px; color:var(--gold-bright)}

/* ---------- grids & cards ---------- */
.grid{display:grid; gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-m); overflow:hidden; display:flex; flex-direction:column}
.card-body{padding:18px 20px 20px; display:flex; flex-direction:column; gap:11px; flex:1}
.card-foot{margin-top:auto; padding-top:14px; border-top:1px solid var(--line); display:flex; align-items:end; justify-content:space-between; gap:12px}
.room-card{transition:box-shadow .18s, border-color .18s}
.room-card:hover{box-shadow:var(--shadow-md); border-color:var(--line-2)}
.price{display:flex; flex-direction:column; gap:1px}
.price .from{font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); font-weight:600}
.price .amt{font-family:"Bodoni Moda",serif; font-size:1.4rem; font-weight:600; line-height:1.1}
.price .per{font-size:.74rem; color:var(--ink-3)}
.strike{text-decoration:line-through; color:var(--ink-3); font-family:"IBM Plex Mono",monospace; font-size:.82rem}
.specs{display:flex; flex-wrap:wrap; gap:6px}
.spec{display:inline-flex; align-items:center; gap:5px; font-size:.73rem; color:var(--ink-2);
  background:var(--surface-2); border-radius:var(--r-s); padding:4px 9px; font-family:"IBM Plex Mono",monospace}
.dl{display:grid; grid-template-columns:auto 1fr; gap:9px 20px; font-size:.9rem}
.dl dt{color:var(--ink-3); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; padding-top:4px; font-weight:600}
.dl dd{margin:0; font-weight:400}

/* ---------- placeholders ---------- */
.ph{position:relative; display:block; overflow:hidden; background:var(--surface-2); line-height:0}
.ph svg{width:100%; height:100%; display:block}
.ph-cap{position:absolute; left:9px; bottom:9px; right:9px; font-family:"IBM Plex Mono",monospace;
  font-size:.62rem; line-height:1.35; background:rgba(5,20,15,.76); color:#D3E4DC; padding:5px 8px;
  border-radius:3px; display:flex; gap:7px; align-items:baseline}
.ph-cap b{color:var(--gold-bright); font-weight:500; letter-spacing:.11em; text-transform:uppercase; font-size:.56rem; flex:none}
.ph-4x3{aspect-ratio:4/3} .ph-16x9{aspect-ratio:16/9} .ph-3x2{aspect-ratio:3/2} .ph-1x1{aspect-ratio:1/1}

/* ---------- services ---------- */
.svc{display:flex; gap:14px; align-items:flex-start; padding:18px; background:var(--surface);
  border:1px solid var(--line); border-radius:var(--r-m); transition:border-color .16s, box-shadow .16s}
.svc:hover{border-color:var(--line-2); box-shadow:var(--shadow-sm)}
.svc-ic{width:42px; height:42px; border-radius:var(--r-s); flex:none; display:grid; place-items:center;
  background:var(--emerald-soft); color:var(--emerald)}
.svc.key .svc-ic{background:var(--gold-soft); color:var(--gold)}
.svc h4{font-size:.94rem; margin-bottom:4px; letter-spacing:.01em}
.svc p{font-size:.845rem; color:var(--ink-2); line-height:1.52}

/* ---------- reviews ---------- */
.review{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-m); padding:22px; display:flex; flex-direction:column; gap:13px}
.review q{font-family:"Bodoni Moda",serif; font-size:1.02rem; line-height:1.55; quotes:"\201C" "\201D"; font-weight:400}
.review-meta{display:flex; align-items:center; gap:10px; margin-top:auto; font-size:.8rem; color:var(--ink-2)}
.avatar{width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-weight:600; font-size:.76rem;
  background:var(--emerald-soft); color:var(--emerald); flex:none}

/* ---------- tables ---------- */
.tbl{width:100%; border-collapse:collapse; font-size:.89rem}
.tbl th{text-align:left; font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; color:var(--ink-3);
  font-weight:600; padding:9px 12px; border-bottom:1px solid var(--line-2)}
.tbl td{padding:10px 12px; border-bottom:1px solid var(--line)}
.tbl tr:last-child td{border-bottom:0}
.tbl-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:var(--r-m); background:var(--surface)}

/* ---------- footer ---------- */
footer.site{background:var(--dark-band); color:var(--dark-band-fg); padding:58px 0 0}
footer.site h4{color:#fff; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; margin-bottom:15px}
footer.site a{color:var(--dark-band-fg); text-decoration:none; font-size:.87rem}
footer.site a:hover{color:#fff; text-decoration:underline}
.foot-grid{display:grid; grid-template-columns:1.7fr 1fr 1fr 1.1fr; gap:34px}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot-links{display:flex; flex-direction:column; gap:9px}
.foot-bottom{margin-top:44px; border-top:1px solid rgba(255,255,255,.12); padding:18px 0 26px;
  display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; font-size:.77rem; color:var(--dark-band-dim)}
.foot-bottom .legal{display:flex; gap:18px; flex-wrap:wrap}
.pay-marks{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px}
.pay-mark{border:1px solid rgba(255,255,255,.22); border-radius:4px; padding:5px 10px; font-size:.72rem; font-weight:600; letter-spacing:.04em; color:#fff}

/* ---------- mobile cta ---------- */
.mobile-cta{position:fixed; left:0; right:0; bottom:0; z-index:70; display:none; background:var(--surface);
  border-top:1px solid var(--line); padding:10px 16px; box-shadow:0 -6px 24px rgba(22,36,31,.14); gap:10px; align-items:center}
.mobile-cta .m-price{flex:1; min-width:0}
@media (max-width:760px){ .mobile-cta{display:flex} body{padding-bottom:72px} }

/* ---------- notes overlay ---------- */
body.notes-on [data-note]{position:relative; outline:1.5px dashed var(--note); outline-offset:5px; border-radius:3px}
.note-dot{position:absolute; top:-11px; right:-11px; z-index:40; width:24px; height:24px; border-radius:50%;
  border:2px solid var(--surface); background:var(--note); color:#fff; font-size:.68rem; font-weight:700;
  cursor:pointer; display:none; place-items:center; font-family:"IBM Plex Mono",monospace; padding:0; box-shadow:var(--shadow-sm)}
body.notes-on .note-dot{display:grid}
.note-dot:hover{transform:scale(1.15)}
.note-dot.active{background:var(--ink)}
.notes-panel{position:fixed; top:0; right:0; bottom:0; width:390px; max-width:92vw; z-index:90; background:var(--surface);
  border-left:1px solid var(--line); box-shadow:var(--shadow-lg); transform:translateX(100%);
  transition:transform .26s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column}
.notes-panel.open{transform:none}
.np-head{padding:18px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:12px}
.np-head h3{font-size:1.05rem; flex:1}
.np-body{overflow-y:auto; padding:6px 20px 28px; flex:1}
.np-item{padding:16px 0; border-bottom:1px solid var(--line); display:flex; gap:12px; cursor:pointer;
  background:none; border-left:0; border-right:0; border-top:0; text-align:left; width:100%}
.np-item:hover{background:var(--surface-2)}
.np-num{width:23px; height:23px; border-radius:50%; background:var(--note-soft); color:var(--note); display:grid;
  place-items:center; font-family:"IBM Plex Mono",monospace; font-size:.68rem; font-weight:700; flex:none; margin-top:2px}
.np-item.active .np-num{background:var(--note); color:#fff}
.np-item h4{font-size:.91rem; margin-bottom:4px}
.np-item p{font-size:.83rem; color:var(--ink-2); line-height:1.5}
.np-why{margin-top:7px; font-size:.78rem; color:var(--note); display:flex; gap:6px}
.np-why b{flex:none; font-weight:700}
.icon-btn{background:none; border:1px solid var(--line); border-radius:var(--r-s); cursor:pointer; width:34px; height:34px;
  display:grid; place-items:center; color:var(--ink-2)}
.icon-btn:hover{border-color:var(--emerald); color:var(--emerald)}

/* ---------- misc ---------- */
.divider{height:1px; background:var(--line); border:0; margin:0}
.badge-row{display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.chip{border:1px solid var(--line); background:var(--surface); border-radius:999px; padding:7px 15px; font-size:.82rem;
  cursor:pointer; color:var(--ink-2); font-weight:500; font-family:"Jost",sans-serif; transition:background .14s,color .14s,border-color .14s}
.chip[aria-pressed="true"]{background:var(--accent-bg); color:var(--accent-fg); border-color:var(--accent-bg)}
.opt{display:flex; gap:12px; align-items:flex-start; border:1px solid var(--line); border-radius:var(--r-m);
  padding:15px 17px; cursor:pointer; background:var(--surface); transition:border-color .15s, background .15s}
.opt:hover{border-color:var(--line-2)}
.opt.sel{border-color:var(--emerald); background:var(--emerald-soft); box-shadow:inset 0 0 0 1px var(--emerald)}
.opt input{margin-top:4px; accent-color:var(--emerald)}
.opt .r-name{font-weight:600; font-size:.93rem}
.opt .r-desc{font-size:.82rem; color:var(--ink-2); line-height:1.45}
.opt .r-price{margin-left:auto; text-align:right; font-family:"IBM Plex Mono",monospace; white-space:nowrap}
.steps{display:flex; margin-bottom:30px; border-bottom:1px solid var(--line); overflow-x:auto}
.step{padding:12px 18px; font-size:.84rem; font-weight:600; color:var(--ink-3); white-space:nowrap;
  border-bottom:2px solid transparent; display:flex; align-items:center; gap:8px}
.step .n{width:20px; height:20px; border-radius:50%; background:var(--surface-2); color:var(--ink-3); display:grid;
  place-items:center; font-size:.68rem; font-family:"IBM Plex Mono",monospace}
.step.done{color:var(--good)} .step.done .n{background:var(--good-soft); color:var(--good)}
.step.cur{color:var(--emerald); border-bottom-color:var(--emerald)} .step.cur .n{background:var(--accent-bg); color:var(--accent-fg)}
.summary{background:var(--surface); border:1px solid var(--line); border-top:3px solid var(--gold-bright);
  border-radius:var(--r-m); padding:22px; position:sticky; top:96px; display:flex; flex-direction:column; gap:14px}
.sum-row{display:flex; justify-content:space-between; gap:14px; font-size:.88rem}
.sum-row.total{border-top:1px solid var(--line); padding-top:12px; font-size:1.02rem; font-weight:600}
.map-wrap{border-radius:var(--r-m); overflow:hidden; border:1px solid var(--line); background:var(--emerald-soft)}
.gal-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
@media (max-width:800px){.gal-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.gal-grid{grid-template-columns:1fr}}
.gal-item{border-radius:var(--r-m); overflow:hidden; border:1px solid var(--line)}
.jali-rule{height:26px; opacity:.5; margin:0}
.notice{border-left:3px solid var(--gold-bright); background:var(--gold-soft); padding:16px 18px; border-radius:0 var(--r-s) var(--r-s) 0}
.notice.green{border-left-color:var(--good); background:var(--good-soft)}
.notice h4{margin-bottom:5px}
.notice p{font-size:.87rem; line-height:1.55}
.countdown{font-family:"IBM Plex Mono",monospace; font-size:1.6rem; font-weight:500; color:var(--clay); letter-spacing:.04em}
@media (prefers-reduced-motion: reduce){ *,*::before,*::after{animation-duration:.001ms !important; transition-duration:.001ms !important} }

/* ============================================================
   WORDPRESS ADDITIONS
   ============================================================ */
.skip-link{position:absolute; left:-9999px; top:0; z-index:200; background:var(--surface); padding:12px 18px; border:1px solid var(--emerald)}
.skip-link:focus{left:8px; top:8px}
.screen-reader-text{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap}
.nav-toggle{display:none; background:none; border:1px solid var(--line); border-radius:var(--r-s); width:40px; height:38px; cursor:pointer; color:var(--ink); place-items:center}
@media (max-width:1120px){ .nav-toggle{display:grid} }
.mobile-nav{display:none; border-top:1px solid var(--line); background:var(--surface)}
.mobile-nav.open{display:block}
.mobile-nav ul{list-style:none; margin:0; padding:8px 0}
.mobile-nav li a{display:block; padding:12px 24px; text-decoration:none; font-weight:500; border-bottom:1px solid var(--line)}
.mobile-nav li a:hover{background:var(--surface-2); color:var(--emerald)}
.nav-links ul{display:flex; gap:1px; list-style:none; margin:0; padding:0}
.nav-links li a{display:block; padding:8px 11px; border-radius:var(--r-s); font-size:.86rem; font-weight:500;
  letter-spacing:.03em; color:var(--ink-2); text-decoration:none}
.nav-links li a:hover{background:var(--surface-2); color:var(--ink)}
.nav-links li.current-menu-item > a, .nav-links li.current_page_item > a{color:var(--emerald); font-weight:600}
.entry-content{max-width:70ch}
.entry-content h2{margin:36px 0 12px} .entry-content h3{margin:28px 0 10px}
.entry-content p{margin-bottom:16px} .entry-content ul,.entry-content ol{margin:0 0 16px 22px}
.entry-content img{border-radius:var(--r-m)} .entry-content a{color:var(--emerald)}
.alert{padding:14px 16px; border-radius:var(--r-s); font-size:.9rem; margin-bottom:18px; border-left:3px solid}
.alert-error{background:var(--clay-soft); border-left-color:var(--clay); color:var(--clay)}
.alert-ok{background:var(--good-soft); border-left-color:var(--good); color:var(--good)}
.field .req{color:var(--clay)}
.pagination{display:flex; gap:8px; justify-content:center; margin-top:34px}
.pagination .page-numbers{padding:8px 14px; border:1px solid var(--line); border-radius:var(--r-s); text-decoration:none; font-size:.88rem}
.pagination .current{background:var(--accent-bg); color:var(--accent-fg); border-color:var(--accent-bg)}
.hold-expired{color:var(--clay); font-weight:600}
