/* ==========================================================================
   nights.css — /2-night-cruise-from-singapore (aur aage 3, 4, 5-night pages)
   ship.css ke baad load hota hai.
   Hero · sea-vs-port cards · itinerary options · merged departure board
   (CSS-only ship filter) · timeline · pack list · 2-vs-3 · India
   ========================================================================== */

/* ---------------- Hero ---------------- */
.nhero{position:relative;background:var(--ink-2);display:grid;align-items:end;
  min-height:clamp(460px,70vh,640px);isolation:isolate;overflow:hidden}
.nhero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.75}
.nhero__veil{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,32,54,.85) 0%,rgba(10,32,54,.42) 38%,rgba(10,32,54,.95) 100%),
             radial-gradient(120% 80% at 12% 100%,rgba(10,32,54,.8),transparent 62%)}
.nhero__inner{padding-block:clamp(1.5rem,5vw,2.5rem) clamp(2.5rem,6vw,3.5rem);color:#e3ecf5;max-width:min(52rem,100%)}
.nhero__eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .8rem;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:.82rem;font-weight:700;font-stretch:90%;letter-spacing:.04em}
.nhero h1{color:#fff;font-size:var(--t-3xl);font-stretch:76%;font-weight:780;line-height:1.03;
  letter-spacing:-.018em;max-width:15ch;margin-bottom:.5rem}
.nhero__lede{font-size:var(--t-lg);line-height:1.55;max-width:52ch;color:#d2dfeb}
.nhero__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.5rem 0}
.nstats{list-style:none;display:flex;flex-wrap:wrap;gap:.9rem 2.25rem;margin:0 0 1.1rem;padding:1.1rem 0 0;
  border-top:1px solid rgba(244,184,58,.3)}
