/* ==========================================================================
   Hisar Landing Engine 1.8.1 · Cultural Tours page (#hisar-cultural)
   Tokens: hajj-refinement/DESIGN.md (navy ink, gold for the primary action,
   turquoise as the second semantic, cool ivory grounds). Display face:
   Marcellus, the inscriptional serif the Umrah cards already use; everything
   else Plus Jakarta Sans. Signature: the seven-journey timeline (.ct-rail).
   Every rule is scoped to #hisar-cultural so the theme is untouched.
   ========================================================================== */
#hisar-cultural{
  --ink:#081F38; --ink-2:#103551; --pine:#123D60; --text:#0F2338; --muted:#4A6076;
  --gold:#C9A24B; --gold-2:#E7D095; --gold-bright:#F0DEAA; --gold-deep:#7E5F18;
  --turq:#087F83; --turq-2:#55D6CF; --ivory:#F5FAFC; --paper-2:#F2F8F9; --line:rgba(15,45,80,.14); --line-2:rgba(15,45,80,.26);
  --warn:#9A3412; --rad:14px; --rad-lg:22px; --ease:cubic-bezier(.22,.61,.36,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --fd:'Marcellus',Georgia,'Times New Roman',serif; --fs:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-family:var(--fs); font-size:17px; color:var(--text); background:#fff; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:clip; }
#hisar-cultural *,#hisar-cultural *::before,#hisar-cultural *::after{ box-sizing:border-box; }
#hisar-cultural [hidden]{ display:none !important; }
#hisar-cultural img{ max-width:100%; }
/* the theme sets body and heading families with !important (--ht-font); the display face must win here */
#hisar-cultural h1,#hisar-cultural h2,#hisar-cultural h3,#hisar-cultural .ct-rail b,#hisar-cultural .ct-steps li::before{ font-family:var(--fd) !important; }
#hisar-cultural h1,#hisar-cultural h2,#hisar-cultural h3{ font-weight:400; color:var(--ink); margin:0; line-height:1.1; letter-spacing:-.01em; text-wrap:balance; }
#hisar-cultural p{ margin:0; }
#hisar-cultural a{ color:var(--turq); text-underline-offset:3px; }
#hisar-cultural .ct-wrap{ width:min(1200px,calc(100vw - 40px)); margin:0 auto; }
#hisar-cultural .ct-skip{ position:absolute; left:-9999px; }
#hisar-cultural .ct-skip:focus{ left:12px; top:12px; z-index:200; background:#fff; padding:8px 12px; border-radius:8px; }
#hisar-cultural :focus-visible{ outline:3px solid var(--pine); outline-offset:3px; border-radius:6px; }
#hisar-cultural .ct-hero :focus-visible,#hisar-cultural .ct-incl :focus-visible,#hisar-cultural .ct-side :focus-visible{ outline-color:var(--gold-2); }
#hisar-cultural svg{ fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

/* ---------------- actions ---------------- */
#hisar-cultural .ct-btn{ display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; min-height:50px; padding:12px 24px; border-radius:999px; border:1.5px solid transparent;
  font-family:var(--fs); font-size:15.5px; font-weight:700; line-height:1.2; text-decoration:none; cursor:pointer; text-align:center; transition:transform .3s var(--ease-out), background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease); }
#hisar-cultural .ct-btn small{ font-size:12px; font-weight:500; opacity:.82; }
#hisar-cultural .ct-btn-gold{ background:linear-gradient(135deg,var(--gold-bright),var(--gold) 55%,#A8823D); color:var(--ink); box-shadow:0 12px 26px -16px rgba(126,95,24,.95); }
#hisar-cultural .ct-btn-gold:hover{ transform:translateY(-2px); }
#hisar-cultural .ct-btn-ghost{ background:transparent; color:#fff; border-color:rgba(245,250,252,.6); }
#hisar-cultural .ct-btn-ghost:hover{ border-color:var(--gold-2); color:var(--gold-2); }
#hisar-cultural .ct-btn-outline{ background:#fff; color:var(--ink); border-color:var(--line-2); }
#hisar-cultural .ct-btn-outline:hover{ border-color:var(--ink); }
#hisar-cultural .ct-btn-dark{ background:var(--pine); color:var(--ivory); }
#hisar-cultural .ct-btn-dark:hover{ background:var(--ink); }
#hisar-cultural .ct-link{ background:none; border:0; padding:0; color:var(--turq); font:inherit; font-weight:700; text-decoration:underline; cursor:pointer; }

