/** page Tourismes **/
/*  Destinations phare Tourismes */
.popular-destinations .destination-card {
    transition: all 0.3s ease-in-out;
    border-radius: 10px;
    overflow: hidden;
  }

  .popular-destinations .destination-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.15);
  }

  .popular-destinations .price-tag {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 0.9rem;
    font-weight: 600;
  }

  .btn-outline-safari {
    border: 1px solid #F4B41A;
    color: #F4B41A;
    font-weight: 600;
  }

  .btn-outline-safari:hover {
    background-color: #F4B41A;
    color: #fff;
  }

  @media (max-width: 992px) {
    .col-lg-2 {
      flex: 0 0 33.3333%;
      max-width: 33.3333%;
    }
  }

  @media (max-width: 768px) {
    .col-lg-2 {
      flex: 0 0 50%;
      max-width: 50%;
    }
  }
/*  end destinations phare Tourismes */

/* Présentation service touristique */
.tourism-service .section-subtitle {
  font-weight: 700;
  color: #F4B41A;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 0.9rem;
}

.tourism-service .section-title {
  font-size: 1.75rem;
  line-height: 1.1;
}

.service-visual {
  position: relative;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.service-visual .object-cover {
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}

.service-visual:hover .object-cover {
  transform: scale(1.05);
}

.visual-badge {
  position: absolute;
  top: 16px;
  left: 16px;
}

.badge.bg-safari {
  background-color: #F4B41A;
  color: #000;
  font-weight: 700;
}

.feature-icon i {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-body h5 {
  font-size: 1rem;
  margin-bottom: 0.25rem;
}

.btn-safari {
  background-color: #F4B41A;
  color: #000;
  border: none;
  font-weight: 700;
}
.btn-safari:hover {
  background-color: #d89c15;
  color: #fff;
}

/* Responsive tweaks */
@media (max-width: 767px) {
  .tourism-service .section-title { font-size: 1.4rem; }
  .feature-icon { margin-right: 12px; }
}

/* Tourism Promo Banner */

/* Variables rapides */
:root {
  --safari: #F4B41A;
  --safari-dark: #d89c15;
  --muted: #6c757d;
}

/* Section wrapper */
.tourism-hero-promo {
  background: linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
  padding: 2.25rem 0; /* réduit la hauteur par défaut */
}

/* Container grid */
.promo-inner { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }
.promo-grid {
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 1.5rem;
  align-items: center;
}

/* Responsive columns */
@media (max-width: 1024px) {
  .promo-grid { grid-template-columns: 1fr 420px; }
}
@media (max-width: 860px) {
  .promo-grid { grid-template-columns: 1fr; gap: 1rem; }
}

/* Left content */
.promo-content { padding: 1rem 0; }
.promo-kicker {
  display: inline-block;
  background: linear-gradient(90deg, rgba(244,180,26,0.12), rgba(244,180,26,0.06));
  color: var(--safari);
  font-weight: 700;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  font-size: 0.85rem;
  margin-bottom: 0.8rem;
}
.promo-title {
  font-size: 1.9rem;
  line-height: 1.05;
  margin-bottom: 0.6rem;
}
.promo-desc {
  color: var(--muted);
  margin-bottom: 1rem;
  max-width: 56ch;
}

/* CTAs */
.promo-ctas { display:flex; gap:0.7rem; flex-wrap:wrap; margin-bottom: 1rem; }
.btn-cta {
  background: #0d6efd;
  color: #fff;
  border-radius: 999px;
  padding: 0.6rem 1rem;
  text-decoration: none;
  font-weight: 700;
  display:inline-block;
}
.btn-cta:hover { background:#0b5ed7; text-decoration:none; color:#fff; }
.btn-outline-cta {
  background: transparent;
  border: 1px solid #dee2e6;
  color: #333;
  border-radius: 999px;
  padding: 0.55rem 1rem;
  display:inline-block;
}
.btn-outline-cta:hover { background:#f2f2f2; }

/* Quick form */
.promo-quick-form { margin-top: 0.6rem; width: 100%; max-width: 760px; }
.promo-quick-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 0.5rem;
  align-items: center;
}
.promo-quick-form .form-control {
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  border: 1px solid #e6e6e6;
}
.promo-quick-form .btn-safari {
  background: var(--safari);
  color: #000;
  border: none;
  padding: 0.55rem 0.8rem;
  border-radius: 8px;
  font-weight: 700;
}
.promo-quick-form .btn-safari:hover { background: var(--safari-dark); color:#fff; }

/* Small note */
.promo-note { margin-top: 0.6rem; color: var(--muted); font-size: 0.9rem; }

/* Right visual column */
.promo-visual { position: relative;
     display:flex;
      align-items:center;
       justify-content:center;
        min-height: 220px; 
    }

/* Diagonal SVG shape */
.promo-shape { position:absolute;
    right: 0; 
    top: 0; 
    bottom: 0; 
    width: 100%; 
    height: 100%; 
    opacity: 0.08; 
    pointer-events: none; 
}

/* Card with image */
.promo-card-tourisme {
  position: relative;
  width: 100%;
  max-width: 420px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(15,15,15,0.08);
  background: #fff;
  transform: translateX(10%);
  transition: transform .35s ease, box-shadow .35s ease;
}
.promo-card-tourisme img { width:100%; 
    height:220px; 
    object-fit:cover;
     display:block; 
    }
.promo-card-body { padding: 0.85rem 0.95rem; }
.promo-card-body h6 { margin:0 0 4px 0; font-size:0.95rem; }
.promo-card-body p { margin:0; 
    color:var(--muted); 
    font-size:0.86rem; 
}
.promo-card-body .small-link { 
    display:inline-block; 
    margin-top:6px; 
    font-size:0.85rem; 
    color:var(--safari); 
    text-decoration:none; 
}
.promo-card:hover { transform: translateX(0) translateY(-6px); box-shadow: 0 18px 40px rgba(15,15,15,0.12); }

/* Badges */
.promo-badges { position:absolute; top: -10px; 
    right:-6px; 
    display:flex; 
    flex-direction:column; 
    gap:8px; 
}
.promo-badges .badge {
  background:#fff; 
  border-radius:12px; 
  padding:6px 10px; 
  font-weight:700; 
  color:#333; 
  box-shadow:0 6px 18px rgba(0,0,0,0.06); 
  font-size:0.78rem;
}

/* Small-screen tweaks */
@media (max-width: 860px) {
  .promo-inner { padding-left: 0.5rem; padding-right: 0.5rem; }
  .promo-card-tourisme { transform: translateX(0); max-width:100%; }
  .promo-quick-form .form-row { grid-template-columns: 1fr; }
  .promo-ctas { gap: 0.5rem; }
  .promo-title { font-size: 1.4rem; }
}

/** end page Tourismes **/