/* ===============================
  GREAT SUMMER COMBO – PREMIUM CARD
==================================*/

.dp-summer-section {
  background: #f4f6f8;
  padding: 80px 20px;
  font-family: 'Segoe UI', sans-serif;
}

.dp-summer-head {
  text-align: center;
  margin-bottom: 50px;
}

.dp-summer-pill {
  background: linear-gradient(45deg,#ff9800,#ff6f00);
  color: white;
  padding: 6px 16px;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
}

.dp-summer-title {
  font-size: 36px;
  margin: 15px 0 10px;
  font-weight: 700;
}

.dp-summer-subtitle {
  color: #666;
  max-width: 600px;
  margin: auto;
}

/* CARD */

.dp-summer-card {
  max-width: 1100px;
  margin: auto;
  background: white;
  border-radius: 25px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  box-shadow: 0 20px 60px rgba(0,0,0,0.08);
  transition: 0.4s ease;
}

.dp-summer-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 25px 70px rgba(0,0,0,0.12);
}

/* LEFT */

.dp-summer-visual {
  position: relative;
  padding: 20px;
}

.dp-summer-badge {
  position: absolute;
  top: 30px;
  right: 30px;
  background: linear-gradient(45deg,#ff9800,#ff6f00);
  color: white;
  padding: 12px 22px;
  border-radius: 40px;
  font-weight: bold;
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
  z-index: 5;
  text-align: center;
}

.dp-badge-small {
  font-size: 11px;
  display: block;
}

.dp-badge-price {
  font-size: 22px;
}

/* IMAGE GRID */

.dp-summer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 220px 220px;
  gap: 12px;
}

.dp-summer-photo {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  display: block;
}

.dp-summer-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.4s ease;
}

.dp-summer-photo:hover img {
  transform: scale(1.08);
}

.dp-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 12px;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  color: white;
  font-size: 14px;
  font-weight: 600;
}

.dp-main {
  grid-column: span 2;
}

.dp-mini-price {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #00c853;
  color: white;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  z-index: 3;
}

/* RIGHT */

.dp-summer-body {
  padding: 50px 40px;
}

.dp-summer-h3 {
  font-size: 26px;
  margin-bottom: 20px;
}

.dp-summer-points {
  list-style: none;
  padding: 0;
  margin-bottom: 30px;
}

.dp-summer-points li {
  margin-bottom: 10px;
  color: #555;
  font-size: 15px;
}

/* BUTTONS */

.dp-buttons {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}

.dp-btn {
  padding: 12px 25px;
  border-radius: 40px;
  text-decoration: none;
  font-weight: 600;
  transition: 0.3s ease;
  font-size: 14px;
}

.dp-primary {
  background: #00c853;
  color: white;
}

.dp-primary:hover {
  background: #009624;
}

.dp-outline {
  border: 2px solid #ff6f00;
  color: #ff6f00;
}

.dp-outline:hover {
  background: #ff6f00;
  color: white;
}

.dp-note {
  font-size: 13px;
  color: #777;
}

/* CLICK INSTRUCTION */

.dp-click-hint {
  background: #fff3e0;
  color: #ff6f00;
  font-size: 13px;
  padding: 8px 14px;
  border-radius: 20px;
  display: inline-block;
  margin-bottom: 15px;
  font-weight: 600;
}

/* Make images feel clickable */

.dp-summer-photo {
  cursor: pointer;
  transition: 0.3s ease;
}

.dp-summer-photo:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

/* RESPONSIVE */

@media (max-width: 992px) {
  .dp-summer-card {
    grid-template-columns: 1fr;
  }

  .dp-summer-body {
    padding: 30px;
  }
}

@media (max-width: 576px) {
  .dp-summer-grid {
    grid-template-rows: 170px 170px;
  }

  .dp-summer-title {
    font-size: 28px;
  }
}

/* =========================
   COSTA RICAXPLORES NAVBAR
========================= */

.crx-header{
  position: sticky;
  top: 0;
  z-index: 9999;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: 0 10px 25px rgba(0,0,0,0.04);
}

