@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@300;400;500;600;700&display=swap');

/* ============================================================
   PLANÈTE BLEUE — CSS COMPLET v2
   ============================================================ */
:root {
  --primary:#1565c0;--primary-dark:#0d47a1;--primary-light:#42a5f5;
  --secondary:#0a1f3d;--accent:#b8860b;--gold:#c9a84c;--gold-light:#e8c96c;
  --bg:#f2f6fb;--white:#fff;--text:#1a2a3a;--muted:#607080;--border:#d8e4f0;
  --danger:#c0392b;--success:#1a7a4a;
  --prm-bg:#080e1a;--prm-surface:#0d1726;--prm-card:#111d30;
  --prm-gold:#c9a84c;--prm-gold2:#e8c96c;--prm-text:#dce8f5;--prm-muted:rgba(220,232,245,.45);
  --r:18px;--r-sm:12px;
  --sh:0 4px 24px rgba(10,31,61,.08);--sh-lg:0 16px 56px rgba(10,31,61,.16);
  --sh-gold:0 8px 32px rgba(201,168,76,.28);
  --f-display:'Cormorant Garamond',Georgia,serif;
  --f-body:'DM Sans',system-ui,sans-serif;
  --ease:cubic-bezier(.25,.46,.45,.94);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f-body);background:var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1200px,92%);margin:auto}

