/* =========================================================================
   SocialBost 3.0 — thème sombre "Neon".
   Chargé après style.css : redéfinit les couleurs et ajoute les animations.
   ========================================================================= */
/* Palette violette (par défaut). Les couleurs "r, g, b" servent dans rgba(var(--c1), .5). */
:root {
  --c1: 28, 244, 107; --c2: 24, 229, 160; --c3: 34, 211, 238; --c4: 72, 247, 122;
  --d1: 26, 50, 33; --d2: 12, 26, 16; --d3: 30, 60, 39; --d4: 6, 13, 8;
  --bg: #060d08;
  --surface: #101f14;
  --surface-2: #172c1d;
  --surface-3: #1d3f28;
  --soft-ink: #d5ffe4;
  --ink: #effff4;
  --muted: #9cc8a9;
  --line: rgba(var(--c4), .16);
  --brand: #22c55e;
  --brand-2: #10b981;
  --cyan: #22d3ee;
  --accent: #22c55e;
  --accent-soft: rgba(var(--c1), .16);
  --navy: #060d08;
  --grad: linear-gradient(120deg, #a3e635 0%, #22c55e 40%, #10b981 70%, #14b8a6 100%);
  --glow: 0 0 0 1px rgba(var(--c1), .35), 0 18px 50px -12px rgba(var(--c1), .45), 0 0 40px -8px rgba(var(--c3), .25);
  color-scheme: dark;
}
/* Palette verte (Apparence → Personnaliser → SocialBost → Couleur du site). */
html.sbn-green {
  --c1: 34, 197, 94; --c2: 16, 185, 129; --c3: 163, 230, 53; --c4: 134, 239, 172;
  --d1: 10, 36, 24; --d2: 4, 18, 12; --d3: 12, 48, 30; --d4: 2, 10, 6;
  --bg: #020a06;
  --surface: #071a10;
  --surface-2: #0b2617;
  --surface-3: #10351f;
  --soft-ink: #d9f99d;
  --ink: #effff4;
  --muted: #94bfa5;
  --brand: #22c55e;
  --brand-2: #10b981;
  --cyan: #a3e635;
  --accent: #22c55e;
  --navy: #020a06;
  --grad: linear-gradient(120deg, #a3e635 0%, #22c55e 40%, #10b981 70%, #14b8a6 100%);
}
html.sbn-green .sb-visual::before { background: radial-gradient(circle, rgba(34, 197, 94, .5), transparent 65%); }
html.sbn-green .sb-eyebrow { color: var(--soft-ink); }

/* ---------- Fond : aurore animée + grain ---------- */
html { background: var(--bg); }
body { background: var(--bg); color: var(--ink); position: relative; overflow-x: hidden; }
body::before {
  content: ""; position: fixed; inset: -20vmax; z-index: -2; pointer-events: none;
  background:
    radial-gradient(40vmax 40vmax at 15% 20%, rgba(var(--c1), .30), transparent 60%),
    radial-gradient(35vmax 35vmax at 85% 15%, rgba(var(--c2), .22), transparent 60%),
    radial-gradient(45vmax 45vmax at 70% 85%, rgba(var(--c3), .16), transparent 60%),
    radial-gradient(30vmax 30vmax at 20% 90%, rgba(var(--c3), .10), transparent 60%);
  filter: blur(20px);
  animation: sbn-aurora 26s ease-in-out infinite alternate;
}
body::after {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@keyframes sbn-aurora {
  0%   { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
  50%  { transform: translate3d(4vmax, -3vmax, 0) rotate(8deg) scale(1.08); }
  100% { transform: translate3d(-3vmax, 3vmax, 0) rotate(-6deg) scale(1.04); }
}

/* Barre de progression du défilement */
.sbn-progress { position: fixed; top: 0; inset-inline: 0; height: 3px; z-index: 9999; background: var(--grad); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); box-shadow: 0 0 12px rgba(var(--c1), .8); pointer-events: none; }
body.rtl .sbn-progress { transform-origin: 100% 50%; }

/* Halo qui suit la souris */
.sbn-cursor { position: fixed; top: 0; left: 0; width: 420px; height: 420px; margin: -210px 0 0 -210px; border-radius: 50%; pointer-events: none; z-index: 0; background: radial-gradient(circle, rgba(var(--c1), .16), rgba(var(--c3), .06) 40%, transparent 70%); transform: translate3d(var(--x, -999px), var(--y, -999px), 0); transition: opacity .3s; mix-blend-mode: screen; }

/* ---------- Header ---------- */
.sb-header { background: rgba(var(--d4), .62) !important; backdrop-filter: blur(18px) saturate(160%); border-bottom: 1px solid var(--line); }
.sb-header::after { content: ""; position: absolute; inset-inline: 0; bottom: -1px; height: 1px; background: var(--grad); background-size: 200% 100%; opacity: .7; animation: sbn-flow 6s linear infinite; }
.sb-logo__text, .sb-logo { color: var(--ink); }
.sb-nav a { color: var(--muted); position: relative; transition: color .2s; }
.sb-nav a::after { content: ""; position: absolute; inset-inline: 0; bottom: -6px; height: 2px; border-radius: 2px; background: var(--grad); transform: scaleX(0); transition: transform .3s; }
.sb-nav a:hover { color: #fff; }
.sb-nav a:hover::after { transform: scaleX(1); }
.sb-burger, .sb-cart { color: var(--ink); }
.sb-lang .current-lang a { background: var(--grad); color: #fff; border-color: transparent; }
@media (max-width: 900px) { .sb-nav { background: rgba(var(--d4), .96) !important; } }

/* ---------- Titres : texte en dégradé animé ---------- */
h1, h2, h3, .sb-svc__title { color: var(--ink); }
.sb-hero h1 em, .sb-head h2 em, h1 em, h2 em {
  background: var(--grad); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent !important;
  animation: sbn-flow 5s linear infinite;
}
.sb-hero h1 em::after { background: var(--grad); opacity: .5; }
@keyframes sbn-flow { to { background-position: 220% 0; } }
.sb-eyebrow { background: rgba(var(--c1), .14); color: var(--soft-ink); border: 1px solid rgba(var(--c1), .35); box-shadow: 0 0 24px -6px rgba(var(--c1), .6); }

/* ---------- Boutons : dégradé + reflet ---------- */
.sb-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button:not(.is-link), .wp-element-button {
  background: var(--grad) !important; background-size: 200% 100% !important; color: #fff !important;
  position: relative; overflow: hidden; isolation: isolate;
  box-shadow: 0 10px 30px -10px rgba(var(--c1), .8), inset 0 1px 0 rgba(255, 255, 255, .25);
  transition: transform .2s, box-shadow .2s, background-position .6s !important;
}
.sb-btn::after, .woocommerce a.button::after, .woocommerce button.button::after, .wc-block-components-button:not(.is-link)::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .45) 50%, transparent 65%);
  transform: translateX(-120%); animation: sbn-shine 3.6s ease-in-out infinite;
}
@keyframes sbn-shine { 0%, 55% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }
.sb-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:not(.is-link):hover {
  transform: translateY(-3px) scale(1.02); background-position: 100% 0 !important;
  box-shadow: 0 18px 40px -10px rgba(var(--c2), .8), 0 0 0 1px rgba(255, 255, 255, .15) inset;
}
.sb-btn--ghost { background: rgba(255, 255, 255, .04) !important; color: var(--ink) !important; box-shadow: inset 0 0 0 1.5px rgba(var(--c1), .5) !important; backdrop-filter: blur(8px); }
.sb-btn--ghost::after { display: none; }
.sb-btn--ghost:hover { box-shadow: inset 0 0 0 1.5px var(--cyan), 0 0 30px -6px rgba(var(--c3), .6) !important; }
.sb-cta .sb-btn { background: #fff !important; color: #172d1d !important; }

/* ---------- Cartes : verre + bord lumineux + halo souris ---------- */
.sb-ticket, .sb-plat, .sb-perk, .sb-stat, .sb-pcard, .sb-spot, .sb-spot__links a, .sb-tile__btn, .sb-svc-tile,
.woocommerce ul.products li.product, .woocommerce div.product form.cart, .sb-svc .sb-tier, .single-product .sb-tier,
.sb-svc__tabs, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content, .woocommerce-account .u-columns > div,
.sb-funnel .wc-block-checkout__main, .sb-funnel .wc-block-checkout__sidebar, .sb-funnel__trust li, .sb-steps-bar,
.sb-ty__stats li, .sb-ty__card, .sb-acc__stat, .sb-faq details, .sb-how li, .sb-tile__menu, .woocommerce-message, .woocommerce-info {
  background: linear-gradient(160deg, rgba(var(--d1), .78), rgba(var(--d2), .78)) !important;
  border: 1px solid var(--line) !important; color: var(--ink);
  backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 20px 50px -30px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .05) !important;
}
.sbn-glow { position: relative; isolation: isolate; transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s, border-color .35s !important; transform-style: preserve-3d; }
.sbn-glow::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: -1; opacity: 0; transition: opacity .3s;
  background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(var(--c1), .28), rgba(var(--c3), .08) 45%, transparent 70%);
}
.sbn-glow:hover::before { opacity: 1; }
.sbn-glow:hover { border-color: rgba(var(--c1), .55) !important; box-shadow: var(--glow) !important; }