/* ---------------- hero ---------------- */
#hisar-cultural .ct-hero{ position:relative; isolation:isolate; overflow:hidden; color:var(--ivory); background:var(--ink); min-height:min(80vh,640px); display:flex; align-items:center; padding:72px 0; }
#hisar-cultural .ct-hero-pic{ display:contents; }
#hisar-cultural .ct-hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:70% 50%; z-index:-2; }
#hisar-cultural .ct-hero-tint{ position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,31,56,.95) 0%,rgba(8,31,56,.86) 45%,rgba(8,31,56,.35) 66%,rgba(8,31,56,0) 84%),linear-gradient(180deg,rgba(8,31,56,0) 62%,rgba(8,31,56,.55) 100%); }
#hisar-cultural .ct-hero-in > *{ max-width:640px; }
#hisar-cultural .ct-kicker{ font-size:15px; font-weight:600; color:var(--gold-2); margin-bottom:18px; }
#hisar-cultural .ct-hero h1{ color:#fff; font-size:clamp(2.7rem,5.4vw,4.5rem); line-height:1.04; }
#hisar-cultural .ct-lede{ font-size:clamp(1.02rem,1.5vw,1.16rem); color:rgba(245,250,252,.9); margin:22px 0 30px; max-width:560px; }
#hisar-cultural .ct-cta{ display:flex; flex-wrap:wrap; gap:12px; }
@media (max-width:760px){
  #hisar-cultural .ct-hero{ display:block; min-height:0; padding:0 0 40px; }
  #hisar-cultural .ct-hero-img{ position:relative; display:block; height:auto; aspect-ratio:4/3; object-position:50% 50%; z-index:0; }
  #hisar-cultural .ct-hero-tint{ display:none; }
  #hisar-cultural .ct-hero-in{ padding-top:26px; }
  #hisar-cultural .ct-cta .ct-btn{ flex:1 1 100%; }
}