.crx-nav-container{
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.crx-logo-wrap{
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.crx-logo{
  width: 90px;
  height: auto;
  display: block;
}

/* NAVBAR */
.crx-navbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  gap: 24px;
}

.crx-nav-list{
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 26px;
}

.crx-nav-list li{
  margin: 0;
  padding: 0;
}

.crx-link{
  position: relative;
  text-decoration: none;
  color: #163126;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.1px;
  transition: color 0.25s ease;
}

.crx-link:hover{
  color: #ea6a1b;
}

.crx-link::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 0;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ea6a1b, #f6a623);
  transition: width 0.25s ease;
}

.crx-link:hover::after,
.crx-link.crx-active::after{
  width: 100%;
}

.crx-link.crx-active{
  color: #ea6a1b;
}

/* ACTIONS */
.crx-nav-actions{
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.crx-book-btn{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #ea6a1b, #d94f12);
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  padding: 14px 22px;
  border-radius: 16px;
  box-shadow: 0 12px 25px rgba(217, 79, 18, 0.22);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.crx-book-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(217, 79, 18, 0.28);
  color: #fff;
}

.crx-book-icon{
  font-size: 15px;
  line-height: 1;
}

/* MOBILE TOGGLE */
.crx-menu-toggle{
  display: none;
  width: 46px;
  height: 46px;
  border: none;
  background: #f8fafc;
  border-radius: 14px;
  cursor: pointer;
  padding: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.05);
}

.crx-menu-toggle span{
  display: block;
  width: 20px;
  height: 2px;
  background: #163126;
  border-radius: 999px;
  transition: 0.25s ease;
}

/* RESPONSIVE */
@media (max-width: 991px){
  .crx-menu-toggle{
    display: flex;
  }

  .crx-navbar{
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #ffffff;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
    padding: 18px 24px 24px;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    display: none;
  }

  .crx-navbar.crx-open{
    display: flex;
  }

  .crx-nav-list{
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    margin: 0;
  }

  .crx-link{
    font-size: 16px;
  }

  .crx-link::after{
    bottom: -5px;
  }

  .crx-nav-actions{
    width: 100%;
  }

  .crx-book-btn{
    width: 100%;
    justify-content: center;
  }

  .crx-logo{
    width: 105px;
  }
}

@media (max-width: 575px){
  .crx-nav-container{
    padding: 12px 16px;
  }

  .crx-logo{
    width: 95px;
  }
}

