/* ═══════════════════════════════════════════════════════
   IMAGIN.AI — SaaS IA Marketplace Style
   by ORKA / Dumble
   ═══════════════════════════════════════════════════════ */
:root {
  --primary: #6C5CE7;
  --primary-light: #a29bfe;
  --primary-dark: #5a4bd1;
  --accent: #00cec9;
  --accent2: #fd79a8;
  --dark: #0a0a1a;
  --dark2: #141428;
  --dark3: #1e1e3a;
  --gray: #b2b2c8;
  --gray-light: #e8e8f0;
  --white: #ffffff;
  --bg: #f5f5fa;
  --card-bg: #ffffff;
  --gradient1: linear-gradient(135deg, #6C5CE7 0%, #a29bfe 50%, #00cec9 100%);
  --gradient2: linear-gradient(135deg, #0a0a1a 0%, #1e1e3a 100%);
  --shadow: 0 4px 24px rgba(108,92,231,0.10);
  --shadow-lg: 0 12px 48px rgba(108,92,231,0.18);
  --radius: 16px;
  --radius-sm: 10px;
  --transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif; background:var(--bg); color:var(--dark); line-height:1.7; overflow-x:hidden; }
a { text-decoration:none; color:inherit; transition:var(--transition); }
img { max-width:100%; display:block; }
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
.container-lg { max-width:1400px; margin:0 auto; padding:0 24px; }

/* ── NAVBAR ── */
.navbar { position:fixed; top:0; left:0; width:100%; z-index:1000; padding:16px 0; transition:var(--transition); }
.navbar.scrolled { background:rgba(10,10,26,0.95); backdrop-filter:blur(20px); padding:10px 0; box-shadow:0 2px 30px rgba(0,0,0,0.3); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; max-width:1400px; margin:0 auto; padding:0 32px; }
.nav-logo { font-size:24px; font-weight:800; color:var(--white); letter-spacing:-0.5px; display:flex; align-items:center; gap:8px; }
.nav-logo .logo-dot { width:10px; height:10px; border-radius:50%; background:var(--primary); display:inline-block; }
.nav-logo span { background:var(--gradient1); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.nav-links { display:flex; align-items:center; gap:32px; }
.nav-links a { color:var(--gray-light); font-size:14px; font-weight:500; letter-spacing:0.3px; position:relative; }
.nav-links a:hover { color:var(--white); }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px; background:var(--primary); transition:width 0.3s; }
.nav-links a:hover::after { width:100%; }
.nav-cta { padding:10px 24px; background:var(--primary); color:var(--white)!important; border-radius:50px; font-weight:600; font-size:13px; letter-spacing:0.5px; text-transform:uppercase; }
.nav-cta:hover { background:var(--primary-dark); transform:translateY(-2px); box-shadow:0 6px 20px rgba(108,92,231,0.4); }
.nav-cta::after { display:none!important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.hamburger span { width:24px; height:2px; background:var(--white); transition:var(--transition); border-radius:2px; }
.mobile-menu { display:none; position:fixed; top:0; left:0; width:100%; height:100vh; background:rgba(10,10,26,0.98); backdrop-filter:blur(20px); z-index:999; flex-direction:column; align-items:center; justify-content:center; gap:32px; }
.mobile-menu.open { display:flex; }
.mobile-menu a { color:var(--white); font-size:20px; font-weight:600; }
.mobile-close { position:absolute; top:20px; right:24px; width:32px; height:32px; cursor:pointer; }
.mobile-close::before, .mobile-close::after { content:''; position:absolute; width:24px; height:2px; background:var(--white); top:50%; left:50%; }
.mobile-close::before { transform:translate(-50%,-50%) rotate(45deg); }
.mobile-close::after { transform:translate(-50%,-50%) rotate(-45deg); }

/* ── HERO ── */
.hero { min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:center; background:var(--gradient2); position:relative; overflow:hidden; padding:120px 24px 80px; }
.hero::before { content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:radial-gradient(ellipse at 30% 50%, rgba(108,92,231,0.15) 0%, transparent 60%), radial-gradient(ellipse at 70% 30%, rgba(0,206,201,0.10) 0%, transparent 50%); animation:heroGlow 8s ease-in-out infinite alternate; }
@keyframes heroGlow { 0% { transform:scale(1) rotate(0deg); } 100% { transform:scale(1.1) rotate(3deg); } }
.hero-content { position:relative; z-index:2; max-width:900px; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 20px; background:rgba(108,92,231,0.15); border:1px solid rgba(108,92,231,0.3); border-radius:50px; color:var(--primary-light); font-size:13px; font-weight:600; letter-spacing:0.5px; margin-bottom:32px; }
.hero-badge .pulse { width:8px; height:8px; border-radius:50%; background:var(--accent); animation:pulse 2s infinite; }
@keyframes pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:0.5; transform:scale(1.5); } }
.hero h1 { font-size:clamp(36px,6vw,72px); font-weight:800; color:var(--white); line-height:1.1; letter-spacing:-2px; margin-bottom:24px; }
.hero h1 .gradient-text { background:var(--gradient1); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero p { font-size:clamp(16px,2vw,20px); color:var(--gray); max-width:640px; margin:0 auto 40px; line-height:1.7; }
.hero-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.btn-primary { padding:16px 40px; background:var(--primary); color:var(--white); border-radius:50px; font-weight:700; font-size:15px; letter-spacing:0.5px; border:none; cursor:pointer; transition:var(--transition); display:inline-flex; align-items:center; gap:8px; }
.btn-primary:hover { background:var(--primary-dark); transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.btn-secondary { padding:16px 40px; background:transparent; color:var(--white); border-radius:50px; font-weight:600; font-size:15px; border:1px solid rgba(255,255,255,0.2); cursor:pointer; transition:var(--transition); display:inline-flex; align-items:center; gap:8px; }
.btn-secondary:hover { border-color:var(--primary); background:rgba(108,92,231,0.1); transform:translateY(-3px); }

/* ── AI MODELS TICKER ── */
.ticker-section { background:var(--dark); border-top:1px solid rgba(255,255,255,0.05); border-bottom:1px solid rgba(255,255,255,0.05); padding:24px 0; overflow:hidden; }
.ticker-track { display:flex; gap:48px; animation:tickerScroll 30s linear infinite; width:max-content; }
.ticker-track:hover { animation-play-state:paused; }
@keyframes tickerScroll { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
.ticker-item { display:flex; align-items:center; gap:10px; color:var(--gray); font-size:14px; font-weight:500; white-space:nowrap; padding:8px 20px; background:rgba(255,255,255,0.03); border-radius:50px; border:1px solid rgba(255,255,255,0.06); }
.ticker-item svg { flex-shrink:0; }

/* ── SECTION COMMON ── */
.section { padding:100px 0; }
.section-dark { background:var(--dark2); }
.section-header { text-align:center; margin-bottom:64px; }
.section-tag { display:inline-block; padding:6px 16px; background:rgba(108,92,231,0.1); color:var(--primary); font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; border-radius:50px; margin-bottom:16px; }
.section-title { font-size:clamp(28px,4vw,48px); font-weight:800; letter-spacing:-1px; line-height:1.2; margin-bottom:16px; }
.section-title .highlight { background:var(--gradient1); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.section-subtitle { font-size:17px; color:var(--gray); max-width:600px; margin:0 auto; }

/* ── GALLERY / CREATIONS ── */
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.gallery-card { position:relative; border-radius:var(--radius); overflow:hidden; background:var(--card-bg); box-shadow:var(--shadow); transition:var(--transition); cursor:pointer; }
.gallery-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.gallery-card img { width:100%; height:260px; object-fit:cover; transition:transform 0.5s; }
.gallery-card:hover img { transform:scale(1.05); }
.gallery-card-overlay { position:absolute; bottom:0; left:0; right:0; padding:20px; background:linear-gradient(transparent,rgba(0,0,0,0.85)); color:var(--white); }
.gallery-card-overlay h4 { font-size:14px; font-weight:600; margin-bottom:4px; }
.gallery-card-overlay p { font-size:12px; color:var(--gray-light); opacity:0.8; }
.gallery-card .badge-ai { position:absolute; top:12px; left:12px; padding:4px 10px; background:var(--primary); color:var(--white); font-size:11px; font-weight:700; border-radius:6px; letter-spacing:0.5px; }
.gallery-card .badge-hot { position:absolute; top:12px; right:12px; padding:4px 10px; background:var(--accent2); color:var(--white); font-size:11px; font-weight:700; border-radius:6px; }

/* ── FEATURES ── */
.features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.feature-card { padding:40px 32px; border-radius:var(--radius); background:var(--card-bg); border:1px solid var(--gray-light); transition:var(--transition); position:relative; overflow:hidden; }
.feature-card:hover { border-color:var(--primary); transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.feature-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--gradient1); opacity:0; transition:opacity 0.3s; }
.feature-card:hover::before { opacity:1; }
.feature-icon { width:56px; height:56px; border-radius:14px; background:rgba(108,92,231,0.1); display:flex; align-items:center; justify-content:center; margin-bottom:24px; }
.feature-icon svg { width:28px; height:28px; stroke:var(--primary); stroke-width:1.5; fill:none; }
.feature-card h3 { font-size:20px; font-weight:700; margin-bottom:12px; }
.feature-card p { font-size:14px; color:#666; line-height:1.7; }

/* ── PRICING ── */
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pricing-card { padding:40px 32px; border-radius:var(--radius); background:var(--card-bg); border:1px solid var(--gray-light); transition:var(--transition); position:relative; text-align:center; }
.pricing-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.pricing-card.featured { border:2px solid var(--primary); background:linear-gradient(180deg,rgba(108,92,231,0.03) 0%,var(--white) 100%); }
.pricing-card.featured::before { content:'POPULAIRE'; position:absolute; top:-12px; left:50%; transform:translateX(-50%); padding:4px 16px; background:var(--primary); color:var(--white); font-size:11px; font-weight:700; border-radius:50px; letter-spacing:1px; }
.pricing-name { font-size:14px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--gray); margin-bottom:12px; }
.pricing-price { font-size:48px; font-weight:800; letter-spacing:-2px; margin-bottom:4px; }
.pricing-price .currency { font-size:20px; vertical-align:super; }
.pricing-price .period { font-size:14px; font-weight:400; color:var(--gray); }
.pricing-desc { font-size:14px; color:var(--gray); margin-bottom:32px; }
.pricing-features { list-style:none; text-align:left; margin-bottom:32px; }
.pricing-features li { padding:8px 0; font-size:14px; color:#555; display:flex; align-items:center; gap:10px; border-bottom:1px solid rgba(0,0,0,0.05); }
.pricing-features li:last-child { border-bottom:none; }
.pricing-features .check { width:20px; height:20px; flex-shrink:0; }
.pricing-btn { display:block; width:100%; padding:14px; border-radius:50px; font-weight:700; font-size:14px; letter-spacing:0.5px; border:none; cursor:pointer; transition:var(--transition); text-align:center; }
.pricing-btn.primary { background:var(--primary); color:var(--white); }
.pricing-btn.primary:hover { background:var(--primary-dark); transform:translateY(-2px); }
.pricing-btn.outline { background:transparent; color:var(--dark); border:2px solid var(--gray-light); }
.pricing-btn.outline:hover { border-color:var(--primary); color:var(--primary); }

/* ── REASSURANCE ── */
.reassurance { padding:60px 0; background:var(--dark); }
.reassurance-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.reassurance-item { text-align:center; padding:32px 20px; border-radius:var(--radius); background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); transition:var(--transition); }
.reassurance-item:hover { background:rgba(255,255,255,0.06); transform:translateY(-4px); }
.reassurance-item svg { width:48px; height:48px; stroke:var(--primary-light); stroke-width:1.5; fill:none; margin-bottom:16px; }
.reassurance-item h4 { color:var(--white); font-size:15px; font-weight:600; margin-bottom:6px; }
.reassurance-item p { color:var(--gray); font-size:13px; }

/* ── CTA BANNER ── */
.cta-banner { padding:100px 0; background:var(--gradient2); text-align:center; position:relative; overflow:hidden; }
.cta-banner::before { content:''; position:absolute; top:50%; left:50%; width:600px; height:600px; background:radial-gradient(circle,rgba(108,92,231,0.2),transparent 70%); transform:translate(-50%,-50%); }
.cta-banner h2 { font-size:clamp(28px,4vw,44px); font-weight:800; color:var(--white); margin-bottom:16px; position:relative; z-index:2; }
.cta-banner p { color:var(--gray); font-size:17px; margin-bottom:40px; position:relative; z-index:2; }

/* ── FOOTER ── */
.footer { background:var(--dark); padding:60px 0 30px; border-top:1px solid rgba(255,255,255,0.05); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.footer-brand .footer-logo { font-size:22px; font-weight:800; color:var(--white); margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.footer-brand .footer-logo span { background:var(--gradient1); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.footer-brand p { color:var(--gray); font-size:14px; line-height:1.7; max-width:320px; }
.footer-col h4 { color:var(--white); font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:20px; }
.footer-col a { display:block; color:var(--gray); font-size:14px; padding:4px 0; }
.footer-col a:hover { color:var(--primary-light); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.06); padding-top:24px; display:flex; justify-content:space-between; align-items:center; }
.footer-bottom p { color:var(--gray); font-size:13px; }
.footer-bottom a { color:var(--gray); font-size:13px; }
.footer-bottom a:hover { color:var(--primary-light); }

/* ── CONTACT ── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.contact-form { background:var(--card-bg); padding:40px; border-radius:var(--radius); box-shadow:var(--shadow); }
.form-group { margin-bottom:20px; }
.form-group label { display:block; font-size:13px; font-weight:600; color:var(--dark); margin-bottom:6px; letter-spacing:0.3px; }
.form-group input, .form-group textarea, .form-group select { width:100%; padding:14px 18px; border:1px solid var(--gray-light); border-radius:var(--radius-sm); font-size:14px; font-family:inherit; transition:var(--transition); background:var(--bg); }
.form-group input:focus, .form-group textarea:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(108,92,231,0.1); }
.form-group textarea { min-height:140px; resize:vertical; }
.contact-info-card { background:var(--dark2); padding:40px; border-radius:var(--radius); color:var(--white); }
.contact-info-card h3 { font-size:22px; font-weight:700; margin-bottom:24px; }
.contact-info-item { display:flex; gap:16px; align-items:flex-start; margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,0.06); }
.contact-info-item:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.contact-info-item svg { width:24px; height:24px; stroke:var(--primary-light); stroke-width:1.5; fill:none; flex-shrink:0; margin-top:2px; }
.contact-info-item h4 { font-size:14px; font-weight:600; margin-bottom:4px; }
.contact-info-item p { font-size:14px; color:var(--gray); }

/* ── COOKIE BANNER ── */
.cookie-banner { position:fixed; bottom:0; left:0; width:100%; background:var(--dark); border-top:1px solid rgba(255,255,255,0.1); padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; z-index:9999; }
.cookie-banner p { color:var(--gray); font-size:13px; flex:1; }
.cookie-banner a { color:var(--primary-light); text-decoration:underline; }
.cookie-btns { display:flex; gap:8px; }
.cookie-btn { padding:8px 20px; border-radius:50px; font-size:12px; font-weight:600; cursor:pointer; border:none; }
.cookie-btn.accept { background:var(--primary); color:var(--white); }
.cookie-btn.refuse { background:transparent; color:var(--gray); border:1px solid rgba(255,255,255,0.15); }

/* ── REVEAL ANIMATIONS ── */
.reveal { opacity:0; transform:translateY(40px); transition:opacity 0.8s ease, transform 0.8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
@keyframes revealFallback { to { opacity:1; transform:translateY(0); } }
.reveal { animation:revealFallback 0.8s ease 0.5s forwards; }

/* ── ADMIN ── */
.admin-login { min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--gradient2); }
.admin-box { background:var(--dark3); padding:48px; border-radius:var(--radius); width:100%; max-width:400px; border:1px solid rgba(255,255,255,0.08); }
.admin-box h2 { color:var(--white); text-align:center; margin-bottom:32px; font-size:24px; }
.admin-box input { width:100%; padding:14px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:var(--radius-sm); color:var(--white); font-size:14px; margin-bottom:16px; }
.admin-box input:focus { outline:none; border-color:var(--primary); }
.admin-box button { width:100%; padding:14px; background:var(--primary); color:var(--white); border:none; border-radius:50px; font-weight:700; font-size:14px; cursor:pointer; }
.admin-panel { padding:32px; max-width:600px; margin:80px auto; }
.admin-panel h2 { color:var(--white); margin-bottom:24px; }
.domain-card { background:var(--dark3); padding:32px; border-radius:var(--radius); border:1px solid rgba(255,255,255,0.08); }
.domain-card p { color:var(--gray); margin-bottom:24px; font-size:14px; }
.domain-btn { display:inline-block; padding:14px 32px; background:var(--gradient1); color:var(--white); border-radius:50px; font-weight:700; font-size:14px; text-decoration:none; }

/* ── LEGAL PAGES ── */
.legal-page { padding:140px 0 80px; }
.legal-page h1 { font-size:32px; font-weight:800; margin-bottom:32px; }
.legal-page h2 { font-size:20px; font-weight:700; margin-top:32px; margin-bottom:12px; }
.legal-page p, .legal-page li { font-size:14px; color:#555; line-height:1.8; margin-bottom:8px; }
.legal-page ul { margin-left:20px; margin-bottom:16px; }

/* ── SEARCH BAR (NAVBAR) ── */
.nav-search { flex:1; max-width:480px; margin:0 24px; position:relative; }
.nav-search svg { position:absolute; left:14px; top:50%; transform:translateY(-50%); stroke:var(--gray); pointer-events:none; z-index:2; }
.nav-search input { width:100%; padding:10px 16px 10px 42px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12); border-radius:50px; color:var(--white); font-size:14px; font-family:inherit; transition:var(--transition); }
.nav-search input::placeholder { color:var(--gray); }
.nav-search input:focus { outline:none; border-color:var(--primary); background:rgba(255,255,255,0.12); box-shadow:0 0 0 3px rgba(108,92,231,0.2); }
.search-results { position:absolute; top:calc(100% + 8px); left:0; right:0; background:var(--dark2); border:1px solid rgba(255,255,255,0.1); border-radius:var(--radius-sm); max-height:320px; overflow-y:auto; display:none; z-index:100; box-shadow:0 12px 40px rgba(0,0,0,0.5); }
.search-results.active { display:block; }
.search-result-item { display:flex; align-items:center; gap:12px; padding:12px 16px; cursor:pointer; transition:background 0.2s; border-bottom:1px solid rgba(255,255,255,0.05); }
.search-result-item:last-child { border-bottom:none; }
.search-result-item:hover { background:rgba(108,92,231,0.15); }
.search-result-item .sr-badge { padding:3px 8px; background:var(--primary); color:var(--white); font-size:10px; font-weight:700; border-radius:4px; white-space:nowrap; }
.search-result-item .sr-name { color:var(--white); font-size:14px; font-weight:500; }
.search-result-item .sr-cat { color:var(--gray); font-size:12px; }
.search-no-result { padding:20px; text-align:center; color:var(--gray); font-size:14px; }

/* ── WISHLIST HEART BUTTON ── */
.btn-fav { position:absolute; top:12px; right:12px; z-index:5; width:36px; height:36px; border-radius:50%; background:rgba(0,0,0,0.5); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,0.15); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:var(--transition); }
.btn-fav svg { width:18px; height:18px; fill:none; stroke:var(--white); stroke-width:2; transition:var(--transition); }
.btn-fav:hover { background:rgba(253,121,168,0.3); border-color:var(--accent2); transform:scale(1.15); }
.btn-fav.active svg { fill:var(--accent2); stroke:var(--accent2); }
.btn-fav.active { background:rgba(253,121,168,0.2); border-color:var(--accent2); }
.gallery-card .badge-hot { right:56px; }
.nav-wishlist { position:relative; display:flex; align-items:center; }
.nav-wishlist::after { display:none!important; }
.wishlist-count { position:absolute; top:-6px; right:-10px; background:var(--accent2); color:var(--white); font-size:10px; font-weight:700; width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center; }

/* ── CARD STARS + PRICE ── */
.card-stars { margin-top:6px; display:flex; align-items:center; gap:6px; }
.card-stars .stars { color:#ffc107; font-size:13px; letter-spacing:1px; }
.card-stars .stars-count { color:var(--gray-light); font-size:11px; opacity:0.8; }
.card-price { margin-top:4px; font-size:14px; color:var(--white); }
.card-price strong { font-size:16px; font-weight:800; }
.card-price .old-price { text-decoration:line-through; color:var(--gray); font-size:12px; margin-left:6px; opacity:0.7; }

/* ── REVIEWS ── */
.reviews-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.review-card { background:var(--dark3); border:1px solid rgba(255,255,255,0.06); border-radius:var(--radius); padding:28px 24px; transition:var(--transition); }
.review-card:hover { transform:translateY(-4px); border-color:rgba(108,92,231,0.3); box-shadow:0 8px 32px rgba(108,92,231,0.15); }
.review-head { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.review-avatar { width:40px; height:40px; border-radius:50%; background:var(--gradient1); display:flex; align-items:center; justify-content:center; color:var(--white); font-weight:700; font-size:14px; flex-shrink:0; }
.review-head strong { color:var(--white); font-size:14px; display:block; }
.review-date { color:var(--gray); font-size:12px; }
.review-stars { color:#ffc107; font-size:16px; letter-spacing:2px; margin-bottom:12px; }
.review-card p { color:var(--gray); font-size:13px; line-height:1.7; margin-bottom:12px; }
.review-badge { display:inline-block; padding:4px 10px; background:rgba(0,206,201,0.1); color:var(--accent); font-size:11px; font-weight:600; border-radius:50px; }

/* ── NEWSLETTER ── */
.newsletter-section { padding:80px 0; background:var(--bg); }
.newsletter-box { background:var(--dark2); border-radius:var(--radius); padding:60px 48px; display:flex; flex-wrap:wrap; align-items:center; gap:40px; border:1px solid rgba(255,255,255,0.06); }
.newsletter-content { flex:1; min-width:280px; }
.newsletter-content svg { margin-bottom:16px; }
.newsletter-content h3 { color:var(--white); font-size:24px; font-weight:700; margin-bottom:8px; }
.newsletter-content p { color:var(--gray); font-size:15px; }
.newsletter-form { flex:1; min-width:280px; display:flex; gap:12px; }
.newsletter-form input { flex:1; padding:14px 20px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:50px; color:var(--white); font-size:14px; font-family:inherit; }
.newsletter-form input:focus { outline:none; border-color:var(--primary); }
.newsletter-form .btn-primary { white-space:nowrap; padding:14px 32px; }
.newsletter-success { color:var(--accent)!important; font-size:14px; margin-top:12px; width:100%; }

/* ── TVA TOGGLE ── */
.tva-toggle { display:inline-flex; align-items:center; gap:12px; background:rgba(108,92,231,0.1); padding:8px 20px; border-radius:50px; margin-bottom:24px; }
.tva-toggle span { font-size:13px; font-weight:600; color:var(--gray); transition:color 0.3s; }
.tva-toggle span.active { color:var(--primary); }
.tva-switch { width:44px; height:24px; background:var(--gray-light); border-radius:50px; position:relative; cursor:pointer; transition:background 0.3s; }
.tva-switch::after { content:''; position:absolute; top:3px; left:3px; width:18px; height:18px; background:var(--white); border-radius:50%; transition:transform 0.3s; box-shadow:0 2px 4px rgba(0,0,0,0.2); }
.tva-switch.ttc { background:var(--primary); }
.tva-switch.ttc::after { transform:translateX(20px); }

/* ── PROMO CODE ── */
.promo-box { background:rgba(108,92,231,0.05); border:1px dashed var(--primary); border-radius:var(--radius-sm); padding:16px 20px; margin-top:16px; display:flex; gap:10px; align-items:center; }
.promo-box input { flex:1; padding:10px 14px; border:1px solid var(--gray-light); border-radius:8px; font-size:13px; font-family:inherit; }
.promo-box button { padding:10px 20px; background:var(--primary); color:var(--white); border:none; border-radius:8px; font-weight:600; font-size:13px; cursor:pointer; white-space:nowrap; }
.promo-msg { font-size:12px; margin-top:8px; }
.promo-msg.success { color:var(--accent); }
.promo-msg.error { color:var(--accent2); }

/* ── ADMIN DASHBOARD ── */
.admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:32px; }
.stat-card { background:var(--dark3); border:1px solid rgba(255,255,255,0.06); border-radius:var(--radius-sm); padding:24px 20px; text-align:center; transition:var(--transition); }
.stat-card:hover { border-color:var(--primary); transform:translateY(-2px); }
.stat-card .stat-value { font-size:28px; font-weight:800; color:var(--white); margin-bottom:4px; }
.stat-card .stat-label { font-size:12px; color:var(--gray); text-transform:uppercase; letter-spacing:1px; }
.stat-card .stat-trend { font-size:12px; margin-top:6px; font-weight:600; }
.stat-card .stat-trend.up { color:var(--accent); }
.stat-card .stat-trend.down { color:var(--accent2); }
.admin-section { background:var(--dark3); border:1px solid rgba(255,255,255,0.06); border-radius:var(--radius); padding:28px; margin-bottom:24px; }
.admin-section h3 { color:var(--white); font-size:16px; font-weight:700; margin-bottom:20px; display:flex; align-items:center; gap:8px; }
.admin-tabs { display:flex; gap:8px; margin-bottom:24px; flex-wrap:wrap; }
.admin-tab { padding:8px 20px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:50px; color:var(--gray); font-size:13px; font-weight:500; cursor:pointer; transition:var(--transition); }
.admin-tab.active, .admin-tab:hover { background:var(--primary); color:var(--white); border-color:var(--primary); }
.admin-table { width:100%; border-collapse:collapse; }
.admin-table th { text-align:left; padding:12px 16px; font-size:11px; font-weight:700; color:var(--gray); text-transform:uppercase; letter-spacing:1px; border-bottom:1px solid rgba(255,255,255,0.08); }
.admin-table td { padding:12px 16px; font-size:13px; color:var(--gray-light); border-bottom:1px solid rgba(255,255,255,0.04); }
.admin-table tr:hover td { background:rgba(108,92,231,0.05); }
.status-badge { padding:4px 10px; border-radius:50px; font-size:11px; font-weight:600; }
.status-badge.success { background:rgba(0,206,201,0.15); color:var(--accent); }
.status-badge.pending { background:rgba(255,193,7,0.15); color:#ffc107; }
.status-badge.failed { background:rgba(253,121,168,0.15); color:var(--accent2); }
.admin-btn { padding:8px 20px; border-radius:8px; font-size:12px; font-weight:600; cursor:pointer; border:none; transition:var(--transition); }
.admin-btn.primary { background:var(--primary); color:var(--white); }
.admin-btn.outline { background:transparent; color:var(--gray); border:1px solid rgba(255,255,255,0.15); }
.admin-btn:hover { transform:translateY(-1px); }
.chart-container { position:relative; height:250px; margin-bottom:16px; }

/* ── PWA INSTALL PROMPT ── */
.pwa-prompt { position:fixed; bottom:24px; right:24px; background:var(--dark2); border:1px solid rgba(108,92,231,0.3); border-radius:var(--radius); padding:20px 24px; display:none; z-index:9998; box-shadow:0 12px 40px rgba(0,0,0,0.4); max-width:320px; animation:slideUp 0.4s ease; }
.pwa-prompt.show { display:block; }
@keyframes slideUp { from { transform:translateY(100px); opacity:0; } to { transform:translateY(0); opacity:1; } }
.pwa-prompt h4 { color:var(--white); font-size:15px; margin-bottom:8px; }
.pwa-prompt p { color:var(--gray); font-size:13px; margin-bottom:16px; }
.pwa-prompt .pwa-btns { display:flex; gap:8px; }
.pwa-prompt .pwa-install { padding:8px 20px; background:var(--primary); color:var(--white); border:none; border-radius:50px; font-weight:600; font-size:13px; cursor:pointer; }
.pwa-prompt .pwa-close { padding:8px 16px; background:transparent; color:var(--gray); border:1px solid rgba(255,255,255,0.15); border-radius:50px; font-size:13px; cursor:pointer; }

/* ── WISHLIST PAGE ── */
.wishlist-empty { text-align:center; padding:80px 20px; }
.wishlist-empty svg { width:80px; height:80px; stroke:var(--gray); stroke-width:1; margin-bottom:24px; }
.wishlist-empty h3 { font-size:24px; font-weight:700; margin-bottom:12px; }
.wishlist-empty p { color:var(--gray); font-size:15px; margin-bottom:32px; }
.wishlist-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.wishlist-item { background:var(--card-bg); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:var(--transition); }
.wishlist-item:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.wishlist-item-body { padding:20px; }
.wishlist-item h4 { font-size:16px; font-weight:700; margin-bottom:4px; }
.wishlist-item .wishlist-date { font-size:12px; color:var(--gray); }
.wishlist-item .wishlist-remove { padding:8px 16px; background:transparent; border:1px solid var(--accent2); color:var(--accent2); border-radius:50px; font-size:12px; cursor:pointer; margin-top:12px; }

/* ── AVIS PAGE ── */
.avis-summary { display:flex; gap:40px; align-items:center; background:var(--dark3); border-radius:var(--radius); padding:40px; margin-bottom:40px; border:1px solid rgba(255,255,255,0.06); flex-wrap:wrap; }
.avis-big-score { text-align:center; min-width:160px; }
.avis-big-score .big-number { font-size:64px; font-weight:800; color:var(--white); line-height:1; }
.avis-big-score .big-stars { color:#ffc107; font-size:24px; letter-spacing:2px; margin:8px 0; }
.avis-big-score .big-count { color:var(--gray); font-size:14px; }
.avis-bars { flex:1; min-width:240px; }
.avis-bar-row { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.avis-bar-row span:first-child { color:var(--gray-light); font-size:13px; min-width:14px; text-align:right; }
.avis-bar { flex:1; height:8px; background:rgba(255,255,255,0.06); border-radius:50px; overflow:hidden; }
.avis-bar-fill { height:100%; background:var(--gradient1); border-radius:50px; transition:width 1s ease; }
.avis-bar-row span:last-child { color:var(--gray); font-size:12px; min-width:40px; }
.avis-form { background:var(--dark3); border-radius:var(--radius); padding:32px; margin-top:40px; border:1px solid rgba(255,255,255,0.06); }
.avis-form h3 { color:var(--white); margin-bottom:20px; }
.star-select { display:flex; gap:4px; margin-bottom:16px; }
.star-select span { font-size:28px; color:var(--gray); cursor:pointer; transition:color 0.2s; }
.star-select span.active, .star-select span:hover { color:#ffc107; }

/* ── RESPONSIVE ── */
@media(max-width:1024px) {
  .gallery-grid { grid-template-columns:repeat(3,1fr); }
  .features-grid { grid-template-columns:repeat(2,1fr); }
  .pricing-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .reviews-grid { grid-template-columns:repeat(2,1fr); }
  .admin-stats { grid-template-columns:repeat(2,1fr); }
  .wishlist-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px) {
  .nav-links { display:none; }
  .nav-search { display:none; }
  .hamburger { display:flex; }
  .hero { min-height:auto; padding:140px 20px 80px; }
  .hero h1 { font-size:32px; letter-spacing:-1px; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .gallery-card img { height:180px; }
  .features-grid { grid-template-columns:1fr; }
  .pricing-grid { grid-template-columns:1fr; }
  .reassurance-grid { grid-template-columns:1fr 1fr; gap:16px; }
  .reviews-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:24px; }
  .footer-bottom { flex-direction:column; gap:12px; text-align:center; }
  .hero-btns { flex-direction:column; align-items:center; }
  .btn-primary, .btn-secondary { width:100%; justify-content:center; }
  .cookie-banner { flex-direction:column; text-align:center; }
  .section { padding:60px 0; }
  .newsletter-box { padding:32px 24px; flex-direction:column; text-align:center; }
  .newsletter-form { flex-direction:column; width:100%; }
  .admin-stats { grid-template-columns:1fr 1fr; }
  .wishlist-grid { grid-template-columns:1fr; }
  .avis-summary { flex-direction:column; text-align:center; padding:24px; }
}
@media(max-width:480px) {
  .gallery-grid { grid-template-columns:1fr; }
  .reassurance-grid { grid-template-columns:1fr; }
  .ticker-item { font-size:12px; padding:6px 14px; }
  .admin-stats { grid-template-columns:1fr; }
}
