/*
Theme Name: Senflix221 Market
Theme URI: https://senflix221.store
Author: SenTech Agency
Author URI: https://senflix221.store
Description: Theme marketplace pour Senflix221 — style G2A adapte a la revente d'abonnements (IPTV, streaming, sport, musique). Catalogue editable via un type de contenu "Abonnements", fiches produit, boutique filtrable, badges de reduction, commande via WhatsApp. Paiement Wave / Orange Money.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: senflix221-market
Tags: e-commerce, entertainment, dark, custom-colors, custom-menu, featured-images, full-width-template, translation-ready, grid-layout
*/

:root{
  --sf-bg:#0B0910;
  --sf-bg-2:#100D18;
  --sf-card:#171320;
  --sf-card-2:#1E1830;
  --sf-line:rgba(243,238,230,.08);
  --sf-line-2:rgba(243,238,230,.16);

  --sf-gold:#F4B740;
  --sf-gold-deep:#E0992B;
  --sf-red:#FF4D5E;
  --sf-red-deep:#E23B4C;
  --sf-green:#19C37D;
  --sf-green-deep:#11A268;

  --sf-text:#F3EEE6;
  --sf-muted:#9A93AB;
  --sf-muted-2:#6E6880;

  --sf-display:"Bricolage Grotesque","Manrope",system-ui,sans-serif;
  --sf-body:"Manrope",system-ui,-apple-system,sans-serif;
  --sf-mono:"Space Mono","JetBrains Mono",ui-monospace,monospace;

  --sf-r:14px;
  --sf-r-sm:10px;
  --sf-maxw:1280px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--sf-bg);color:var(--sf-text);
  font-family:var(--sf-body);font-size:16px;line-height:1.6;font-weight:450;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--sf-display);font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:0}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--sf-gold);outline-offset:2px;border-radius:6px}
.sfm-wrap{max-width:var(--sf-maxw);margin-inline:auto;padding-inline:20px}

