/* ==========================================================================
   malaysia.css — sirf /genting-dream-cruise-malaysia
   ship.css + nights.css ke baad load hoti hai.
   Port cards, itinerary cards, one-way "3 ways" list, board ke port colours.
   ========================================================================== */

/* ---------------- Two ports ---------------- */
.mports{background:#fff;border-block:1px solid var(--line)}
.mport{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem;grid-template-columns:1fr}
.mport__card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow);display:flex;flex-direction:column}
.mport__card>*{min-width:0}
.mport__media{position:relative;background:var(--mist)}
.mport__media img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.mport__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}
.mport__body{padding:1.2rem 1.35rem 1.4rem}
.mport__body h3{margin-bottom:.15rem;font-size:var(--t-xl);font-stretch:80%}
.mport__terminal{display:flex;align-items:center;gap:.4rem;margin:0 0 .7rem;font-size:.86rem;
  font-weight:700;color:var(--sea)}
.mport__body p{color:#33475a;margin:0 0 .9rem;max-width:60ch}
.mport__facts{margin:0;display:grid;gap:.5rem;padding-top:.9rem;border-top:1px solid var(--line)}
.mport__facts div{display:grid;grid-template-columns:1fr;gap:.1rem}
.mport__facts dt{font-size:.78rem;font-weight:750;letter-spacing:.02em;color:var(--muted)}
.mport__facts dd{margin:0;font-size:.93rem}
@media (min-width:620px){.mport__facts div{grid-template-columns:7.5rem 1fr;gap:.9rem}}
@media (min-width:900px){.mport{grid-template-columns:1fr 1fr}}

/* ---------------- Itinerary cards ---------------- */
.mitin{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}
.mcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.1rem,2.5vw,1.6rem);box-shadow:var(--shadow)}
.mcard>*{min-width:0}
.mcard--oneway{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),var(--shadow)}
.mcard__head{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center}
.mcard__nights{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:14px;
  background:var(--ink);color:#fff;font-family:var(--font);font-size:.62rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;line-height:1}
.mcard__nights span{display:block;font-size:1.35rem;font-weight:800;font-stretch:75%;color:var(--gold)}
.mcard__head h3{margin:0 0 .1rem;font-size:var(--t-lg)}
.mcard__sub{margin:0;font-size:.9rem;color:var(--muted)}
.mcard__tag{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:.3rem;
  font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-2);background:var(--gold);padding:.24rem .6rem;border-radius:999px}
