:root {
  --orange: #E09C2B;
  --green: #A6C34C;
  --blue: #409AD6;
  --bg-soft: #f5f7fa;
  --text-dark: #222;
}

/* RESET */
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg-soft);
  color:var(--text-dark);
  line-height:1.5;
}
body.rtl{direction:rtl;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* ===== HEADER ===== */
header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:30;
  background:linear-gradient(to bottom,rgba(0,0,0,.6),rgba(0,0,0,.2));
  color:#fff;
  padding:.5rem 1rem;
  backdrop-filter:blur(6px);
}
.header-inner{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.logo-wrap{
  display:flex;
  align-items:center;
  gap:.6rem;
  cursor:pointer;
}
.logo-wrap img{
  height:50px;
  border-radius:8px;
  background:#fff;
  object-fit:contain;
}
.logo-text-title{
  font-weight:700;
  font-size:1.2rem;
}
.logo-text-sub{
  font-size:.75rem;
  opacity:.9;
}
nav{
  display:flex;
  gap:1.4rem;
  align-items:center;
  font-size:.95rem;
}
.nav-link{
  position:relative;
  cursor:pointer;
}
.nav-link.active::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-4px;
  height:3px;border-radius:999px;
  background:var(--orange);
}
.lang-switch{
  display:flex;
  gap:.3rem;
  font-size:.75rem;
}
.lang-pill{
  padding:.1rem .45rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.7);
  display:flex;
  align-items:center;
  gap:.2rem;
  cursor:pointer;
  background:rgba(0,0,0,.25);
}
.lang-pill.active{
  background:#fff;
  color:var(--green);
}

/* ===== LAYOUT ===== */
main{
  max-width:1200px;
  margin:0 auto 2rem;
  padding:0 1rem;
  padding-top:95px;
}
.page{display:none;}
.page.active{display:block;}
.content-section{margin-top:2rem;}

/* ===== HERO ===== */
.hero{
  position:relative;
  border-radius:0 0 40px 40px;
  overflow:hidden;
  margin:0 0 2rem;
  height:460px;
  box-shadow:0 18px 40px rgba(0,0,0,.45);
}
.hero-image{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.15));
}
.hero-inner{
  position:absolute;inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.hero-cards-wrapper{
  display:flex;
  flex-direction:column;
  gap:1rem;
  align-items:center;
}
.hero-cards-row{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  justify-content:center;
}
.hero-offer-card{
  background:rgba(255,255,255,.96);
  border-radius:18px;
  padding:1rem 1.4rem;
  min-width:210px;
  text-align:center;
  box-shadow:0 10px 25px rgba(0,0,0,.25);
  pointer-events:auto;
  border-top:4px solid var(--green);
}
.hero-offer-dates{font-size:.95rem;font-weight:600;margin-bottom:.4rem;}
.hero-offer-price{font-size:1.3rem;font-weight:800;color:var(--orange);}
.hero-offer-sub{font-size:.9rem;font-weight:600;color:var(--orange);}
.hero-offer-cta{
  margin-top:.3rem;
  background:var(--blue);
  color:#fff;
  border:none;
  border-radius:999px;
  padding:.35rem 1rem;
  font-size:.8rem;
  font-weight:600;
  cursor:pointer;
}
.hero-hajj-banner{
  background:#fff;
  border-radius:22px;
  padding:.6rem 1.6rem;
  box-shadow:0 8px 20px rgba(0,0,0,.25);
  pointer-events:auto;
  border:2px solid var(--orange);
  cursor:pointer;
}
.hero-hajj-text{
  font-size:1rem;
  font-weight:600;
  color:#12385b;
}

/* ===== TITLES ===== */
.section-title{
  font-size:1.3rem;
  font-weight:600;
  margin:1.4rem 0 .8rem;
  color:var(--orange);
}

/* ===== OFFERS ===== */
.offers-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1rem;
}
.offer-card{
  background:#fff;
  border-radius:16px;
  padding:1rem 1.1rem;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  border-top:4px solid var(--green);
  display:flex;
  flex-direction:column;
  gap:.4rem;
}
.offer-title{font-weight:600;}
.offer-dates{font-size:.9rem;color:#555;}
.offer-price{font-size:1.1rem;font-weight:700;color:var(--orange);}

/* BUTTONS */
.btn{
  border-radius:999px;
  border:none;
  cursor:pointer;
  font-weight:600;
}
.btn-primary{
  background:var(--blue);
  color:#fff;
  padding:.6rem 1.2rem;
}
.btn-ghost{
  background:transparent;
  border:1px solid var(--blue);
  color:var(--blue);
  padding:.35rem .9rem;
}
.btn-small{font-size:.8rem;}

/* CAROUSEL — VERSION FIXÉE */
.carousel{
  margin-top:1.5rem;
}

.carousel-inner{
  display:flex;
  gap:1rem;
  overflow-x:auto;
  padding:0 .5rem 1rem;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}

.carousel-inner::-webkit-scrollbar{
  display:none;
}

.carousel-item{
  flex:0 0 240px;           /* largeur fixe pour éviter l’image pleine largeur */
  border:none;
  padding:0;
  background:#fff;
  border-radius:16px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  cursor:pointer;
  scroll-snap-align:start;
}

.carousel-item img{
  width:100%;
  height:130px;             /* image bien “dans le cadre” */
  object-fit:cover;
  border-radius:16px 16px 0 0;
}

.carousel-title{
  padding:.5rem .7rem .7rem;
  font-size:.9rem;
  font-weight:600;
}
/* ===== CARDS ===== */
.card{
  background:#fff;
  border-radius:18px;
  padding:1rem 1.2rem 1.2rem;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  margin-bottom:1.1rem;
  cursor:pointer;
}
/* ===== CARDS ===== */
.card{
  background:#fff;
  border-radius:18px;
  padding:1rem 1.2rem 1.2rem;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  margin-bottom:1.1rem;
  cursor:pointer;
  position:relative;
  z-index:2;
}

/* Images par défaut (Services + Contact + Accueil) */
.card img{
  border-radius:14px;
  width:100%;
  height:auto;
  object-fit:cover;
  object-position:center;
  margin-bottom:.7rem;
}

/* === IMAGES PAGE TOURS (Style A — 200px fixes) === */
#page-tours .card img{
  height:200px;          /* hauteur uniforme */
  width:100%;
  object-fit:cover;
  object-position:center;
}