/* ---- Buttons ---- */
.sfm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:10px;font-weight:700;font-size:14px;border:1px solid transparent;transition:transform .16s,box-shadow .2s,background .18s;white-space:nowrap}
.sfm-btn svg{width:17px;height:17px;flex:0 0 auto}
.sfm-btn:hover{transform:translateY(-1px)}
.sfm-btn--gold{background:linear-gradient(135deg,var(--sf-gold),var(--sf-gold-deep));color:#1a1205;box-shadow:0 10px 26px -10px rgba(244,183,64,.55)}
.sfm-btn--wa{background:linear-gradient(135deg,var(--sf-green),var(--sf-green-deep));color:#04140d;box-shadow:0 10px 26px -10px rgba(25,195,125,.55)}
.sfm-btn--ghost{background:rgba(243,238,230,.05);border-color:var(--sf-line-2);color:var(--sf-text)}
.sfm-btn--ghost:hover{border-color:var(--sf-gold);background:rgba(244,183,64,.08)}
.sfm-btn--block{width:100%}

/* ============================================================
   Header / top bar (G2A-like)
   ============================================================ */
.sfm-topbar{background:var(--sf-bg);border-bottom:1px solid var(--sf-line);position:sticky;top:0;z-index:60}
.sfm-topbar__inner{display:flex;align-items:center;gap:18px;height:66px}
.sfm-logo{display:flex;align-items:center;gap:10px;font-family:var(--sf-display);font-weight:800;font-size:20px;flex:0 0 auto}
.sfm-logo__mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(140deg,var(--sf-gold),var(--sf-red));color:#1a1205;font-family:var(--sf-mono);font-weight:700;font-size:12px}
.sfm-logo b{color:var(--sf-text)}
.sfm-logo span{color:var(--sf-gold)}

.sfm-search{flex:1 1 auto;position:relative;max-width:640px}
.sfm-search input{width:100%;height:44px;border-radius:10px;border:1px solid var(--sf-line-2);background:var(--sf-card);color:var(--sf-text);padding:0 46px 0 16px;font-family:inherit;font-size:15px}
.sfm-search input::placeholder{color:var(--sf-muted-2)}
.sfm-search button{position:absolute;right:5px;top:5px;height:34px;width:38px;border:0;border-radius:8px;background:linear-gradient(135deg,var(--sf-gold),var(--sf-gold-deep));color:#1a1205;display:grid;place-items:center}
.sfm-search button svg{width:18px;height:18px}

.sfm-topactions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.sfm-icon{display:inline-flex;align-items:center;gap:7px;color:var(--sf-muted);font-size:13px;font-weight:600;padding:8px 10px;border-radius:9px;transition:color .18s,background .18s}
.sfm-icon:hover{color:var(--sf-text);background:rgba(243,238,230,.05)}
.sfm-icon svg{width:20px;height:20px}
.sfm-cur{font-family:var(--sf-mono);font-size:12px;border:1px solid var(--sf-line-2);padding:7px 10px;border-radius:8px;color:var(--sf-muted)}
.sfm-burger{display:none;background:none;border:0;color:var(--sf-text);padding:6px}
.sfm-burger svg{width:26px;height:26px}

/* category bar */
.sfm-catbar{background:var(--sf-bg-2);border-bottom:1px solid var(--sf-line)}
.sfm-catbar__inner{display:flex;align-items:center;gap:8px;height:52px;overflow-x:auto;scrollbar-width:none}
.sfm-catbar__inner::-webkit-scrollbar{display:none}
.sfm-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:700;color:var(--sf-muted);border:1px solid var(--sf-line);background:var(--sf-card);white-space:nowrap;transition:.18s}
.sfm-chip:hover,.sfm-chip[aria-current="true"]{color:var(--sf-text);border-color:var(--sf-gold);background:rgba(244,183,64,.1)}
.sfm-chip svg{width:16px;height:16px;color:var(--sf-gold)}

/* mobile menu */
.sfm-mobile{display:none;position:fixed;inset:66px 0 0;z-index:55;background:var(--sf-bg);padding:22px 20px;overflow-y:auto}
.sfm-mobile.is-open{display:block}
.sfm-mobile a{display:flex;align-items:center;gap:10px;padding:14px 6px;font-size:17px;font-weight:700;border-bottom:1px solid var(--sf-line)}
.sfm-mobile a svg{width:18px;height:18px;color:var(--sf-gold)}

/* ============================================================
   Hero promo banner
   ============================================================ */
.sfm-promo{position:relative;margin:24px 0;border-radius:20px;overflow:hidden;border:1px solid var(--sf-line-2);min-height:230px;display:flex;align-items:center}
.sfm-promo::before{content:"";position:absolute;inset:0;z-index:0;background:
  radial-gradient(600px 320px at 88% 10%,rgba(244,183,64,.30),transparent 60%),
  radial-gradient(500px 360px at 4% 90%,rgba(255,77,94,.24),transparent 60%),
  linear-gradient(120deg,var(--sf-card-2),var(--sf-bg-2))}
.sfm-promo__in{position:relative;z-index:1;padding:36px 40px;max-width:620px}
.sfm-promo__tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--sf-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#04140d;background:var(--sf-green);padding:5px 11px;border-radius:999px;margin-bottom:14px;font-weight:700}
.sfm-promo h1{font-size:clamp(28px,4.2vw,44px);margin-bottom:12px}
.sfm-promo h1 em{font-style:normal;color:var(--sf-gold)}
.sfm-promo p{color:var(--sf-muted);font-size:16px;max-width:46ch;margin-bottom:20px}
.sfm-promo__actions{display:flex;gap:12px;flex-wrap:wrap}

/* ============================================================
   Sections + product grid
   ============================================================ */
.sfm-sec{margin:46px 0}
.sfm-sec__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.sfm-sec__head h2{font-size:clamp(22px,3vw,30px)}
.sfm-sec__head p{color:var(--sf-muted);font-size:15px;margin:6px 0 0}
.sfm-sec__more{font-size:14px;font-weight:700;color:var(--sf-gold);white-space:nowrap}
.sfm-sec__more:hover{text-decoration:underline}

.sfm-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.sfm-grid--wide{grid-template-columns:repeat(4,1fr)}

/* ---- Product card ---- */
.sfm-card{display:flex;flex-direction:column;background:var(--sf-card);border:1px solid var(--sf-line);border-radius:var(--sf-r);overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}
.sfm-card:hover{transform:translateY(-4px);border-color:var(--sf-line-2);box-shadow:0 20px 40px -22px rgba(0,0,0,.8)}
.sfm-card__media{position:relative;aspect-ratio:3/4;overflow:hidden;display:block}
.sfm-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.sfm-card:hover .sfm-card__media img{transform:scale(1.05)}
.sfm-ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;background:linear-gradient(165deg,var(--sf-card-2),var(--sf-bg))}
.sfm-ph::before{content:"";position:absolute;inset:0;opacity:.55;background:radial-gradient(120% 70% at 50% 100%,var(--ph,rgba(244,183,64,.4)),transparent)}
.sfm-ph span{position:relative;font-family:var(--sf-display);font-weight:700;font-size:15px;line-height:1.15}
.sfm-ph small{position:relative;font-family:var(--sf-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--sf-gold);margin-bottom:6px}
.sfm-badge{position:absolute;top:10px;left:10px;font-family:var(--sf-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:7px;z-index:2}
.sfm-badge--promo{background:var(--sf-red);color:#fff}
.sfm-badge--new{background:var(--sf-green);color:#04140d}
.sfm-badge--top{background:var(--sf-gold);color:#1a1205}
.sfm-disc{position:absolute;bottom:10px;right:10px;background:var(--sf-red);color:#fff;font-family:var(--sf-mono);font-weight:700;font-size:13px;padding:4px 8px;border-radius:7px;z-index:2}

.sfm-card__body{display:flex;flex-direction:column;flex:1;padding:14px}
.sfm-card__title{font-family:var(--sf-body);font-weight:700;font-size:14px;line-height:1.3;color:var(--sf-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;margin-bottom:8px}
.sfm-card__meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}
.sfm-pill{font-family:var(--sf-mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--sf-muted);border:1px solid var(--sf-line-2);padding:3px 7px;border-radius:6px}
.sfm-card__foot{margin-top:auto}
.sfm-card__price{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}
.sfm-card__price b{font-family:var(--sf-mono);font-weight:700;font-size:18px;color:var(--sf-text)}
.sfm-card__price s{font-family:var(--sf-mono);font-size:12px;color:var(--sf-muted-2)}
.sfm-card__price .sfm-unit{font-size:11px;color:var(--sf-muted)}
.sfm-stock{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--sf-green);margin-bottom:10px}
.sfm-stock::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sf-green)}

/* ============================================================
   Tiles (gift-card range / budget)
   ============================================================ */
.sfm-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sfm-tile{position:relative;border:1px solid var(--sf-line);border-radius:var(--sf-r);padding:22px 20px;background:linear-gradient(160deg,var(--sf-card),var(--sf-bg-2));overflow:hidden;transition:transform .2s,border-color .2s}
.sfm-tile:hover{transform:translateY(-3px);border-color:var(--sf-gold)}
.sfm-tile h3{font-size:18px;margin-bottom:4px}
.sfm-tile p{font-size:13px;color:var(--sf-muted);margin:0}
.sfm-tile__glow{position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(244,183,64,.3),transparent 70%)}

/* ============================================================
   Newsletter
   ============================================================ */
.sfm-news{position:relative;border-radius:20px;overflow:hidden;padding:46px 40px;background:linear-gradient(135deg,var(--sf-card-2),var(--sf-bg-2));border:1px solid var(--sf-line-2);text-align:center}
.sfm-news::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 240px at 50% 120%,rgba(25,195,125,.2),transparent)}
.sfm-news>*{position:relative}
.sfm-news h2{font-size:clamp(24px,3.4vw,34px);margin-bottom:10px}
.sfm-news h2 em{font-style:normal;color:var(--sf-gold)}
.sfm-news p{color:var(--sf-muted);max-width:48ch;margin:0 auto 22px}
.sfm-news__form{display:flex;gap:10px;max-width:440px;margin:0 auto;flex-wrap:wrap}
.sfm-news__form input{flex:1 1 200px;height:46px;border-radius:10px;border:1px solid var(--sf-line-2);background:var(--sf-bg);color:var(--sf-text);padding:0 16px;font-family:inherit}