/* ── KEYFRAMES ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes fadeLeft{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:none}}
@keyframes fadeRight{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:none}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes gradShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,.5)}70%{box-shadow:0 0 0 14px rgba(201,168,76,0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes twinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.7)}}
@keyframes lineGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes cardIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@keyframes heroText{from{opacity:0;transform:translateY(20px) skewY(1deg)}to{opacity:1;transform:none}}
@keyframes orb{0%,100%{transform:scale(1) translate(0,0)}33%{transform:scale(1.08) translate(12px,-8px)}66%{transform:scale(.95) translate(-8px,10px)}}

/* ── SCROLL REVEAL ── */
.reveal,.reveal-l,.reveal-r{transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal{opacity:0;transform:translateY(36px)}
.reveal-l{opacity:0;transform:translateX(-36px)}
.reveal-r{opacity:0;transform:translateX(36px)}
.reveal.on,.reveal-l.on,.reveal-r.on{opacity:1;transform:none}

/* ── TOPBAR ── */
.topbar{position:sticky;top:0;z-index:200;
  background:rgba(255,255,255,.96);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(216,228,240,.7);
  box-shadow:0 2px 16px rgba(10,31,61,.05);
  transition:box-shadow .3s,background .3s}
.topbar.scrolled{box-shadow:0 4px 28px rgba(10,31,61,.12)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:16px}

.logo{display:flex;align-items:center;gap:12px}
.logo-img{height:56px;width:auto;object-fit:contain;
  transition:transform .4s var(--ease),filter .3s}
.logo:hover .logo-img{transform:scale(1.06)}
.logo-text strong{display:block;font-family:var(--f-display);font-size:1.25rem;font-weight:700;color:var(--secondary);line-height:1.1}
.logo-text strong em{font-style:normal;color:var(--primary)}
.logo-text small{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

.menu{display:flex;align-items:center;gap:2px}
.menu a{font-size:.88rem;font-weight:500;color:var(--text);padding:8px 13px;border-radius:10px;
  transition:color .2s,background .2s;position:relative}
.menu a::after{content:'';position:absolute;bottom:4px;left:13px;right:13px;height:2px;
  background:var(--primary);border-radius:2px;transform:scaleX(0);transition:transform .3s var(--ease)}
.menu a:hover{color:var(--primary);background:rgba(21,101,192,.06)}
.menu a:hover::after{transform:scaleX(1)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--secondary);
  width:36px;height:36px;border-radius:8px;font-size:1.2rem;transition:background .2s}
.menu-toggle:hover{background:var(--bg)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:var(--r-sm);background:var(--primary);color:#fff;
  border:none;cursor:pointer;font-weight:600;font-size:.9rem;font-family:var(--f-body);
  transition:transform .3s var(--ease),box-shadow .3s,background .3s;
  position:relative;overflow:hidden;letter-spacing:.015em;white-space:nowrap}
.btn::after{content:'';position:absolute;inset:0;
  background:linear-gradient(rgba(255,255,255,.15),transparent);
  opacity:0;transition:opacity .25s}
.btn:hover::after{opacity:1}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(21,101,192,.3)}
.btn:active{transform:none}
.btn-outline{background:transparent;border:2px solid rgba(255,255,255,.75);color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.12);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.btn-outline-dark{background:transparent;border:2px solid var(--primary);color:var(--primary)}
.btn-outline-dark:hover{background:var(--primary);color:#fff}
.btn-gold{background:linear-gradient(135deg,#b8860b,var(--gold),#e8c96c);background-size:200%;color:#fff;animation:gradShift 4s ease infinite}
.btn-gold:hover{box-shadow:var(--sh-gold)}
.btn-danger{background:var(--danger)}
.btn-danger:hover{box-shadow:0 8px 24px rgba(192,57,43,.35)}
.btn-success{background:var(--success)}
.btn-sm{padding:8px 14px;font-size:.82rem;border-radius:10px}
.btn-soft{background:rgba(21,101,192,.08);color:var(--primary)}
.btn-soft:hover{background:var(--primary);color:#fff}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}
.btn-ghost:hover{background:var(--bg);color:var(--text)}

/* ── HERO ── */
.hero{min-height:92vh;display:flex;align-items:center;
  background:linear-gradient(145deg,#061428 0%,#0d2a52 45%,#0a1f3d 100%);
  color:#fff;position:relative;overflow:hidden;padding:80px 0}
.hero-orb{position:absolute;border-radius:50%;pointer-events:none;animation:orb 9s ease-in-out infinite}
.hero-orb:nth-child(1){width:600px;height:600px;top:-200px;right:-150px;
  background:radial-gradient(circle,rgba(21,101,192,.18),transparent 70%);animation-delay:0s}
.hero-orb:nth-child(2){width:400px;height:400px;bottom:-120px;left:-100px;
  background:radial-gradient(circle,rgba(201,168,76,.12),transparent 70%);animation-delay:3s}
.hero-orb:nth-child(3){width:200px;height:200px;top:40%;left:35%;
  background:radial-gradient(circle,rgba(66,165,245,.08),transparent 70%);animation-delay:6s}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;position:relative;z-index:1}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;
  background:rgba(201,168,76,.14);border:1px solid rgba(201,168,76,.3);
  color:var(--gold-light);padding:7px 16px;border-radius:999px;
  font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  margin-bottom:22px;animation:fadeLeft .6s var(--ease) .1s both}
.hero-eyebrow > span:first-child{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:pulse 2s infinite;flex-shrink:0}
.hero h1{font-family:var(--f-display);font-size:clamp(2.2rem,4.8vw,3.8rem);
  font-weight:700;line-height:1.08;margin-bottom:22px;
  animation:heroText .7s var(--ease) .2s both}
.hero h1 em{font-style:normal;color:var(--gold-light)}
.hero-desc{font-size:1.02rem;color:rgba(255,255,255,.72);max-width:500px;
  line-height:1.8;margin-bottom:36px;animation:fadeLeft .6s var(--ease) .35s both}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;animation:fadeLeft .6s var(--ease) .45s both}
.hero-stats{display:flex;gap:32px;margin-top:48px;animation:fadeLeft .6s var(--ease) .55s both}
.hero-stat-val{font-family:var(--f-display);font-size:1.9rem;font-weight:700;color:#fff;line-height:1}
.hero-stat-label{font-size:.76rem;color:rgba(255,255,255,.5);margin-top:4px;letter-spacing:.04em}

.search-card{background:rgba(255,255,255,.97);backdrop-filter:blur(24px);
  border-radius:24px;padding:32px;box-shadow:0 32px 80px rgba(0,0,0,.28);
  animation:fadeRight .7s var(--ease) .3s both;border:1px solid rgba(255,255,255,.5)}
.search-card-title{font-family:var(--f-display);font-size:1.4rem;color:var(--secondary);
  margin-bottom:22px;font-weight:700}
.search-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.search-grid .span2{grid-column:1/-1}
.form-label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin-bottom:6px}
input,select,textarea{width:100%;padding:13px 15px;border:1.5px solid var(--border);
  border-radius:11px;background:#f8fafd;color:var(--text);font-family:var(--f-body);
  font-size:.92rem;transition:all .25s var(--ease);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--primary);background:#fff;
  box-shadow:0 0 0 3px rgba(21,101,192,.1)}

/* ── SECTION BASE ── */
.section{padding:90px 0}
.section-alt{background:linear-gradient(180deg,#edf3fa,#fff)}
.section-light{background:#fff}
.section-dark{background:var(--secondary);color:#fff;padding:90px 0}
.section-title{text-align:center;margin-bottom:56px}
.eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--primary);margin-bottom:12px;
  padding:6px 14px;background:rgba(21,101,192,.07);border-radius:999px}
.section-dark .eyebrow{color:var(--gold-light);background:rgba(201,168,76,.12)}
.section-title h2{font-family:var(--f-display);font-size:clamp(1.9rem,3.5vw,2.8rem);
  font-weight:700;color:var(--secondary);margin-bottom:14px}
.section-dark .section-title h2{color:#fff}
.section-title p{color:var(--muted);max-width:580px;margin:auto;line-height:1.75;font-size:.97rem}
.section-dark .section-title p{color:rgba(255,255,255,.6)}

/* ── GRIDS ── */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

/* ── STATS ── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat-card{background:#fff;border-radius:20px;padding:28px 20px;text-align:center;
  box-shadow:var(--sh);border:1px solid var(--border);
  transition:transform .4s var(--ease),box-shadow .4s;
  position:relative;overflow:hidden}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--primary),var(--gold))}
.stat-card:hover{transform:translateY(-7px);box-shadow:var(--sh-lg)}
.stat-card h3{font-family:var(--f-display);font-size:2.6rem;font-weight:700;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px}
.stat-card p{color:var(--muted);font-size:.85rem;font-weight:500;letter-spacing:.03em}

/* ── CARDS ── */
.card{background:#fff;border-radius:22px;overflow:hidden;
  box-shadow:var(--sh);border:1px solid var(--border);
  transition:transform .45s var(--ease),box-shadow .45s;position:relative}
.card:hover{transform:translateY(-10px);box-shadow:var(--sh-lg)}
.card-img{width:100%;height:230px;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .card-img{transform:scale(1.07)}
.card-body{padding:26px}
.card-tag{display:inline-block;background:rgba(21,101,192,.09);color:var(--primary);
  font-weight:700;padding:5px 13px;border-radius:999px;font-size:.78rem;letter-spacing:.03em}
.card h3{font-family:var(--f-display);font-size:1.25rem;font-weight:700;
  color:var(--secondary);margin:12px 0 8px}
.card-text{color:var(--muted);font-size:.9rem;line-height:1.65}
.price-public{font-family:var(--f-display);font-size:1.55rem;font-weight:700;
  color:var(--secondary);margin:14px 0 4px}
.price-public span{font-size:.88rem;font-weight:400;color:var(--muted)}
.price-member-hint{font-size:.8rem;color:var(--muted);margin-bottom:14px}
.price-member-hint a{color:var(--primary);font-weight:600}

/* price tiers */
.price-tiers{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
.ptier{display:flex;flex-direction:column;align-items:center;padding:7px 13px;
  border-radius:10px;font-size:.74rem;border:1px solid var(--border);background:#f6f9fd;color:var(--muted)}
.ptier strong{font-size:.95rem;font-weight:700;color:var(--secondary);margin-top:2px}
.ptier.gold-tier{background:linear-gradient(135deg,rgba(201,168,76,.1),rgba(232,201,108,.06));
  border-color:rgba(201,168,76,.35);color:var(--accent)}
.ptier.gold-tier strong{color:var(--accent)}

/* ── FEATURES ── */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.feature{padding:38px 30px;background:#fff;border-radius:22px;
  box-shadow:var(--sh);border:1px solid var(--border);
  transition:transform .4s var(--ease),box-shadow .4s;
  position:relative;overflow:hidden;text-align:center}
.feature::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--primary),var(--gold));
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.feature:hover::after{transform:scaleX(1)}
.feature:hover{transform:translateY(-7px);box-shadow:var(--sh-lg)}
.feature-icon{width:60px;height:60px;border-radius:16px;margin:0 auto 20px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(21,101,192,.08),rgba(201,168,76,.07));
  transition:transform .4s var(--ease)}
.feature:hover .feature-icon{transform:scale(1.15) rotate(6deg)}
.feature-icon svg{width:26px;height:26px;stroke:var(--primary);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.feature h3{font-family:var(--f-display);font-size:1.15rem;color:var(--secondary);margin-bottom:10px}
.feature p{color:var(--muted);font-size:.9rem;line-height:1.65}

/* ── SOCIAL ── */
.social-row{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.social-btn{display:inline-flex;align-items:center;gap:13px;padding:15px 28px;
  border-radius:16px;font-weight:600;font-size:.95rem;
  border:2px solid;transition:all .35s var(--ease)}
.social-btn svg{width:22px;height:22px}
.social-btn.fb{border-color:#1877f2;color:#1877f2}
.social-btn.fb:hover{background:#1877f2;color:#fff;transform:translateY(-3px);box-shadow:0 10px 24px rgba(24,119,242,.28)}
.social-btn.ig{border-color:#c13584;color:#c13584}
.social-btn.ig:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
  color:#fff;border-color:transparent;transform:translateY(-3px);box-shadow:0 10px 24px rgba(193,53,132,.28)}

/* ── MAP ── */
.map-wrap{border-radius:22px;overflow:hidden;box-shadow:var(--sh-lg);
  border:1px solid var(--border);height:420px}
.map-wrap iframe{width:100%;height:100%;border:none}

/* ── PAGE HERO ── */
.page-hero{padding:72px 0;text-align:center;
  background:linear-gradient(145deg,var(--secondary),var(--primary-dark));
  color:#fff;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='1' fill='rgba(255,255,255,0.04)'/%3E%3C/svg%3E")}
.page-hero h1{font-family:var(--f-display);font-size:clamp(2rem,4vw,3rem);
  font-weight:700;margin-bottom:12px;animation:fadeUp .6s var(--ease) both}
.page-hero p{color:rgba(255,255,255,.72);font-size:1rem;animation:fadeUp .6s var(--ease) .15s both}
.page-hero-line{width:60px;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));
  border-radius:2px;margin:16px auto 0;animation:lineGrow .8s var(--ease) .3s both;transform-origin:left}

/* ── FOOTER ── */
.footer{background:var(--secondary);color:#fff;padding-top:64px;position:relative;overflow:hidden}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--primary),var(--gold),var(--primary));
  background-size:200%;animation:shimmer 4s linear infinite}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px}
.footer-brand-name{font-family:var(--f-display);font-size:1.5rem;font-weight:700;margin-bottom:12px}
.footer-brand-desc{color:rgba(255,255,255,.55);font-size:.9rem;line-height:1.75;margin-bottom:22px}
.footer h4{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-light);margin-bottom:18px}
.footer ul{list-style:none}
.footer ul li{margin-bottom:10px}
.footer ul li a{color:rgba(255,255,255,.55);font-size:.9rem;transition:color .2s,padding-left .2s}
.footer ul li a:hover{color:#fff;padding-left:5px}
.footer-contact-item{color:rgba(255,255,255,.55);font-size:.9rem;margin-bottom:9px;display:flex;align-items:flex-start;gap:10px}
.footer-contact-icon{width:16px;height:16px;stroke:var(--gold);stroke-width:1.8;fill:none;flex-shrink:0;margin-top:2px}
.footer-social{display:flex;gap:10px;margin-top:6px}
.footer-social a{width:38px;height:38px;border-radius:10px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  transition:all .3s var(--ease)}
.footer-social a:hover{background:var(--primary);transform:translateY(-3px)}
.footer-social svg{width:16px;height:16px;fill:rgba(255,255,255,.65);transition:fill .2s}
.footer-social a:hover svg{fill:#fff}
.footer-bottom{padding:20px 0;border-top:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom p{color:rgba(255,255,255,.35);font-size:.82rem}

/* ── FLASH ── */
.flash{padding:14px 18px;border-radius:13px;margin-bottom:20px;font-weight:500;font-size:.92rem;
  animation:fadeUp .4s var(--ease)}
.flash-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}
.flash-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}

/* ── FORM BOX ── */
.form-box{background:#fff;border-radius:22px;padding:34px;box-shadow:var(--sh);border:1px solid var(--border)}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-weight:600;font-size:.83rem;color:var(--secondary);
  letter-spacing:.02em;margin-bottom:7px}

/* ── TABLE ── */
.table-wrap{overflow:auto;border-radius:18px;box-shadow:var(--sh);border:1px solid var(--border)}
.table{width:100%;border-collapse:collapse;background:#fff}
.table th,.table td{padding:14px 16px;border-bottom:1px solid var(--border);text-align:left;font-size:.88rem}
.table th{background:#f6f9fd;font-weight:700;color:var(--secondary);
  font-size:.74rem;letter-spacing:.07em;text-transform:uppercase}
.table tbody tr{transition:background .18s}
.table tbody tr:hover{background:rgba(21,101,192,.028)}
.table tbody tr:last-child td{border-bottom:none}
.table-thumb{width:66px;height:50px;object-fit:cover;border-radius:9px}
code.acte{font-size:.79rem;background:#eef3fa;padding:3px 9px;border-radius:6px;
  font-family:'DM Mono',monospace;color:var(--secondary)}

/* ── BADGES ── */
.badge{display:inline-flex;align-items:center;gap:5px;
  padding:4px 11px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.03em}
.badge-active{background:#d1fae5;color:#065f46}
.badge-expired{background:#fee2e2;color:#9b1c1c}
.badge-warning{background:#fef3c7;color:#78350f}
.sub-pill{display:inline-flex;align-items:center;gap:4px;
  padding:4px 10px;border-radius:999px;font-size:.74rem;font-weight:700;
  background:rgba(21,101,192,.09);color:var(--primary)}
.sub-pill.omra{background:rgba(26,122,74,.1);color:var(--success)}
.sub-pill.expired{background:#fee2e2;color:#9b1c1c}

/* ── UPLOAD ── */
.upload-zone{border:2px dashed var(--border);border-radius:14px;padding:18px;
  background:#f8fafd;transition:all .3s}
.upload-zone:hover{border-color:var(--primary);background:rgba(21,101,192,.03)}
.upload-zone label{display:block;font-weight:600;font-size:.85rem;margin-bottom:10px;color:var(--secondary)}
.thumb-prev{width:100%;max-width:200px;height:130px;object-fit:cover;border-radius:12px;margin:10px 0}
.chk-line{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}

/* ── EXPIRY BAR ── */
.exp-bar-wrap{height:5px;background:rgba(0,0,0,.07);border-radius:3px;overflow:hidden;min-width:70px}
.exp-bar{height:100%;border-radius:3px;transition:width .8s var(--ease)}
.exp-bar.g{background:#22c55e}.exp-bar.w{background:#f59e0b}.exp-bar.r{background:#ef4444}

/* ── ACTIONS ── */
.actions{display:flex;gap:8px;flex-wrap:wrap}

/* ─────────────────────────────────────────
   ADMIN LAYOUT
───────────────────────────────────────── */
.admin-layout{display:grid;grid-template-columns:256px 1fr;min-height:100vh;align-items:start}
.sidebar{background:var(--secondary);color:#fff;padding:0;
  display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar-header{padding:24px 22px 20px;border-bottom:1px solid rgba(255,255,255,.07)}
.sidebar-logo{height:48px;width:auto;object-fit:contain}
.sidebar-title{font-family:var(--f-display);font-size:.9rem;color:rgba(255,255,255,.4);
  margin-top:10px;letter-spacing:.06em;text-transform:uppercase}
.sidebar-section{padding:18px 14px 6px;font-size:.65rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.28)}
.sidebar nav{padding:0 12px;flex:1}
.sidebar a{display:flex;align-items:center;gap:11px;padding:11px 13px;
  border-radius:11px;margin-bottom:3px;color:rgba(255,255,255,.6);font-size:.88rem;
  font-weight:500;transition:all .25s var(--ease)}
.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.1);color:#fff}
.sidebar a.active{background:rgba(21,101,192,.4);color:#fff}
.sidebar-icon{width:17px;height:17px;stroke:currentColor;stroke-width:1.8;fill:none;
  stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sidebar-footer{padding:16px 12px;border-top:1px solid rgba(255,255,255,.07)}
.sidebar-logout{display:flex;align-items:center;gap:10px;width:100%;padding:11px 13px;
  border-radius:11px;border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.5);font-size:.88rem;font-weight:500;cursor:pointer;
  background:none;font-family:var(--f-body);transition:all .25s}
.sidebar-logout:hover{background:rgba(192,57,43,.18);border-color:rgba(192,57,43,.4);color:#fca5a5}

.admin-main{background:#f2f6fb;padding:32px;min-height:100vh}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;
  gap:16px;margin-bottom:32px;flex-wrap:wrap}
.admin-topbar h1{font-family:var(--f-display);font-size:1.9rem;color:var(--secondary);font-weight:700}
.admin-who{display:flex;align-items:center;gap:10px;
  background:#fff;padding:8px 16px 8px 10px;border-radius:12px;
  box-shadow:var(--sh);border:1px solid var(--border)}
.admin-avatar{width:34px;height:34px;border-radius:9px;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:.85rem}
.admin-who-name{font-weight:600;font-size:.85rem;color:var(--secondary)}
.admin-who-role{font-size:.73rem;color:var(--muted)}

.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:32px}
.kpi{background:#fff;border-radius:18px;padding:22px 20px;
  box-shadow:var(--sh);border:1px solid var(--border);
  transition:transform .35s var(--ease),box-shadow .35s;position:relative;overflow:hidden}
.kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.kpi.c1::before{background:var(--primary)}
.kpi.c2::before{background:var(--gold)}
.kpi.c3::before{background:var(--success)}
.kpi.c4::before{background:var(--danger)}
.kpi:hover{transform:translateY(-5px);box-shadow:var(--sh-lg)}
.kpi-icon{width:42px;height:42px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.kpi.c1 .kpi-icon{background:rgba(21,101,192,.1)}
.kpi.c2 .kpi-icon{background:rgba(201,168,76,.12)}
.kpi.c3 .kpi-icon{background:rgba(26,122,74,.1)}
.kpi.c4 .kpi-icon{background:rgba(192,57,43,.1)}
.kpi-icon svg{width:20px;height:20px;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.kpi.c1 .kpi-icon svg{stroke:var(--primary)}
.kpi.c2 .kpi-icon svg{stroke:var(--gold)}
.kpi.c3 .kpi-icon svg{stroke:var(--success)}
.kpi.c4 .kpi-icon svg{stroke:var(--danger)}
.kpi-val{font-family:var(--f-display);font-size:2.1rem;font-weight:700;color:var(--secondary);line-height:1}
.kpi-label{font-size:.8rem;color:var(--muted);margin-top:5px;font-weight:500}

/* ─────────────────────────────────────────
   LOGIN PAGE (ADMIN)
───────────────────────────────────────── */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,var(--secondary),var(--primary-dark));padding:40px 20px}
.login-card{width:100%;max-width:420px;background:#fff;border-radius:24px;padding:44px;
  box-shadow:0 40px 100px rgba(0,0,0,.3);animation:fadeUp .6s var(--ease)}
.login-logo-wrap{text-align:center;margin-bottom:32px}
.login-logo-img{height:68px;margin:0 auto 14px}
.login-card h2{font-family:var(--f-display);text-align:center;font-size:1.7rem;
  color:var(--secondary);margin-bottom:6px}
.login-card .sub{text-align:center;color:var(--muted);font-size:.88rem;margin-bottom:28px}

/* ─────────────────────────────────────────
   PREMIUM LOGIN
───────────────────────────────────────── */
.prm-login{min-height:100vh;display:flex;background:var(--prm-bg);overflow:hidden}
.prm-login::before{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 15% 85%,rgba(201,168,76,.07),transparent 55%),
             radial-gradient(ellipse at 85% 15%,rgba(21,101,192,.09),transparent 55%);pointer-events:none}
.prm-deco{flex:1;display:flex;align-items:center;justify-content:center;
  padding:64px;position:relative;z-index:1}
.prm-deco-inner{max-width:460px}
.prm-stars{display:flex;gap:6px;margin-bottom:28px}
.prm-stars span{font-size:1.2rem;color:var(--prm-gold);animation:twinkle 2.8s ease-in-out infinite}
.prm-stars span:nth-child(2){animation-delay:.4s}
.prm-stars span:nth-child(3){animation-delay:.8s}
.prm-stars span:nth-child(4){animation-delay:1.2s}
.prm-stars span:nth-child(5){animation-delay:1.6s}
.prm-deco h2{font-family:var(--f-display);font-size:clamp(2.4rem,4vw,3.2rem);
  color:#fff;line-height:1.08;margin-bottom:16px}
.prm-deco h2 em{font-style:normal;
  background:linear-gradient(135deg,var(--prm-gold),var(--prm-gold2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent}
.prm-deco p{color:var(--prm-muted);font-size:.97rem;line-height:1.8;margin-bottom:36px}
.prm-perks{list-style:none}
.prm-perks li{display:flex;align-items:center;gap:12px;color:rgba(220,232,245,.7);
  font-size:.92rem;margin-bottom:14px}
.prm-perk-dot{width:7px;height:7px;border-radius:50%;
  background:linear-gradient(135deg,var(--prm-gold),var(--prm-gold2));flex-shrink:0}

.prm-form-wrap{width:460px;flex-shrink:0;background:var(--prm-surface);
  display:flex;align-items:center;justify-content:center;
  padding:64px 48px;position:relative;z-index:1}
.prm-form-wrap::before{content:'';position:absolute;top:0;left:0;bottom:0;width:1px;
  background:linear-gradient(180deg,transparent,rgba(201,168,76,.35),transparent)}
.prm-form-inner{width:100%}
.prm-form-logo{text-align:center;margin-bottom:36px}
.prm-form-logo img{height:62px;margin:0 auto}
.prm-form-title{font-family:var(--f-display);font-size:1.9rem;color:var(--prm-text);
  text-align:center;margin-bottom:6px;font-weight:600}
.prm-form-sub{color:var(--prm-muted);text-align:center;font-size:.85rem;margin-bottom:36px}
.prm-field{margin-bottom:20px}
.prm-field label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--prm-muted);margin-bottom:8px}
.prm-input{width:100%;padding:15px 18px;
  background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.18);
  border-radius:13px;color:var(--prm-text);font-family:var(--f-body);font-size:.95rem;
  transition:all .3s var(--ease);outline:none}
.prm-input:focus{border-color:var(--prm-gold);background:rgba(201,168,76,.05);
  box-shadow:0 0 0 3px rgba(201,168,76,.1)}
.prm-input::placeholder{color:rgba(220,232,245,.2)}
.btn-prm{width:100%;padding:16px;font-size:.95rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;border:none;border-radius:13px;cursor:pointer;
  font-family:var(--f-body);color:#0a0e1a;
  background:linear-gradient(135deg,#a07010,var(--prm-gold),var(--prm-gold2),var(--prm-gold));
  background-size:300% 100%;animation:gradShift 3.5s ease infinite;
  box-shadow:0 8px 28px rgba(201,168,76,.25);transition:transform .3s,box-shadow .3s;margin-top:8px}
.btn-prm:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(201,168,76,.4)}
.prm-back{text-align:center;margin-top:22px}
.prm-back a{color:var(--prm-muted);font-size:.83rem;transition:color .2s}
.prm-back a:hover{color:var(--prm-gold)}

/* ─────────────────────────────────────────
   PREMIUM CLIENT SPACE
───────────────────────────────────────── */
.prm-page{background:var(--prm-bg);min-height:100vh}
.prm-topbar{background:linear-gradient(90deg,var(--prm-bg),var(--prm-surface));
  border-bottom:1px solid rgba(201,168,76,.1);position:sticky;top:0;z-index:100}
.prm-nav{display:flex;align-items:center;justify-content:space-between;
  padding:14px 40px;gap:20px;max-width:1300px;margin:auto}
.prm-logo-nav img{height:44px}
.prm-user-pill{display:flex;align-items:center;gap:12px}
.prm-avatar{width:40px;height:40px;border-radius:11px;
  background:linear-gradient(135deg,var(--prm-gold),var(--prm-gold2));
  display:flex;align-items:center;justify-content:center;
  color:#0a0e1a;font-weight:800;font-size:.95rem}
.prm-user-name{color:var(--prm-text);font-weight:600;font-size:.88rem}
.prm-user-sub{color:var(--prm-muted);font-size:.74rem}
.prm-badge{display:inline-flex;align-items:center;gap:6px;
  padding:5px 13px;border-radius:999px;
  background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.22);
  color:var(--prm-gold);font-size:.73rem;font-weight:700;letter-spacing:.07em}
.prm-badge::before{content:'';width:6px;height:6px;border-radius:50%;
  background:var(--prm-gold);animation:pulse 2s infinite}
.btn-prm-out{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;
  border-radius:10px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);color:var(--prm-muted);
  font-size:.85rem;font-weight:500;transition:all .3s;cursor:pointer;font-family:var(--f-body)}
.btn-prm-out:hover{background:rgba(192,57,43,.12);border-color:rgba(192,57,43,.25);color:#fca5a5}

.prm-hero{padding:64px 0 48px;
  background:linear-gradient(145deg,var(--prm-bg),var(--prm-surface));
  position:relative;overflow:hidden}
.prm-hero::before{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 25% 60%,rgba(201,168,76,.05),transparent 60%)}
.prm-hero h1{font-family:var(--f-display);font-size:2.6rem;color:var(--prm-text);margin-bottom:10px}
.prm-hero h1 em{font-style:normal;
  background:linear-gradient(135deg,var(--prm-gold),var(--prm-gold2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent}
.prm-hero p{color:var(--prm-muted);font-size:.97rem}

.prm-section{padding:52px 0}
.prm-stitle{margin-bottom:42px}
.prm-stitle .eyebrow{color:var(--prm-gold);background:rgba(201,168,76,.09);
  border:1px solid rgba(201,168,76,.18)}
.prm-stitle h2{font-family:var(--f-display);font-size:2rem;color:var(--prm-text);margin-bottom:8px}
.prm-stitle p{color:var(--prm-muted);font-size:.92rem}

.sub-card{background:var(--prm-surface);border-radius:22px;padding:34px;
  border:1px solid rgba(201,168,76,.15);
  display:flex;align-items:center;gap:36px;margin-bottom:44px;
  position:relative;overflow:hidden}
.sub-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--prm-gold),transparent)}
.sub-card-main{flex:1}
.sub-type-label{font-family:var(--f-display);font-size:2rem;font-weight:700;
  background:linear-gradient(135deg,var(--prm-gold),var(--prm-gold2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:6px}
.sub-desc{color:var(--prm-muted);font-size:.83rem;margin-bottom:18px;text-transform:uppercase;letter-spacing:.06em}
.sub-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.sub-meta-item{background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.09);
  border-radius:12px;padding:14px}
.sub-meta-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--prm-muted);margin-bottom:5px}
.sub-meta-val{color:var(--prm-text);font-size:.92rem;font-weight:500}
.sub-days{text-align:center;flex-shrink:0}
.sub-days-num{font-family:var(--f-display);font-size:3.8rem;font-weight:700;
  color:var(--prm-gold);line-height:1}
.sub-days-lbl{color:var(--prm-muted);font-size:.78rem;margin-top:4px}
.sub-status-active{display:inline-flex;align-items:center;gap:7px;
  padding:5px 14px;border-radius:999px;font-size:.74rem;font-weight:700;
  background:rgba(34,197,94,.1);color:#4ade80;border:1px solid rgba(34,197,94,.18)}
.sub-status-expired{display:inline-flex;align-items:center;gap:7px;
  padding:5px 14px;border-radius:999px;font-size:.74rem;font-weight:700;
  background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.18)}

.prm-card{background:var(--prm-card);border-radius:22px;overflow:hidden;
  border:1px solid rgba(201,168,76,.1);
  transition:transform .5s var(--ease),border-color .4s,box-shadow .5s}
.prm-card:hover{transform:translateY(-12px);border-color:rgba(201,168,76,.28);
  box-shadow:0 28px 64px rgba(0,0,0,.45)}
.prm-card .card-img{height:240px}
.prm-card .card-body{padding:28px}
.prm-card h3{font-family:var(--f-display);color:var(--prm-text);margin:12px 0 8px;font-size:1.25rem}
.prm-card p{color:var(--prm-muted);font-size:.88rem;line-height:1.65}
.prm-price{font-family:var(--f-display);font-size:2rem;font-weight:700;
  background:linear-gradient(135deg,var(--prm-gold),var(--prm-gold2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:14px 0 4px}
.prm-price-orig{font-size:.82rem;color:rgba(220,232,245,.3);
  text-decoration:line-through;margin-bottom:16px}
.btn-prm-card{display:inline-flex;align-items:center;justify-content:center;
  width:100%;padding:13px;border-radius:12px;
  background:linear-gradient(135deg,rgba(201,168,76,.18),rgba(232,201,108,.1));
  border:1px solid rgba(201,168,76,.25);color:var(--prm-gold);
  font-weight:700;font-size:.88rem;letter-spacing:.04em;
  transition:all .35s var(--ease);cursor:pointer;font-family:var(--f-body)}
.btn-prm-card:hover{background:linear-gradient(135deg,var(--prm-gold),var(--prm-gold2));
  color:#0a0e1a;box-shadow:var(--sh-gold)}
.prm-footer{background:rgba(0,0,0,.35);border-top:1px solid rgba(201,168,76,.07);
  padding:26px 0;text-align:center}
.prm-footer p{color:rgba(220,232,245,.22);font-size:.8rem}

/* ─────────────────────────────────────────
   RESERVATION (PREMIUM VERSION)
───────────────────────────────────────── */
.prm-reservation-page{background:var(--prm-bg);min-height:100vh}
.prm-form-section{padding:60px 0}
.prm-form-box{background:var(--prm-surface);border-radius:22px;padding:36px;
  border:1px solid rgba(201,168,76,.14);position:relative;overflow:hidden}
.prm-form-box::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--prm-gold),transparent)}
.prm-form-box h2{font-family:var(--f-display);color:var(--prm-text);margin-bottom:24px;font-size:1.8rem}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .kpi-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .prm-deco{display:none}
  .prm-form-wrap{width:100%}
  .prm-nav{padding:14px 20px}
}
@media(max-width:900px){
  .hero-grid,.grid-3,.grid-2,.feature-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
  .admin-layout{grid-template-columns:1fr}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .admin-layout{display:block;min-height:auto}
  .sidebar{position:relative;height:auto;min-height:auto}
  /* menu-toggle shown, desktop nav links hidden — drawer handles mobile nav */
  .menu-toggle{display:flex;align-items:center;justify-content:center}
  .hero h1{font-size:2rem}
  .search-grid{grid-template-columns:1fr}
  .sub-card{flex-direction:column;gap:24px}
  .sub-meta{grid-template-columns:1fr}
}
@media(max-width:600px){
  .kpi-grid,.stats-grid{grid-template-columns:1fr}
  .prm-login{flex-direction:column}
}

/* Prevent inputs from overflowing form containers */
.form-box{min-width:0;box-sizing:border-box}
.form-box input,.form-box select,.form-box textarea{max-width:100%;min-width:0}

/* Keep acte numbers and latin text LTR in Arabic mode */
html[lang=ar] code.acte,
html[lang=ar] .acte-num,
html[lang=ar] [dir=ltr],
html[lang=ar] .keep-ltr {
  direction: ltr;
  display: inline-block;
  unicode-bidi: isolate;
}
html[lang=ar] .sib-val {
  direction: ltr;
  text-align: left;
}
html[lang=ar] input[type=date],
html[lang=ar] input[type=number],
html[lang=ar] input[type=email],
html[lang=ar] input[type=text] {
  direction: ltr;
  text-align: left;
}

/* ============================================================
   CORRECTIONS & AMÉLIORATIONS RTL + BUGS v5
   ============================================================ */

/* ── FIX: Hero index — search card ne déborde plus ── */
.hero-grid {
  align-items: center;
}
@media (max-width: 1024px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .search-card {
    max-width: 560px;
    margin: 0 auto;
    width: 100%;
  }
}

/* ── FIX: Stats dupliquées — cacher la 2ème section stats sur desktop ── */
.stats-section-secondary {
  display: none;
}

/* ── FIX: Prix à l'envers en mode arabe ── */
html[lang=ar] .price-tiers {
  flex-direction: row-reverse;
}
html[lang=ar] .ptier {
  text-align: right;
}

/* ══════════════════════════════════════════
   AMÉLIORATIONS RTL GLOBALES
══════════════════════════════════════════ */

/* Navigation RTL */
html[lang=ar] .nav {
  flex-direction: row-reverse;
}
html[lang=ar] .menu {
  flex-direction: row-reverse;
}
html[lang=ar] .menu a::after {
  right: 13px;
  left: auto;
  transform-origin: right;
}
html[lang=ar] .menu-toggle {
  order: -1;
}

/* Hero RTL */
html[lang=ar] .hero-grid {
  direction: rtl;
}
html[lang=ar] .hero-eyebrow {
  flex-direction: row-reverse;
  animation-name: fadeRight;
}
html[lang=ar] .hero h1,
html[lang=ar] .hero-desc,
html[lang=ar] .hero-actions,
html[lang=ar] .hero-stats {
  animation-name: fadeRight;
  text-align: right;
}
html[lang=ar] .hero-actions {
  flex-direction: row-reverse;
}
html[lang=ar] .hero-stats {
  flex-direction: row-reverse;
}
html[lang=ar] .search-card {
  direction: rtl;
  text-align: right;
}
html[lang=ar] .search-card-title {
  text-align: right;
}
html[lang=ar] .search-grid {
  direction: rtl;
}

/* Sections & Cards RTL */
html[lang=ar] .section-title {
  direction: rtl;
}
html[lang=ar] .section-title h2,
html[lang=ar] .section-title p {
  text-align: center;
}
html[lang=ar] .card-body {
  direction: rtl;
  text-align: right;
}
html[lang=ar] .card-body h3 {
  text-align: right;
}
html[lang=ar] .card-text {
  text-align: right;
}
html[lang=ar] .card-body > div {
  justify-content: flex-end;
}

/* Boutons RTL dans les cartes */
html[lang=ar] .card-body > div:last-child {
  flex-direction: row-reverse;
}

/* Price tiers RTL */
html[lang=ar] .price-public {
  text-align: right;
}
html[lang=ar] .price-public span {
  direction: ltr;
  display: inline;
}
html[lang=ar] .price-tiers {
  flex-direction: row;
  justify-content: flex-end;
}
html[lang=ar] .ptier {
  align-items: flex-end;
}

/* Stats RTL */
html[lang=ar] .stat-card {
  direction: rtl;
}
html[lang=ar] .stats-grid {
  direction: rtl;
}

/* Footer RTL */
html[lang=ar] .footer-grid {
  direction: rtl;
  text-align: right;
}
html[lang=ar] .footer ul li a:hover {
  padding-left: 0;
  padding-right: 5px;
}
html[lang=ar] .footer-contact-item {
  flex-direction: row-reverse;
  text-align: right;
}
html[lang=ar] .footer-social {
  flex-direction: row-reverse;
  justify-content: flex-end;
}
html[lang=ar] .footer-bottom {
  flex-direction: row-reverse;
}
html[lang=ar] .footer h4 {
  text-align: right;
}

/* Page hero RTL */
html[lang=ar] .page-hero {
  direction: rtl;
}
html[lang=ar] .page-hero h1 {
  animation-name: fadeUp;
}
html[lang=ar] .page-hero-line {
  transform-origin: right;
}

/* Formulaires RTL */
html[lang=ar] .form-box {
  direction: rtl;
  text-align: right;
}
html[lang=ar] .form-group label {
  text-align: right;
}
html[lang=ar] .form-label {
  text-align: right;
}
html[lang=ar] select,
html[lang=ar] textarea {
  direction: rtl;
  text-align: right;
}
html[lang=ar] input[type=text],
html[lang=ar] input[type=email],
html[lang=ar] input[type=tel] {
  direction: rtl;
  text-align: right;
}
html[lang=ar] input[type=date],
html[lang=ar] input[type=number] {
  direction: ltr;
  text-align: left;
}

/* Features RTL */
html[lang=ar] .feature-grid {
  direction: rtl;
}
html[lang=ar] .feature {
  direction: rtl;
}
html[lang=ar] .feature p,
html[lang=ar] .feature h3 {
  text-align: right;
}
html[lang=ar] .feature::after {
  transform-origin: right;
}

/* Flash RTL */
html[lang=ar] .flash {
  direction: rtl;
  text-align: right;
}

/* Espace client RTL */
html[lang=ar] .ec-nav {
  flex-direction: row-reverse;
}
html[lang=ar] .ec-user {
  flex-direction: row-reverse;
}
html[lang=ar] .ec-nav-right {
  flex-direction: row-reverse;
}
html[lang=ar] .sub-card-v2 {
  direction: rtl;
  text-align: right;
}
html[lang=ar] .sub-info-grid {
  direction: rtl;
}
html[lang=ar] .sib {
  text-align: right;
}
html[lang=ar] .ec-actions {
  flex-direction: row-reverse;
}
html[lang=ar] .ec-hero {
  direction: rtl;
  text-align: right;
}
html[lang=ar] .offers-title {
  text-align: right;
}
html[lang=ar] .oc-body {
  direction: rtl;
  text-align: right;
}
html[lang=ar] .oc-meta {
  flex-direction: row-reverse;
}
html[lang=ar] .oc-btns {
  direction: rtl;
}

/* Premium header RTL */
html[lang=ar] .prm-page-nav {
  flex-direction: row-reverse;
}
html[lang=ar] .prm-page-links {
  flex-direction: row-reverse;
}
html[lang=ar] .prm-page-right {
  flex-direction: row-reverse;
}
html[lang=ar] .prm-user-mini {
  flex-direction: row-reverse;
}
html[lang=ar] .prm-user-mini > div {
  text-align: right;
}
html[lang=ar] .lang-sw,
html[lang=ar] .lang-pill {
  flex-direction: row-reverse;
}

/* Info offre RTL */
html[lang=ar] .prm-hero {
  direction: rtl;
  text-align: right;
}
html[lang=ar] .prm-stitle {
  text-align: right;
}
html[lang=ar] .prm-card .card-body {
  direction: rtl;
  text-align: right;
}
html[lang=ar] .sub-card {
  direction: rtl;
}
html[lang=ar] .sub-card-main {
  text-align: right;
}
html[lang=ar] .sub-meta {
  direction: rtl;
}
html[lang=ar] .sub-meta-item {
  text-align: right;
}
html[lang=ar] .prm-price,
html[lang=ar] .prm-price-orig {
  text-align: right;
}
html[lang=ar] .btn-prm-card {
  direction: rtl;
}

/* Offre détail RTL */
html[lang=ar] .reveal-r {
  transform: translateX(36px);
  animation-name: fadeLeft;
}

/* Member banner RTL */
html[lang=ar] [style*="display:flex;align-items:center;gap"] {
  direction: rtl;
}

/* Contenu prix offre.php RTL */
html[lang=ar] [style*="price"] {
  direction: rtl;
}

/* Publications page RTL */
html[lang=ar] .grid-3 {
  direction: rtl;
}

/* Social row RTL */
html[lang=ar] .social-row {
  flex-direction: row-reverse;
}

/* ── AMÉLIORATIONS GÉNÉRALES INDEX ── */

/* Hero: meilleure harmonie */
.hero {
  min-height: 95vh;
}
.hero-grid {
  gap: 48px;
}

/* Stat-cards: correction overflow texte sur mobile */
@media (max-width: 480px) {
  .stat-card h3 {
    font-size: 2rem;
  }
  .hero-stats {
    gap: 20px;
  }
  .hero-stat-val {
    font-size: 1.5rem;
  }
}

/* Cards: overflow propre */
.card-body > div {
  min-width: 0;
}
.card h3 {
  overflow-wrap: break-word;
}

/* Membre banner: flex-wrap amélioré */
.member-banner {
  flex-wrap: wrap;
}

/* Search card amélioré */
.search-card {
  position: relative;
  z-index: 2;
}
.search-grid .span2 {
  grid-column: 1 / -1;
}

/* ── AMÉLIORATION TYPOGRAPHIE ARABE ── */
/* Noto Naskh Arabic : parfait pour les écrans, lisible à toutes tailles */
/* Amiri : gardé pour les grands titres décoratifs */
html[lang=ar] body {
  font-family: 'Noto Naskh Arabic', 'Amiri', system-ui, sans-serif;
  line-height: 2.0;
}
html[lang=ar] h1,
html[lang=ar] h2,
html[lang=ar] h3 {
  font-family: 'Amiri', 'Noto Naskh Arabic', Georgia, serif;
  line-height: 1.6;
  letter-spacing: 0;
}
html[lang=ar] p,
html[lang=ar] li,
html[lang=ar] label,
html[lang=ar] small {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
  letter-spacing: 0;
}
html[lang=ar] .btn {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
  font-size: 1rem;
  letter-spacing: 0;
}
html[lang=ar] .logo-text small {
  font-family: 'Noto Naskh Arabic', sans-serif;
  letter-spacing: 0;
}
html[lang=ar] .menu a,
html[lang=ar] nav a {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
  font-size: .95rem;
  letter-spacing: 0;
}
html[lang=ar] .hero-eyebrow {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
  font-size: .82rem;
  letter-spacing: 0;
}
html[lang=ar] .eyebrow {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
  letter-spacing: 0;
  font-size: .88rem;
}
html[lang=ar] .hero-desc {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
  font-size: 1.12rem;
  line-height: 2.1;
}
html[lang=ar] .hero-stat-label {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
  font-size: .86rem;
  letter-spacing: 0;
}
html[lang=ar] .section-title p {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
  font-size: 1.05rem;
  line-height: 2.0;
}
html[lang=ar] .card-body h3,
html[lang=ar] .card-body h4 {
  font-family: 'Amiri', 'Noto Naskh Arabic', serif;
  font-size: 1.1rem;
  line-height: 1.7;
}
html[lang=ar] .card-text {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
  font-size: .97rem;
  line-height: 1.95;
}
html[lang=ar] .footer-brand-desc,
html[lang=ar] .footer ul li a,
html[lang=ar] .footer-contact-item {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
  font-size: 1rem;
  line-height: 1.9;
}
html[lang=ar] .ptier span {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
  font-size: .85rem;
}
html[lang=ar] .price-public {
  font-family: 'Cormorant Garamond', Georgia, serif;
}
html[lang=ar] input,
html[lang=ar] select,
html[lang=ar] textarea {
  font-family: 'Noto Naskh Arabic', 'Amiri', sans-serif;
}

/* ── NOMBRES : toujours LTR ── */
html[lang=ar] .price-public,
html[lang=ar] .ptier strong,
html[lang=ar] .hero-stat-val,
html[lang=ar] .stat-card h3,
html[lang=ar] .kpi-val,
html[lang=ar] .prm-price,
html[lang=ar] .oc-price,
html[lang=ar] .days-num {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
}

/* ── FIX: offre.php layout RTL ── */
html[lang=ar] .reveal-r {
  transform: translateX(36px);
}
html[lang=ar] .reveal-r.on {
  transform: none;
}

/* Sidebar offre.php RTL */
html[lang=ar] [style*="grid-template-columns:1fr 380px"] {
  direction: rtl;
}

/* ── Fix mobile menu RTL ── */
@media(max-width:900px) {
  html[lang=ar] .menu {
    right: auto;
    left: 4%;
    align-items: flex-end;
  }
}

/* ── Fix: btn dans menu RTL ── */
html[lang=ar] .menu .btn {
  margin-right: 4px;
  margin-left: 0;
}

/* ── Amélioration: info banner membres ── */
html[lang=ar] .reveal[style*="display:flex"] {
  direction: rtl;
  text-align: right;
}
html[lang=ar] .reveal[style*="display:flex"] > div {
  text-align: right;
}


/* ============================================================

/* ============================================================
   MOBILE & RESPONSIVE — v8 FINAL (consolidé, sans doublons)
   ============================================================ */

/* Global overflow fix */
html, body { max-width: 100%; overflow-x: hidden; }
*, *::before, *::after { min-width: 0; }
h1,h2,h3,h4,p,td,th,label,a { overflow-wrap: break-word; word-break: break-word; }

/* Prevent iOS zoom on inputs */
@media (max-width: 600px) {
  input, select, textarea { font-size: 16px !important; }
}

/* ── ADMIN MOBILE ── */
.admin-mobile-bar {
  display: none;
  position: fixed; top: 0; left: 0; right: 0; height: 56px;
  background: var(--secondary); z-index: 999;
  align-items: center; padding: 0 16px; gap: 12px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.admin-mobile-bar img { height: 34px; }
.admin-hamburger {
  background: none; border: none; color: #fff; cursor: pointer;
  padding: 6px; border-radius: 8px; margin-left: auto;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.admin-hamburger:hover { background: rgba(255,255,255,.1); }
.sidebar-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,.55); z-index: 998;
}
.sidebar-overlay.on { display: block; }
.dragging { opacity: .4; }

@media (max-width: 900px) {
  .admin-mobile-bar { display: flex; }
  .admin-main { padding: 16px; padding-top: 68px; }
  .admin-topbar { flex-wrap: wrap; gap: 10px; }
  .admin-topbar h1 { font-size: 1.3rem; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

  /* Sidebar becomes slide-in drawer */
  .sidebar {
    position: fixed !important;
    top: 0; left: -280px; width: 260px; height: 100vh;
    z-index: 999; transition: left .3s ease; overflow-y: auto;
  }
  html[dir=rtl] .sidebar { left: auto; right: -280px; transition: right .3s ease; }
  .sidebar.open { left: 0; }
  html[dir=rtl] .sidebar.open { right: 0; left: auto; }

  /* Admin 2-col forms → single column */
  div[style*="grid-template-columns:minmax(0,440px) 1fr"],
  div[style*="grid-template-columns:minmax(0,400px) 1fr"] {
    display: flex !important; flex-direction: column !important; gap: 20px !important;
  }
}
@media (max-width: 480px) {
  .kpi-grid { grid-template-columns: 1fr; }
  .admin-main { padding: 12px; padding-top: 64px; }
}

/* ── TABLE MOBILE ── */
@media (max-width: 700px) {
  .table-wrap { border-radius: 12px; overflow-x: auto; }
  .table { min-width: 560px; }
  .table th, .table td { padding: 9px 10px; font-size: .78rem; white-space: nowrap; }
}

/* ── FIX ZOOM TABLE ADMIN ── */
.table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}
.table {
  table-layout: auto;
  min-width: 100%;
}
.table th, .table td {
  max-width: 300px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-word;
}
.table th {
  position: sticky;
  top: 0;
  z-index: 1;
}

/* ── PUBLIC HEADER MOBILE ── */
@media (max-width: 900px) {
  .topbar { padding: 0 16px; }
  .nav { padding: 8px 0; }
  .logo-img { height: 46px; }
  .menu-toggle { display: flex !important; }
}

/* ── HERO MOBILE ── */
@media (max-width: 768px) {
  .hero { padding: 48px 0; }
  .hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .hero h1 { font-size: 1.9rem; }
  .hero-actions { flex-direction: column; gap: 10px; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-stats { gap: 18px; justify-content: center; }
  .search-card { margin: 0; }
  .search-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .hero h1 { font-size: 1.6rem; }
  .page-hero { padding: 40px 0; }
  .page-hero h1 { font-size: 1.5rem; }
}

/* ── CARDS GRID MOBILE ── */
@media (max-width: 480px) {
  .grid-3 { grid-template-columns: 1fr !important; }
  .grid-2 { grid-template-columns: 1fr !important; }
}
@media (min-width: 481px) and (max-width: 768px) {
  .grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ── FOOTER MOBILE ── */
@media (max-width: 768px) {
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer { padding-top: 40px; }
  .footer-bottom { flex-direction: column; text-align: center; gap: 8px; }
  .footer-social { justify-content: center; }
}

/* ── FORM BOX MOBILE ── */
@media (max-width: 600px) {
  .form-box { padding: 20px 16px; }
}

/* ── ESPACE CLIENT MOBILE ── */
@media (max-width: 700px) {
  .offers-grid { grid-template-columns: 1fr !important; }
  .sub-info-grid { grid-template-columns: 1fr 1fr !important; }
  .ec-actions { gap: 8px; }
}
@media (max-width: 480px) {
  .sub-info-grid { grid-template-columns: 1fr !important; }
  .ec-hero { padding: 32px 0 24px; }
  .ec-hero h1 { font-size: 1.5rem; }
  .ec-nav { padding: 10px 14px; }
}

/* ── ABONNEMENTS MOBILE ── */
@media (max-width: 600px) {
  .sub-card { flex-direction: column; gap: 20px; }
  .sub-meta { grid-template-columns: 1fr 1fr; }
}

/* ── CONTACT SECTION MOBILE ── */
@media (max-width: 900px) {
  [style*="grid-template-columns:1.2fr .8fr"] { grid-template-columns: 1fr !important; }
}

/* ── PREMIUM LOGIN MOBILE ── */
@media (max-width: 600px) {
  .prm-login { flex-direction: column; }
  .prm-deco { display: none; }
  .prm-form-wrap { padding: 32px 20px !important; width: 100% !important; }
}

/* ── VISAL PAGE ── */
@media (max-width: 600px) {
  #demande-form .form-box { padding: 20px 14px; }
}
