/* ==========================================================================
   packages.css — /cruise-singapore-packages aur /tour/{slug}
   Listing (hero, why, CSS-only ship filter, cards) + detail (hero, day-by-day,
   inclusions, sticky booking box).
   ========================================================================== */

/* ---------------- Breadcrumbs ---------------- */
.crumbs{margin-bottom:1rem;font-size:.85rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:.4rem;opacity:.5}
.crumbs a{color:inherit}
.crumbs--light ol{color:#8ea5ba}
.crumbs--light a{color:#cfdbe7}

/* ---------------- Listing hero ---------------- */
.klist__hero{background:var(--ink);color:#cfdcea;padding-block:clamp(2.25rem,6vw,3.75rem) clamp(2rem,5vw,3rem)}
.klist__hero h1{color:#fff;font-size:var(--t-3xl);font-stretch:76%;font-weight:780;line-height:1.05;
  letter-spacing:-.018em;max-width:18ch;margin-bottom:.6rem}
.klist__kicker{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .8rem;padding:.35rem .85rem;
  background:rgba(244,184,58,.14);border:1px solid rgba(244,184,58,.45);border-radius:999px;
  color:var(--gold);font-size:.8rem;font-weight:700;font-stretch:90%}
.klist__lede{font-size:var(--t-lg);line-height:1.6;color:#b9cadb;max-width:66ch;margin:0}
.klist__stats{list-style:none;display:flex;flex-wrap:wrap;gap:1rem 2.5rem;margin:1.5rem 0 0;
  padding:1.25rem 0 0;border-top:1px solid rgba(244,184,58,.3)}
.klist__stats li{display:grid;gap:.05rem}
.klist__stats strong{font-size:1.75rem;font-weight:800;font-stretch:75%;color:var(--gold);line-height:1}
.klist__stats span{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#9fb4c8}

/* ---------------- Why combine ---------------- */
.kwhy{background:#fff;border-bottom:1px solid var(--line)}
.kwhy__grid{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;grid-template-columns:1fr}
.kwhy__grid li{background:var(--mist);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem 1.35rem}
.kwhy__ico{display:grid;place-items:center;width:2.8rem;height:2.8rem;margin-bottom:.8rem;border-radius:12px;
  background:#fff;color:var(--sea);border:1px solid var(--line)}
.kwhy__grid h3{margin-bottom:.35rem;font-size:1.05rem}
.kwhy__grid p{margin:0;font-size:.95rem;color:#33475a}
@media (min-width:640px){.kwhy__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.kwhy__grid{grid-template-columns:repeat(4,1fr)}}

/* ---------------- Filter + cards ---------------- */
.klist{background:var(--mist)}
.kfilter__radio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.kfilter__bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.kchip{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;margin:0;padding:.5rem 1rem;cursor:pointer;
  font-family:var(--font);font-size:.94rem;font-weight:650;color:var(--ink);background:#fff;
  border:1.5px solid #c7d4df;border-radius:999px;transition:background-color .2s,border-color .2s,color .2s}
.kchip:hover{border-color:var(--ink)}
.kchip i{width:.65rem;height:.65rem;border-radius:50%;flex:none}
.kchip--genting-dream i{background:#2c6a98}
.kchip--disney-adventure i{background:#3b4fbf}
.kchip span{font-size:.76rem;font-weight:750;padding:.1rem .45rem;border-radius:999px;background:var(--mist);color:var(--muted)}
#ks-all:checked ~ .kfilter__bar [for="ks-all"],
#ks-genting-dream:checked ~ .kfilter__bar [for="ks-genting-dream"],
#ks-disney-adventure:checked ~ .kfilter__bar [for="ks-disney-adventure"]{background:var(--ink);border-color:var(--ink);color:#fff}
#ks-all:checked ~ .kfilter__bar [for="ks-all"] span,
#ks-genting-dream:checked ~ .kfilter__bar [for="ks-genting-dream"] span,
#ks-disney-adventure:checked ~ .kfilter__bar [for="ks-disney-adventure"] span{background:var(--gold);color:var(--ink-2)}
#ks-genting-dream:checked ~ .kcards .kcard:not(.kcard--genting-dream),
#ks-disney-adventure:checked ~ .kcards .kcard:not(.kcard--disney-adventure){display:none}
#ks-all:focus-visible ~ .kfilter__bar [for="ks-all"],
#ks-genting-dream:focus-visible ~ .kfilter__bar [for="ks-genting-dream"],
#ks-disney-adventure:focus-visible ~ .kfilter__bar [for="ks-disney-adventure"]{box-shadow:var(--focus)}

.kcards{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem;grid-template-columns:1fr}
@media (min-width:640px){.kcards{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.kcards{grid-template-columns:repeat(3,1fr)}}
.kcard{height:100%}
.kcard__link{display:grid;height:100%;color:var(--ink);text-decoration:none;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  transition:transform .2s,box-shadow .2s,border-color .2s}
.kcard__link:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#c3d0db;color:var(--ink)}
.kcard__media{position:relative;display:block;background:linear-gradient(160deg,#eef4f9,#dfe9f2)}
.kcard__media img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.kcard__ship{position:absolute;left:.7rem;top:.7rem;background:var(--ink-2);color:#fff;font-size:.68rem;
  font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.24rem .6rem;border-radius:999px}
.kcard--disney-adventure .kcard__ship{background:#1b2a6b}
.kcard__nights{position:absolute;right:.7rem;bottom:.7rem;background:var(--gold);color:var(--ink-2);
  font-size:.72rem;font-weight:800;padding:.24rem .6rem;border-radius:999px}
.kcard__body{display:grid;align-content:start;gap:.5rem;padding:1.1rem 1.25rem 1.3rem}
.kcard__title{font-weight:700;font-size:1.05rem;line-height:1.35;font-stretch:92%}
.kcard__link:hover .kcard__title{text-decoration:underline;text-underline-offset:.16em}
.kcard__sum{font-size:.93rem;color:#33475a;line-height:1.5}
.kcard__meta{display:grid;gap:.25rem;font-size:.84rem;color:var(--muted)}
.kcard__dur{display:inline-flex;align-items:center;gap:.35rem}
.kcard__for{font-style:italic}
.kcard__foot{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;justify-content:space-between;
  margin-top:.35rem;padding-top:.8rem;border-top:1px solid var(--line)}
.kcard__price{font-size:.88rem;color:var(--muted)}
.kcard__price strong{color:var(--ink);font-size:1rem}
.kcard__go{display:inline-flex;align-items:center;gap:.3rem;font-size:.88rem;font-weight:700;color:var(--sea)}
.klist__empty{padding:2rem 0;color:var(--muted)}

/* ---------------- How it works ---------------- */
.khow{background:#fff}
.ksteps{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem 2.5rem}
.ksteps li{display:grid;grid-template-columns:2.3rem 1fr;gap:.9rem;align-items:start}
.ksteps li>span{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;
  background:var(--ink);color:var(--gold);font-weight:800;font-stretch:78%}
.ksteps h3{margin:0 0 .2rem;font-size:1.05rem}
.ksteps p{margin:0;color:#33475a;max-width:56ch}
@media (min-width:860px){.ksteps{grid-template-columns:1fr 1fr}}

.kcta{background:var(--mist);border-top:1px solid var(--line)}
.kcta__box{display:grid;gap:1.25rem;padding-block:clamp(2rem,4vw,2.75rem) clamp(3rem,6vw,4.5rem);align-items:center}
.kcta h2{font-size:var(--t-xl);margin-bottom:.35rem}
.kcta p{margin:0;color:#33475a;max-width:62ch}
.kcta__actions{display:flex;flex-wrap:wrap;gap:.6rem}
@media (min-width:860px){.kcta__box{grid-template-columns:1.3fr auto}}

/* ---------------- Detail hero ---------------- */
.thero{position:relative;background:var(--ink-2);display:grid;align-items:end;
  min-height:clamp(430px,62vh,580px);isolation:isolate;overflow:hidden}
.thero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.7}
.thero__veil{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,32,54,.86) 0%,rgba(10,32,54,.4) 38%,rgba(10,32,54,.96) 100%)}
.thero__inner{padding-block:clamp(1.5rem,5vw,2.5rem) clamp(2rem,5vw,3rem);color:#e3ecf5;max-width:min(54rem,100%)}
.thero h1{color:#fff;font-size:clamp(1.8rem,1.25rem + 2.2vw,2.9rem);font-stretch:78%;font-weight:780;
  line-height:1.1;letter-spacing:-.015em;max-width:22ch;margin-bottom:.6rem}
.thero__eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .9rem;padding:.4rem .9rem;
  background:rgba(244,184,58,.14);border:1px solid rgba(244,184,58,.5);border-radius:999px;
  color:var(--gold);font-size:.8rem;font-weight:700;font-stretch:90%}
.thero__lede{font-size:var(--t-lg);line-height:1.55;max-width:56ch;color:#d2dfeb}
.thero__facts{list-style:none;display:flex;flex-wrap:wrap;gap:1rem 2.5rem;margin:1.5rem 0 0;
  padding:1.25rem 0 0;border-top:1px solid rgba(244,184,58,.3)}
.thero__facts li{display:grid;gap:.05rem}
.thero__facts strong{font-size:1.2rem;font-weight:800;font-stretch:80%;color:var(--gold);line-height:1.2}
.thero__facts span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#9fb4c8}
.thero__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}

/* ---------------- Detail layout ---------------- */
.tlayout{display:grid;gap:2rem;padding-block:clamp(2rem,5vw,3rem)}
.tlayout>*{min-width:0}
@media (min-width:1000px){.tlayout{grid-template-columns:1fr 20rem;gap:3rem}}

.tblock{margin-bottom:clamp(2rem,4vw,3rem);max-width:70ch}
.tblock h2{font-size:clamp(1.45rem,1.25rem + .8vw,1.95rem);margin-bottom:.7rem;
  scroll-margin-top:calc(var(--header-h) + 1.5rem)}
.tblock__sub{margin:-.3rem 0 1.25rem;color:var(--muted)}
.tlead{font-size:1.08rem;line-height:1.72;color:#26394b}
/* Icon flow se bahar — warna <strong> aur uske baad ka text alag grid items
   ban jate hain aur line tut jati hai. */
.tbest{position:relative;margin:1.1rem 0 0;padding:.85rem 1.05rem .85rem 2.6rem;
  background:var(--mist);border-left:3px solid var(--gold);border-radius:0 var(--r) var(--r) 0;
  font-size:.96rem;line-height:1.6}
.tbest .icon{position:absolute;left:1.05rem;top:1.1rem;color:var(--gold-deep)}
.thigh{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.thigh li{position:relative;padding-left:1.8rem;color:#33475a;line-height:1.6}
.thigh .icon{position:absolute;left:0;top:.35rem;color:#18804a}

/* ---------------- Day by day ---------------- */
.tdays{list-style:none;margin:0;padding:0;display:grid;gap:0}
.tday{display:grid;grid-template-columns:2.6rem 1fr;gap:1rem;position:relative;padding-bottom:1.6rem}
.tday::before{content:"";position:absolute;left:1.3rem;top:2.6rem;bottom:0;width:2px;background:var(--line)}
.tday:last-child::before{display:none}
.tday__mark{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;
  background:var(--ink);color:#fff;position:relative;z-index:1}
.tday__mark span{font-weight:800;font-stretch:75%;font-size:1rem;color:var(--gold)}
.tday__where{display:inline-flex;align-items:center;gap:.3rem;margin:0 0 .15rem;font-size:.74rem;
  font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}
.tday__body h3{margin:0 0 .35rem;font-size:1.08rem}
.tday__body p{margin:0 0 .6rem;color:#33475a;max-width:62ch}
.tday__meta{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin:0!important;font-size:.85rem;color:var(--muted)}
.tday__meta span{display:inline-flex;align-items:center;gap:.35rem}
.tday__meta .icon{color:var(--sea)}

/* ---------------- Inclusions ---------------- */
.tincl{display:grid;gap:1.25rem}
.tincl__col{border-radius:var(--r-lg);padding:1.25rem 1.4rem}
.tincl__col--yes{background:#eef6f1;border:1px solid #cfe6d8}
.tincl__col--no{background:#fdf1f1;border:1px solid #eccfcf}
.tincl__col h3{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1.05rem}
.tincl__col--yes h3 .icon{color:#18804a}
.tincl__col--no h3 .icon{color:#b3434f}
.tincl__col ul{margin:0;padding-left:1.2rem;display:grid;gap:.5rem;font-size:.95rem;color:#33475a}
.tnote{position:relative;margin:1.25rem 0 0;padding:.85rem 1.05rem .85rem 2.6rem;
  background:var(--mist);border-radius:var(--r);font-size:.92rem;color:var(--muted);line-height:1.6}
.tnote .icon{position:absolute;left:1.05rem;top:1rem;color:var(--gold-deep)}
@media (min-width:760px){.tincl{grid-template-columns:1fr 1fr}}

/* ---------------- FAQ + author ---------------- */
.tfaq{border-top:2px solid var(--ink)}
.tfaq__item{border-bottom:1px solid var(--line)}
.tfaq__item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;
  gap:1rem;padding:1rem 0;cursor:pointer}
.tfaq__item summary::-webkit-details-marker{display:none}
.tfaq__item summary h3{margin:0;font-size:1.02rem;font-stretch:92%}
.tfaq__item summary::after{content:"+";flex:none;font-size:1.4rem;line-height:1;color:var(--sea)}
.tfaq__item[open] summary::after{content:"–"}
.tfaq__item p{margin:0 0 1.15rem;color:#33475a}

.tauthor{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem;padding:1.25rem 1.4rem;
  background:var(--mist);border-radius:var(--r-lg);border-left:4px solid var(--gold);max-width:70ch}
.tauthor__mark{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;
  background:var(--ink);color:var(--gold)}
.tauthor__name{margin:0 0 .3rem;font-weight:750;color:var(--ink)}
.tauthor__bio{margin:0 0 .6rem;font-size:.93rem;color:#33475a}
.tauthor__links{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin:0;font-size:.9rem}
@media (min-width:600px){.tauthor{grid-template-columns:3rem 1fr;gap:1.1rem}}

/* ---------------- Sidebar ---------------- */
.tside{display:grid;gap:1.25rem;align-content:start}
@media (min-width:1000px){.tside{position:sticky;top:calc(var(--header-h) + 1.5rem)}}
.tbook{background:var(--ink);color:#cfdcea;border-radius:var(--r-lg);padding:1.35rem 1.5rem;
  border:1px solid rgba(244,184,58,.28)}
.tbook__price{display:grid;gap:.1rem;margin:0 0 1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.12)}
.tbook__price span{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.tbook__price strong{font-size:1.9rem;font-weight:800;font-stretch:75%;color:#fff;line-height:1.1}
.tbook__price small{font-size:.82rem;color:#8ea5ba}
.tbook__facts{margin:0 0 1.1rem;display:grid;gap:.1rem}
.tbook__facts div{display:grid;grid-template-columns:7rem 1fr;gap:.75rem;padding:.45rem 0;
  border-bottom:1px solid rgba(255,255,255,.08);font-size:.92rem}
.tbook__facts dt{color:#8ea5ba}
.tbook__facts dd{margin:0;color:#fff}
.tbook__facts a{color:var(--gold)}
.tbook__wa{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.7rem;
  font-size:.9rem;font-weight:650;color:var(--gold)}
.tbook__small{margin:.9rem 0 0;font-size:.82rem;color:#8ea5ba;text-align:center}
.tnav{background:var(--mist);border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem 1.15rem}
.tnav__title{margin:0 0 .5rem;font-size:.74rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted)}
.tnav ol{list-style:none;counter-reset:tn;margin:0;padding:0;display:grid;gap:.1rem}
.tnav a{display:block;padding:.4rem .55rem;border-radius:8px;font-size:.92rem;color:#3c5062;text-decoration:none}
.tnav a::before{counter-increment:tn;content:counter(tn) ". ";color:var(--muted)}
.tnav a:hover{background:#fff;color:var(--ink)}
@media (max-width:999.98px){.tnav{display:none}}

.trelated{background:var(--mist);border-top:1px solid var(--line)}
.kcards--3{grid-template-columns:1fr}
@media (min-width:700px){.kcards--3{grid-template-columns:repeat(3,1fr)}}

/* ==========================================================================
   QUOTE SECTION
   Ye styles ship.css me thi, aur packages pages wo file load nahi karte —
   isliye form bina layout ke dikh raha tha. Ab yahin hain.
   (Input, label aur error ke styles main.css me global hain.)
   ========================================================================== */
.quote{background:linear-gradient(180deg,var(--mist),#dfe9f2)}
.quote__grid{display:grid;gap:clamp(2rem,5vw,3.5rem);align-items:start}
.quote__grid>*{min-width:0}
.quote__intro>p{font-size:var(--t-lg);color:#33475a;max-width:42ch}
.quote__alt{display:grid;gap:.6rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid #c8d6e2}
.quote__alt-title{margin:0 0 .2rem;font-weight:700;color:var(--ink)}
.quote__alt a{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink);font-weight:600;text-decoration:none}
.quote__alt a:hover{color:var(--red)}
.qform{background:#fff;border-radius:var(--r-lg);padding:clamp(1.25rem,3vw,2rem);box-shadow:var(--shadow-lg);
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.qform__alert{grid-column:1/-1;margin:0;padding:.85rem 1rem;background:#fdeced;border-left:4px solid var(--red);
  border-radius:6px;color:#6d1419;font-weight:600}
.field{grid-column:1/-1}
.field--quarter{grid-column:span 2}
.qform__submit{grid-column:1/-1;display:grid;gap:.6rem;justify-items:start;padding-top:.25rem}
.qform__small{margin:0;font-size:.88rem;color:var(--muted)}
@media (min-width:560px){.field--half{grid-column:span 2}.field--quarter{grid-column:span 1}}
@media (min-width:1000px){.quote__grid{grid-template-columns:.8fr 1.2fr}
  .quote__intro{position:sticky;top:calc(var(--header-h) + 1.5rem)}}

/* ==========================================================================
   SIDEBAR — booking box ko thoda jaan di
   ========================================================================== */
.tbook{position:relative;overflow:hidden;background-color:var(--ink);
  background-image:radial-gradient(120% 130% at 100% 0%,rgba(244,184,58,.20),transparent 58%),
                   linear-gradient(170deg,var(--ink-2) 0%,var(--ink) 60%)}
.tbook::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--gold),#e09b12,var(--gold))}
.tbook__price strong{background:linear-gradient(135deg,#ffe6a8,var(--gold));-webkit-background-clip:text;
  background-clip:text;color:transparent}
.tbook .btn--full{width:100%;box-shadow:0 14px 30px -16px rgba(199,32,44,.85)}

/* Trust points, taki box khaali na lage */
.tbook__trust{list-style:none;margin:1.1rem 0 0;padding:1rem 0 0;display:grid;gap:.6rem;
  border-top:1px solid rgba(255,255,255,.12)}
.tbook__trust li{position:relative;padding-left:1.6rem;font-size:.88rem;color:#b9cadb;line-height:1.5}
.tbook__trust .icon{position:absolute;left:0;top:.2rem;color:var(--gold)}
.tbook__trust strong{color:#fff;font-weight:650}

/* "On this page" ab thoda sharp */
.tnav{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.tnav__title{color:var(--ink)}
.tnav a{font-weight:600;border-left:2px solid transparent}
.tnav a:hover{background:var(--mist);border-left-color:var(--gold)}

/* Sidebar ka doosra card — kyun hum se book karein */
.twhy{background:var(--mist);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem 1.25rem}
.twhy h3{display:flex;align-items:center;gap:.45rem;margin:0 0 .7rem;font-size:.76rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.twhy h3 .icon{color:var(--gold-deep)}
.twhy ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.twhy li{position:relative;padding-left:1.6rem;font-size:.9rem;color:#33475a;line-height:1.5}
.twhy .icon{position:absolute;left:0;top:.25rem;color:#18804a}
@media (max-width:999.98px){.twhy{display:none}}