/* ============================================================
   FAQ
   ============================================================ */
.sfm-faq{max-width:820px;margin-inline:auto;display:grid;gap:10px}
.sfm-faq__item{border:1px solid var(--sf-line);border-radius:var(--sf-r-sm);background:var(--sf-card);overflow:hidden}
.sfm-faq__q{width:100%;text-align:left;background:none;border:0;color:var(--sf-text);padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-family:var(--sf-display);font-weight:700;font-size:16px}
.sfm-faq__q svg{flex:0 0 auto;width:20px;height:20px;color:var(--sf-gold);transition:transform .25s}
.sfm-faq__item.is-open .sfm-faq__q svg{transform:rotate(45deg)}
.sfm-faq__a{max-height:0;overflow:hidden;transition:max-height .3s}
.sfm-faq__a p{padding:0 20px 18px;margin:0;color:var(--sf-muted);font-size:15px}

/* ============================================================
   Single product
   ============================================================ */
.sfm-single{display:grid;grid-template-columns:380px 1fr;gap:40px;margin:34px 0}
.sfm-single__media{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--sf-line-2);aspect-ratio:3/4;background:var(--sf-card)}
.sfm-single__media img{width:100%;height:100%;object-fit:cover}
.sfm-single h1{font-size:clamp(26px,3.4vw,38px);margin-bottom:14px}
.sfm-single__meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.sfm-buy{border:1px solid var(--sf-line-2);border-radius:18px;background:var(--sf-card);padding:24px;margin-bottom:26px}
.sfm-buy__price{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.sfm-buy__price b{font-family:var(--sf-mono);font-size:34px;font-weight:700}
.sfm-buy__price s{font-family:var(--sf-mono);font-size:16px;color:var(--sf-muted-2)}
.sfm-buy__price .sfm-disc{position:static;font-size:14px}
.sfm-buy__save{font-size:13px;color:var(--sf-green);margin-bottom:18px}
.sfm-buy .sfm-btn{margin-bottom:10px}
.sfm-trustrow{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:13px;color:var(--sf-muted)}
.sfm-trustrow span{display:flex;align-items:center;gap:7px}
.sfm-trustrow svg{width:16px;height:16px;color:var(--sf-green)}
.sfm-prose{font-size:16px;line-height:1.8;color:var(--sf-text)}
.sfm-prose h2{font-size:24px;margin:1.4em 0 .4em}
.sfm-prose a{color:var(--sf-gold);text-decoration:underline}

/* ============================================================
   Archive / shop toolbar
   ============================================================ */
.sfm-shophead{padding:28px 0 6px}
.sfm-shophead h1{font-size:clamp(26px,4vw,40px)}
.sfm-shophead p{color:var(--sf-muted);margin-top:6px}
.sfm-filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}
.sfm-pagination{display:flex;gap:8px;justify-content:center;margin:40px 0;flex-wrap:wrap}
.sfm-pagination .page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--sf-line-2);border-radius:10px;color:var(--sf-text);font-weight:700}
.sfm-pagination .current{background:var(--sf-gold);color:#1a1205;border-color:var(--sf-gold)}

/* ============================================================
   Payment + footer
   ============================================================ */
.sfm-pay{border-top:1px solid var(--sf-line);border-bottom:1px solid var(--sf-line);padding:24px 0;margin-top:40px}
.sfm-pay__row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:center}
.sfm-pay__row span{font-size:13px;color:var(--sf-muted)}
.sfm-paychip{font-family:var(--sf-mono);font-size:12px;font-weight:700;letter-spacing:.04em;padding:8px 14px;border-radius:9px;border:1px solid var(--sf-line-2);background:var(--sf-card);color:var(--sf-text)}
.sfm-paychip--wave{color:#1DC3F0;border-color:rgba(29,195,240,.4)}
.sfm-paychip--om{color:#FF7900;border-color:rgba(255,121,0,.4)}
.sfm-paychip--free{color:#CF1E2D;border-color:rgba(207,30,45,.4)}

.sfm-footer{background:var(--sf-bg-2);padding:50px 0 28px;border-top:1px solid var(--sf-line)}
.sfm-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;margin-bottom:34px}
.sfm-footer p{font-size:14px;color:var(--sf-muted);max-width:34ch}
.sfm-footer h4{font-family:var(--sf-mono);font-weight:400;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--sf-muted-2);margin-bottom:14px}
.sfm-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.sfm-footer ul a{font-size:14px;color:var(--sf-text)}
.sfm-footer ul a:hover{color:var(--sf-gold)}
.sfm-footer__bar{border-top:1px solid var(--sf-line);padding-top:20px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--sf-muted-2)}