/* Tuiles des plateformes : icône qui flotte + halo coloré */
.sb-tile__btn { color: var(--ink) !important; }
.sb-tile__btn img, .sb-tile__btn i, .sb-tile__btn .sb-app__logo, .sb-svc-tile i { transition: transform .45s cubic-bezier(.2, .8, .2, 1), filter .45s; }
.sb-tile__btn:hover img, .sb-tile__btn:hover i, .sb-tile__btn:hover .sb-app__logo, .sb-svc-tile:hover i { transform: translateY(-6px) scale(1.12) rotate(-4deg); filter: drop-shadow(0 12px 18px rgba(var(--c1), .55)); }
.sb-tile[style*="--ink"] .sb-tile__btn { background: linear-gradient(160deg, var(--surface-3), var(--surface)) !important; color: #fff !important; }
.sb-svc-tile { color: var(--ink) !important; }
.sb-tile__menu::before { background: var(--surface-2) !important; }
.sb-tile__menu a { color: var(--ink); }
.sb-tile__menu a:hover { background: rgba(var(--c1), .14) !important; }

/* Chiffres en dégradé */
.sb-stat strong, .sb-ty__stats strong, .sb-acc__stat strong {
  background: var(--grad); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent !important; animation: sbn-flow 6s linear infinite;
}

/* Éléments qui étaient blancs */
.sb-phone, .sb-spot__card, .sb-spot__chip, .sb-ticket { background: linear-gradient(160deg, var(--surface-3), var(--surface)) !important; color: var(--ink) !important; }
.sb-phone { border-color: var(--surface-3) !important; }
.sb-spot__nums span { background: rgba(var(--c1), .18) !important; }
.sb-svc__tab { background: transparent !important; color: var(--muted) !important; }
.sb-svc__tab.is-active, .sb-svc__tab:hover { background: var(--grad) !important; color: #fff !important; }
.sb-svc .sb-tier.is-active, .single-product .sb-tier.is-active { outline-color: var(--cyan) !important; box-shadow: 0 0 0 1px var(--cyan), 0 0 40px -8px rgba(var(--c3), .6) !important; }
.sb-svc .sb-account { background: rgba(255, 255, 255, .04) !important; color: var(--ink); }
.sb-svc .sb-account.is-not_found, .sb-svc .sb-account.is-invalid { background: rgba(244, 63, 94, .12) !important; border-color: rgba(244, 63, 94, .45) !important; color: #fda4af !important; }
.sb-svc .sb-account.is-unknown { background: rgba(245, 158, 11, .12) !important; border-color: rgba(245, 158, 11, .45) !important; color: #fcd34d !important; }
.sb-acc__box--pay, .sb-receipt { background: rgba(245, 158, 11, .1) !important; border-color: rgba(245, 158, 11, .45) !important; }
.sb-acc__st--pending { background: rgba(245, 158, 11, .16) !important; color: #fcd34d !important; }
.sb-acc__st--failed, .sb-acc__st--cancelled, .sb-acc__st--refunded { background: rgba(244, 63, 94, .16) !important; color: #fda4af !important; }
.sb-co-next li > span, .sb-co-next__wa { background: var(--surface-2) !important; color: var(--ink) !important; }
.sb-ty [data-copy], .sb-ty__bank, .sb-ty__thumb { background: rgba(255, 255, 255, .05) !important; }
.woocommerce .sb-order__side button.sb-btn-cart, .sb-order__side .sb-btn-cart { background: rgba(255, 255, 255, .05) !important; color: var(--ink) !important; }
.woocommerce-MyAccount-content table.shop_table th { background: rgba(255, 255, 255, .04) !important; }
.woocommerce-MyAccount-navigation a:hover, .woocommerce-MyAccount-navigation .is-active a { background: rgba(var(--c1), .16) !important; color: #fff !important; }

/* ---------- Formulaires ---------- */
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=password], input[type=url], input[type=search], select, textarea,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.sb-funnel .wc-block-components-text-input input, .sb-funnel .wc-blocks-components-select .wc-blocks-components-select__container,
.sb-funnel .wc-blocks-components-select select, .sb-funnel .wc-block-components-radio-control-accordion-option,
.sb-funnel .wc-block-components-textarea, .woocommerce div.product form.cart .input-text {
  background: rgba(255, 255, 255, .04) !important; color: var(--ink) !important; border-color: rgba(var(--c4), .25) !important;
}
input::placeholder, textarea::placeholder { color: rgba(156, 200, 169, .6) !important; }
input:focus, select:focus, textarea:focus, .sb-funnel .wc-block-components-text-input input:focus {
  background: rgba(var(--c1), .08) !important; border-color: var(--brand) !important; outline: none;
  box-shadow: 0 0 0 4px rgba(var(--c1), .18), 0 0 30px -8px rgba(var(--c1), .7) !important;
}
.sb-funnel .wc-block-components-text-input label, .sb-funnel label, .wc-block-components-title, .wc-block-components-checkout-step__title { color: var(--muted) !important; }
.sb-funnel .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked { background: rgba(var(--c1), .12) !important; }
.sb-funnel .wc-block-cart-item__image img, .sb-funnel .wc-block-components-order-summary-item__image img, .sb-funnel .wc-block-components-product-details { background: rgba(255, 255, 255, .05) !important; }
.wc-block-components-totals-item, .wc-block-components-order-summary-item, .wc-block-components-product-name, .wc-block-formatted-money-amount { color: var(--ink) !important; }

/* Tableaux / textes WooCommerce */
.woocommerce table.shop_table, .woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--line) !important; color: var(--ink); }
.woocommerce div.product p.price, .woocommerce ul.products li.product .price, .price { color: var(--cyan) !important; }
.sb-pcard, .sb-plat, .sb-perk { color: var(--ink); }
p, li, dd { color: inherit; }
.sb-muted, small { color: var(--muted); }

/* Footer */
.sb-footer, footer.sb-footer { background: linear-gradient(180deg, transparent, rgba(var(--d3), .9)) !important; border-top: 1px solid var(--line); color: var(--muted); }

/* Bouton WhatsApp flottant : pulsation */
.sb-wa, .sb-whatsapp, a[href*="wa.me"].sb-float { animation: sbn-pulse 2.4s ease-out infinite; }
@keyframes sbn-pulse { 0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .6); } 100% { box-shadow: 0 0 0 22px rgba(37, 211, 102, 0); } }

/* ---------- Apparition au défilement : plus spectaculaire ---------- */
.sb-js .sb-reveal { opacity: 0; transform: translateY(40px) scale(.94); filter: blur(8px); transition: opacity .8s cubic-bezier(.2, .8, .2, 1) var(--d, 0ms), transform .8s cubic-bezier(.2, .8, .2, 1) var(--d, 0ms), filter .8s var(--d, 0ms) !important; }
.sb-js .sb-reveal.is-in { opacity: 1; transform: none; filter: none; }

/* Texte qui s'écrit lettre par lettre (titre du hero) */
.sbn-word { display: inline-block; opacity: 0; transform: translateY(.5em) rotateX(-70deg); animation: sbn-word .8s cubic-bezier(.2, .8, .2, 1) forwards; animation-delay: calc(var(--i) * 90ms + 150ms); }
@keyframes sbn-word { to { opacity: 1; transform: none; } }

.sb-hero h1 em.sbn-word { animation: sbn-word .8s cubic-bezier(.2, .8, .2, 1) calc(var(--i) * 90ms + 150ms) forwards, sbn-flow 5s linear infinite; }

/* Hero : fond transparent (l'aurore passe derrière), bulles plus douces */
.sb-hero { background: transparent !important; }
.sb-hero::before, .sb-hero::after { display: none !important; } /* coupés net en bas du hero : l'aurore du fond suffit */
.sb-chip { background: rgba(var(--d1), .72) !important; color: var(--ink) !important; border: 1px solid rgba(var(--c1), .35); backdrop-filter: blur(14px); box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .8), 0 0 30px -10px rgba(var(--c1), .6) !important; }
.sb-chip strong, .sb-chip b { color: #fff !important; }
.sb-orbit__core { background: radial-gradient(circle at 30% 25%, var(--surface-3), var(--surface) 72%) !important; color: var(--ink) !important; box-shadow: 0 0 0 1px rgba(var(--c1), .5), 0 0 0 12px rgba(var(--c1), .08), 0 0 0 26px rgba(var(--c3), .04), 0 0 80px -6px rgba(var(--c1), .8) !important; animation: sbn-core 3s ease-in-out infinite; }
@keyframes sbn-core { 50% { box-shadow: 0 0 0 1px rgba(var(--c3), .6), 0 0 0 14px rgba(var(--c3), .08), 0 0 0 30px rgba(var(--c1), .05), 0 0 110px 0 rgba(var(--c2), .7); } }

/* ---------- Page service : récapitulatif + étapes ---------- */
.sb-order__side, .sb-order .sb-order__side {
  background: linear-gradient(160deg, rgba(var(--d3), .9), rgba(var(--d2), .92)) !important; color: var(--ink) !important;
  border: 1px solid rgba(var(--c1), .35) !important; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .9), 0 0 50px -20px rgba(var(--c1), .6) !important;
}
.sb-order__side *, .sb-side__title, .sb-side__lines dt, .sb-side__lines dd, .sb-total span { color: var(--ink) !important; }
.sb-side__lines dt, .sb-trust li { color: var(--muted) !important; }
.sb-order__side .sb-total__value, .sb-order__side .sb-total__value * { background: var(--grad); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent !important; animation: sbn-flow 6s linear infinite; }
.woocommerce .sb-order__side button.sb-btn-cart, .sb-order__side .sb-btn-cart { background: rgba(255, 255, 255, .05) !important; color: var(--ink) !important; box-shadow: inset 0 0 0 1.5px rgba(var(--c1), .45) !important; }
.woocommerce .sb-order__side button.sb-btn-cart::after { display: none; }
.woocommerce .sb-order__side button.sb-btn-cart:hover { box-shadow: inset 0 0 0 1.5px var(--cyan), 0 0 24px -6px rgba(var(--c3), .6) !important; }
.sb-side__wa { background: rgba(37, 211, 102, .12) !important; color: #4ade80 !important; }
.sb-steps-mini li { color: var(--muted) !important; }
.sb-steps-mini li span { background: var(--grad) !important; color: #fff !important; border: 0 !important; box-shadow: 0 0 14px -2px rgba(var(--c1), .7); }

/* ---------- Caisse : carte "Et ensuite ?", cases, radios ---------- */
.sb-co-next { background: linear-gradient(160deg, rgba(var(--d3), .9), rgba(var(--d2), .9)) !important; border-color: rgba(var(--c1), .3) !important; }
.sb-co-next__title, .sb-co-next li strong, .sb-co-next__wa strong { color: var(--ink) !important; }
.sb-co-next li small, .sb-co-next__wa small { color: var(--muted) !important; }
.sb-co-next li > span { background: var(--grad) !important; color: #fff !important; border: 0 !important; }
.sb-co-next__wa { border-color: rgba(37, 211, 102, .35) !important; background: rgba(37, 211, 102, .08) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox], .wc-block-components-radio-control__input,
input[type=checkbox], input[type=radio] { background: rgba(255, 255, 255, .06) !important; border-color: rgba(var(--c4), .5) !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--brand) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--grad) !important; }
.wc-block-components-checkbox__mark { fill: #fff !important; }
.sb-funnel .wc-block-components-radio-control__label, .sb-funnel .wc-block-components-radio-control__description,
.wc-block-components-payment-method-label, .wc-block-checkout__guest-checkout-notice, .wc-block-components-checkbox__label,
.wc-block-checkout__terms, .sb-funnel p { color: var(--muted) !important; }
.wc-block-components-panel__button, .wc-block-components-totals-coupon-link, .wc-block-components-sidebar * { color: var(--ink); }
.sb-funnel .wc-block-components-radio-control-accordion-content { background: rgba(var(--c1), .06) !important; color: var(--muted) !important; }
.sb-steps-bar li { color: var(--muted); }
.sb-steps-bar li > span { background: rgba(255, 255, 255, .08) !important; color: var(--ink) !important; }
.sb-steps-bar li.is-now { background: var(--grad) !important; color: #fff !important; }
.sb-steps-bar li.is-now > span { background: rgba(255, 255, 255, .25) !important; }
.sb-funnel h1, .sb-page h1 { background: var(--grad); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent !important; animation: sbn-flow 6s linear infinite; }

/* Mon compte / commandes */
.woocommerce-MyAccount-navigation a { color: var(--muted) !important; }
.woocommerce-orders-table__cell, .woocommerce-orders-table th, .woocommerce-MyAccount-content, .woocommerce-MyAccount-content p { color: var(--ink) !important; }
.woocommerce-orders-table tr:hover td { background: rgba(var(--c1), .06); }
.woocommerce form.login, .woocommerce form.register { border-color: var(--line) !important; }
mark, .woocommerce mark { background: rgba(var(--c1), .2); color: var(--soft-ink); }

/* ---------- Téléphone ---------- */
@media (max-width: 700px) {
  body::before { animation-duration: 40s; filter: blur(30px); }
  .sb-hero h1 { font-size: clamp(34px, 9.5vw, 46px) !important; }
  .sbn-glow:hover { box-shadow: none !important; }
  .sb-order__side { margin-top: 18px; }
  .sb-btn, .woocommerce a.button, .woocommerce button.button { min-height: 48px; justify-content: center; }
  .sb-hero__ctas .sb-btn { width: 100%; }
}

/* Particules du hero */
.sbn-stars { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.sbn-stars span { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: #fff; box-shadow: 0 0 8px 2px rgba(var(--c1), .8); opacity: 0; animation: sbn-star var(--t, 6s) linear var(--dl, 0s) infinite; }
@keyframes sbn-star { 0% { opacity: 0; transform: translateY(0) scale(.5); } 20% { opacity: 1; } 100% { opacity: 0; transform: translateY(-160px) scale(1.2); } }
.sb-hero { position: relative; }
.sb-hero > .sb-wrap { position: relative; z-index: 1; }

@media (prefers-reduced-motion: reduce) {
  body::before, .sb-header::after, .sb-btn::after, .sbn-stars, .sbn-cursor { animation: none !important; display: none; }
  .sbn-word { animation: none; opacity: 1; transform: none; }
}
@media (hover: none) { .sbn-cursor { display: none; } }

/* =========================================================================
   Digivora : tableau de croissance du hero (à la place des orbites).
   ========================================================================= */
.dv-dash { position: relative; min-height: 470px; display: grid; place-items: center; perspective: 1200px; }
.dv-dash::before { content: ""; position: absolute; width: 440px; height: 440px; border-radius: 50%; background: radial-gradient(circle, rgba(var(--c1), .45), rgba(var(--c3), .12) 45%, transparent 70%); filter: blur(30px); animation: dv-breathe 6s ease-in-out infinite; }
@keyframes dv-breathe { 50% { transform: scale(1.12); opacity: .75; } }
.dv-card {
  position: relative; z-index: 2; width: min(400px, 100%); padding: 22px; border-radius: 28px;
  background: linear-gradient(160deg, rgba(var(--d3), .92), rgba(var(--d2), .94)); border: 1px solid rgba(var(--c1), .35);
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .9), 0 0 60px -20px rgba(var(--c1), .7), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(16px); transform: rotateY(-8deg) rotateX(4deg); animation: dv-in 1s cubic-bezier(.2, .8, .2, 1) both, dv-tilt 8s ease-in-out 1s infinite;
}
@keyframes dv-in { from { opacity: 0; transform: translateY(40px) rotateY(-20deg) scale(.92); } }
@keyframes dv-tilt { 50% { transform: rotateY(6deg) rotateX(-2deg) translateY(-8px); } }
.dv-card__top { display: flex; align-items: center; gap: 12px; }
.dv-avatar { width: 46px; height: 46px; border-radius: 14px; padding: 2px; background: var(--grad); }
.dv-avatar img { display: block; width: 100%; height: 100%; border-radius: 12px; }
.dv-who { flex: 1; display: grid; line-height: 1.25; }
.dv-who b { font-size: 15px; color: var(--ink); }
.dv-who b i { color: var(--cyan); font-size: 13px; }
.dv-who small { color: var(--muted); font-size: 12px; }
.dv-live { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: rgba(239, 68, 68, .14); color: #fca5a5; font: 800 11px/1 var(--font); letter-spacing: .08em; }
.dv-live i { width: 7px; height: 7px; border-radius: 50%; background: #ef4444; animation: dv-blink 1.2s ease-in-out infinite; }
@keyframes dv-blink { 50% { opacity: .2; } }
.dv-big { margin: 20px 0 6px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.dv-big strong { font-size: 46px; font-weight: 800; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; background: var(--grad); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: sbn-flow 6s linear infinite; }
.dv-big span { color: var(--muted); font-weight: 600; }
.dv-big em { font-style: normal; color: #4ade80; background: rgba(34, 197, 94, .14); padding: 2px 8px; border-radius: 999px; font-size: 13px; margin-inline-start: 4px; }
.dv-chart { display: block; width: 100%; height: 120px; margin: 4px 0 14px; overflow: visible; }
.dv-chart__line { stroke-dasharray: 520; stroke-dashoffset: 520; filter: drop-shadow(0 0 8px rgba(var(--c1), .8)); animation: dv-draw 2.4s cubic-bezier(.4, 0, .2, 1) .5s forwards; }
.dv-chart__area { opacity: 0; animation: dv-fade 1.2s ease 1.6s forwards; }
.dv-chart__dot { fill: #fff; stroke: var(--brand); stroke-width: 4; opacity: 0; animation: dv-fade .4s ease 2.8s forwards, dv-ping 1.8s ease-out 3s infinite; transform-origin: 320px 6px; }
@keyframes dv-draw { to { stroke-dashoffset: 0; } }
@keyframes dv-fade { to { opacity: 1; } }
@keyframes dv-ping { 0% { filter: drop-shadow(0 0 0 rgba(var(--c1), .9)); } 100% { filter: drop-shadow(0 0 14px rgba(var(--c1), 0)); } }
.dv-pills { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.dv-pills span { display: grid; gap: 2px; padding: 10px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); color: var(--muted); font-size: 11px; text-align: center; }
.dv-pills i { color: var(--brand); font-size: 13px; }
.dv-pills b { color: var(--ink); font-size: 16px; }
.dv-feed { position: absolute; z-index: 3; inset-inline-end: -10px; bottom: 6px; list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; width: 250px; }
.dv-feed li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 16px; background: rgba(var(--d1), .85); border: 1px solid rgba(var(--c1), .3); backdrop-filter: blur(12px); box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .9); opacity: 0; transform: translateX(30px); animation: dv-feed 9s ease-in-out infinite; }
.dv-feed li:nth-child(2) { animation-delay: 3s; }
.dv-feed li:nth-child(3) { animation-delay: 6s; }
@keyframes dv-feed { 0% { opacity: 0; transform: translateX(30px) scale(.95); } 8%, 30% { opacity: 1; transform: none; } 40%, 100% { opacity: 0; transform: translateX(-10px) scale(.97); } }
.dv-feed li > i { flex: none; width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; color: #fff; background: var(--b); }
.dv-feed b { display: block; font-size: 13px; color: var(--ink); }
.dv-feed small { display: block; font-size: 11px; color: var(--muted); }
.dv-float { position: absolute; z-index: 1; width: 54px; height: 54px; border-radius: 17px; display: grid; place-items: center; font-size: 24px; color: #fff; box-shadow: 0 18px 30px -12px rgba(0, 0, 0, .8); animation: sb-bob 6s ease-in-out infinite; }
.dv-float--1 { top: 18px; inset-inline-start: 4%; background: linear-gradient(135deg, #f9ce34, #ee2a7b 50%, #6228d7); }
.dv-float--2 { top: 46%; inset-inline-start: -4%; background: #111; animation-delay: 1.5s; }
.dv-float--3 { top: 2px; inset-inline-end: 8%; background: #ff0000; animation-delay: 3s; }
@media (max-width: 900px) {
  .dv-dash { min-height: 0; padding: 30px 0 110px; }
  .dv-card { transform: none; animation: dv-in 1s cubic-bezier(.2, .8, .2, 1) both; }
  .dv-feed { inset-inline-end: 50%; transform: translateX(50%); width: min(280px, 90%); bottom: 0; }
  body.rtl .dv-feed { transform: translateX(-50%); }
  .dv-feed li { position: absolute; inset-inline: 0; bottom: 0; }
  .dv-float--2 { display: none; }
}
@media (min-width: 901px) { .dv-feed li { position: absolute; inset-inline: 0; bottom: 0; } .dv-feed { height: 60px; } }
@media (prefers-reduced-motion: reduce) { .dv-card, .dv-feed li, .dv-chart__line, .dv-chart__area, .dv-chart__dot { animation: none !important; opacity: 1; stroke-dashoffset: 0; transform: none; } }

/* ---------- Hero 4.3 : maquette téléphone + commande (remplace l'orbite) ---------- */
.sb-mock { position: relative; min-height: 560px; display: grid; place-items: center; }
.sb-mock::before { content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(var(--c1), .35), transparent 65%); filter: blur(30px); z-index: 0; }
.sb-mock__phone { position: relative; z-index: 1; width: 280px; height: 560px; border-radius: 44px; padding: 14px 16px; background: linear-gradient(180deg, var(--surface-2), var(--surface)); border: 1px solid rgba(var(--c4), .22); box-shadow: 0 0 0 8px #050a07, 0 0 0 9px rgba(var(--c4), .18), 0 40px 80px -30px rgba(0, 0, 0, .9), 0 0 60px -20px rgba(var(--c1), .5); overflow: hidden; animation: sbm-float 7s ease-in-out infinite; }
.sb-mock__notch { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 92px; height: 24px; border-radius: 14px; background: #050a07; }
.sb-mock__bar { display: flex; justify-content: space-between; font-size: 11px; font-weight: 700; color: var(--ink); padding: 2px 10px 18px; }
.sb-mock__bar i { font-size: 10px; margin-inline-start: 2px; }
.sb-mock__profile { display: flex; align-items: center; gap: 14px; }
.sb-mock__avatar { flex: none; width: 68px; height: 68px; border-radius: 50%; padding: 3px; background: var(--grad); }
.sb-mock__avatar img { width: 100%; height: 100%; border-radius: 50%; border: 3px solid var(--surface-2); display: block; }
.sb-mock__stats { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; }
.sb-mock__stats span { display: flex; flex-direction: column; font-size: 10.5px; color: var(--muted); }
.sb-mock__stats b { font-size: 14px; color: var(--ink); font-weight: 800; }
.sb-mock__stats .sb-counter { color: rgb(var(--c1)); }
.sb-mock__name { margin-top: 12px; font-size: 13px; font-weight: 800; color: var(--ink); }
.sb-mock__name i { color: #3b9cff; font-size: 12px; }
.sb-mock__bio { display: grid; gap: 6px; margin: 8px 0 12px; }
.sb-mock__bio i { height: 7px; border-radius: 4px; background: rgba(var(--c4), .14); }
.sb-mock__bio i:last-child { width: 62%; }
.sb-mock__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
.sb-mock__btns span { text-align: center; font-size: 12px; font-weight: 700; padding: 8px 0; border-radius: 10px; background: rgba(var(--c4), .12); color: var(--ink); }
.sb-mock__btns .is-main { background: var(--grad); color: #04130a; }
.sb-mock__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin: 0 -16px; }
.sb-mock__grid i { aspect-ratio: 1; background: linear-gradient(135deg, rgba(var(--c1), calc(.10 + var(--i) * .03)), rgba(var(--c3), .08)), rgba(var(--c4), .06); animation: sbm-pop .6s cubic-bezier(.2, .8, .2, 1) calc(var(--i) * 80ms + .4s) both; }
.sb-mock__card { position: absolute; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 18px; background: rgba(10, 22, 14, .78); border: 1px solid rgba(var(--c4), .2); box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .8); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); color: var(--ink); }
.sb-mock__card b { display: block; font-size: 14px; font-weight: 800; }
.sb-mock__card small { display: block; font-size: 12px; color: var(--muted); }
.sb-mock__ic { flex: none; width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--tile); color: #fff; font-size: 18px; }
.sb-mock__order { inset-inline-start: -10px; bottom: 46px; width: 290px; flex-direction: column; align-items: stretch; animation: sbm-in .7s cubic-bezier(.2, .8, .2, 1) .5s both, sbm-float 8s ease-in-out 1.2s infinite; }
.sb-mock__row { display: flex; align-items: center; gap: 12px; }
.sb-mock__row > span { flex: 1; }
.sb-mock__pct { font-style: normal; font-weight: 800; font-size: 15px; color: rgb(var(--c1)); }
.sb-mock__track { height: 8px; border-radius: 8px; background: rgba(var(--c4), .14); overflow: hidden; }
.sb-mock__track i { display: block; height: 100%; width: 0; border-radius: inherit; background: var(--grad); box-shadow: 0 0 12px rgba(var(--c1), .7); animation: sbm-fill 4.5s cubic-bezier(.4, 0, .2, 1) 1s forwards; }
.sb-mock__steps { display: flex; justify-content: space-between; font-size: 11.5px; color: var(--muted); }
.sb-mock__steps span { display: flex; align-items: center; gap: 5px; }
.sb-mock__steps i { width: 16px; height: 16px; border-radius: 50%; display: grid; place-items: center; font-size: 8px; background: rgba(var(--c4), .16); color: transparent; }
.sb-mock__steps .is-on i, .sb-mock__order.is-done .sb-mock__done i { background: rgb(var(--c1)); color: #04130a; }
.sb-mock__order.is-done .sb-mock__done { color: var(--ink); }
.sb-mock__toast { inset-inline-end: -14px; top: 0; animation: sbm-in .7s cubic-bezier(.2, .8, .2, 1) 1s both, sbm-float 9s ease-in-out 1.7s infinite; }
.sb-mock__safe { inset-inline-end: 0; bottom: 120px; animation: sbm-in .7s cubic-bezier(.2, .8, .2, 1) 1.4s both, sbm-float 8.5s ease-in-out 2.1s infinite; }
.sb-mock__safe > i { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: rgba(var(--c1), .16); color: rgb(var(--c1)); font-size: 17px; }
@keyframes sbm-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes sbm-in { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes sbm-pop { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: none; } }
@keyframes sbm-fill { to { width: 100%; } }
@media (max-width: 980px) {
  .sb-mock { min-height: 520px; margin-top: 20px; }
  .sb-mock__order { inset-inline-start: 0; bottom: 20px; width: 260px; }
  .sb-mock__toast { inset-inline-end: 0; top: -14px; }
  .sb-mock__safe { display: none; }
}
@media (max-width: 520px) {
  .sb-mock { min-height: 480px; }
  .sb-mock__phone { width: 250px; height: 500px; }
  .sb-mock__order { width: 230px; padding: 10px 12px; }
  .sb-mock__toast { padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .sb-mock *, .sb-mock__phone { animation: none !important; }
  .sb-mock__track i { width: 100%; }
}
