/* ===== destination detail pages (extends blog.css) ===== */
.dhero{position:relative;height:min(88vh,760px);min-height:480px;display:flex;align-items:flex-end;overflow:hidden}
.dhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dhero .scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,20,34,.9) 0%,rgba(8,20,34,.44) 46%,rgba(8,20,34,.14) 100%)}
.dhero .in{position:relative;max-width:var(--wrap);margin:0 auto;width:100%;padding:0 40px 58px;color:#fff}
.dhero .kick{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:600;margin-bottom:14px}
.dhero h1{font-family:var(--display);font-weight:700;font-size:clamp(38px,6vw,68px);line-height:1.04;letter-spacing:-.015em;text-shadow:0 2px 34px rgba(0,0,0,.35)}
.dhero .sub{margin-top:16px;max-width:600px;font-size:18px;line-height:1.6;color:rgba(255,255,255,.9)}
.dhero .btns{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.dhero .stats{position:absolute;right:40px;bottom:58px;display:flex;gap:34px;color:#fff}
.dhero .st{text-align:right}
.dhero .st .v{font-family:var(--display);font-weight:700;font-size:22px}
.dhero .st .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.62);font-weight:600;margin-top:3px}
@media(max-width:900px){.dhero .stats{display:none}}

.dmain{padding:56px 0 40px}
.dsec{margin-bottom:64px}
.dsh{margin-bottom:26px}
.dsh .k{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold-deep);font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:10px}
.dsh .k::before{content:"";width:22px;height:1.5px;background:var(--gold)}
.dsh h2{font-family:var(--display);font-weight:700;font-size:clamp(24px,3vw,32px);color:var(--navy);letter-spacing:-.01em;line-height:1.15}
.dlead{font-size:19px;line-height:1.75;color:var(--navy);max-width:820px;margin-bottom:16px}
.dtext{font-size:16.5px;line-height:1.8;color:#33414f;max-width:820px;margin-bottom:16px}

/* gallery - mosaic grid */
.dgal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.dgal figure{margin:0;border-radius:16px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3;background:#eef0f0}
.dgal figure.gb{grid-column:span 2;grid-row:span 2}
.dgal figure.gw{grid-column:span 2;aspect-ratio:8/3}
.dgal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.dgal figure:hover img{transform:scale(1.05)}
@media(max-width:900px){.dgal{grid-template-columns:repeat(2,1fr)}.dgal figure.gb{grid-column:span 2;grid-row:span 1;aspect-ratio:16/9}.dgal figure.gw{aspect-ratio:16/9}}
@media(max-width:540px){.dgal{gap:9px}.dgal figure{border-radius:12px}}

/* highlights */
.hl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.hl{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;transition:box-shadow .25s,transform .25s}
.hl:hover{box-shadow:0 14px 30px -18px rgba(15,39,66,.35);transform:translateY(-2px)}
.hl .ic{width:42px;height:42px;flex:none;border-radius:12px;background:#faf6ec;display:flex;align-items:center;justify-content:center;font-size:21px;line-height:1}
.hl .t{font-size:14.5px;font-weight:600;color:var(--navy);line-height:1.35}
@media(max-width:820px){.hl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.hl-grid{grid-template-columns:1fr}}

/* itinerary timeline */
.itin{position:relative;max-width:640px;padding-left:6px}
.it-row{position:relative;display:flex;gap:22px;padding:0 0 26px 0}
.it-row:last-child{padding-bottom:0}
.it-row::before{content:"";position:absolute;left:73px;top:26px;bottom:-2px;width:2px;background:linear-gradient(to bottom,var(--gold) 0%,#e8dfc9 100%)}
.it-row:last-child::before{display:none}
.it-time{flex:none;width:56px;font-family:var(--display);font-weight:700;font-size:15px;color:var(--navy);padding-top:2px;font-variant-numeric:tabular-nums;text-align:right}
.it-dot{flex:none;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--gold);margin-top:5px;position:relative;z-index:1}
.it-txt{font-size:15.5px;color:#33414f;line-height:1.55;padding-top:1px}
.it-txt b{color:var(--navy);font-weight:600}
.itin-note{font-size:13px;color:var(--muted);margin-top:18px;max-width:640px}

/* best for */
.bf-row{display:flex;gap:12px;flex-wrap:wrap}
.bf{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:32px;padding:10px 20px 10px 12px;font-size:14px;font-weight:600;color:var(--navy)}
.bf .ic{width:32px;height:32px;border-radius:50%;background:#faf6ec;display:flex;align-items:center;justify-content:center;flex:none;font-size:16px;line-height:1}

/* included - colored check chips */
.din-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:900px}
.din{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-size:14px;font-weight:600;color:var(--navy)}
.din .ck{width:26px;height:26px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center}
.din .ck svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.din:nth-child(4n+1) .ck{background:#C8A96A}
.din:nth-child(4n+2) .ck{background:#3f7fae}
.din:nth-child(4n+3) .ck{background:#2f9d8f}
.din:nth-child(4n+4) .ck{background:#0F2742}
@media(max-width:820px){.din-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.din-grid{grid-template-columns:1fr}}

/* optional experiences - cards */
.oex-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:980px}
.oex{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 14px 18px;text-align:center;transition:transform .25s,box-shadow .25s}
.oex:hover{transform:translateY(-4px);box-shadow:0 18px 36px -22px rgba(15,39,66,.4)}
.oex .em{font-size:30px;line-height:1;display:block;margin-bottom:11px}
.oex .t{font-size:13.5px;font-weight:600;color:var(--navy);line-height:1.35}
.ex-note{font-size:13px;color:var(--muted);margin-top:14px}
@media(max-width:900px){.oex-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:540px){.oex-grid{grid-template-columns:repeat(2,1fr)}}

/* why choose */
.why{max-width:820px}
.why p{font-size:16.5px;line-height:1.85;color:#33414f;margin-bottom:18px}
.why p b{color:var(--navy)}

/* other destinations */
.dmore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dmore{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/10;display:block;text-decoration:none;background:#eef0f0}
.dmore img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.dmore:hover img{transform:scale(1.05)}
.dmore .m{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 14px;background:linear-gradient(to top,rgba(8,20,34,.85),transparent);color:#fff}
.dmore .m .n{font-family:var(--display);font-weight:700;font-size:18px}
.dmore .m .d{font-size:12px;color:rgba(255,255,255,.82);margin-top:3px}
@media(max-width:820px){.dmore-grid{grid-template-columns:1fr}.dmore{aspect-ratio:16/9}}

/* lightbox (same pattern as boat pages) */
.ylb{position:fixed;inset:0;background:rgba(6,14,24,.92);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}
.ylb.on{opacity:1;pointer-events:auto}
.ylb img{max-width:92vw;max-height:88vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.ylb button{position:absolute;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.ylb button:hover{background:rgba(255,255,255,.18)}
.ylb-x{top:18px;right:18px;width:44px;height:44px;border-radius:50%;font-size:26px}
.ylb-p,.ylb-n{top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;font-size:30px}
.ylb-p{left:14px}.ylb-n{right:14px}
@media(max-width:520px){.ylb-p{left:6px}.ylb-n{right:6px}.ylb-p,.ylb-n{width:40px;height:40px}}
@media(max-width:820px){.dhero .in{padding:0 24px 44px}.dmain{padding-top:40px}.dsec{margin-bottom:48px}}

/* stop cards */
.stops{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stop{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;transition:transform .25s,box-shadow .25s}
.stop:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px rgba(15,39,66,.38)}
.stop .em{font-size:24px;line-height:1;display:block;margin-bottom:12px}
.stop .t{font-family:var(--display);font-weight:700;font-size:17px;color:var(--navy);margin-bottom:6px}
.stop .d{font-size:14px;color:#4a5763;line-height:1.6}
@media(max-width:820px){.stops{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.stops{grid-template-columns:1fr}}
/* rich timeline (Phi Phi) */
.tl{max-width:760px}
.tl-row{position:relative;padding:0 0 26px 34px;border-left:2px solid #e8dfc9;margin-left:8px}
.tl-row:last-child{border-left-color:transparent;padding-bottom:0}
.tl-row::before{content:"";position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--gold)}
.tl-time{font-family:var(--display);font-weight:700;font-size:15px;color:var(--gold-deep);letter-spacing:.02em}
.tl-t{font-weight:700;font-size:16.5px;color:var(--navy);margin:3px 0 5px}
.tl-d{font-size:14.5px;color:#4a5763;line-height:1.65}
/* activities strip */
.act-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:820px;margin-top:26px}
.act{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:12px;padding:14px 16px;font-size:14.5px;font-weight:600;color:var(--navy)}
.act .em{font-size:20px;line-height:1}
@media(max-width:640px){.act-grid{grid-template-columns:1fr}}
/* hero badge */
.d-bdg{display:inline-flex;align-items:center;background:var(--gold);color:var(--navy);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:6px 12px;border-radius:20px;margin-left:12px;vertical-align:2px}
/* why bullets */
.why-list{list-style:none;margin:0 0 20px;padding:0;max-width:820px}
.why-list li{display:flex;align-items:flex-start;gap:12px;font-size:16px;font-weight:600;color:var(--navy);padding:10px 0;border-bottom:1px dashed var(--line)}
.why-list li:last-child{border-bottom:none}
.why-list .em{font-size:19px;line-height:1.3}
