*,*::before,*::after{box-sizing:border-box;}
html{font-family:'Outfit',sans-serif;scroll-behavior:smooth;overflow-x: hidden;
  width: 100%;}
:root{
  --brand:#F97316;
  --accent:#10B981;
  --dark-900:#0a0a0a;
  --dark-800:#111111;
  --dark-700:#1a1a1a;
  --text-muted:#888888;
  --border:#2a2a2a;
}
body{background:var(--dark-900);color:#e2ecf8;overflow-x: hidden;
  width: 100%;}
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--dark-900);}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--brand);}


/* ─── Navbar ─── */
#navbar{top:0;transition:background .3s,box-shadow .3s,padding .3s,transform .4s cubic-bezier(.4,0,.2,1);border-bottom:1px solid transparent;will-change:transform;}
#navbar.scrolled{background:rgba(10,10,10,.96);border-bottom:1px solid var(--border);box-shadow:0 4px 30px rgba(0,0,0,0.6);}
#navbar.nav-hidden{transform:translateY(-100%);}


/* ─── Logo ─── */
.nav-logo{height:85px;width:auto;object-fit:contain;transition:opacity .2s;}
@media(min-width:640px){.nav-logo{height:100px;}}
.nav-logo:hover{opacity:.85;}

/* ─── Buttons ─── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-weight:700;border-radius:10px;transition:all .22s ease;cursor:pointer;text-decoration:none;white-space:nowrap;}
.btn-primary{background:linear-gradient(135deg,var(--brand),#e8650a);color:#fff;box-shadow:0 4px 20px rgba(249,115,22,.3);}
.btn-primary:hover{background:linear-gradient(135deg,#e8650a,#cc5500);box-shadow:0 8px 28px rgba(249,115,22,.5);transform:translateY(-2px);}
.btn-green{background:linear-gradient(135deg,var(--accent),#0da271);color:#fff;box-shadow:0 4px 20px rgba(16,185,129,.3);}
.btn-green:hover{background:linear-gradient(135deg,#0da271,#0a8f62);box-shadow:0 8px 28px rgba(16,185,129,.5);transform:translateY(-2px);}
.btn-ghost{border:1.5px solid var(--border);color:#ccc;background:rgba(255,255,255,.03);}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand);background:rgba(249,115,22,.05);transform:translateY(-2px);}
.btn-outline-white{border:1.5px solid rgba(255,255,255,.25);color:#fff;background:rgba(255,255,255,.05);}
.btn-outline-white:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.1);transform:translateY(-2px);}

/* ─── Cards ─── */
.card{background:var(--dark-800);border:1px solid var(--border);transition:border-color .3s,transform .3s,box-shadow .3s;}
.card:hover{border-color:var(--brand);transform:translateY(-5px);box-shadow:0 16px 48px rgba(249,115,22,.12);}
.feat-icon{width:72px;height:72px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;transition:transform .3s,box-shadow .3s;}
.card:hover .feat-icon{transform:scale(1.08);box-shadow:0 8px 24px rgba(249,115,22,.25);}

/* ─── Hero ─── */
/* 1. L'container r2issi */
.hero-bg {
  position: relative;
  overflow: hidden; /* Bach tswira matkherjch mn l'container mnin dir zoom */
  /* Zid hna l'height w width li bghiti, matalan: */
  width: 100%;
  height: 100vh;
}

/* 2. L'background (hnaya fin ghandirou l'animation) */
.hero-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  
  /* L'khedma dyalk li 3titini */
  background-image: url("images/hero-bg.webp");
  background-size: cover;
  background-position: center;
  
  z-index: -1; /* Bach tswira tbqa dima lor w tban lktaba li foqha */
  
  /* L'animation (katssema zoomInBg, katw9e3 f 15s, w kat3awd dima) */
  animation: zoomInBg 15s ease-in-out infinite alternate;
}