.nstats li{display:grid;gap:.05rem}
.nstats strong{font-size:1.75rem;font-weight:800;font-stretch:75%;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums}
.nstats span{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#9fb4c8}
.nhero__next{display:grid;grid-template-columns:auto 1fr;gap:.5rem;margin:0;font-size:.86rem;color:#9fb4c8;max-width:70ch}
.nhero__next strong{color:#e3ecf5}
.nhero__next .icon{color:var(--gold);margin-top:.28rem;flex:none}

/* ---------------- Short answer + sea vs port ---------------- */
.nsum{background:linear-gradient(180deg,var(--paper),var(--mist))}
.nsum__grid{display:grid;gap:clamp(1.75rem,4vw,3rem);align-items:start}
.nsum__grid>*{min-width:0}
.nlead{font-size:1.08rem;line-height:1.65;color:#26394b;max-width:62ch}
.nsum p{color:#33475a}
.ncompare{display:grid;gap:1rem}
.ncompare__card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem 1.4rem;box-shadow:var(--shadow)}
.ncompare__card--port{background:linear-gradient(180deg,#fffdf6,#fff);border-color:#e8dcc0}
.ncompare__ico{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:12px;
  background:var(--mist);color:var(--sea);margin-bottom:.7rem}
.ncompare__card--port .ncompare__ico{background:#fdf3dd;color:var(--gold-deep)}
.ncompare__card h3{margin-bottom:.35rem}
.ncompare__card p{margin:0 0 .6rem;font-size:.95rem;color:#33475a}
.ncompare__for{margin:0!important;padding-top:.6rem;border-top:1px dashed var(--line);font-size:.92rem}
@media (min-width:1000px){.nsum__grid{grid-template-columns:1.1fr .9fr}}

/* ---------------- Itinerary option cards ---------------- */
.nopts{background:#fff;border-block:1px solid var(--line)}
.nopt{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}
.nopt__card{display:grid;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow)}
.nopt__card>*{min-width:0}
.nopt__media{position:relative;background:var(--mist)}
.nopt__media img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}
.nopt__ship{position:absolute;left:.8rem;bottom:.8rem;background:var(--ink-2);color:#fff;
  font-size:.76rem;font-weight:750;font-stretch:90%;padding:.3rem .7rem;border-radius:999px}
.nopt__card--sv .nopt__ship{background:#1c5f7a}
.nopt__card--nav .nopt__ship{background:#7a1f2b}
.nopt__body{padding:1.15rem 1.35rem 1.35rem;display:grid;align-content:start;gap:.6rem}
.nopt__top{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between}
.nopt__top h3{margin:0;font-size:var(--t-lg)}
.nopt__badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:750;
  padding:.25rem .65rem;border-radius:999px;white-space:nowrap}
.nopt__badge--sea{background:#e7f1fa;color:#1d5a86}
.nopt__badge--port{background:#fdf3dd;color:#8a5e05}
.nopt__best{margin:0;color:#33475a;max-width:70ch}
.nopt__facts{margin:.3rem 0 .5rem;display:grid;gap:.35rem;padding-top:.75rem;border-top:1px solid var(--line)}
.nopt__facts div{display:grid;grid-template-columns:8.5rem 1fr;gap:.75rem}
.nopt__facts dt{font-size:.8rem;font-weight:750;color:var(--muted)}
.nopt__facts dd{margin:0;font-size:.94rem}
.nopt__body .btn{justify-self:start}
@media (min-width:760px){.nopt__card{grid-template-columns:15rem 1fr}}
@media (min-width:1100px){.nopt__card{grid-template-columns:19rem 1fr}}

/* ---------------- Merged departure board ---------------- */
.nboard{background:var(--mist)}
.nfilter__radio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.nfilter__bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.nchip{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}
.nchip:hover{border-color:var(--ink)}
.nchip i{width:.65rem;height:.65rem;border-radius:50%;flex:none}
.nchip--gdr i{background:#2c6a98}
.nchip--sv i{background:#1c9aa8}
.nchip--nav i{background:#b3434f}
.nchip span{font-size:.76rem;font-weight:750;padding:.1rem .45rem;border-radius:999px;background:var(--mist);color:var(--muted)}
#ns-all:checked ~ .nfilter__bar [for="ns-all"],
#ns-gdr:checked ~ .nfilter__bar [for="ns-gdr"],
#ns-sv:checked ~ .nfilter__bar [for="ns-sv"],
#ns-nav:checked ~ .nfilter__bar [for="ns-nav"]{background:var(--ink);border-color:var(--ink);color:#fff}
#ns-all:checked ~ .nfilter__bar [for="ns-all"] span,
#ns-gdr:checked ~ .nfilter__bar [for="ns-gdr"] span,
#ns-sv:checked ~ .nfilter__bar [for="ns-sv"] span,
#ns-nav:checked ~ .nfilter__bar [for="ns-nav"] span{background:var(--gold);color:var(--ink-2)}
#ns-all:focus-visible ~ .nfilter__bar [for="ns-all"],
#ns-gdr:focus-visible ~ .nfilter__bar [for="ns-gdr"],
#ns-sv:focus-visible ~ .nfilter__bar [for="ns-sv"],
#ns-nav:focus-visible ~ .nfilter__bar [for="ns-nav"]{box-shadow:var(--focus)}
#ns-gdr:checked ~ .nmonths .ndep:not(.ndep--gdr),
#ns-sv:checked ~ .nmonths .ndep:not(.ndep--sv),
#ns-nav:checked ~ .nmonths .ndep:not(.ndep--nav){display:none}

.nmonths{display:grid;gap:1.25rem;grid-template-columns:1fr}
.nmonth{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem 1.1rem 1.1rem;box-shadow:var(--shadow)}
.nmonth__name{display:flex;align-items:center;gap:.6rem;margin:0 0 .7rem;font-size:1.02rem;font-stretch:88%}
.nmonth__name span{font-size:.74rem;font-weight:750;color:var(--muted);background:var(--mist);padding:.12rem .5rem;border-radius:999px}
.nmonth__list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.ndep a{display:grid;grid-template-columns:2.9rem 1fr auto;gap:.75rem;align-items:center;
  padding:.55rem .6rem;border-radius:10px;text-decoration:none;color:var(--ink);
  border:1px solid transparent;border-left:4px solid var(--sea);background:var(--mist)}
.ndep--sv a{border-left-color:#1c9aa8}
.ndep--nav a{border-left-color:#b3434f}
.ndep a:hover,.ndep a:focus-visible{background:#fff;border-color:var(--line);border-left-width:4px}
.ndep__date{display:grid;justify-items:center;line-height:1.1}
.ndep__date strong{font-size:1.15rem;font-weight:800;font-stretch:75%;font-variant-numeric:tabular-nums}
.ndep__date small{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.ndep__trip{display:grid;min-width:0}
.ndep__name{font-weight:650;font-size:.95rem;line-height:1.25;overflow-wrap:anywhere}
.ndep__ship{font-size:.8rem;color:var(--muted)}
.ndep__go{color:var(--sea);opacity:.5}
.ndep a:hover .ndep__go{opacity:1}
/* Arrow CSS se banti hai — 100+ rows par yeh sekdon DOM nodes bachata hai */
.ndep a::after{content:"";width:.5rem;height:.5rem;border-right:2px solid var(--sea);
  border-top:2px solid var(--sea);transform:rotate(45deg);opacity:.45;transition:opacity .15s}
.ndep a:hover::after,.ndep a:focus-visible::after{opacity:1}
@media (min-width:720px){.nmonths{grid-template-columns:1fr 1fr}}
@media (min-width:1160px){.nmonths{grid-template-columns:repeat(3,1fr)}}

/* ---------------- Timeline + packing ---------------- */
.nplan{background:#fff}
.ntime{list-style:none;margin:0 0 2rem;padding:0;display:grid;gap:1rem}
.ntime li{display:grid;grid-template-columns:1fr;gap:.25rem;padding:1rem 1.1rem;
  background:var(--mist);border-radius:var(--r);border-left:4px solid var(--gold)}
.ntime__when{font-family:var(--font);font-size:.76rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:#8a5e05}
.ntime h3{margin:0 0 .2rem;font-size:1.05rem}
.ntime p{margin:0;color:#33475a;max-width:72ch}
@media (min-width:820px){.ntime li{grid-template-columns:11rem 1fr;gap:1.25rem;align-items:baseline}}
.npack{display:grid;gap:1.25rem}
.npack__col{background:#eef6f1;border:1px solid #cfe6d8;border-radius:var(--r-lg);padding:1.25rem 1.4rem}
.npack__col--no{background:#fdf1f1;border-color:#eccfcf}
.npack__col h3{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem}
.npack__col h3 .icon{color:#18804a}
.npack__col--no h3 .icon{color:#b3434f}
.npack__col ul{margin:0;padding-left:1.2rem;display:grid;gap:.5rem;font-size:.95rem;color:#33475a}
@media (min-width:820px){.npack{grid-template-columns:1fr 1fr}}

/* ---------------- 2 vs 3 nights ---------------- */
.nvs{background:var(--ink);color:#cfdcea}
.nvs__grid{display:grid;gap:1.25rem}
.nvs__card{border-radius:var(--r-lg);padding:clamp(1.25rem,3vw,1.75rem)}
.nvs__card--yes{background:var(--ink-2);border:1px solid rgba(244,184,58,.4)}
.nvs__card--yes h2{color:var(--gold)}
.nvs__card--no{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.nvs__card--no h3{color:#fff;font-size:var(--t-xl);font-stretch:80%}
.nvs__card ul{margin:.9rem 0 1.1rem;padding-left:1.2rem;display:grid;gap:.55rem;font-size:.96rem}
.nvs__card strong{color:#fff}
.nvs__card .btn--line{--fg:#fff;--bd:rgba(255,255,255,.45)}
.nvs__card .btn--line:hover{--bd:#fff;color:#fff}
@media (min-width:860px){.nvs__grid{grid-template-columns:1fr 1fr}}

/* ---------------- India strip ---------------- */
.nindia{background:var(--sand)}
.nindia__grid{display:grid;gap:clamp(1.75rem,4vw,3rem);align-items:center}
.nindia__grid>*{min-width:0}
.nindia__lede{font-size:var(--t-lg);color:#5a4a33;max-width:48ch}
.nindia__shot{margin:0}
.nindia__shot img{width:100%;aspect-ratio:10/7;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow)}
.nindia__shot figcaption{margin-top:.6rem;font-size:.88rem;color:var(--muted)}
@media (min-width:1000px){.nindia__grid{grid-template-columns:1.1fr .9fr}}

/* ==========================================================================
   3-NIGHT PAGE ADDITIONS — port cards, itinerary port chips, note line
   (2-night page bhi yahi file use karta hai, isliye sab yahin rakha hai)
   ========================================================================== */

.nnote{display:grid;grid-template-columns:auto 1fr;gap:.6rem;margin-top:1.25rem;padding:.9rem 1.1rem;
  background:#fff6ec;border-left:4px solid var(--gold-deep);border-radius:8px;color:#5c4410;font-size:.95rem;max-width:64ch}
.nnote .icon{margin-top:.2rem;color:#8a5e05}

/* ---------------- Ports ---------------- */
.nports{background:var(--ink);color:#cfdcea}
.nports h2,.nports h3{color:#fff}
.nports .sec__head p{color:#9fb4c8}
.nports .sec__kicker{color:var(--gold)}
.nports .sec__kicker .icon{color:var(--gold)}
.nport{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;grid-template-columns:1fr}
.nport__card{background:var(--ink-2);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);
  overflow:hidden;display:flex;flex-direction:column}
.nport__card>*{min-width:0}
.nport__media{position:relative;background:#13365a}
.nport__media img{width:100%;aspect-ratio:3/2;object-fit:cover}
.nport__count{position:absolute;right:.75rem;top:.75rem;background:var(--gold);color:var(--ink-2);
  font-size:.74rem;font-weight:800;padding:.25rem .6rem;border-radius:999px}
.nport__body{padding:1.1rem 1.25rem 1.35rem}
.nport__body h3{margin-bottom:.15rem;font-size:var(--t-lg)}
.nport__country{display:flex;align-items:center;gap:.35rem;margin:0 0 .6rem;font-size:.82rem;
  font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}
.nport__body p{margin:0;font-size:.95rem;color:#b9cadb}
@media (min-width:640px){.nport{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.nport{grid-template-columns:repeat(3,1fr)}}

/* ---------------- Port chips inside itinerary cards ---------------- */
.nopt__ports{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:.2rem 0 0;padding:0}
.nopt__ports li{display:inline-flex;align-items:center;gap:.3rem;font-size:.84rem;font-weight:650;
  color:var(--ink);background:var(--mist);border:1px solid var(--line);padding:.24rem .6rem;border-radius:999px}
.nopt__ports .icon{color:var(--gold-deep)}

/* Disney ka ship badge colour */
.nopt__card--dis .nopt__ship{background:#1b2a6b}
.nchip--dis i{background:#3b4fbf}
.ndep--dis a{border-left-color:#3b4fbf}
#ns-dis:checked ~ .nmonths .ndep:not(.ndep--dis){display:none}
#ns-dis:checked ~ .nfilter__bar [for="ns-dis"]{background:var(--ink);border-color:var(--ink);color:#fff}
#ns-dis:checked ~ .nfilter__bar [for="ns-dis"] span{background:var(--gold);color:var(--ink-2)}
#ns-dis:focus-visible ~ .nfilter__bar [for="ns-dis"]{box-shadow:var(--focus)}