.mcard__best{display:flex;gap:.5rem;margin:.9rem 0 0;color:#33475a;max-width:78ch}
.mcard__best .icon{color:#18804a;margin-top:.3rem;flex:none}
.mcard__grid{display:grid;gap:1.5rem;margin-top:.25rem}
.mcard__grid>*{min-width:0}
.mcard h4{margin:0 0 .6rem;font-size:.78rem;font-weight:750;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
@media (min-width:900px){.mcard__grid{grid-template-columns:22rem 1fr;gap:2rem;align-items:start}}

/* ---------------- One-way: three ways ---------------- */
.mways{background:var(--ink-2);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);
  padding:clamp(1.25rem,3vw,1.75rem)}
.mways h3{color:#fff;font-size:var(--t-lg);margin-bottom:.9rem}
.mways__list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.9rem}
.mways__list li{display:grid;grid-template-columns:1.8rem 1fr;gap:.8rem;align-items:start;font-size:.96rem}
.mways__list span{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;
  background:rgba(244,184,58,.18);color:var(--gold);font-weight:780;font-size:.85rem}
.mways__list strong{color:#fff}
.mways__note{margin:0;font-size:.9rem;color:#8ea5ba}

/* ---------------- Board: port colours ---------------- */
.nchip--melaka i{background:#2c6a98}
.nchip--port-klang i{background:#1c9aa8}
.ndep--melaka a{border-left-color:#2c6a98}
.ndep--port-klang a{border-left-color:#1c9aa8}
#ns-melaka:checked ~ .nmonths .ndep:not(.ndep--melaka),
#ns-port-klang:checked ~ .nmonths .ndep:not(.ndep--port-klang){display:none}
#ns-melaka:checked ~ .nfilter__bar [for="ns-melaka"],
#ns-port-klang:checked ~ .nfilter__bar [for="ns-port-klang"]{background:var(--ink);border-color:var(--ink);color:#fff}
#ns-melaka:checked ~ .nfilter__bar [for="ns-melaka"] span,
#ns-port-klang:checked ~ .nfilter__bar [for="ns-port-klang"] span{background:var(--gold);color:var(--ink-2)}
#ns-melaka:focus-visible ~ .nfilter__bar [for="ns-melaka"],
#ns-port-klang:focus-visible ~ .nfilter__bar [for="ns-port-klang"]{box-shadow:var(--focus)}

/* ---------------- Boarding timeline (label lamba hai) ---------------- */
.page-malaysia .ntime__when{text-transform:none;letter-spacing:.01em;font-size:.95rem;
  font-weight:750;color:var(--ink)}
@media (min-width:820px){.page-malaysia .ntime li{grid-template-columns:15rem 1fr}}

/* Chhoti screen par card apne content ke saath na phaile —
   route diagram aur tables andar scroll karein, page nahi. */
.mitin>*,.mcard__head>*,.mways__list li>*{min-width:0}
.mcard__head h3{overflow-wrap:anywhere}

/* ---------------- Month cards (voyager.css yahan load nahi hoti) ---------------- */
.vmonths{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;align-content:start;
  grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}
.vmonth{background:var(--mist);border:1px solid var(--line);border-radius:12px;padding:.65rem .75rem}
.vmonth__name{margin:0 0 .45rem;font-size:.72rem;font-weight:750;letter-spacing:.1em;
  text-transform:uppercase;color:#8a5e05}
.vmonth__days{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.vmonth__days a{display:grid;justify-items:center;min-width:2.5rem;padding:.28rem .4rem;text-decoration:none;
  background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);
  font-weight:750;font-size:.9rem;font-variant-numeric:tabular-nums;line-height:1.15}
.vmonth__days small{font-size:.66rem;font-weight:600;color:var(--muted)}
.vmonth__days a:hover,.vmonth__days a:focus-visible{background:var(--gold);border-color:var(--gold-deep);color:var(--ink-2)}
.vmonth__days a:hover small,.vmonth__days a:focus-visible small{color:var(--ink-2)}

/* Day-by-day table card ke andar fit ho */
.mcard .tbl-wrap>.tbl{min-width:26rem}
@media (min-width:900px){.mcard__grid{grid-template-columns:1.05fr .95fr}}

/* Brochure ki date jo pattern se match nahi karti — uska note */
.mcard__note{display:grid;grid-template-columns:auto 1fr;gap:.5rem;margin:.9rem 0 0;padding:.75rem .9rem;
  background:#fff6ec;border-left:3px solid var(--gold-deep);border-radius:6px;
  font-size:.88rem;color:#5c4410}
.mcard__note .icon{margin-top:.15rem;color:#8a5e05}

/* ---------------- One-way section (voyager.css yahan load nahi hoti) ---------------- */
.voneway{background:var(--ink);color:#cfdcea}
.voneway h2{color:#fff}
.voneway .sec__kicker,.voneway .sec__kicker .icon{color:var(--gold)}
.voneway__grid{display:grid;gap:clamp(1.75rem,4vw,3rem);align-items:start}
.voneway__grid>*{min-width:0}
.voneway__lede{font-size:var(--t-lg);color:#b9cadb;max-width:56ch}
.voneway__warn{display:grid;grid-template-columns:auto 1fr;gap:.6rem;padding:.9rem 1.1rem;
  background:rgba(244,184,58,.12);border:1px solid rgba(244,184,58,.4);border-radius:var(--r);
  color:#f0dcb2;font-size:.94rem;max-width:60ch}
.voneway__warn .icon{color:var(--gold);margin-top:.2rem}
.mways{color:#cfdcea}
.mways__list li div{color:#cfdcea}
@media (min-width:1000px){.voneway__grid{grid-template-columns:1.05fr .95fr}}
