/* ============================================
   AMG SAFARIS — DESTINATION PAGES
   ============================================ */
.dp-hero{min-height:78vh;display:flex;align-items:flex-end;background-size:cover;background-position:center;position:relative;padding:calc(var(--topbar-h) + var(--header-h) + 4rem) 0 4rem}
.dp-hero-content{max-width:720px;position:relative;z-index:1}
.dp-hero-content .breadcrumbs{margin-bottom:1.5rem}
.dp-hero-tagline{display:inline-block;font-family:var(--font-primary);font-size:0.85rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--primary);margin-bottom:1rem}
.dp-hero-content h1{color:var(--white);margin-bottom:1.25rem}
.dp-hero-content > p{color:rgba(255,255,255,0.82);font-size:1.2rem;line-height:1.7;margin-bottom:2rem;max-width:600px}
.dp-hero-actions{display:flex;gap:1rem;flex-wrap:wrap}

.dp-section{padding:5rem 0}
.dp-prose p{font-size:1.05rem;line-height:1.85;margin-bottom:1.25rem;color:var(--stone)}
.dp-prose em{color:var(--primary-dark);font-style:italic}
.dp-subhead{font-family:var(--font-primary);font-size:1.2rem;margin-bottom:1.5rem;color:var(--dark)}

/* Why grid */
.dp-why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem}
.dp-why-card{display:flex;gap:1rem;align-items:flex-start;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.75rem;box-shadow:var(--shadow-sm)}
.dp-why-icon{width:42px;height:42px;border-radius:var(--r);background:rgba(201,162,75,0.12);display:flex;align-items:center;justify-content:center;color:var(--primary-dark);flex-shrink:0}
.dp-why-icon svg{width:20px;height:20px}
.dp-why-card h3{font-size:1.05rem;margin-bottom:0.4rem}
.dp-why-card p{font-size:0.9rem;color:var(--stone);line-height:1.6}

/* Season grid */
.dp-season-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.dp-season{background:var(--white);border:1px solid var(--border);border-top:3px solid var(--primary);border-radius:var(--r-lg);padding:1.75rem;box-shadow:var(--shadow-sm)}
.dp-season h3{font-size:1.05rem;margin-bottom:0.6rem;color:var(--dark)}
.dp-season p{font-size:0.9rem;line-height:1.65;color:var(--stone)}

/* Things grid */
.dp-things-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem}
.dp-thing{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.75rem;box-shadow:var(--shadow-sm);position:relative;padding-left:2rem}
.dp-thing::before{content:'';position:absolute;left:0;top:1.75rem;bottom:1.75rem;width:3px;background:var(--primary);border-radius:3px}
.dp-thing h3{font-size:1.05rem;margin-bottom:0.4rem}
.dp-thing p{font-size:0.9rem;color:var(--stone);line-height:1.6}

/* Wildlife */
.dp-wildlife-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:3.5rem;margin-top:2.5rem}
.dp-wildlife-list{display:flex;flex-direction:column;gap:0.875rem}
.dp-wildlife-list li{display:flex;align-items:flex-start;gap:0.75rem;font-size:0.95rem;color:var(--dark);line-height:1.5}
.dp-wildlife-list svg{width:18px;height:18px;color:var(--primary);flex-shrink:0;margin-top:2px}
.dp-landmarks{display:flex;flex-direction:column;gap:1.25rem}
.dp-landmark{padding-left:1.25rem;border-left:2px solid var(--border)}
.dp-landmark h4{font-size:1rem;margin-bottom:0.25rem;color:var(--dark)}
.dp-landmark p{font-size:0.9rem;color:var(--stone);line-height:1.6}

/* Accommodation */
.dp-accom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.dp-accom{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.75rem;box-shadow:var(--shadow-sm)}
.dp-accom h3{font-size:1.05rem;margin-bottom:0.5rem}
.dp-accom p{font-size:0.9rem;color:var(--stone);line-height:1.6}
.dp-accom-note{margin-top:2rem;padding:1.5rem 1.75rem;background:rgba(201,162,75,0.08);border:1px solid rgba(201,162,75,0.2);border-radius:var(--r-lg);font-size:0.95rem;color:var(--earth);line-height:1.7}

/* Travel */
.dp-travel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.dp-travel-item{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.5rem}
.dp-travel-item h4{font-size:1rem;margin-bottom:0.5rem;color:var(--primary-dark);font-family:var(--font-primary)}
.dp-travel-item p{font-size:0.9rem;color:var(--stone);line-height:1.6}

/* Related tours */
.dp-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.dp-related-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--t),box-shadow var(--t),border-color var(--t);box-shadow:var(--shadow-sm)}
.dp-related-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(201,162,75,0.3)}
.dp-related-body{padding:1.75rem}
.dp-related-label{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--primary-dark)}
.dp-related-body h3{font-size:1.1rem;margin:0.5rem 0 1.25rem;line-height:1.35}
.dp-related-cta{display:inline-flex;align-items:center;gap:0.4rem;font-family:var(--font-primary);font-size:0.85rem;font-weight:700;color:var(--dark)}
.dp-related-cta svg{width:14px;height:14px;transition:transform var(--t-fast)}
.dp-related-card:hover .dp-related-cta svg{transform:translateX(3px)}
.dp-related-card:hover .dp-related-cta{color:var(--primary-dark)}

/* Other destinations */
.dp-other-wrap{text-align:center}
.dp-other-title{color:var(--white);margin-bottom:1.5rem;font-size:1.3rem}
.dp-other-list{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:center}
.dp-other-dest{padding:0.6rem 1.5rem;border:1.5px solid rgba(255,255,255,0.18);border-radius:var(--r-full);color:rgba(255,255,255,0.8);font-family:var(--font-primary);font-size:0.9rem;font-weight:600;transition:all var(--t-fast)}
.dp-other-dest:hover{background:var(--primary);border-color:var(--primary);color:var(--dark)}

@media (max-width:900px){
  .dp-why-grid,.dp-season-grid,.dp-things-grid,.dp-accom-grid,.dp-travel-grid,.dp-related-grid{grid-template-columns:1fr}
  .dp-wildlife-layout{grid-template-columns:1fr;gap:2.5rem}
  .dp-hero-content > p{font-size:1.05rem}
}
@media (max-width:600px){
  .dp-hero{min-height:70vh}
  .dp-hero-actions{flex-direction:column}
  .dp-hero-actions .btn{width:100%}
  .dp-section{padding:3.5rem 0}
}