/* 3. L'keyframes dyal l'animation */
@keyframes zoomInBg {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* 1.15 kat3ni ghat-zoomi b 15%. T9der tbedelha (ex: 1.1 wla 1.2) */
  }
}
.hero-overlay{background:linear-gradient(180deg,rgba(10,10,10,0.55) 0%,rgba(10,10,10,0.88) 95%,rgba(10,10,10,1) 100%);}
.text-gradient{background:linear-gradient(135deg,var(--brand),#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.trust-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:#aaa;padding:.45rem .9rem;border-radius:100px;border:1px solid var(--border);background:rgba(255,255,255,.03);backdrop-filter:blur(8px);}
.trust-badge i{font-size:.85rem;}

/* ─── Slider ─── */
.slider-wrapper{overflow:hidden;width:100%;position:relative;}
.slider-wrapper::before,.slider-wrapper::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;}
.slider-wrapper::before{left:0;background:linear-gradient(90deg,var(--dark-900),transparent);}
.slider-wrapper::after{right:0;background:linear-gradient(-90deg,var(--dark-900),transparent);}
.slider-track{display:flex;gap:16px;will-change:transform;}
.slide-item{flex:0 0 auto;border-radius:10px;overflow:hidden;border:2px solid transparent;transition:border-color .3s,transform .3s,box-shadow .3s;cursor:pointer;position:relative;}
.slide-item img{width:100%;height:100%;object-fit:cover;display:block;border:2px solid #e89848;}
.slide-item:hover{border-color:var(--brand);transform:scale(1.05);box-shadow:0 20px 40px rgba(249,115,22,.3);}
.slide-item{width:160px;aspect-ratio:2/3;}
@media(min-width:480px){.slide-item{width:180px;}}
@media(min-width:768px){.slide-item{width:210px;}}
@media(min-width:1024px){.slide-item{width:230px;}}

/* ─── Pricing ─── */
.price-col{display:flex;flex-direction:column;background:var(--dark-800);border:1px solid var(--border);position:relative;overflow:hidden;transition:border-color .3s,box-shadow .3s;}
.price-col:hover{border-color:rgba(249,115,22,.4);box-shadow:0 12px 40px rgba(249,115,22,.08);}
.price-col-featured{background:linear-gradient(180deg,#1e1008 0%,var(--dark-800) 60%);border-color:var(--brand) !important;box-shadow:0 0 40px rgba(249,115,22,.2) !important;z-index:5;}
.price-header{padding:20px 24px;text-align:center;border-bottom:1px solid var(--border);font-weight:800;font-size:1.1rem;letter-spacing:.08em;}
.price-feature-row{padding:11px 0;font-size:.83rem;color:var(--text-muted);border-bottom:1px solid var(--border);text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px;}
.price-feature-row:last-child{border-bottom:none;}
.price-feature-row i{color:var(--accent);font-size:.9rem;}
.popular-badge{position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(-1px);background:linear-gradient(90deg,var(--brand),#fbbf24);color:#000;font-size:.65rem;font-weight:900;padding:.25rem 1.1rem;border-radius:0 0 8px 8px;letter-spacing:.1em;white-space:nowrap;}


/* ─── Payment icons strip ─── */
.payment-icons {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
flex-wrap: wrap;
padding: 10px 0 4px;
border-top: 1px solid var(--border);
margin-top: 10px;
}
.payment-icons i {
font-size: 1.35rem;
color: #666;
transition: color .2s;
}
.payment-icons i:hover { color: #aaa; }
.payment-icons .pay-label {
font-size: .6rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
color: #444;
width: 100%;
text-align: center;
margin-bottom: 2px;
}
/* ─── Steps ─── */
.step-circle{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,var(--brand),#c94e00);box-shadow:0 0 28px rgba(249,115,22,.35);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.35rem;color:#fff;flex-shrink:0;}
@keyframes pRing{0%{box-shadow:0 0 0 0 rgba(249,115,22,.6);}70%{box-shadow:0 0 0 18px rgba(249,115,22,0);}100%{box-shadow:0 0 0 0 rgba(249,115,22,0);}}
.pulse{animation:pRing 2.4s ease-out infinite;}

/* ─── Sections ─── */
.sec-alt{background:var(--dark-800);}
.sec-main{background:var(--dark-900);}
.stat-num{font-size:3rem;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--brand),#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.cta-banner{background:linear-gradient(135deg,#1a0800 0%,#1a1000 40%,#001a0a 100%);border-top:1px solid rgba(249,115,22,.2);border-bottom:1px solid rgba(249,115,22,.2);}

/* ─── WhatsApp floating btn ─── */
#waBtn{position:fixed;bottom:28px;right:28px;z-index:9999;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#25D366,#1da851);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.45);transition:transform .25s,box-shadow .25s;}
#waBtn:hover{transform:scale(1.08);box-shadow:0 8px 32px rgba(37,211,102,.6);}
@keyframes waPulse{0%,100%{box-shadow:0 6px 24px rgba(37,211,102,.45);}50%{box-shadow:0 6px 30px rgba(37,211,102,.7);}}
#waBtn{animation:waPulse 3s ease-in-out infinite;}

.sec-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);}
[data-aos]{pointer-events:none;}
[data-aos].aos-animate{pointer-events:auto;}
#mobileMenu{transition:opacity .2s;}
#mobileMenu.hidden{opacity:0;}
#mobileMenu:not(.hidden){opacity:1;}
details[open]{border-color:rgba(249,115,22,.4) !important;box-shadow:0 4px 24px rgba(249,115,22,.08);}
details[open] summary{color:var(--brand) !important;}
details summary:focus{outline:none;}

/* ─── Reviews ─── */
.reviews-score-ring{width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--brand) 0% 97%,var(--border) 97% 100%);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;}
.reviews-score-ring::after{content:'';position:absolute;inset:10px;border-radius:50%;background:var(--dark-800);}
.reviews-score-inner{position:relative;z-index:1;text-align:center;line-height:1;}
.reviews-score-inner .score-num{font-size:2.2rem;font-weight:900;color:#fff;}
.reviews-score-inner .score-max{font-size:.8rem;color:var(--text-muted);font-weight:600;}
.star-bar-track{flex:1;height:8px;border-radius:100px;background:var(--dark-700);overflow:hidden;}
.star-bar-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,var(--brand),#fbbf24);transition:width .8s ease;}
.review-card{background:var(--dark-800);border:1px solid var(--border);border-radius:16px;padding:1.5rem;transition:border-color .3s,transform .3s,box-shadow .3s;display:flex;flex-direction:column;gap:.9rem;}
.review-card:hover{border-color:rgba(249,115,22,.4);transform:translateY(-4px);box-shadow:0 16px 40px rgba(249,115,22,.1);}
.verified-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.65rem;font-weight:700;color:var(--accent);background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);border-radius:100px;padding:.2rem .6rem;}
.platform-tag{font-size:.65rem;font-weight:700;padding:.2rem .65rem;border-radius:6px;border:1px solid var(--border);color:var(--text-muted);}
.stars-filled{color:#fbbf24;}
.star-icon{font-size:.9rem;}
.avatar-circle{width:42px;height:42px;border-radius:50%;font-weight:800;font-size:1rem;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tp-bar{background:linear-gradient(135deg,#0a1a0f 0%,#0f1a0a 60%,#1a0a00 100%);border:1px solid rgba(16,185,129,.15);border-radius:16px;padding:1.5rem 2rem;}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;}
@media(max-width:640px){
  .reviews-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.75rem;padding-bottom:1rem;-webkit-overflow-scrolling:touch;}
  .reviews-grid::-webkit-scrollbar{height:4px;}
  .reviews-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}
  .review-card{min-width:280px;scroll-snap-align:start;}
}

/* ─── Category cards ─── */
/* ── Category section ── */
/* ══ CATEGORY GRID — 2×2 desktop, 1-col mobile, content at bottom center ══ */
.cf-cat-section{padding:80px 0;background:var(--dark-900);}
.cf-wrapper{max-width:1400px;margin:0 auto;padding:0 20px;}
@media(min-width:640px){.cf-wrapper{padding:0 32px;}}

.cf-cat-header{text-align:center;margin-bottom:50px;}
.cf-cat-label{display:block;color:var(--brand);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:4px;margin-bottom:12px;}
.cf-cat-title{font-size:clamp(22px,4vw,36px);font-weight:800;color:#e2ecf8;line-height:1.3;letter-spacing:-0.3px;}

/* Grid: 2 columns on desktop */
.cf-cat-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
/* 1 column on mobile */
@media(max-width:640px){
  .cf-cat-grid{grid-template-columns:1fr;}
}

/* Card base */
.cf-cat-card{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  display:flex;
  align-items:flex-end;   /* content sits at the bottom */
  cursor:pointer;
  min-height:320px;
  transition:transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow:0 8px 28px rgba(0,0,0,0.6);
}
@media(max-width:640px){.cf-cat-card{min-height:250px;}}

.cf-cat-card:hover{
  transform:translateY(-5px) scale(1.015);
  box-shadow:0 22px 55px rgba(249,115,22,0.22);
}

/* Gradient: strong dark at bottom, fades to transparent at top */
.cf-cat-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,0.90) 0%,
    rgba(0,0,0,0.60) 38%,
    rgba(0,0,0,0.20) 65%,
    rgba(0,0,0,0.00) 100%
  );
  z-index:1;
  transition:background 0.3s ease;
}
.cf-cat-card:hover .cf-cat-overlay{
  background:linear-gradient(
    to top,
    rgba(0,0,0,0.96) 0%,
    rgba(0,0,0,0.72) 42%,
    rgba(0,0,0,0.30) 68%,
    rgba(0,0,0,0.05) 100%
  );
}

/* Body: centered column, all content at card bottom */
.cf-cat-body{
  position:relative;
  z-index:2;
  padding:24px 28px 30px;
  width:100%;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

/* Icon */
.cf-cat-body > i{
  font-size:2rem;
  color:#fff;
  margin-bottom:4px;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,0.5));
}

/* Title */
.cf-cat-body h3{
  font-size:clamp(16px,2vw,22px);
  font-weight:900;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:2px;
  margin:0;
  text-shadow:0 2px 10px rgba(0,0,0,0.7);
  line-height:1.2;
}

/* Description */
.cf-cat-body p{
  font-size:13px;
  color:rgba(255,255,255,0.80);
  line-height:1.6;
  margin:0;
  max-width:360px;
}

/* Button — solid orange, no gradient, matches screenshot */
.cf-cat-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--brand);
  color:#fff;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  padding:11px 26px;
  border-radius:7px;
  margin-top:6px;
  transition:background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
  box-shadow:0 4px 18px rgba(249,115,22,0.5);
  text-transform:uppercase;
  letter-spacing:1px;
  white-space:nowrap;
}
.cf-cat-btn:hover{
  background:#e8650a;
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(249,115,22,0.7);
}