.sfm-float{position:fixed;right:18px;bottom:18px;z-index:70;display:inline-flex;align-items:center;gap:9px;padding:13px 17px;border-radius:999px;font-weight:700;font-size:14px;background:linear-gradient(135deg,var(--sf-green),var(--sf-green-deep));color:#04140d;box-shadow:0 16px 40px -12px rgba(25,195,125,.6);transition:transform .16s}
.sfm-float:hover{transform:scale(1.04)}
.sfm-float svg{width:21px;height:21px}

/* card actions row (Woo: Ajouter + WhatsApp) */
.sfm-card__actions{display:flex;gap:8px}
.sfm-card__actions .add_to_cart_button{flex:1 1 auto}
.sfm-iconbtn{flex:0 0 auto;width:42px;padding:0}
.sfm-iconbtn svg{width:18px;height:18px}
.sfm-card__img{width:100%;height:100%;object-fit:cover}
.sfm-card .added_to_cart{display:none}

/* ============================================================
   WooCommerce — grille & prix style G2A
   ============================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 30px!important;padding:0!important;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:0!important;display:flex;flex-direction:column;background:var(--sf-card);border:1px solid var(--sf-line);border-radius:var(--sf-r);overflow:hidden;transition:transform .2s,border-color .2s}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:var(--sf-line-2)}
.woocommerce ul.products li.product a img{margin:0}

/* prix WooCommerce */
.sfm-card__price .price,.sfm-card__price{font-family:var(--sf-mono);font-weight:700;font-size:17px;color:var(--sf-text)!important;margin:0}
.sfm-card__price del{color:var(--sf-muted-2)!important;font-size:12px;opacity:1;margin-right:6px;font-weight:400}
.sfm-card__price ins{text-decoration:none;color:var(--sf-text)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--sf-text)}