/*atv tours*/
    *{
      margin:0;
      padding:0;
      box-sizing:border-box;
    }

    :root{
      --green-dark:#04552b;
      --green:#0f6b3c;
      --green-soft:#dfe9df;
      --orange:#e95b1f;
      --orange-dark:#c84812;
      --text:#1f2937;
      --muted:#5f6b7a;
      --bg:#f5f5f3;
      --white:#ffffff;
      --shadow:0 18px 40px rgba(0,0,0,.10);
      --radius:26px;
    }

    body{
      font-family:'Poppins',sans-serif;
      background:var(--bg);
      color:var(--text);
      overflow-x:hidden;
    }

    img{
      max-width:100%;
      display:block;
    }

    a{
      text-decoration:none;
    }

    .crx-container{
      width:min(1180px, calc(100% - 32px));
      margin:0 auto;
    }

    /* HERO */
    .atv-hero{
      position:relative;
      min-height:760px;
      background:
        linear-gradient(rgba(0,0,0,.30), rgba(0,0,0,.30)),
        url('atv-tours/at2.jpeg') center/cover no-repeat;
      display:flex;
      align-items:flex-start;
      padding-top:80px;
      overflow:hidden;
    }

    .atv-hero::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-1px;
      height:140px;
      background:var(--green-dark);
      border-top-left-radius:55% 100%;
      border-top-right-radius:55% 100%;
    }

    .atv-hero-card{
      position:relative;
      z-index:2;
      max-width:560px;
      background:rgba(255,255,255,.88);
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
      border-radius:30px;
      padding:34px 32px;
      box-shadow:var(--shadow);
      margin-top:20px;
    }

    .atv-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:#fff7ed;
      color:var(--orange-dark);
      border:1px solid rgba(233,91,31,.18);
      border-radius:999px;
      padding:8px 14px;
      font-size:13px;
      font-weight:700;
      margin-bottom:16px;
    }

    .atv-hero h1{
      font-family:'Permanent Marker', cursive;
      font-size:2.6rem;
      line-height:1.08;
      color:var(--orange);
      margin-bottom:18px;
      font-weight:400;
    }

    .atv-hero p{
      font-size:1rem;
      line-height:1.75;
      color:#314155;
      margin-bottom:18px;
    }

    .atv-price-note{
      display:flex;
      align-items:center;
      gap:10px;
      color:var(--green-dark);
      font-weight:700;
      font-size:14px;
      margin-bottom:18px;
    }

    .atv-price-note i{
      color:var(--green);
      font-size:17px;
    }

    .atv-book-btn{
      display:inline-flex;
      align-items:center;
      gap:10px;
      background:linear-gradient(135deg,var(--orange),var(--orange-dark));
      color:#fff;
      font-weight:800;
      padding:14px 22px;
      border-radius:14px;
      box-shadow:0 14px 26px rgba(233,91,31,.25);
      transition:.25s ease;
    }

    .atv-book-btn:hover{
      transform:translateY(-2px);
      box-shadow:0 18px 32px rgba(233,91,31,.30);
    }

    /* GREEN INTRO SECTION */
    .atv-intro-wrap{
      background:var(--green-dark);
      color:#fff;
      padding:10px 0 70px;
    }

    .atv-intro-grid{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:42px;
      align-items:center;
    }

    .atv-intro-text h2{
      font-size:2.15rem;
      line-height:1.08;
      margin-bottom:18px;
      font-weight:800;
    }

    .atv-intro-text p{
      color:rgba(255,255,255,.88);
      line-height:1.8;
      margin-bottom:14px;
      font-size:15px;
    }

    .atv-route-list{
      margin-top:20px;
      padding-left:0;
      list-style:none;
    }

    .atv-route-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      margin-bottom:10px;
      color:#fff;
      font-size:14px;
      line-height:1.7;
    }

    .atv-route-list i{
      color:#8fff8f;
      margin-top:3px;
    }

    .atv-intro-image img{
      border-radius:28px;
      box-shadow:var(--shadow);
      width:100%;
      object-fit:cover;
      min-height:420px;
    }

    /* DETAILS */
    .atv-details{
      padding:65px 0 50px;
    }

    .atv-section-title{
      text-align:center;
      margin-bottom:30px;
    }

    .atv-section-title h3{
      font-size:2rem;
      color:var(--text);
      margin-bottom:8px;
      font-weight:800;
    }

    .atv-section-title p{
      color:var(--muted);
      max-width:760px;
      margin:0 auto;
      line-height:1.7;
    }

    .atv-detail-icons{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:20px;
      margin-bottom:40px;
    }

    .atv-detail-box{
      background:#fff;
      border-radius:22px;
      padding:24px 20px;
      box-shadow:var(--shadow);
      text-align:center;
    }

    .atv-detail-box i{
      font-size:30px;
      color:var(--orange);
      margin-bottom:12px;
      display:inline-block;
    }

    .atv-detail-box h4{
      font-size:1rem;
      margin-bottom:8px;
      color:var(--text);
      font-weight:800;
    }

    .atv-detail-box p{
      font-size:14px;
      line-height:1.7;
      color:var(--muted);
    }

    /* BIG IMAGE */
    .atv-feature-image{
      margin:20px auto 40px;
      max-width:760px;
    }

    .atv-feature-image img{
      width:100%;
      border-radius:30px;
      box-shadow:var(--shadow);
      object-fit:cover;
    }

    /* THREE COLUMN INFO */
    .atv-columns{
      display:grid;
      grid-template-columns:1fr 1fr .9fr;
      gap:26px;
      align-items:start;
    }

    .atv-info-card{
      background:#fff;
      border-radius:24px;
      padding:28px 24px;
      box-shadow:var(--shadow);
      min-height:100%;
    }

    .atv-info-card h4{
      font-size:1.45rem;
      margin-bottom:16px;
      color:var(--text);
      font-weight:800;
    }

    .atv-info-card ul{
      padding-left:18px;
      color:var(--muted);
    }

    .atv-info-card li{
      margin-bottom:10px;
      line-height:1.75;
      font-size:14px;
    }

    .atv-price-card{
      background:linear-gradient(180deg,#dce6dc,#d8e1d8);
      border-radius:26px;
      padding:28px 24px;
      box-shadow:var(--shadow);
      min-height:100%;
      text-align:center;
    }

    .atv-price-card h4{
      font-size:1.5rem;
      margin-bottom:16px;
      color:var(--text);
      font-weight:800;
    }

    .atv-price-card ul{
      text-align:left;
      padding-left:18px;
      margin-bottom:22px;
      color:#3d4a57;
    }

    .atv-price-card li{
      margin-bottom:10px;
      line-height:1.7;
      font-size:14px;
    }

    .atv-price-card .mini-note{
      font-size:13px;
      color:#5a6572;
      line-height:1.6;
      margin-top:8px;
    }

    .atv-price-card .atv-book-btn{
      margin-top:12px;
      justify-content:center;
      width:100%;
    }

    /* EXTRA CTA */
    .atv-extra-cta{
      text-align:center;
      padding:70px 20px 50px;
    }

    .atv-extra-cta h3{
      font-size:2rem;
      color:var(--text);
      margin-bottom:10px;
      font-weight:800;
    }

    .atv-extra-cta p{
      color:var(--muted);
      max-width:660px;
      margin:0 auto 20px;
      line-height:1.7;
    }

    .atv-extra-cta .small-btn{
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:linear-gradient(135deg,var(--orange),var(--orange-dark));
      color:#fff;
      padding:12px 22px;
      border-radius:12px;
      font-weight:800;
      box-shadow:0 12px 24px rgba(233,91,31,.22);
    }

    /* GREEN CTA BAND */
    .atv-bottom-band{
      margin-top:30px;
      background:var(--green-dark);
      color:#fff;
      border-top-left-radius:46% 50px;
      border-top-right-radius:46% 50px;
      
      padding:80px 0;
    }

    .atv-bottom-band .band-grid{
      display:grid;
      grid-template-columns:1.2fr .5fr;
      gap:24px;
      align-items:center;
    }

    .atv-bottom-band h3{
      font-family:'Permanent Marker', cursive;
      font-size:2rem;
      color:var(--orange);
      margin-bottom:12px;
      font-weight:400;
    }

    .atv-bottom-band p{
      color:rgba(255,255,255,.88);
      line-height:1.8;
      font-size:15px;
      max-width:760px;
    }

    .atv-bottom-band .small-btn{
      justify-self:end;
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:linear-gradient(135deg,var(--orange),var(--orange-dark));
      color:#fff;
      padding:12px 22px;
      border-radius:12px;
      font-weight:800;
      box-shadow:0 12px 24px rgba(233,91,31,.22);
    }

    /* RESPONSIVE */
    @media (max-width: 991px){
      .atv-intro-grid,
      .atv-columns,
      .atv-bottom-band .band-grid{
        grid-template-columns:1fr;
      }

      .atv-detail-icons{
        grid-template-columns:repeat(2,1fr);
      }

      .atv-bottom-band .small-btn{
        justify-self:start;
      }

      .atv-hero{
        min-height:680px;
      }

      .atv-hero h1{
        font-size:2.2rem;
      }
    }

    @media (max-width: 575px){
      .atv-detail-icons{
        grid-template-columns:1fr;
      }

      .atv-hero-card{
        padding:24px 20px;
      }

      .atv-hero h1{
        font-size:1.8rem;
      }

      .atv-intro-text h2,
      .atv-section-title h3,
      .atv-extra-cta h3{
        font-size:1.6rem;
      }

      .atv-bottom-band h3{
        font-size:1.55rem;
      }

      .atv-intro-image img{
        min-height:300px;
      }
    }