/* ============================================================
   genting-dream-ship.php — page-specific styles only.
   Common tokens/header/footer/modal live in main.css.
============================================================ */

/* PAGE HERO */
.phero{position:relative;color:#fff;overflow:hidden;padding:64px 0 72px}
.phero-bg{position:absolute;inset:0;z-index:0}
.phero-bg img{width:100%;height:100%;object-fit:cover}
.phero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(8,29,54,.95) 0%,rgba(8,29,54,.82) 45%,rgba(8,29,54,.5) 100%)}
.phero .wrap{position:relative;z-index:5}
.crumbs{font-size:.86rem;color:#a9bccf;margin-bottom:20px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:#cdd9e5}.crumbs a:hover{color:#fff}
.crumbs span{color:#ff9684}
.phero h1{font-size:clamp(2.1rem,4.4vw,3.4rem);color:#fff;max-width:820px;margin-bottom:16px}
.phero h1 em{font-style:italic;color:#ffb3a3}
.phero p{font-size:clamp(1rem,1.7vw,1.16rem);color:#d3deea;max-width:660px;margin-bottom:28px}
.phero-actions{display:flex;gap:14px;flex-wrap:wrap}
.phero-meta{display:flex;gap:30px;margin-top:36px;flex-wrap:wrap;padding-top:28px;border-top:1px solid rgba(255,255,255,.15)}
.phero-meta div b{font-family:'Playfair Display';font-size:1.5rem;color:#fff;display:block;line-height:1}
.phero-meta div b span{color:#ff9684}
.phero-meta div small{font-size:.8rem;color:#9fb1c4}

/* STICKY QUICK NAV */
.qnav{position:sticky;top:73px;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.qnav a{flex:none;font-size:.86rem;font-weight:700;color:var(--slate);padding:8px 16px;border-radius:50px;border:1px solid var(--line);transition:.2s;white-space:nowrap}
.qnav a:hover{color:var(--coral);border-color:var(--coral)}

/* AT-A-GLANCE SPEC CARDS */
.specs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.spec-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 22px;transition:.25s}
.spec-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:#dfe6ee}
.spec-card .si{font-size:1.5rem;margin-bottom:8px}
.spec-card b{font-family:'Playfair Display';font-size:1.5rem;color:var(--navy);display:block;line-height:1;margin-bottom:4px}
.spec-card span{font-size:.84rem;color:var(--slate);font-weight:600}

/* FULL TECH SPEC TABLE */
.specs-table{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm)}
.specs-table .stb-head{padding:18px 26px;background:var(--navy);color:#fff;font-family:'Playfair Display';font-weight:700;font-size:1.1rem}
.specs-table-grid{display:grid;grid-template-columns:1fr 1fr}
.specs-table-grid > div{display:flex;justify-content:space-between;padding:13px 26px;border-bottom:1px solid var(--line-soft);font-size:.94rem}
.specs-table-grid > div:nth-last-child(-n+2){border-bottom:none}
.specs-table-grid b{color:var(--slate);font-weight:600}
.specs-table-grid span{color:var(--ink);font-weight:700;text-align:right}

/* SPLIT FEATURE BLOCK (alternating) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px}
.split:last-child{margin-bottom:0}
.split.reverse{direction:rtl}
.split.reverse > *{direction:ltr}
.split-media{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);height:420px}
.split-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.split-media:hover img{transform:scale(1.04)}
.split-media .sm-badge{position:absolute;top:18px;left:18px;background:var(--coral);color:#fff;padding:7px 15px;border-radius:8px;font-size:.78rem;font-weight:800;z-index:2;box-shadow:0 4px 12px rgba(232,80,58,.35)}
.split-body .eyebrow{margin-bottom:14px}
.split-body h2{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:14px}
.split-body > p{color:var(--slate);font-size:1.02rem;margin-bottom:18px}
.split-body ul{list-style:none}
.split-body ul li{padding:9px 0;display:flex;gap:11px;align-items:flex-start;border-bottom:1px solid var(--line-soft);font-size:.95rem}
.split-body ul li:last-child{border-bottom:none}
.split-body ul li::before{content:'✦';color:var(--coral);flex:none;font-weight:800}
.split-body ul li b{color:var(--ink);font-weight:700;margin-right:4px}

/* DINING VENUE GRID */
.dining-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.venue{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.venue:hover{transform:translateY(-5px);box-shadow:var(--sh-md)}
.venue-img{height:170px;position:relative;overflow:hidden}
.venue-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.venue:hover .venue-img img{transform:scale(1.06)}
.venue-img .vt{position:absolute;top:14px;left:14px;background:rgba(8,29,54,.7);backdrop-filter:blur(6px);color:#fff;padding:4px 11px;border-radius:50px;font-size:.72rem;font-weight:700;z-index:2}
.venue-img .vt.free{background:#2e7d4a}
.venue-img .vt.spec{background:var(--coral)}
.venue-body{padding:20px 22px;flex:1;display:flex;flex-direction:column}
.venue-body h3{font-size:1.15rem;margin-bottom:4px}
.venue-body .vcuisine{font-size:.78rem;font-weight:800;color:var(--coral);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.venue-body p{font-size:.88rem;color:var(--slate);margin-bottom:14px;flex:1}
.venue-body .vmeta{font-size:.82rem;color:var(--slate-light);padding-top:12px;border-top:1px dashed var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px}
.venue-body .vmeta b{color:var(--navy)}

/* ENTERTAINMENT TABS / CARDS */
.ent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.ent-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:0;overflow:hidden;display:flex;gap:0;transition:.3s}
.ent-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.ent-card .ec-img{width:38%;flex:none;position:relative;overflow:hidden}
.ent-card .ec-img img{width:100%;height:100%;object-fit:cover;min-height:200px}
.ent-card .ec-body{padding:22px 24px;flex:1}
.ent-card .ec-body h3{font-size:1.18rem;margin-bottom:4px}
.ent-card .ec-body .ectag{font-size:.74rem;font-weight:800;color:var(--coral);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;display:block}
.ent-card .ec-body p{font-size:.9rem;color:var(--slate);margin-bottom:10px}
.ent-card .ec-body .ecmeta{font-size:.8rem;color:var(--slate-light);font-weight:600}

/* THRILLS PILLS */
.thrills{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.thrill{background:#fff;border:1px solid var(--line);padding:9px 16px;border-radius:50px;font-size:.86rem;font-weight:700;color:var(--navy);transition:.2s}
.thrill:hover{border-color:var(--coral);color:var(--coral);transform:translateY(-2px)}
.thrill i{color:var(--coral);font-style:normal;margin-right:6px}

/* FAMILY / KIDS CARDS */
.fam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fam{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;transition:.3s}
.fam:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.fam .fi{width:48px;height:48px;border-radius:12px;background:var(--coral-soft);display:grid;place-items:center;margin-bottom:14px;font-size:1.4rem}
.fam h3{font-size:1.15rem;margin-bottom:6px}
.fam .fage{font-size:.78rem;font-weight:800;color:var(--coral);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;display:block}
.fam p{font-size:.9rem;color:var(--slate)}

/* GOOD-TO-KNOW STRIP */
.gtk{background:linear-gradient(120deg,var(--navy-deep),var(--navy-mid));color:#fff;padding:70px 0;position:relative;overflow:hidden}
.gtk::before{content:'';position:absolute;top:-30%;right:-5%;width:380px;height:380px;background:radial-gradient(circle,rgba(232,80,58,.16),transparent 65%)}
.gtk .wrap{position:relative;z-index:2}
.gtk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:14px}
.gtk-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:var(--r);padding:22px 22px;backdrop-filter:blur(4px)}
.gtk-item .gi{font-size:1.5rem;margin-bottom:8px}
.gtk-item b{display:block;font-family:'Plus Jakarta Sans';font-weight:700;font-size:.96rem;color:#fff;margin-bottom:4px}
.gtk-item span{font-size:.85rem;color:#bcccdc}
.gtk h2{color:#fff}
.gtk .eyebrow{color:#ffd28e}.gtk .eyebrow::before,.gtk .eyebrow.c::after{background:#ffd28e}
.gtk .sec-head p{color:#cdd9e5}

/* TIMELINE (refurbishment / awards) */
.timeline{position:relative;max-width:780px;margin:0 auto;padding-left:30px}
.timeline::before{content:'';position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--coral),var(--navy))}
.tl-item{position:relative;padding:0 0 30px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:'';position:absolute;left:-30px;top:5px;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--coral);box-shadow:0 0 0 4px rgba(232,80,58,.15)}
.tl-item .tly{font-family:'Playfair Display';font-weight:700;font-size:1.15rem;color:var(--coral);margin-bottom:4px}
.tl-item .tlt{font-family:'Plus Jakarta Sans';font-weight:700;font-size:1rem;color:var(--navy);margin-bottom:4px}
.tl-item p{font-size:.92rem;color:var(--slate);margin:0}

/* RESPONSIVE */
@media(max-width:1000px){
  .specs-grid{grid-template-columns:1fr 1fr}
  .specs-table-grid{grid-template-columns:1fr}
  .split,.split.reverse{grid-template-columns:1fr;direction:ltr;gap:30px}
  .split-media{height:300px}
  .dining-grid{grid-template-columns:1fr 1fr}
  .ent-grid{grid-template-columns:1fr}
  .fam-grid{grid-template-columns:1fr 1fr}
  .gtk-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .qnav{top:69px}
  .specs-grid{grid-template-columns:1fr 1fr}
  .dining-grid{grid-template-columns:1fr}
  .fam-grid{grid-template-columns:1fr}
  .gtk-grid{grid-template-columns:1fr 1fr}
  .ent-card{flex-direction:column}
  .ent-card .ec-img{width:100%;height:180px}
  .phero-meta{gap:20px}
}
@media(max-width:520px){
  .specs-grid,.gtk-grid{grid-template-columns:1fr}
}