/* single produit (mise en page native Woo, restylée) */
.woocommerce div.product{display:grid;grid-template-columns:380px 1fr;gap:40px;margin:34px 0}
.woocommerce div.product div.images{margin:0}
.woocommerce div.product div.images img{border-radius:18px;border:1px solid var(--sf-line-2)}
.woocommerce div.product .product_title{font-family:var(--sf-display);font-size:clamp(26px,3.4vw,38px)}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--sf-mono);font-size:30px;font-weight:700}
.woocommerce div.product form.cart{margin:18px 0}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:linear-gradient(135deg,var(--sf-gold),var(--sf-gold-deep))!important;color:#1a1205!important;border-radius:10px!important;font-weight:700!important;border:0!important;padding:13px 22px!important;font-family:var(--sf-body)!important}
.woocommerce .quantity .qty{background:var(--sf-card);color:var(--sf-text);border:1px solid var(--sf-line-2);border-radius:8px;height:46px}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--sf-card);border-color:var(--sf-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--sf-card-2)}
.woocommerce .woocommerce-tabs .panel{color:var(--sf-text)}
.woocommerce span.onsale{background:var(--sf-red);color:#fff;border-radius:8px}
@media(max-width:820px){.woocommerce div.product{grid-template-columns:1fr}}
@media(max-width:1100px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr)}}

