/* ==========================================================================
   shore.css — sirf /genting-dream-shore-destinations
   ship.css ke baad load hoti hai.
   Hero + jump nav, port sections, do-list, eat/watch, booking cards, prep.
   ========================================================================== */

/* ---------------- Hero ---------------- */
.shero{position:relative;background:var(--ink-2);display:grid;align-items:end;
  min-height:clamp(440px,66vh,600px);isolation:isolate;overflow:hidden}
.shero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.7}
.shero__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%)}
.shero__inner{padding-block:clamp(1.5rem,5vw,2.5rem) clamp(2rem,5vw,3rem);color:#e3ecf5;max-width:min(56rem,100%)}
.shero h1{color:#fff;font-size:var(--t-3xl);font-stretch:76%;font-weight:780;line-height:1.05;
  letter-spacing:-.018em;max-width:16ch;margin-bottom:.5rem}
.shero__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:.8rem;font-weight:700;font-stretch:90%}
.shero__lede{font-size:var(--t-lg);line-height:1.55;max-width:58ch;color:#d2dfeb}
.shero__stamp{display:grid;grid-template-columns:auto 1fr;gap:.5rem;margin:1.25rem 0 0;
  font-size:.85rem;color:#9fb4c8;max-width:72ch}
.shero__stamp .icon{color:var(--gold);margin-top:.28rem}

.sjump{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 0;padding:0}
.sjump a{display:grid;gap:.05rem;padding:.55rem 1.05rem;text-decoration:none;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:999px;
  color:#fff;font-weight:700;font-size:.95rem;transition:background-color .15s,border-color .15s,color .15s}
.sjump small{font-size:.72rem;font-weight:500;color:#9fb4c8;letter-spacing:.02em}
.sjump a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink-2)}
.sjump a:hover small{color:var(--ink-2)}

/* ---------------- At a glance ---------------- */
.sglance{background:var(--mist)}
.sglance .tbl a{font-weight:700}

/* ---------------- Port sections ---------------- */
.sport{background:#fff;scroll-margin-top:calc(var(--header-h) + 1rem)}
.sport--alt{background:var(--paper)}
.sport__head{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:flex-end;justify-content:space-between;
  margin-bottom:clamp(1.5rem,3.5vw,2.25rem)}
.sport__head>*{min-width:0}
.sport__head h2{margin:0}
.sport__tag{margin:.4rem 0 0;font-size:1.05rem;color:var(--muted);max-width:52ch}
.sport__badge{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.05rem;text-decoration:none;
  background:var(--ink);color:#fff;border-radius:999px;font-size:.92rem;white-space:nowrap}
.sport__badge strong{color:var(--gold)}
.sport__badge:hover{background:var(--ink-2);color:#fff}

.sport__top{display:grid;gap:clamp(1.5rem,3.5vw,2.5rem);align-items:start;margin-bottom:2rem}
.sport__top>*{min-width:0}
.sport__shot{margin:0}
.sport__shot img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow)}
.sport__intro p{font-size:1.05rem;line-height:1.7;color:#26394b;max-width:62ch;margin:0 0 1.25rem}
@media (min-width:1000px){.sport__top{grid-template-columns:.9fr 1.1fr}}

.sfacts{margin:0;display:grid;gap:.1rem;border-top:1px solid var(--line)}
.sfacts div{display:grid;grid-template-columns:1fr;gap:.15rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.sfacts dt{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:750;
  letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.sfacts dt .icon{color:var(--gold-deep)}
.sfacts dd{margin:0;font-size:.95rem;color:#33475a}
@media (min-width:620px){.sfacts div{grid-template-columns:9.5rem 1fr;gap:1rem;align-items:baseline}}

.sport__h{margin:0 0 1.1rem;font-size:var(--t-xl)}
.sdo{list-style:none;margin:0 0 2rem;padding:0;display:grid;gap:1.1rem 2.5rem}
.sdo__item{display:grid;grid-template-columns:2.3rem 1fr;gap:.9rem;align-items:start}
.sdo__n{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%;font-size:.95rem}
.sdo__item h4{margin:0 0 .25rem;font-size:1.05rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.sdo__time{display:inline-flex;align-items:center;gap:.25rem;font-size:.74rem;font-weight:700;
  letter-spacing:.04em;color:#7a5405;background:var(--mist);padding:.16rem .5rem;border-radius:999px}
.sdo__item p{margin:0;color:#33475a;max-width:58ch}
@media (min-width:860px){.sdo{grid-template-columns:1fr 1fr}}

.sport__bottom{display:grid;gap:1.25rem}
.seat,.swatch{border-radius:var(--r-lg);padding:1.25rem 1.4rem}
.seat{background:#eef6f1;border:1px solid #cfe6d8}
.swatch{background:#fff6ec;border:1px solid #eddfba}
.seat h3,.swatch h3{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1.08rem}
.seat h3 .icon{color:#18804a}
.swatch h3 .icon{color:var(--gold-deep)}
.seat ul,.swatch ul{margin:0;padding-left:1.2rem;display:grid;gap:.5rem;font-size:.96rem;color:#33475a}
@media (min-width:860px){.sport__bottom{grid-template-columns:.9fr 1.1fr}}

/* ---------------- Booking ---------------- */
.sbook{background:var(--ink);color:#cfdcea}
.sbook h2,.sbook h3{color:#fff}
.sbook .sec__head p{color:#9fb4c8}
.sbook .sec__kicker,.sbook .sec__kicker .icon{color:var(--gold)}
.sbook__grid{display:grid;gap:1.25rem;margin-bottom:1.5rem}
.sbook__card{background:var(--ink-2);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-lg);padding:clamp(1.25rem,3vw,1.75rem)}
.sbook__card--ship{border-color:rgba(244,184,58,.4)}
.sbook__label{display:flex;align-items:center;gap:.4rem;margin:1.1rem 0 .5rem;font-size:.74rem;
  font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.sbook__label--yes{color:#7fd6a5}
.sbook__label--no{color:#f0a7a7}
.sbook__card ul{margin:0;padding-left:1.2rem;display:grid;gap:.45rem;font-size:.95rem;color:#b9cadb}
/* Icon flow se bahar — warna <strong> aur uske baad ka text alag grid items
   ban jate hain aur line tut jati hai. */
.sbook__rule{position:relative;margin:0;padding:1rem 1.2rem 1rem 2.9rem;
  background:rgba(244,184,58,.12);border:1px solid rgba(244,184,58,.4);border-radius:var(--r);
  color:#f0dcb2;font-size:.96rem;line-height:1.6}
.sbook__rule .icon{position:absolute;left:1.2rem;top:1.25rem;color:var(--gold)}
.sbook__rule strong{color:#fff}
@media (min-width:860px){.sbook__grid{grid-template-columns:1fr 1fr}}

/* ---------------- Prep ---------------- */
.sprep{background:#fff}
.sprep__list{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem 2.5rem}
.sprep__list li{display:grid;grid-template-columns:2.3rem 1fr;gap:.9rem;align-items:start}
.sprep__n{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:10px;
  background:linear-gradient(150deg,var(--gold),#e09b12);color:var(--ink-2);font-weight:800;font-stretch:78%}
.sprep__list h3{margin:0 0 .2rem;font-size:1.05rem}
.sprep__list p{margin:0;color:#33475a;max-width:58ch}
@media (min-width:860px){.sprep__list{grid-template-columns:1fr 1fr}}

/* ---------------- Which sailing ---------------- */
.smatch{background:var(--mist)}
.smatch__grid{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;grid-template-columns:1fr}
.smatch__card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.25rem 1.35rem;box-shadow:var(--shadow)}
.smatch__card h3{margin-bottom:.4rem;font-size:var(--t-lg)}
.smatch__card p{margin:0 0 .8rem;font-size:.95rem;color:#33475a}
.smatch__links{display:flex;flex-wrap:wrap;gap:.5rem;margin:0!important}
.smatch__links a{display:inline-flex;align-items:center;padding:.35rem .8rem;font-size:.86rem;
  font-weight:700;text-decoration:none;color:var(--ink);background:var(--mist);
  border:1px solid var(--line);border-radius:999px}
.smatch__links a:hover{background:var(--gold);border-color:var(--gold-deep);color:var(--ink-2)}
@media (min-width:640px){.smatch__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.smatch__grid{grid-template-columns:repeat(4,1fr)}}
