/* NightCode V11.37 — fiche produit de la maquette, portée uniquement sous .nc-fp */
.nc-fp{background:linear-gradient(175deg,#191a1e 0%,#151519 44%,#141417 100%);color:#f3f0f2;padding:24px 0 90px;min-height:75vh;font-family:Outfit,system-ui,sans-serif}
.nc-fp *{box-sizing:border-box}
.nc-fp .nc-fp-shell{width:min(1320px,calc(100% - 48px));margin:auto}
.nc-fp .nc-fp-back{display:inline-flex;align-items:center;color:#b9b3b9!important;font-size:14px;font-weight:550;text-decoration:none;min-height:46px;margin-bottom:12px}
.nc-fp .nc-fp-back:hover{color:#fff!important}
.nc-fp .nc-fp-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:40px;align-items:start}
.nc-fp .nc-fp-left{min-width:0}
.nc-fp .nc-fp-view{position:relative;aspect-ratio:16/9;border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden;background:linear-gradient(125deg,#262328,#18181d);box-shadow:0 30px 70px -46px rgba(228,42,61,.35);display:grid;place-items:center}
.nc-fp .nc-fp-view>img{display:block;width:100%;height:100%;object-fit:contain;background:#18181c}
.nc-fp .nc-fp-no-image{display:grid;gap:16px;text-align:center;padding:20px}
.nc-fp .nc-fp-no-image span{font-size:11px;letter-spacing:.2em;color:#f05d68;font-weight:750}
.nc-fp .nc-fp-no-image strong{font-size:clamp(24px,3vw,38px)}
.nc-fp .nc-fp-no-image small{color:#9c9ba4}
.nc-fp .nc-fp-badge{position:absolute;right:17px;top:17px;border-radius:100px;padding:7px 15px;background:linear-gradient(180deg,#ff5968,#af1529);font-size:11px;font-weight:800;letter-spacing:.05em;color:#fff;box-shadow:0 10px 28px rgba(168,30,43,.32)}
.nc-fp .nc-fp-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:14px}
.nc-fp .nc-fp-thumb{appearance:none;display:block;aspect-ratio:16/9;border-radius:15px;border:2px solid rgba(255,255,255,.11);overflow:hidden;background:#1b1a1e;padding:0;cursor:pointer;transition:border-color .18s,transform .18s}
.nc-fp .nc-fp-thumb:hover{transform:translateY(-2px);border-color:rgba(255,87,105,.6)}
.nc-fp .nc-fp-thumb.is-current,.nc-fp .nc-fp-thumb[aria-pressed=true]{border-color:#f4455a;box-shadow:0 0 0 2px rgba(244,69,90,.1)}
.nc-fp .nc-fp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.nc-fp .nc-fp-video{display:inline-flex;align-items:center;padding:12px 4px;margin-top:8px;color:#ff8795!important;font-weight:650;text-decoration:none;font-size:14px}
.nc-fp .nc-fp-section{margin-top:48px}
.nc-fp .nc-fp-section h2,.nc-fp .nc-fp-related h2{font-size:clamp(22px,2.4vw,27px);font-weight:750;letter-spacing:-.035em;line-height:1.2;margin:0 0 18px;color:#f6f3f6}
.nc-fp .nc-fp-section h3{font-size:18px;margin:22px 0 12px}
.nc-fp .nc-fp-section>p{margin:0;color:#bdbac3;font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.nc-fp .nc-fp-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nc-fp .nc-fp-feature{display:flex;align-items:flex-start;gap:12px;border-radius:18px;padding:17px 18px;background:#202025;border:1px solid rgba(255,255,255,.08);font-size:15px;color:#e2dee5;line-height:1.55}
.nc-fp .nc-fp-feature-icon{flex:0 0 30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#ff7788;background:rgba(235,58,79,.13);font-weight:800}
.nc-fp .nc-fp-steps{counter-reset:nc-fp-step;list-style:none;margin:0;padding:0;display:grid;gap:12px}
.nc-fp .nc-fp-steps li{counter-increment:nc-fp-step;display:flex;gap:14px;align-items:center;padding:15px 18px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#202025;color:#d9d5db;font-size:15px;line-height:1.5}
.nc-fp .nc-fp-steps li:before{content:counter(nc-fp-step);width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;background:linear-gradient(#f35566,#b51a2e);color:#fff;font-weight:800}
.nc-fp .nc-fp-deps{display:flex;flex-wrap:wrap;gap:8px}
.nc-fp .nc-fp-deps span{border:1px solid rgba(255,90,108,.35);border-radius:24px;background:rgba(235,58,77,.1);color:#f4d5db;font-size:13px;padding:8px 13px}
.nc-fp .nc-fp-doc-link{display:inline-flex;margin-top:18px;color:#ff8795!important;text-decoration:none;font-weight:600}
.nc-fp .nc-fp-purchase{position:sticky;top:96px;min-width:0;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:linear-gradient(180deg,#232126,#1c1b20);padding:28px;box-shadow:0 34px 70px -40px rgba(235,51,70,.23)}
.nc-fp .nc-fp-badges{display:flex;gap:8px;flex-wrap:wrap}
.nc-fp .nc-fp-badges span,.nc-fp .nc-fp-related-tags span{font-weight:750;letter-spacing:.015em;border:1px solid rgba(255,89,105,.53);background:linear-gradient(180deg,#cb3348,#851b2b);color:#fff;border-radius:99px;font-size:11px;padding:7px 12px}
.nc-fp .nc-fp-eyebrow{margin-top:20px;font-size:11px;color:#f07283;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.nc-fp .nc-fp-purchase h1{font-size:clamp(28px,3vw,37px);line-height:1.12;letter-spacing:-.045em;margin:11px 0 12px;font-weight:800;color:#f7f4f6;overflow-wrap:anywhere}
.nc-fp .nc-fp-lead{font-size:15px;line-height:1.65;color:#aca8b1;margin:0}
.nc-fp .nc-fp-price{font-size:clamp(30px,3.1vw,44px);line-height:1.1;font-weight:850;color:#fa4d60;margin:24px 0 18px}
.nc-fp .nc-fp-actions{display:flex;gap:9px}
.nc-fp .nc-fp-actions form:first-child{flex:1;min-width:0}
.nc-fp .nc-fp-actions form{margin:0}
.nc-fp .nc-fp-buy{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 16px;width:100%;text-decoration:none;border:1px solid #ff6374;border-radius:14px;background:linear-gradient(180deg,#ff6675,#e6344b 55%,#ac172c);color:white!important;font-weight:800;font-size:15px;box-shadow:inset 0 1px 0 rgba(255,255,255,.23),0 10px 25px rgba(164,16,35,.26);cursor:pointer}
.nc-fp .nc-fp-buy:hover{filter:brightness(1.09)}
.nc-fp .nc-fp-cart{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(180deg,#434148,#242329);color:#fff;border:1px solid rgba(255,98,112,.45);cursor:pointer}
.nc-fp .nc-fp-cart:hover{border-color:#f65c6f}
.nc-fp .nc-fp-cart-notice{padding:12px;border-radius:12px;border:1px solid rgba(255,169,72,.23);font-size:12px;line-height:1.5;color:#d6bec3;background:rgba(224,145,60,.06);margin:0 0 13px}
.nc-fp .nc-fp-facts{margin:26px 0 0}
.nc-fp .nc-fp-facts div{display:flex;align-items:start;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid rgba(255,255,255,.09);font-size:14px}
.nc-fp .nc-fp-facts dt{color:#a9a5ae}
.nc-fp .nc-fp-facts dd{margin:0;text-align:right;color:#f2edef;max-width:65%;overflow-wrap:anywhere}
.nc-fp .nc-fp-facts a{color:#f9a1a9!important;text-decoration:none}
.nc-fp .nc-fp-related{margin-top:68px}
.nc-fp .nc-fp-related-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px}
.nc-fp .nc-fp-related-head h2{margin:0}
.nc-fp .nc-fp-related-head>a{color:#ef8995!important;text-decoration:none;font-size:14px;font-weight:700}
.nc-fp .nc-fp-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.nc-fp .nc-fp-related-item{border:1px solid rgba(255,255,255,.12);border-radius:21px;overflow:hidden;background:#1f1d22;text-decoration:none!important;color:inherit;display:flex;flex-direction:column;min-width:0;transition:transform .2s,border-color .2s}
.nc-fp .nc-fp-related-item:hover{transform:translateY(-3px);border-color:rgba(250,78,101,.5)}
.nc-fp .nc-fp-related-picture{aspect-ratio:16/9;overflow:hidden;position:relative}
.nc-fp .nc-fp-related-picture>.art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important}
.nc-fp .nc-fp-related-text{padding:18px 20px 19px;flex:1;display:flex;flex-direction:column;gap:10px}
.nc-fp .nc-fp-related-tags{display:flex;flex-wrap:wrap;gap:6px}
.nc-fp .nc-fp-related-tags span{padding:5px 10px;font-size:10px}
.nc-fp .nc-fp-related-text h3{font-size:19px;line-height:1.2;margin:2px 0 0;color:#f6f2f6}
.nc-fp .nc-fp-related-text p{font-size:14px;line-height:1.6;color:#aaa6af;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.nc-fp .nc-fp-related-bottom{display:flex;justify-content:space-between;gap:9px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);align-items:center}
.nc-fp .nc-fp-related-bottom strong{font-size:18px;color:#ff596c}
.nc-fp .nc-fp-related-bottom span{font-size:12px;font-weight:700;color:#ef929b;white-space:nowrap}
@media(max-width:980px){.nc-fp .nc-fp-layout{grid-template-columns:1fr;gap:22px}.nc-fp .nc-fp-purchase{position:static;order:-1}.nc-fp .nc-fp-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.nc-fp{padding-top:10px;padding-bottom:55px}.nc-fp .nc-fp-shell{width:calc(100% - 28px)}.nc-fp .nc-fp-purchase{padding:21px}.nc-fp .nc-fp-layout{gap:20px}.nc-fp .nc-fp-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nc-fp .nc-fp-feature{padding:15px}.nc-fp .nc-fp-features,.nc-fp .nc-fp-related-grid{grid-template-columns:1fr}.nc-fp .nc-fp-related{margin-top:48px}.nc-fp .nc-fp-section{margin-top:36px}.nc-fp .nc-fp-related-head{align-items:start}.nc-fp .nc-fp-related-head h2{font-size:23px}}


/* V11.38 — Couleur des boutons NightCode et correction des alignements
   Portée limitée à la fiche produit. Conserve le HTML, les prix et le panier. */
.nc-fp{
  --nc-fp-logo-gradient:linear-gradient(180deg,#fa5660 0%,#e22d41 52%,#ab1527 100%);
  --nc-fp-logo-border:rgba(255,105,119,.78);
  --nc-fp-logo-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -5px 12px rgba(73,0,7,.25),0 11px 27px rgba(158,14,31,.28);
  padding-top:116px; /* le header est fixe : garder le retour au catalogue visible */
}
.nc-fp .nc-fp-layout{width:100%;min-width:0;align-items:start;}
.nc-fp .nc-fp-left,.nc-fp .nc-fp-purchase,.nc-fp .nc-fp-section{min-width:0;max-width:100%;}
.nc-fp .nc-fp-view{width:100%;margin:0;}
.nc-fp .nc-fp-feature,
.nc-fp .nc-fp-steps li{box-sizing:border-box;}
.nc-fp .nc-fp-features{
  width:100%;max-width:100%;min-width:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;align-items:stretch;
}
.nc-fp .nc-fp-feature{
  min-width:0;max-width:100%;width:100%;
  display:flex;align-items:center;
  overflow-wrap:anywhere;word-break:normal;
}
.nc-fp .nc-fp-feature>span:last-child{
  min-width:0;flex:1;max-width:100%;
  white-space:normal;overflow-wrap:anywhere;
}
/* Les accents rouges reprennent le dégradé EXACT des boutons du site. */
.nc-fp .nc-fp-badge,
.nc-fp .nc-fp-badges span,
.nc-fp .nc-fp-related-tags span,
.nc-fp .nc-fp-feature-icon,
.nc-fp .nc-fp-steps li::before{
  background:var(--nc-fp-logo-gradient) !important;
  color:#fff !important;
  border-color:var(--nc-fp-logo-border) !important;
  box-shadow:var(--nc-fp-logo-shadow);
}
.nc-fp .nc-fp-feature-icon{border:1px solid var(--nc-fp-logo-border);}
.nc-fp .nc-fp-buy{
  background:var(--nc-fp-logo-gradient) !important;
  border-color:var(--nc-fp-logo-border) !important;
  box-shadow:var(--nc-fp-logo-shadow) !important;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.nc-fp .nc-fp-price,
.nc-fp .nc-fp-related-bottom strong{color:#fa5660;}
.nc-fp .nc-fp-eyebrow{color:#fa5660;}
.nc-fp .nc-fp-thumb.is-current,
.nc-fp .nc-fp-thumb[aria-pressed=true]{border-color:#e22d41;}
.nc-fp .nc-fp-back{position:relative;z-index:1;}
@media(max-width:980px){
  .nc-fp .nc-fp-layout{grid-template-columns:minmax(0,1fr);}
}
@media(max-width:620px){
  .nc-fp{padding-top:133px;}
  .nc-fp .nc-fp-features{grid-template-columns:minmax(0,1fr);}
  .nc-fp .nc-fp-feature{padding:14px 15px;}
}


/* NightCode Studio V11.65 — BLACK EDITION : fiches produit publiques /script/slug.
   CSS UNIQUEMENT : conserve galerie, boutons, formulaires, panier et mobile.
   Fond uniforme #000000, bordures discrètes et rouge NightCode en accent. */
body[data-nc-page="product"],
body[data-nc-page="product"] #app,
body[data-nc-page="product"] main#app,
body[data-nc-page="product"] .nc-fp,
.nc-fp{
  background:#000000 !important;
  background-image:none !important;
  color:#f8f8fa;
}
/* Cartes et contenu noirs, y compris les fonds venant des anciens thèmes. */
.nc-fp .nc-fp-view,
.nc-fp .nc-fp-no-image,
.nc-fp .nc-fp-thumb,
.nc-fp .nc-fp-feature,
.nc-fp .nc-fp-steps li,
.nc-fp .nc-fp-purchase,
.nc-fp .nc-fp-related-item,
.nc-fp .nc-fp-related-picture,
.nc-fp .nc-fp-related-text,
.nc-fp .nc-fp-related-bottom,
.nc-fp .nc-fp-cart{
  background:#000000 !important;
  background-image:none !important;
  border-color:#2b2b31 !important;
  box-shadow:none !important;
}
.nc-fp .nc-fp-view>img{background:#000000 !important}
.nc-fp .nc-fp-feature,
.nc-fp .nc-fp-steps li{color:#e2e2e5 !important}
.nc-fp .nc-fp-section>p,
.nc-fp .nc-fp-lead,
.nc-fp .nc-fp-related-text p{color:#aeafb8 !important}
.nc-fp .nc-fp-purchase h1,
.nc-fp .nc-fp-section h2,
.nc-fp .nc-fp-related h2{color:#fafafa !important}
.nc-fp .nc-fp-facts div,
.nc-fp .nc-fp-related-bottom{border-top-color:#29292e !important}
.nc-fp .nc-fp-thumb:hover,
.nc-fp .nc-fp-related-item:hover,
.nc-fp .nc-fp-cart:hover{border-color:#e22d41 !important}
.nc-fp .nc-fp-thumb.is-current,
.nc-fp .nc-fp-thumb[aria-pressed="true"]{
  border-color:#e22d41 !important;
  box-shadow:0 0 0 1px rgba(226,45,65,.23) !important;
}
/* La touche rouge du studio et les boutons d'achat restent inchangés. */
.nc-fp .nc-fp-cart{color:#ffffff !important}
.nc-fp .nc-fp-doc-link:focus-visible,
.nc-fp a:focus-visible,
.nc-fp button:focus-visible{outline:2px solid #fb5063;outline-offset:3px}