/* panier / checkout : fond cohérent */
.woocommerce table.shop_table,.woocommerce-cart table.cart,.woocommerce .cart_totals,.woocommerce-checkout #payment{background:var(--sf-card);border-radius:var(--sf-r);border:1px solid var(--sf-line)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--sf-line);color:var(--sf-text)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--sf-card);border-top-color:var(--sf-gold);color:var(--sf-text)}

/* témoignages */
.sfm-testis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sfm-testi{background:var(--sf-card);border:1px solid var(--sf-line);border-radius:var(--sf-r);padding:24px}
.sfm-testi__stars{color:var(--sf-gold);letter-spacing:2px;margin-bottom:10px}
.sfm-testi p{font-size:15px;color:var(--sf-text);margin-bottom:14px}
.sfm-testi cite{font-style:normal;font-size:13px;color:var(--sf-muted)}
@media(max-width:820px){.sfm-testis{grid-template-columns:1fr}}

/* socials footer */
.sfm-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.sfm-social a{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--sf-line-2);border-radius:10px;color:var(--sf-text);transition:.18s}
.sfm-social a:hover{border-color:var(--sf-gold);color:var(--sf-gold)}
.sfm-social svg{width:18px;height:18px}

/* reveal */
.sfm-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s,transform .55s}
.sfm-reveal.is-in{opacity:1;transform:none}