/* ─── Marquee ─── */
.cf-marquee-section{position:relative;height:450px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--dark-900);}
.cf-marquee{position:absolute;width:180vw;left:-40vw;padding:10px 0;white-space:nowrap;font-family:'Outfit',sans-serif;font-weight:700;font-size:4rem;letter-spacing:-1px;text-transform:uppercase;}
@media(max-width:992px){.cf-marquee{font-size:2.5rem;}.cf-track span{margin-right:30px;}}
@media(max-width:768px){.cf-marquee{font-size:1.6rem;}.cf-track span{margin-right:16px;}.cf-marquee i{margin:0 10px;}.cf-marquee-section{height:260px;}}
@media(max-width:480px){.cf-marquee{font-size:1.2rem;}.cf-track span{margin-right:12px;}.cf-marquee-section{height:220px;}}
.cf-main-ribbon{background-color:var(--dark-800);color:var(--text-muted);transform:rotate(-8deg);z-index:1;}
.cf-main-ribbon i{color:var(--brand);}
.cf-accent-ribbon{background:linear-gradient(135deg,var(--brand),#e8650a);color:#fff;transform:rotate(6deg);z-index:2;box-shadow:0 0 60px rgba(249,115,22,0.4);}
.cf-marquee i{margin:0 15px;font-size:0.8em;color:inherit;}
.cf-track{display:inline-block;padding-left:0;will-change:transform;}
.cf-track-left{animation:cf-scroll-right 40s linear infinite;}
.cf-track-right{animation:cf-scroll-left 45s linear infinite;}
.cf-track span{display:inline-flex;align-items:center;margin-right:40px;}
@media(max-width:768px){.cf-track span{margin-right:20px;}}
@keyframes cf-scroll-left{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
@keyframes cf-scroll-right{0%{transform:translateX(-50%);}100%{transform:translateX(0);}}


/* ─── Premium Section Styles VIP ─── */
.premium-card {
  /* Background smooth w mwe7ed bla t9ti3 */
  background: linear-gradient(145deg, #160a03 0%, #0a0500 50%, #111111 100%);
  border: 2px solid rgba(249, 115, 22, 0.3);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.8), 0 0 40px rgba(249, 115, 22, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.premium-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.9), 0 0 60px rgba(249, 115, 22, 0.2);
  border-color: var(--brand);
}

.premium-badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #fbbf24, var(--brand));
  color: #000;
  font-size: 0.75rem;
  font-weight: 900;
  padding: 8px 24px;
  border-radius: 0 0 12px 12px;
  letter-spacing: 0.1em;
  z-index: 20;
  box-shadow: 0 10px 20px rgba(249, 115, 22, 0.4);
  white-space: nowrap;
}

@media (min-width: 1024px) {
  .premium-badge {
    left: 40px;
    transform: none;
    font-size: 0.95rem;
    padding: 12px 28px;
  }
}

/* Efectos de luz traseros (Fixing the hard vertical line) */
.premium-bg-glow-1 {
  position: absolute;
  top: -20%;
  left: -20%;
  width: 140%; /* Kbernah bach mayt9t3ch f nss */
  height: 140%;
  background: radial-gradient(circle at 50% 0%, rgba(249, 115, 22, 0.12) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}

.premium-bg-glow-2 {
  display: none; /* Khfinah f mobile bach yb9a design n9i */
}

@media (min-width: 1024px) {
  .premium-bg-glow-2 {
    display: block;
    position: absolute;
    bottom: -30%;
    right: -10%;
    width: 80%;
    height: 100%;
    background: radial-gradient(circle at 100% 100%, rgba(249, 115, 22, 0.08) 0%, transparent 60%);
    pointer-events: none;
    z-index: 0;
  }
}

/* 🚀 Caja de Precio - ASPECTO DE TARJETA EN MÓVIL 🚀 */
.premium-price-box {
  /* Background jdid n9i w mtayeb f mobile */
  background: linear-gradient(145deg, #180c05 0%, #0a0a0a 100%);
  border: 1px solid rgba(249, 115, 22, 0.2);
  box-shadow: inset 0 0 20px rgba(249, 115, 22, 0.05), 0 10px 30px rgba(0,0,0,0.4);
}

@media (min-width: 1024px) {
  .premium-price-box {
    background: linear-gradient(180deg, rgba(249, 115, 22, 0.03) 0%, rgba(0, 0, 0, 0.4) 100%);
    border-top: none;
    border-right: none;
    border-bottom: none;
    border-left: 1px solid rgba(249, 115, 22, 0.2);
    box-shadow: none;
  }
}

/* Botón Premium */
.btn-premium {
  background: linear-gradient(135deg, var(--brand), #cc5500);
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  padding: 16px 24px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  box-shadow: 0 8px 25px rgba(249, 115, 22, 0.4);
  transition: all 0.3s ease;
  animation: premiumPulse 2s infinite;
}

@media (min-width: 640px) {
  .btn-premium { font-size: 1.15rem; padding: 18px 40px; gap: 12px; }
}

.btn-premium:hover {
  transform: scale(1.05);
  box-shadow: 0 15px 40px rgba(249, 115, 22, 0.6);
  color: #fff;
}

@keyframes premiumPulse {
  0% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.6); }
  70% { box-shadow: 0 0 0 20px rgba(249, 115, 22, 0); }
  100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0); }
}


