/* Destination page (merged Destinations + Destination Details) - prefix dp- */
.dp-section{padding:clamp(48px,7vw,96px) 0;overflow-x:clip}
.dp-section.alt{background:var(--bg-light)}
.dp-head{max-width:720px;margin:0 auto clamp(28px,4vw,48px);text-align:center}
.dp-head h2{font-size:clamp(1.65rem,1.1rem + 2.4vw,2.7rem);font-weight:700;color:var(--primary);margin:.4rem 0 .75rem;line-height:1.2}
.dp-head p{color:var(--text-muted);margin:0;font-size:clamp(.95rem,.9rem + .25vw,1.05rem)}
.dp-hero-sub{max-width:620px;margin-inline:auto}
.dp-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.25rem}
.dp-chips a{display:inline-flex;align-items:center;min-height:40px;padding:.35rem .95rem;border-radius:50px;font-size:.85rem;font-weight:500;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);text-decoration:none;backdrop-filter:blur(6px);transition:.25s}
.dp-chips a:hover,.dp-chips a:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff}
.tb-destination-hero h1{font-size:clamp(1.9rem,1.2rem + 3.4vw,3.4rem)}
/* overview */
.dp-about{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:1fr;align-items:center}
.dp-about-img{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-lg)}
.dp-about-img img{width:100%;height:100%;object-fit:cover}
.dp-about-img figcaption{position:absolute;left:12px;bottom:12px;right:12px;font-size:.8rem;color:#fff;background:rgba(0,0,0,.45);padding:.35rem .7rem;border-radius:10px;backdrop-filter:blur(4px)}
.dp-about p{color:var(--text-muted);line-height:1.8}
.dp-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:1.25rem}
.dp-fact{background:#fff;border:1px solid var(--border-color);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow-sm)}
.dp-fact b{display:block;font-size:clamp(1.15rem,1rem + .8vw,1.5rem);color:var(--primary);line-height:1.2}
.dp-fact span{font-size:.82rem;color:var(--text-muted)}
/* destinations grid */
.dp-filter{display:flex;gap:.5rem;margin-bottom:28px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;justify-content:flex-start}
.dp-filter::-webkit-scrollbar{display:none}
.dp-filter button{flex:0 0 auto;min-height:42px;padding:.4rem 1.1rem;border-radius:50px;border:1px solid var(--border-color);background:#fff;color:var(--primary);font-weight:500;font-size:.9rem;transition:.25s}
.dp-filter button.active,.dp-filter button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.dp-grid{display:grid;gap:clamp(16px,2.2vw,28px);grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}
.dp-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.dp-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.dp-card[hidden]{display:none}
.dp-card-img{position:relative;aspect-ratio:4/3;overflow:hidden}
.dp-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.dp-card:hover .dp-card-img img{transform:scale(1.07)}
.dp-tag{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.25rem .7rem;border-radius:50px}
.dp-card-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:.6rem;flex:1}
.dp-card-body h3{font-size:1.2rem;font-weight:700;color:var(--primary);margin:0}
.dp-card-body p{font-size:.92rem;color:var(--text-muted);margin:0;line-height:1.65}
.dp-meta{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem .9rem;font-size:.8rem;color:var(--text-dark)}
.dp-meta i{color:var(--accent);margin-right:.3rem}
/* seasons */
.dp-seasons{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.dp-season{background:#fff;border:1px solid var(--border-color);border-radius:18px;padding:24px 22px;box-shadow:var(--shadow-sm);border-top:4px solid var(--accent)}
.dp-season i{font-size:1.5rem;color:var(--accent)}
.dp-season h3{font-size:1.15rem;margin:.7rem 0 .15rem;color:var(--primary);font-weight:700}
.dp-season small{display:block;color:var(--accent);font-weight:600;margin-bottom:.6rem}
.dp-season p{margin:0;font-size:.92rem;color:var(--text-muted);line-height:1.65}
.dp-note{margin:24px auto 0;max-width:820px;text-align:center;font-size:.88rem;color:var(--text-muted)}
/* day trips */
.dp-trips{display:grid;gap:12px;max-width:960px;margin:0 auto}
.dp-trip{display:grid;grid-template-columns:1fr;gap:6px 18px;align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:16px;padding:16px 18px}
.dp-trip h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--primary)}
.dp-trip p{margin:0;font-size:.88rem;color:var(--text-muted)}
.dp-trip .dp-time{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--accent);font-size:.9rem}
.dp-pkgs{display:grid;gap:12px;margin-top:36px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.dp-pkg{display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;background:var(--primary);color:#fff;text-decoration:none;transition:.25s}
.dp-pkg:hover{background:var(--accent);color:#fff;transform:translateY(-3px)}
.dp-pkg b{font-size:1.9rem;line-height:1}
.dp-pkg span{font-size:.92rem;line-height:1.35}
/* stay */
.dp-stay{display:grid;gap:clamp(24px,4vw,48px);grid-template-columns:1fr}
.dp-stay-img{border-radius:20px;overflow:hidden;aspect-ratio:16/10;box-shadow:var(--shadow-lg)}
.dp-stay-img img{width:100%;height:100%;object-fit:cover}
.dp-tips{list-style:none;padding:0;margin:1rem 0 1.5rem;display:grid;gap:.7rem}
.dp-tips li{display:flex;gap:.7rem;color:var(--text-muted);font-size:.95rem;line-height:1.55}
.dp-tips i{color:var(--accent);margin-top:.25rem}
.dp-cta{display:flex;flex-wrap:wrap;gap:.75rem}
.dp-cta .btn{min-height:46px}
.dp-faq{max-width:860px;margin:clamp(36px,5vw,64px) auto 0}
.dp-faq .accordion-button{font-weight:600;color:var(--primary);white-space:normal}
.dp-faq .accordion-button:not(.collapsed){color:var(--accent);background:var(--bg-light);box-shadow:none}
.dp-faq .accordion-body{color:var(--text-muted);line-height:1.7}
@media(min-width:576px){.dp-facts{grid-template-columns:repeat(4,1fr)}}
@media(min-width:768px){.dp-trip{grid-template-columns:1.1fr 1.6fr auto}.dp-trip .dp-time{justify-content:flex-end;min-width:110px}}
@media(min-width:992px){.dp-about{grid-template-columns:1fr 1.1fr}.dp-stay{grid-template-columns:1fr 1fr;align-items:center}.dp-filter{justify-content:center}}
@media(max-width:575.98px){.dp-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.dp-card,.dp-card *,.dp-chips a,.dp-pkg{transition:none!important}}