/* ---------------- departures ---------------- */
#hisar-cultural .ct-tours{ padding:clamp(56px,7vw,96px) 0; background:var(--ivory); }
#hisar-cultural .ct-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px 28px; margin-bottom:30px; }
#hisar-cultural .ct-head h2,#hisar-cultural .ct-atlas-head h2,#hisar-cultural .ct-incl-head h2,#hisar-cultural .ct-how h2,#hisar-cultural .ct-faq h2{ font-size:clamp(2rem,3.8vw,3rem); }
#hisar-cultural .ct-note{ margin-top:8px; font-size:15px; color:var(--muted); }
#hisar-cultural .ct-filters{ display:flex; flex-wrap:wrap; gap:12px; }
#hisar-cultural .ct-filter{ display:grid; gap:4px; font-size:13px; font-weight:700; color:var(--muted); }
#hisar-cultural .ct-filter select{ min-height:46px; min-width:190px; padding:8px 12px; border:1.5px solid var(--line-2); border-radius:12px; background:#fff; font:inherit; font-size:15px; color:var(--ink); }
#hisar-cultural .ct-grid{ display:grid; gap:28px; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
@media (max-width:900px){ #hisar-cultural .ct-grid{ grid-template-columns:1fr; } }
#hisar-cultural .ct-empty{ margin-top:18px; }
#hisar-cultural .ct-none{ grid-column:1/-1; padding:28px; border:1.5px dashed var(--line-2); border-radius:var(--rad-lg); background:#fff; }
#hisar-cultural .ct-none h3{ font-size:1.6rem; margin-bottom:6px; }
#hisar-cultural .ct-none p{ color:var(--muted); margin-bottom:16px; max-width:60ch; }

/* the departure card: one surface, one border, the photo carries the title */
#hisar-cultural .ct-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--rad-lg); overflow:hidden; }
#hisar-cultural .ct-card-head{ position:relative; isolation:isolate; min-height:270px; display:flex; flex-direction:column; justify-content:flex-end; gap:6px; padding:22px 24px 20px; color:#fff; }
#hisar-cultural .ct-card-head img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
#hisar-cultural .ct-card-head::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(8,31,56,.35) 0%,rgba(8,31,56,0) 30%,rgba(8,31,56,.25) 52%,rgba(8,31,56,.92) 100%); }
#hisar-cultural .ct-pills{ position:absolute; left:18px; right:18px; top:16px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
#hisar-cultural .ct-pill{ display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; font-size:13px; font-weight:700; line-height:1.2; background:rgba(8,31,56,.72); color:#fff; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
#hisar-cultural .ct-pill-gold{ background:var(--gold-bright); color:var(--ink); }
#hisar-cultural .ct-pill-warn{ background:#FFF1E6; color:var(--warn); }
#hisar-cultural .ct-pill-full{ background:#E6ECF2; color:var(--ink); }
#hisar-cultural .ct-card h3{ color:#fff; font-size:clamp(1.75rem,2.6vw,2.2rem); }
#hisar-cultural .ct-dates{ font-size:15.5px; font-weight:600; color:rgba(245,250,252,.95); }
#hisar-cultural .ct-route{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; margin:6px 0 0; padding:0; list-style:none; font-size:14px; font-weight:600; color:var(--gold-bright); }
#hisar-cultural .ct-route li{ display:inline-flex; align-items:center; gap:8px; }
#hisar-cultural .ct-route li + li::before{ content:""; width:14px; height:1.5px; background:rgba(240,222,170,.7); }
#hisar-cultural .ct-card-body{ display:flex; flex-direction:column; gap:18px; padding:22px 24px 24px; flex:1; }
#hisar-cultural .ct-hl{ font-size:16px; color:var(--text); }
#hisar-cultural .ct-labels{ display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
#hisar-cultural .ct-labels li{ padding:4px 11px; border-radius:999px; background:#E8F4F4; color:#075E61; font-size:13px; font-weight:700; }
#hisar-cultural .ct-facts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 20px; margin:0; padding-bottom:18px; border-bottom:1px solid var(--line); }
#hisar-cultural .ct-facts > div{ display:grid; grid-template-columns:22px 1fr; column-gap:10px; min-width:0; }
#hisar-cultural .ct-facts svg{ grid-row:span 2; width:22px; height:22px; margin-top:2px; color:var(--turq); }
#hisar-cultural .ct-facts dt{ font-size:13px; font-weight:600; color:var(--muted); }
#hisar-cultural .ct-facts dd{ margin:0; font-size:15.5px; font-weight:700; color:var(--ink); line-height:1.35; overflow-wrap:anywhere; }
#hisar-cultural .ct-pp{ font-size:14px; color:var(--muted); }
#hisar-cultural .ct-prices{ display:grid; grid-template-columns:repeat(auto-fit,minmax(118px,1fr)); gap:10px; margin-top:8px; }
#hisar-cultural .ct-price{ position:relative; padding:16px 10px 13px; border:1.5px solid var(--line); border-radius:var(--rad); text-align:center; }
#hisar-cultural .ct-price span{ display:block; font-size:13.5px; font-weight:600; color:var(--muted); }
#hisar-cultural .ct-price b{ display:block; margin:2px 0 1px; font-size:1.55rem; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
#hisar-cultural .ct-price s{ display:block; font-size:13px; color:var(--muted); }
#hisar-cultural .ct-price.is-best{ border:2px solid var(--pine); background:#F3F8FB; }
#hisar-cultural .ct-price em{ position:absolute; left:50%; top:0; transform:translate(-50%,-50%); padding:3px 10px; border-radius:999px; background:var(--pine); color:var(--gold-bright); font-size:11.5px; font-weight:700; font-style:normal; white-space:nowrap; }
#hisar-cultural .ct-urg{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; font-size:14.5px; color:var(--muted); }
#hisar-cultural .ct-urg b{ color:var(--ink); }
#hisar-cultural .ct-urg .is-low{ display:inline-flex; align-items:center; gap:6px; color:var(--warn); font-weight:700; }
#hisar-cultural .ct-urg .is-low svg{ width:17px; height:17px; }
#hisar-cultural .ct-full{ padding:14px 16px; border-radius:var(--rad); background:#F1F4F8; color:var(--text); font-size:15px; }
#hisar-cultural .ct-card-cta{ display:grid; grid-template-columns:1.25fr 1fr; gap:12px; margin-top:auto; }
#hisar-cultural .ct-card-cta .ct-btn{ border-radius:16px; min-height:62px; padding:10px 14px; }
@media (max-width:460px){ #hisar-cultural .ct-card-cta{ grid-template-columns:1fr; } #hisar-cultural .ct-facts{ gap:12px 14px; } #hisar-cultural .ct-facts dd{ font-size:14.5px; } }
@media (max-width:350px){ #hisar-cultural .ct-facts{ grid-template-columns:1fr; } }
#hisar-cultural .ct-card-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 26px; font-size:15px; font-weight:700; }
#hisar-cultural .ct-card-links a{ display:inline-flex; align-items:center; gap:6px; min-height:32px; }
#hisar-cultural .ct-card-links svg{ width:18px; height:18px; }
#hisar-cultural .ct-card.is-full .ct-card-head img{ filter:grayscale(.45); }

/* ---------------- the seven journeys ---------------- */
#hisar-cultural .ct-atlas{ padding:clamp(64px,8vw,112px) 0 clamp(40px,5vw,72px); background:#fff; }
#hisar-cultural .ct-atlas-head{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:20px 56px; align-items:end; }
#hisar-cultural .ct-atlas-head p{ color:var(--muted); max-width:52ch; }
@media (max-width:860px){ #hisar-cultural .ct-atlas-head{ grid-template-columns:1fr; } }
/* the signature: history as a line, each year a door into its journey */
#hisar-cultural .ct-rail{ position:relative; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); margin:clamp(36px,5vw,56px) 0 clamp(56px,7vw,96px); padding:0; list-style:none; }
#hisar-cultural .ct-rail::before{ content:""; position:absolute; left:0; right:0; top:9px; height:1.5px; background:linear-gradient(90deg,var(--gold) 0%,var(--gold-2) 100%); }
#hisar-cultural .ct-rail li{ position:relative; }
#hisar-cultural .ct-rail a{ display:flex; flex-direction:column; gap:2px; padding:34px 14px 6px 0; text-decoration:none; color:inherit; border-radius:10px; }
#hisar-cultural .ct-rail a::before{ content:""; position:absolute; left:0; top:3px; width:14px; height:14px; border-radius:50%; background:#fff; border:2px solid var(--gold); transition:background-color .2s var(--ease), transform .3s var(--ease-out); }
#hisar-cultural .ct-rail b{ font-family:var(--fd); font-weight:400; font-size:clamp(1.9rem,2.8vw,2.6rem); line-height:1; color:var(--ink); font-variant-numeric:lining-nums; }
#hisar-cultural .ct-rail span{ margin-top:8px; font-size:14px; color:var(--muted); line-height:1.35; }
#hisar-cultural .ct-rail em{ font-style:normal; font-size:14.5px; font-weight:700; color:var(--turq); line-height:1.35; }
#hisar-cultural .ct-rail a:hover::before,#hisar-cultural .ct-rail a:focus-visible::before{ background:var(--gold); transform:scale(1.2); }
#hisar-cultural .ct-rail a:hover b{ color:var(--turq); }
@media (max-width:980px){
  #hisar-cultural .ct-rail{ grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(168px,42vw); overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; margin-right:calc(-1 * (100vw - 100%) / 2); scrollbar-width:thin; }
  #hisar-cultural .ct-rail::before{ right:auto; width:calc(7 * 168px); min-width:calc(7 * 42vw); }
  #hisar-cultural .ct-rail li{ scroll-snap-align:start; }
}
#hisar-cultural .ct-dests{ display:grid; gap:clamp(72px,9vw,128px); }
#hisar-cultural .ct-dest{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(28px,4.5vw,64px); align-items:start; scroll-margin-top:110px; }
#hisar-cultural .ct-dest:nth-child(even){ grid-template-columns:minmax(0,5fr) minmax(0,7fr); }
#hisar-cultural .ct-dest:nth-child(even) .ct-dest-pic{ order:2; }
#hisar-cultural .ct-dest-pic{ margin:0; border-radius:var(--rad-lg); overflow:hidden; aspect-ratio:4/3; background:var(--ink-2); }
#hisar-cultural .ct-dest-pic img{ display:block; width:100%; height:100%; object-fit:cover; }
#hisar-cultural .ct-dest-text{ display:grid; gap:14px; }
#hisar-cultural .ct-dest-era{ font-size:14.5px; font-weight:700; color:var(--gold-deep); }
#hisar-cultural .ct-dest h3{ font-size:clamp(2.1rem,3.6vw,3rem); }
#hisar-cultural .ct-dest-text > p:not([class]){ font-size:17px; color:var(--text); max-width:52ch; }
#hisar-cultural .ct-dest-sees{ padding:14px 0 0; border-top:1px solid var(--line); font-size:15px; color:var(--muted); max-width:52ch; }
#hisar-cultural .ct-dest-sees span{ display:block; margin-bottom:2px; font-size:13.5px; font-weight:700; color:var(--ink); }
#hisar-cultural .ct-dest-act{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:6px; }
#hisar-cultural .ct-dest-next{ display:grid; gap:2px; font-size:15px; color:var(--muted); flex:1 1 100%; }
#hisar-cultural .ct-dest-next b{ color:var(--ink); }
#hisar-cultural .ct-dest-next .is-open,#hisar-cultural .ct-dest-next .is-plan{ display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--turq); }
#hisar-cultural .ct-dest-next .is-plan{ color:var(--gold-deep); }
#hisar-cultural .ct-dest-next .is-open::before,#hisar-cultural .ct-dest-next .is-plan::before{ content:""; width:8px; height:8px; border-radius:50%; background:currentColor; }
@media (max-width:860px){
  #hisar-cultural .ct-dest,#hisar-cultural .ct-dest:nth-child(even){ grid-template-columns:1fr; }
  #hisar-cultural .ct-dest:nth-child(even) .ct-dest-pic{ order:0; }
  #hisar-cultural .ct-dest-act .ct-btn{ flex:1 1 100%; }
}

/* ---------------- included ---------------- */
#hisar-cultural .ct-incl{ padding:clamp(64px,8vw,104px) 0; background:var(--ink); color:var(--ivory); }
#hisar-cultural .ct-incl-head{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:16px 56px; align-items:end; margin-bottom:clamp(32px,4vw,48px); }
#hisar-cultural .ct-incl-head h2{ color:#fff; }
#hisar-cultural .ct-incl-head p{ color:rgba(245,250,252,.75); max-width:46ch; }
#hisar-cultural .ct-incl-list{ margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:56px; }
#hisar-cultural .ct-incl-list > div{ display:grid; gap:6px; align-content:start; padding:22px 0; border-top:1px solid rgba(231,208,149,.25); }
#hisar-cultural .ct-incl-list dt{ font-family:var(--fd) !important; font-size:1.35rem; line-height:1.25; color:#fff; }
#hisar-cultural .ct-incl-list dd{ margin:0; font-size:16px; color:rgba(245,250,252,.76); max-width:46ch; }
@media (max-width:860px){ #hisar-cultural .ct-incl-head{ grid-template-columns:1fr; } }
@media (max-width:640px){ #hisar-cultural .ct-incl-list{ grid-template-columns:1fr; } }

/* ---------------- how booking works ---------------- */
#hisar-cultural .ct-how{ padding:clamp(64px,8vw,104px) 0 clamp(40px,5vw,64px); background:var(--ivory); }
#hisar-cultural .ct-steps{ list-style:none; margin:clamp(28px,4vw,44px) 0 0; padding:0; display:grid; gap:28px 40px; grid-template-columns:repeat(3,minmax(0,1fr)); counter-reset:s; }
#hisar-cultural .ct-steps li{ counter-increment:s; display:grid; gap:8px; align-content:start; }
#hisar-cultural .ct-steps li::before{ content:counter(s); font-family:var(--fd); font-size:3rem; line-height:1; color:rgba(126,95,24,.75); }
#hisar-cultural .ct-steps b{ font-size:18px; color:var(--ink); }
#hisar-cultural .ct-steps span{ font-size:16px; color:var(--muted); }
@media (max-width:760px){ #hisar-cultural .ct-steps{ grid-template-columns:1fr; } }

/* ---------------- faq ---------------- */
#hisar-cultural .ct-faq{ padding:clamp(40px,5vw,64px) 0 clamp(64px,8vw,104px); background:var(--ivory); }
#hisar-cultural .ct-faq-in{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:24px 56px; align-items:start; }
@media (max-width:860px){ #hisar-cultural .ct-faq-in{ grid-template-columns:1fr; } }
#hisar-cultural .ct-faq details{ border-bottom:1px solid var(--line); }
#hisar-cultural .ct-faq details:first-child{ border-top:1px solid var(--line); }
#hisar-cultural .ct-faq summary{ cursor:pointer; min-height:60px; display:flex; align-items:center; gap:16px; padding:10px 0; font-weight:700; color:var(--ink); font-size:17px; list-style:none; }
#hisar-cultural .ct-faq summary::-webkit-details-marker{ display:none; }
#hisar-cultural .ct-faq summary::after{ content:""; flex:none; margin-left:auto; width:11px; height:11px; border-right:2px solid var(--gold-deep); border-bottom:2px solid var(--gold-deep); transform:rotate(45deg) translateY(-3px); transition:transform .25s var(--ease); }
#hisar-cultural .ct-faq details[open] summary::after{ transform:rotate(-135deg) translateY(-3px); }
#hisar-cultural .ct-faq details > div{ padding:0 0 20px; color:var(--muted); max-width:64ch; }

/* ---------------- pre-registration dialog ---------------- */
/* closed means gone: the theme's dialog rule must never draw it in the page (1.8.0 left a white bar above the footer) */
#hisar-cultural dialog.ct-dialog:not([open]){ display:none !important; }
#hisar-cultural .ct-dialog{ width:min(980px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; border:0; border-radius:var(--rad-lg); background:#fff; color:var(--text); box-shadow:0 40px 90px -30px rgba(4,16,31,.7); overflow:hidden; }
#hisar-cultural .ct-dialog[open]{ display:block; animation:ct-in .28s var(--ease-out); }
@keyframes ct-in{ from{ opacity:0; transform:translateY(12px) scale(.985); } to{ opacity:1; transform:none; } }
#hisar-cultural .ct-dialog::backdrop{ background:rgba(4,16,31,.66); }
#hisar-cultural .ct-dlg{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); max-height:calc(100dvh - 32px); }
#hisar-cultural .ct-side{ position:relative; display:flex; flex-direction:column; background:var(--ink); color:var(--ivory); overflow:hidden; }
#hisar-cultural .ct-side-pic{ position:relative; aspect-ratio:4/3; flex:none; }
#hisar-cultural .ct-side-pic img{ width:100%; height:100%; object-fit:cover; display:block; }
#hisar-cultural .ct-side-pic::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,31,56,0) 45%,var(--ink) 100%); }
#hisar-cultural .ct-side-in{ display:grid; gap:10px; padding:0 28px 28px; margin-top:-36px; position:relative; }
#hisar-cultural .ct-side-k{ font-size:14px; font-weight:700; color:var(--gold-2); }
#hisar-cultural .ct-side h3{ color:#fff; font-size:1.85rem; }
#hisar-cultural .ct-side-d{ font-size:15px; color:rgba(245,250,252,.86); }
#hisar-cultural .ct-side-p{ font-size:15px; color:rgba(245,250,252,.86); }
#hisar-cultural .ct-side-p b{ font-size:1.25rem; color:#fff; }
#hisar-cultural .ct-next{ margin:14px 0 0; padding:16px 0 0; border-top:1px solid rgba(231,208,149,.25); list-style:none; display:grid; gap:10px; counter-reset:n; }
#hisar-cultural .ct-next li{ counter-increment:n; display:grid; grid-template-columns:26px 1fr; gap:10px; font-size:14.5px; color:rgba(245,250,252,.82); }
#hisar-cultural .ct-next li::before{ content:counter(n); width:26px; height:26px; border-radius:50%; border:1.5px solid var(--gold-2); color:var(--gold-2); font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; }
#hisar-cultural .ct-main{ position:relative; overflow-y:auto; overscroll-behavior:contain; }
#hisar-cultural .ct-form{ display:grid; gap:16px; padding:30px 32px 26px; }
#hisar-cultural .ct-form h2,#hisar-cultural .ct-done h2{ font-size:clamp(1.6rem,2.6vw,2rem); padding-right:44px; }
#hisar-cultural .ct-for{ margin-top:-8px; font-size:15px; font-weight:700; color:var(--turq); }
#hisar-cultural .ct-x{ position:absolute; right:14px; top:14px; z-index:2; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border:0; border-radius:50%; background:#EEF3F7; cursor:pointer; color:var(--ink); }
#hisar-cultural .ct-x svg{ width:20px; height:20px; stroke-width:2; }
#hisar-cultural .ct-x:hover{ background:#E1E9F0; }
#hisar-cultural .ct-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
#hisar-cultural .ct-fs{ display:grid; gap:14px; margin:0; padding:0; border:0; min-width:0; }
#hisar-cultural .ct-fs legend{ padding:0; margin-bottom:12px; font-size:14px; font-weight:700; color:var(--gold-deep); }
#hisar-cultural .ct-row{ display:grid; gap:14px; grid-template-columns:1fr 1fr; }
@media (max-width:520px){ #hisar-cultural .ct-row{ grid-template-columns:1fr; } }
#hisar-cultural .ct-field{ display:grid; gap:6px; min-width:0; }
#hisar-cultural .ct-field > label,#hisar-cultural .ct-lbl{ font-size:14.5px; font-weight:700; color:var(--ink); }
#hisar-cultural .ct-opt{ font-weight:500; color:var(--muted); }
#hisar-cultural .ct-field input:not([type="checkbox"]),#hisar-cultural .ct-field select,#hisar-cultural .ct-field textarea{ width:100%; min-height:50px; padding:12px 14px; border:1.5px solid var(--line-2); border-radius:12px; font-family:var(--fs); font-size:16px; color:var(--ink); background:#fff; box-shadow:none; transition:border-color .2s var(--ease); }
#hisar-cultural .ct-field textarea{ min-height:76px; resize:vertical; }
#hisar-cultural .ct-field input::placeholder,#hisar-cultural .ct-field textarea::placeholder{ color:#7A8B9B; }
#hisar-cultural .ct-field input:focus,#hisar-cultural .ct-field select:focus,#hisar-cultural .ct-field textarea:focus{ border-color:var(--pine); }
#hisar-cultural .ct-stepper{ display:grid; grid-template-columns:50px 1fr 50px; min-height:50px; border:1.5px solid var(--line-2); border-radius:12px; overflow:hidden; }
#hisar-cultural .ct-stepper button{ border:0; background:#F2F6F9; color:var(--ink); font-size:22px; font-weight:600; cursor:pointer; }
#hisar-cultural .ct-stepper button:hover{ background:#E4ECF2; }
#hisar-cultural .ct-field .ct-stepper input{ min-height:0; border:0; border-radius:0; text-align:center; font-weight:700; -moz-appearance:textfield; }
#hisar-cultural .ct-stepper input::-webkit-outer-spin-button,#hisar-cultural .ct-stepper input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
#hisar-cultural .ct-err{ min-height:0; font-size:14px; font-weight:600; color:#A3261E; }
#hisar-cultural .ct-err:empty{ display:none; }
#hisar-cultural [aria-invalid="true"]{ border-color:#B3261E !important; }
#hisar-cultural .ct-consent{ display:flex; gap:12px; align-items:flex-start; font-size:15px; font-weight:500; color:var(--text); cursor:pointer; }
#hisar-cultural .ct-consent input{ width:22px; height:22px; flex:none; margin-top:1px; accent-color:var(--pine); }
#hisar-cultural .ct-formnote{ padding:12px 14px; border-radius:12px; font-size:15px; background:#EEF3F7; }
#hisar-cultural .ct-formnote[data-kind="error"]{ background:#FDECEC; color:#8A1C1C; }
#hisar-cultural .ct-submit{ width:100%; min-height:56px; font-size:16.5px; }
#hisar-cultural .ct-submit[disabled]{ opacity:.7; cursor:progress; }
#hisar-cultural .ct-small{ font-size:13.5px; color:var(--muted); text-align:center; }
#hisar-cultural .ct-done{ display:grid; gap:14px; padding:44px 32px 32px; outline:none; }
#hisar-cultural .ct-done-ic{ width:60px; height:60px; border-radius:50%; background:#E3F3F2; color:var(--turq); display:flex; align-items:center; justify-content:center; }
#hisar-cultural .ct-done-ic svg{ width:30px; height:30px; stroke-width:2.4; }
#hisar-cultural .ct-done p{ color:var(--muted); }
#hisar-cultural .ct-done p b{ color:var(--ink); }
#hisar-cultural .ct-done .ct-next{ border-top-color:var(--line); }
#hisar-cultural .ct-done .ct-next li{ color:var(--text); }
#hisar-cultural .ct-done .ct-next li::before{ border-color:var(--turq); color:var(--turq); }
#hisar-cultural .ct-done-cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; }
#hisar-cultural .ct-done-cta .ct-btn{ flex:1 1 180px; }
@media (max-width:760px){
  #hisar-cultural .ct-dialog{ width:100vw; max-height:100dvh; height:100dvh; margin:0; border-radius:0; }
  #hisar-cultural .ct-dlg{ grid-template-columns:1fr; max-height:100dvh; height:100%; }
  #hisar-cultural .ct-side{ display:none; }
  #hisar-cultural .ct-form{ padding:24px 20px 28px; }
}
@media (min-width:761px){ #hisar-cultural .ct-for{ display:none; } }
@media (prefers-reduced-motion:reduce){ #hisar-cultural *{ transition:none !important; animation:none !important; } }

/* ---------------- theme firewall (traveltour) ----------------
   The theme pads every button (15px 33px) and forces border, background and
   colour on inputs with !important. These controls state their own. */
#hisar-cultural .ct-x,#hisar-cultural .ct-stepper button{ padding:0 !important; min-width:0 !important; line-height:1 !important; }
#hisar-cultural .ct-x svg{ flex:none; }
#hisar-cultural .ct-field input:not([type="checkbox"]),#hisar-cultural .ct-field select,#hisar-cultural .ct-field textarea,#hisar-cultural .ct-filter select{
  border:1.5px solid var(--line-2) !important; border-radius:12px !important; background-color:#fff !important; color:var(--ink) !important; }
#hisar-cultural .ct-field input:not([type="checkbox"]):focus,#hisar-cultural .ct-field select:focus,#hisar-cultural .ct-field textarea:focus{ border-color:var(--pine) !important; }
#hisar-cultural .ct-field .ct-stepper input{ border:0 !important; border-radius:0 !important; }
#hisar-cultural .ct-field [aria-invalid="true"]{ border-color:#B3261E !important; }
#hisar-cultural .ct-rail a.is-live::before{ background:var(--turq); border-color:var(--turq); }
#hisar-cultural .ct-rail .ct-live{ align-self:flex-start; margin-top:6px; padding:2px 9px; border-radius:999px; background:#E3F3F2; color:#075E61; font-size:12.5px; font-weight:700; font-style:normal; }
#hisar-cultural .ct-done p b{ white-space:nowrap; }
@media (min-width:761px){ #hisar-cultural .ct-done .ct-next{ display:none; } }
#hisar-cultural .ct-quote{ margin:6px 0 0; padding:2px 0 2px 20px; border-left:2px solid var(--gold); max-width:52ch; }
#hisar-cultural .ct-quote blockquote{ margin:0; font-family:var(--fd) !important; font-size:1.22rem; line-height:1.45; color:var(--ink); }
#hisar-cultural .ct-quote figcaption{ margin-top:8px; font-size:14px; color:var(--muted); }
#hisar-cultural .ct-small a,#hisar-cultural .ct-faq details > div a{ text-decoration:underline !important; }

/* ---------------- round two (1.8.1 review) ---------------- */
#hisar-cultural .ct-trust{ display:flex; flex-wrap:wrap; gap:8px 22px; margin:28px 0 0; padding:20px 0 0; list-style:none; border-top:1px solid rgba(231,208,149,.28); font-size:14.5px; color:rgba(245,250,252,.82); }
#hisar-cultural .ct-trust a{ color:#fff; text-decoration:none; }
#hisar-cultural .ct-trust a:hover{ text-decoration:underline; }
#hisar-cultural .ct-trust b{ color:var(--gold-2); font-size:16px; }
#hisar-cultural .ct-sub{ font-size:13.5px; color:rgba(245,250,252,.72); }
#hisar-cultural .ct-route-row{ display:grid; gap:6px; }
#hisar-cultural .ct-route-row > span{ font-size:13px; font-weight:600; color:var(--muted); }
#hisar-cultural .ct-card-body .ct-route{ margin:0; color:var(--ink); font-size:15.5px; font-weight:700; }
#hisar-cultural .ct-card-body .ct-route li + li::before{ background:var(--gold); }
#hisar-cultural .ct-facts{ align-items:start; }
@media (max-width:420px){
  #hisar-cultural .ct-facts{ grid-template-columns:1fr; gap:0; padding-bottom:6px; }
  #hisar-cultural .ct-facts > div{ grid-template-columns:22px auto 1fr; align-items:baseline; gap:10px; padding:9px 0; border-top:1px solid var(--line); }
  #hisar-cultural .ct-facts > div:first-child{ border-top:0; }
  #hisar-cultural .ct-facts svg{ grid-row:auto; align-self:center; margin:0; }
  #hisar-cultural .ct-facts dd{ text-align:right; font-size:15px; }
}
#hisar-cultural button.ct-price{ display:block; width:100%; font-family:var(--fs) !important; background:#fff; color:inherit; cursor:pointer; padding:16px 10px 12px !important; line-height:1.3 !important; transition:border-color .2s var(--ease), transform .3s var(--ease-out); }
#hisar-cultural button.ct-price:hover{ border-color:var(--pine); transform:translateY(-2px); }
#hisar-cultural .ct-price.is-best{ border:2px solid var(--gold); background:#fff; }
#hisar-cultural .ct-price em{ background:var(--gold-bright); color:var(--ink); }
#hisar-cultural .ct-price i{ display:block; font-style:normal; font-size:12.5px; color:var(--muted); }
#hisar-cultural .ct-card-links a{ min-height:44px; padding:0 4px; }
#hisar-cultural .ct-btn-turq{ background:#fff; color:#075E61; border-color:var(--turq); border-width:2px; min-height:50px; }
#hisar-cultural .ct-btn-turq:hover{ background:#E8F4F4; }
#hisar-cultural .ct-dest-act{ margin-top:10px; }
#hisar-cultural .ct-rail span{ min-height:2.7em; }
#hisar-cultural .ct-rail em{ min-height:2.7em; }
@media (max-width:600px){
  #hisar-cultural .ct-rail{ grid-auto-flow:row; grid-auto-columns:auto; grid-template-columns:1fr; overflow:visible; margin-right:0; padding:0 0 0 2px; scroll-snap-type:none; }
  #hisar-cultural .ct-rail::before{ left:8px; right:auto; top:8px; bottom:8px; width:1.5px !important; min-width:0 !important; height:auto; background:linear-gradient(180deg,var(--gold),var(--gold-2)); }
  #hisar-cultural .ct-rail a{ display:grid; grid-template-columns:78px 1fr; column-gap:12px; padding:10px 0 10px 32px; }
  #hisar-cultural .ct-rail a::before{ left:1px; top:18px; }
  #hisar-cultural .ct-rail b{ grid-row:span 3; font-size:1.9rem; }
  #hisar-cultural .ct-rail span{ margin-top:0; min-height:0; }
  #hisar-cultural .ct-rail em{ min-height:0; }
  #hisar-cultural .ct-rail .ct-live{ grid-column:2; }
}
#hisar-cultural .ct-quote{ border-left:2px solid var(--gold) !important; background:none !important; padding:2px 0 2px 20px !important; margin:8px 0 0 !important; }
#hisar-cultural .ct-quote blockquote{ font-style:normal !important; background:none !important; border:0 !important; padding:0 !important; margin:0 !important; font-size:1.3rem !important; quotes:none; }
#hisar-cultural .ct-quote blockquote::before,#hisar-cultural .ct-quote blockquote::after{ content:none !important; display:none !important; }
#hisar-cultural .ct-field input::placeholder,#hisar-cultural .ct-field textarea::placeholder{ color:#8A99A8 !important; opacity:1; }
#hisar-cultural .ct-field [aria-invalid="true"]{ border:2px solid #B42318 !important; box-shadow:0 0 0 3px rgba(180,35,24,.12) !important; }
#hisar-cultural .ct-consent span{ font-weight:400 !important; }
#hisar-cultural .ct-done .ct-btn-gold{ box-shadow:none; }
#hisar-cultural .ct-done-fwd{ padding:14px 16px; border-radius:var(--rad); background:var(--paper-2); font-size:15px; }
#hisar-cultural .ct-next li.is-done::before{ content:"\2713"; background:var(--gold-2); color:var(--ink); }
#hisar-cultural .ct-main{ max-height:calc(100dvh - 32px); }
/* Marcellus has one weight: never let a b, dt or theme rule fake a bold */
#hisar-cultural .ct-incl-list dt,#hisar-cultural .ct-rail b,#hisar-cultural .ct-quote blockquote,#hisar-cultural .ct-steps li::before{ font-weight:400 !important; }

/* ---------------- round three (1.8.1 review) ---------------- */
/* errors must beat the base field rule (same id, more classes) and the theme's focus ring */
#hisar-cultural .ct-dialog .ct-field input[aria-invalid="true"]:not([type="checkbox"]),
#hisar-cultural .ct-dialog .ct-field input[aria-invalid="true"]:not([type="checkbox"]):focus,
#hisar-cultural .ct-dialog .ct-field select[aria-invalid="true"],
#hisar-cultural .ct-dialog .ct-field textarea[aria-invalid="true"]{ border:2px solid #B42318 !important; box-shadow:0 0 0 3px rgba(180,35,24,.18) !important; }
#hisar-cultural .ct-dialog .ct-consent input[aria-invalid="true"]{ outline:2px solid #B42318 !important; outline-offset:2px; box-shadow:none !important; }
/* two cards side by side end on the same line: everything you act on sits at the foot */
#hisar-cultural .ct-grid{ align-items:stretch; }
#hisar-cultural .ct-buy{ display:grid; gap:18px; margin-top:auto; }
#hisar-cultural .ct-card-cta{ margin-top:0; }
#hisar-cultural .ct-urg{ justify-content:flex-start; gap:6px 28px; }
#hisar-cultural .ct-pills > span:empty{ display:none; }
/* the close button belongs to the dialog, not to the scrolling form */
#hisar-cultural .ct-dlg{ position:relative; }
#hisar-cultural .ct-main{ position:static; }
/* a tall journey keeps its picture in view */
@media (min-width:861px){ #hisar-cultural .ct-dest-pic{ position:sticky; top:110px; } }
/* hero trust row on one line where it fits */
#hisar-cultural .ct-hero-in > .ct-trust{ max-width:none; }
#hisar-cultural .ct-trust li + li::before{ content:""; display:inline-block; width:4px; height:4px; margin:0 14px 3px 0; border-radius:50%; background:var(--gold-2); vertical-align:middle; }
#hisar-cultural .ct-trust{ gap:8px 14px; }

/* ---------------- round four (1.8.1 review) ---------------- */
#hisar-cultural .ct-visits{ font-size:15px; font-weight:600; color:var(--ink); line-height:1.5; }
#hisar-cultural .ct-dialog .ct-field [aria-invalid="true"]:focus{ outline:none !important; box-shadow:0 0 0 3px rgba(180,35,24,.28) !important; }
#hisar-cultural .ct-tel{ white-space:nowrap; }
#hisar-cultural .ct-dialog.is-done .ct-main{ display:flex; flex-direction:column; justify-content:center; }
/* a journey with a traveler's words: the quote sits under the photo, the text runs beside both */
#hisar-cultural .ct-dest.has-quote{ grid-template-areas:"pic text" "quote text"; grid-template-rows:auto 1fr; row-gap:28px; }
#hisar-cultural .ct-dest.has-quote:nth-child(even){ grid-template-areas:"text pic" "text quote"; }
#hisar-cultural .ct-dest.has-quote .ct-dest-pic{ grid-area:pic; position:static; order:0; }
#hisar-cultural .ct-dest.has-quote .ct-dest-text{ grid-area:text; }
#hisar-cultural .ct-dest.has-quote .ct-quote{ grid-area:quote; align-self:start; max-width:none; }
@media (max-width:860px){
  #hisar-cultural .ct-dest.has-quote,#hisar-cultural .ct-dest.has-quote:nth-child(even){ grid-template-areas:"pic" "text" "quote"; grid-template-rows:auto; }
}

/* ---------------- round five (1.8.1 review) ---------------- */
/* the focused field with an error must still look focused (beats the error rule above: same selector, later, plus :focus-visible) */
#hisar-cultural .ct-dialog .ct-field input[aria-invalid="true"]:not([type="checkbox"]):focus,
#hisar-cultural .ct-dialog .ct-field input[aria-invalid="true"]:not([type="checkbox"]):focus-visible,
#hisar-cultural .ct-dialog .ct-field select[aria-invalid="true"]:focus,
#hisar-cultural .ct-dialog .ct-field textarea[aria-invalid="true"]:focus{ outline:2px solid #B42318 !important; outline-offset:2px !important; box-shadow:0 0 0 4px rgba(180,35,24,.28) !important; }
/* the first row of each card body holds two lines on both cards, so the facts start on one line */
@media (min-width:901px){ #hisar-cultural .ct-card-body > .ct-route-row{ min-height:76px; align-content:start; } }
