/* Explore hero image (unchanged) */
.explore-hero{ background-image:url('https://halconcaravans.com/assets/img/hero/explore-bg.png'); }
:root{
  --hero-ratio: 2660 / 1447;
}


/* Regions header */
.regions-header{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; }

/* Regions grid: 5 per row on desktop/laptop, 3 per row on mobile/other */
.regions-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
@media (max-width:1200px){ .regions-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Funnel */
.funnel-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:28px 0 18px; position:relative; }
.funnel-cards::after{ content:""; position:absolute; top:50%; left:0; right:0; height:2px; border-top:2px dotted var(--line,#d8dee6); transform:translateY(-1px); pointer-events:none; }
.funnel-card{ background:#fff; border-radius:20px; box-shadow:var(--shadow-sm); padding:24px; text-align:center; position:relative; z-index:1; border:1px solid var(--line,#e5e7eb); transition:transform .2s, box-shadow .2s, border-color .2s; }
.funnel-card:hover{ transform: none;
  box-shadow: var(--shadow-sm);
  border-color: var(--line,#e5e7eb); }
.funnel-card i{ font-size:2rem; color:var(--accent,#f59e0b); margin-bottom:12px; }
.funnel-ctas{ display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
@media (max-width:900px){ .funnel-cards{ grid-template-columns:1fr; } .funnel-cards::after{ display:none; } }

.region-card{ text-align:center; cursor:pointer; padding:16px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-sm); transition:transform .2s, box-shadow .2s, border-color .2s; display:block; }
.region-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:#d1d5db; }
.ratio-4x3{ position:relative; padding-top:75%; overflow:hidden; border-radius:12px; background:#f1f5f9; margin-bottom:12px; }
.ratio-4x3>img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.region-card h3{ margin:2px 0 4px; }
.region-card .teaser{ color:#475569; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:44px; }
@media (max-width:760px){
  .regions-grid{ gap:12px; }
  .region-card{ padding:10px; }
  .region-card h3{ font-size:.98rem; }
  .region-card .teaser{ font-size:.92rem; min-height:38px; }
}

/* Hide any legacy modal CSS */
.journey-modal { display:none !important; }

/* === Regions grid cards: edge-to-edge image like Locations === */
.region-card { padding: 0; overflow: hidden; }               /* remove 16px inner padding */
.region-card .ratio-4x3 { margin: 0; border-radius:14px 14px 0 0; }
.region-card h4 { padding: 12px 14px; }                      /* caption gets the padding */

/* === Responsive columns for Explore regions === */
@media (max-width: 900px){
  .regions-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 600px){
  .regions-grid{ grid-template-columns: 1fr; }
}

/* Base desktop (already fine) */
.card h3 {
  font-size: clamp(1.25rem, 1.1vw + 1rem, 1.75rem); /* 20–28px */
  font-weight: 600; /* semi-bold */
  line-height: 1.3;
}

.card p {
  font-size: clamp(0.9rem, 0.8vw + 0.5rem, 1.125rem); /* 14–18px */
  font-weight: 400; /* normal */
  line-height: 1.5;
}

/* Medium screens (≤900px) */
@media (max-width: 900px){
  .card h3 { font-size: 1.2rem; font-weight: 600; }
  .card p  { font-size: 0.95rem; }
}

/* Small screens (≤600px) */
@media (max-width: 600px){
  .card h3 { font-size: 1.05rem; font-weight: 500; }
  .card p  { font-size: 0.85rem; }
}