.sfm-page{padding:50px 0;max-width:820px;margin-inline:auto}
.sfm-page h1{font-size:clamp(28px,4vw,44px);margin-bottom:20px}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1100px){.sfm-grid{grid-template-columns:repeat(4,1fr)}.sfm-grid--wide{grid-template-columns:repeat(3,1fr)}.sfm-tiles{grid-template-columns:repeat(2,1fr)}.sfm-single{grid-template-columns:320px 1fr}.sfm-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.sfm-single{grid-template-columns:1fr;gap:24px}.sfm-single__media{max-width:340px}}
@media(max-width:720px){
  .sfm-search{display:none}
  .sfm-topactions .sfm-icon span,.sfm-cur{display:none}
  .sfm-burger{display:inline-flex}
  .sfm-grid{grid-template-columns:repeat(2,1fr)}
  .sfm-grid--wide{grid-template-columns:1fr}
  .sfm-footer__grid{grid-template-columns:1fr}
  .sfm-promo__in{padding:26px 22px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.sfm-reveal{opacity:1;transform:none}}

/* ============================================================
   INTÉGRATION — Palette noir / jaune / rouge + en-tête + correctifs
   (ajouté par défaut ; surcharge les valeurs plus haut)
   ============================================================ */
:root{
  --sf-bg:#0C0A06;
  --sf-bg-2:#141009;
  --sf-card:#1E1810;
  --sf-card-2:#2A2114;
  --sf-line:rgba(255,245,225,.10);
  --sf-line-2:rgba(255,245,225,.20);
  --sf-gold:#F5C518;
  --sf-gold-deep:#D9A810;
  --sf-red:#FF3B3B;
  --sf-red-deep:#E22B2B;
  --sf-green:#22D38A;
  --sf-green-deep:#15A86B;
  --sf-text:#F8F1E4;
  --sf-muted:#BFB4A0;
  --sf-muted-2:#867C6B;
}

/* Bandeau promo */
.sfm-ribbon{display:flex;align-items:center;justify-content:center;gap:8px;background:#E2362F;color:#fff;font-size:13px;font-weight:700;text-align:center;padding:9px 14px;line-height:1.3}
.sfm-ribbon svg{width:16px;height:16px;flex:0 0 auto}

/* Logo : "221" en rouge */
.sfm-logo__name{color:var(--sf-text);font-family:var(--sf-display);font-weight:800;font-size:21px;letter-spacing:-.03em}
.sfm-logo__name i{color:var(--sf-red);font-style:normal}

/* WhatsApp dans la barre + panier avec compteur */
.sfm-topwa{padding:9px 14px}
.sfm-topwa svg{width:18px;height:18px}
.sfm-carticon{position:relative}
.sfm-cartcount{position:absolute;top:2px;right:0;background:var(--sf-red);color:#fff;font-family:var(--sf-mono);font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px}

/* Liseré jaune au-dessus du pied de page */
.sfm-footer{border-top:3px solid var(--sf-gold)}

/* En-tête JAUNE (option via le Personnalisateur) */
.sfm-topbar--jaune{background:#F5C518;border-bottom-color:rgba(0,0,0,.18)}
.sfm-topbar--jaune .sfm-logo__name,.sfm-topbar--jaune .sfm-logo__name i{color:#0E0B06}
.sfm-topbar--jaune .sfm-logo__mark{background:#0E0B06;color:#F5C518}
.sfm-topbar--jaune .sfm-icon{color:#1A1205}
.sfm-topbar--jaune .sfm-icon:hover{color:#000;background:rgba(0,0,0,.10)}
.sfm-topbar--jaune .sfm-cur{color:#1A1205;border-color:rgba(0,0,0,.35)}
.sfm-topbar--jaune .sfm-search input{background:#1B1206;color:#fff}
.sfm-topbar--jaune .sfm-search button{background:#0E0B06;color:#F5C518}
.sfm-topbar--jaune .sfm-burger{color:#0E0B06}

/* Cartes : boutons empilés (Ajouter puis WhatsApp) + vignette claire */
.sfm-card__actions{flex-direction:column;gap:8px}
.sfm-card__media{background:#fff}
.sfm-card__img{object-fit:contain;padding:14px;background:#fff}

/* Lisibilité des textes WooCommerce */
.woocommerce, .woocommerce-page,
.woocommerce p, .woocommerce li, .woocommerce td, .woocommerce th,
.woocommerce dl, .woocommerce dd, .woocommerce label, .woocommerce h1,
.woocommerce h2, .woocommerce h3, .woocommerce h4,
.woocommerce .woocommerce-result-count,
.woocommerce-Tabs-panel, .woocommerce-Tabs-panel p,
.woocommerce #reviews, .woocommerce .cart_totals,
.woocommerce-checkout #payment, .woocommerce-checkout #payment label,
.woocommerce-account .woocommerce-MyAccount-content{ color:var(--sf-text); }
.woocommerce .posted_in, .woocommerce .sku_wrapper,
.woocommerce .product_meta, .woocommerce .product_meta a,
.woocommerce small, .woocommerce-breadcrumb, .woocommerce-breadcrumb a{ color:var(--sf-muted); }
.woocommerce a:not(.button):hover,
.woocommerce-breadcrumb a:hover, .woocommerce .product_meta a:hover{ color:var(--sf-gold); }
.woocommerce input.input-text, .woocommerce textarea,
.woocommerce select, .woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input, .woocommerce #order_review input,
.select2-container .select2-selection{
  background:var(--sf-bg-2)!important;color:var(--sf-text)!important;border:1px solid var(--sf-line-2)!important;border-radius:8px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:var(--sf-text); }
.woocommerce .star-rating span{ color:var(--sf-gold); }

@media(max-width:720px){
  .sfm-topbar__inner{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:10px;gap:10px}
  .sfm-logo{order:1}
  .sfm-topactions{order:2;margin-left:auto}
  .sfm-search{display:flex;order:3;flex-basis:100%;max-width:none}
  .sfm-cur{display:none}
}