/* === FIX CLICK MOBILE UNIQUEMENT POUR LES PAGES CARDS === */
/* Rendre toute la carte cliquable sans bloquer les liens internes */
#page-tours .card,
#page-services .card,
#page-home .hero-to-contact,
.hero-to-contact {
  cursor: pointer;
}

#page-tours .card,
#page-services .card,
#page-home .services-grid .card {
  cursor: pointer;
  position: relative;
  z-index: 2;
}
/* GRID */
.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1rem;
}
.service-icon{font-size:1.4rem;margin:.3rem 0;}

/* ==== FORM ==== */
.form-group{margin-bottom:.7rem;display:flex;flex-direction:column;gap:.2rem;}
input,textarea,select{
  padding:.45rem .6rem;
  border-radius:8px;
  border:1px solid #ccc;
  font-size:.9rem;
  font-family:inherit;
}
textarea{min-height:80px;resize:vertical;}

/* ===========================
   FOOTER — VERSION PROPRE
   =========================== */

footer {
  background: var(--blue);
  color: #fff;
  margin-top: 2rem;
  padding: 1.4rem 1rem;
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 2.2rem;
  justify-content: space-between;
  align-items: flex-start;
  font-size: .9rem;
}

/* ---- COLONNE GAUCHE : LOGO + INFOS ---- */
.footer-logo {
  display: flex;
  gap: .8rem;
  align-items: flex-start;
  flex: 1 1 300px;
}

.footer-logo img {
  height: 48px;
  width: auto;
  border-radius: 8px;
  background: #fff;
}

.footer-title {
  font-weight: 700;
  margin-bottom: .3rem;
}

.footer-line {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin-bottom: .25rem;
}

.footer-link {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

/* ---- COLONNES CENTRE ET DROITE ---- */
.footer-inner > div {
  flex: 1 1 200px;
}

.footer-block-title {
  font-weight: 700;
  margin-bottom: .4rem;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 850px) {
  .footer-inner {
    flex-direction: column;
    gap: 1.6rem;
  }

  .footer-logo {
    flex-direction: row;
    align-items: flex-start;
  }
}
/* ===== WHATSAPP FLOAT ===== */
.whatsapp-float{
  position:fixed;
  bottom:20px;
  right:18px;
  background:#25D366;
  color:#fff;
  border-radius:999px;
  width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
  z-index:40;
}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .hero{height:420px;}
}
@media(max-width:650px){
  .hero{border-radius:0 0 26px 26px;height:380px;}
  .hero-cards-row{flex-direction:column;align-items:center;}
  .hero-offer-card{min-width:200px;width:88%;}
  .carousel-item{min-width:70%;}
  .footer-inner{flex-direction:column;align-items:flex-start;}
}
/* ==== FIX IMAGES PAGE TOURS ==== */
#page-tours .card img {
  width: 100%;
  height: 230px;               /* même hauteur pour toutes */
  object-fit: cover;           /* crop propre, jamais déformé */
  object-position: center;     /* centrer l’image */
  border-radius: 14px;
  display: block;
}
/* === FIX IMAGES PAGE TOURS === */
#page-tours .card img{
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center;
  border-radius: 14px;
}

/* === FIX CLIC SUR MOBILE === */
/* On autorise le clic uniquement sur la CARD */
#page-tours .card,
#page-services .card,
#page-home .offer-card {
  cursor: pointer;
  position: relative;
  z-index: 2;
}

/* On empêche les éléments internes d'intercepter le clic */
#page-tours .card *,
#page-services .card * {
  pointer-events: none;
}

/* IMPORTANT : on NE BLOQUE PAS les boutons !!! */
.hero-offer-card *,
.offer-card button,
.hero-hajj-banner,
.hero-hajj-banner * {
  pointer-events: auto !important;
}
