/* ============================================================
   genting-dream-cruise-guide.php — practical planning guide
============================================================ */

/* 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:680px;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 (with arrow scroll system) */
.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:.84rem;font-weight:700;color:var(--slate);padding:7px 14px;border-radius:50px;border:1px solid var(--line);transition:.2s;white-space:nowrap}
.qnav a:hover{color:var(--coral);border-color:var(--coral)}

/* COUNTDOWN TIMELINE — when to do what */
.timeline-prep{margin-top:30px}
.tp-row{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line-soft);position:relative}
.tp-row:last-child{border-bottom:none}
.tp-when{font-family:'Playfair Display';font-weight:700;color:var(--coral);font-size:1.15rem;line-height:1.2;text-align:right}
.tp-when small{display:block;font-size:.78rem;font-weight:600;font-family:'Plus Jakarta Sans';color:var(--slate);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.tp-body h3{font-size:1.1rem;margin-bottom:8px;color:var(--navy)}
.tp-body p{font-size:.96rem;color:var(--slate);margin-bottom:8px;line-height:1.6}
.tp-body ul{list-style:none;margin-top:8px}
.tp-body li{font-size:.92rem;color:var(--ink);padding:5px 0;display:flex;gap:10px;align-items:flex-start}
.tp-body li::before{content:'✓';color:var(--coral);font-weight:800;flex:none;margin-top:1px}

/* DOCUMENT CHECKLIST */
.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}
.doc-col{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}
.doc-col.essential{border-top:4px solid var(--coral)}
.doc-col.recommended{border-top:4px solid var(--gold)}
.doc-col h3{font-size:1.1rem;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.doc-col h3 .di{font-size:1.4rem}
.doc-col ul{list-style:none}
.doc-col li{font-size:.92rem;color:var(--ink);padding:9px 0;border-bottom:1px dashed var(--line-soft);display:flex;gap:11px;align-items:flex-start;line-height:1.5}
.doc-col li:last-child{border-bottom:none}
.doc-col li::before{content:'';width:18px;height:18px;border:2px solid var(--coral);border-radius:5px;flex:none;margin-top:2px}
.doc-col.recommended li::before{border-color:var(--gold)}
.doc-col li b{color:var(--navy);font-weight:700}
.doc-col li small{display:block;color:var(--slate);font-size:.82rem;margin-top:2px}

/* PACK LIST GRID */
.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pack{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.pack h3{font-size:1.05rem;margin-bottom:14px;display:flex;align-items:center;gap:10px;color:var(--navy)}
.pack h3 .pi{font-size:1.4rem;width:42px;height:42px;background:var(--coral-soft);border-radius:10px;display:grid;place-items:center}
.pack ul{list-style:none}
.pack li{font-size:.88rem;color:var(--ink);padding:6px 0;display:flex;gap:9px;border-bottom:1px dashed var(--line-soft)}
.pack li:last-child{border-bottom:none}
.pack li::before{content:'·';color:var(--coral);font-weight:800;flex:none;font-size:1.4rem;line-height:1}

/* PROHIBITED LIST — alert style */
.prohibit{background:linear-gradient(135deg,#fff1ee,#fff8f4);border:1px solid #ffd8c8;border-radius:var(--r-lg);padding:30px 32px;margin-top:24px}
.prohibit h3{color:var(--coral-deep);margin-bottom:14px;font-size:1.15rem;display:flex;align-items:center;gap:10px}
.prohibit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px}
.prohibit li{font-size:.9rem;color:var(--ink);padding:5px 0;display:flex;gap:9px;list-style:none;align-items:flex-start;line-height:1.5}
.prohibit li::before{content:'✕';color:var(--coral);font-weight:800;flex:none;margin-top:1px}
.prohibit li b{color:var(--coral-deep);font-weight:700}
.prohibit small{display:block;font-size:.85rem;color:var(--slate);margin-top:14px;font-style:italic}

/* COST BREAKDOWN CARD */
.cost-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm)}
.cost-head{background:var(--navy);color:#fff;padding:18px 24px}
.cost-head h3{color:#fff;font-size:1.1rem;margin:0}
.cost-head p{color:#cdd9e5;font-size:.85rem;margin:4px 0 0}
.cost-body{padding:0}
.cost-row{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;padding:16px 24px;border-bottom:1px solid var(--line-soft)}
.cost-row:last-child{border-bottom:none}
.cost-row.total{background:var(--bg-soft);font-weight:700}
.cost-label b{display:block;font-family:'Plus Jakarta Sans';font-weight:700;font-size:.95rem;color:var(--navy);margin-bottom:2px}
.cost-label small{display:block;font-size:.84rem;color:var(--slate);line-height:1.4}
.cost-amt{font-family:'Playfair Display';font-weight:700;color:var(--coral);font-size:1rem;white-space:nowrap}
.cost-row.total .cost-amt{color:var(--navy);font-size:1.15rem}

/* STEP-BY-STEP EMBARKATION */
.step-list{counter-reset:step;list-style:none}
.step-list li{counter-increment:step;position:relative;padding:18px 22px 18px 70px;background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:14px;transition:.2s}
.step-list li:hover{border-color:#dfe6ee;box-shadow:var(--sh-sm)}
.step-list li::before{content:counter(step);position:absolute;left:18px;top:18px;width:38px;height:38px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-family:'Playfair Display';font-weight:700;font-size:1.15rem}
.step-list li b{display:block;font-family:'Plus Jakarta Sans';font-weight:700;color:var(--ink);font-size:1rem;margin-bottom:4px}
.step-list li p{font-size:.9rem;color:var(--slate);margin:0;line-height:1.5}
.step-list li small{display:inline-block;background:var(--coral-soft);color:var(--coral-deep);padding:2px 9px;border-radius:50px;font-size:.7rem;font-weight:800;margin-top:8px;letter-spacing:.04em}

/* DRESS CODE TABLE (reused) */
.dress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.dress-row{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 20px}
.dress-row .dr-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:10px}
.dress-row .dr-top b{font-family:'Plus Jakarta Sans';font-weight:700;font-size:.96rem;color:var(--ink)}
.dress-row .dr-top span{font-size:.72rem;font-weight:800;color:var(--coral);text-transform:uppercase;letter-spacing:.06em;background:var(--coral-soft);padding:3px 9px;border-radius:50px;white-space:nowrap}
.dress-row p{font-size:.86rem;color:var(--slate);margin:0;line-height:1.45}

/* HOTELS / GETTING THERE */
.transport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.transport-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.transport-card .ti{font-size:1.6rem;margin-bottom:10px}
.transport-card h3{font-size:1.05rem;margin-bottom:6px}
.transport-card .tm{font-size:.78rem;font-weight:800;color:var(--coral);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;display:block}
.transport-card p{font-size:.9rem;color:var(--slate);margin-bottom:8px;line-height:1.5}
.transport-card .tcost{font-family:'Playfair Display';font-size:1.05rem;font-weight:700;color:var(--navy);margin-top:8px;display:block;padding-top:10px;border-top:1px solid var(--line-soft)}

/* INFO BOXES — yellow tip / red alert / green success */
.info-box{padding:18px 22px;border-radius:var(--r);margin:20px 0;font-size:.94rem;line-height:1.6}
.info-box b{font-weight:700;display:inline}
.info-box.tip{background:#fff8f1;border-left:4px solid var(--coral);color:#7a4513}
.info-box.alert{background:#fff1ee;border-left:4px solid #c44;color:#7a2a25}
.info-box.success{background:#f0f9f3;border-left:4px solid #2e7d4a;color:#1f5732}
.info-box.info{background:#eff5fc;border-left:4px solid var(--navy);color:#15355c}

/* RESPONSIVE */
@media(max-width:1000px){
  .doc-grid,.pack-grid,.prohibit-grid,.transport-grid{grid-template-columns:1fr 1fr}
  .dress-grid{grid-template-columns:1fr}
  .tp-row{grid-template-columns:120px 1fr;gap:18px}
  .tp-when{font-size:1rem}
}
@media(max-width:768px){
  .pack-grid,.transport-grid{grid-template-columns:1fr}
  .doc-grid,.prohibit-grid{grid-template-columns:1fr}
  .tp-row{grid-template-columns:1fr;gap:8px}
  .tp-when{text-align:left}
  .step-list li{padding:18px 18px 18px 64px}
  .step-list li::before{width:34px;height:34px;font-size:1rem;left:16px;top:16px}
  .phero-meta{gap:20px}
  .cost-row{padding:14px 18px}
}
