/* NightCode Studio V11.41 : langage visuel commun sans modifier la logique des pages. */
:root{--ncu-accent:#e22d41;--ncu-red-light:#fa5660;--ncu-red-dark:#ab1527;--ncu-bg:#111216;--ncu-panel:#202024;--ncu-stroke:rgba(255,255,255,.11);--ncu-text:#f7f7fa;--ncu-muted:#abaeb8;--ncu-red:linear-gradient(180deg,#fa5660 0%,#e22d41 53%,#ab1527 100%)}
/* Conserve l'identité et la structure existantes, harmonise les détails récurrents. */
body{--brand-accent:var(--ncu-accent)}
body:not(.nc-account-redesign):not(.nc-auth-v4):not(.nc-auth-page) :where(.nc-page,.page-nc,.nc-legal,.nc-doc-main,.reviews-page,.cartPage,.nc-install-wrap,.nc-cat-wrap,.nc6-product,.blogPage,.articlePage){font-family:Outfit,system-ui,sans-serif}
:where(.nc-catalogue-v4,.nc-product-v6,.nc-cart-v4,.nc-doc-v5,.nc-install-v5,.nc-legal-page,.nc-auth-v4,.nc-auth-page) :where(button,input,select,textarea){font-family:Outfit,system-ui,sans-serif}
:where(.nc-account-redesign,.nc-catalogue-v4,.nc-product-v6,.nc-auth-v4,.nc-auth-page,.nc-legal-page,.nc-doc-v5,.nc-install-v5) :where(a,button,input,textarea,select):focus-visible{outline:2px solid #fb5b6b;outline-offset:3px}
/* Cartes de services / documentation et contenu informatif : même relief subtil. */
body:not(.nc-account-redesign) :where(.account-panel,.doc-card,.docportal-card,.nc-install-card,.review-card,.nc-legal-card,.nc-auth-card){border-radius:18px}
/* Éléments de la fiche : rouge de la marque, sans changer le fonctionnement. */
.nc6-buy .nc6-add:not(:disabled),.nc-catalogue-v4 .nc-cat-add,
.nc-account-redesign .settings-save,.nc-auth-v4 .nc-auth-submit{background:var(--ncu-red)!important;color:#fff!important;border-color:rgba(255,114,128,.72)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 24px rgba(163,16,35,.22)}
.nc6-buy .nc6-price,.nc-catalogue-v4 .nc-cat-price{color:var(--ncu-red-light)}
/* Couleurs des liens secondaires, jamais sur les icônes de statut de paiement. */
.nc6-buy a:not(.nc-fav-btn):hover,.nc-account-redesign .nc-account-sent-panel a:hover{color:#ff6978}
/* Favoris (catalogue / fiche / compte) */
.nc-fav-form{margin:0!important;padding:0!important;display:inline-flex!important;align-items:center;flex:0 0 auto}
.nc-fav-btn{display:inline-grid!important;place-items:center!important;flex:0 0 auto!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;border:1px solid rgba(255,92,108,.5)!important;border-radius:13px!important;background:linear-gradient(155deg,#303036,#18191e)!important;color:#ff7480!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 22px rgba(0,0,0,.18)!important;font:700 25px/1 Arial,sans-serif!important;text-decoration:none!important;cursor:pointer;transition:background .18s,color .18s,transform .18s}
.nc-fav-btn:hover{background:linear-gradient(160deg,#4a232a,#292024)!important;transform:translateY(-1px)}
.nc-fav-btn.is-favorite{color:#fff!important;background:var(--ncu-red)!important;border-color:#ff8190!important}
.nc-catalogue-v4 .nc-cat-card{position:relative}
.nc-catalogue-v4 .nc-cat-favorite{position:absolute;right:14px;top:14px;z-index:3;display:flex}
.nc-catalogue-v4 .nc-cat-favorite .nc-fav-btn{background:rgba(20,20,24,.90)!important;backdrop-filter:blur(8px)}
.nc-catalogue-v4 .nc-cat-favorite .nc-fav-btn.is-favorite{background:var(--ncu-red)!important}
.nc-product-v6 .nc6-favorite-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 5px;color:var(--ncu-muted);font-size:13px;font-weight:650}
.nc-product-v6 .nc6-favorite-bar .nc-fav-btn{width:46px!important;height:46px!important}
.nc-account-redesign .nc-favorites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}
.nc-account-redesign .nc-favorites-card{overflow:hidden;min-width:0;border:1px solid #3b3b42;border-radius:20px;background:linear-gradient(155deg,#28282d,#1a1b20);box-shadow:0 16px 38px rgba(0,0,0,.16)}
.nc-account-redesign .nc-favorites-cover{display:block;aspect-ratio:16/9;overflow:hidden;background:#15151a;text-decoration:none}
.nc-account-redesign .nc-favorites-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.nc-account-redesign .nc-favorites-cover:hover img{transform:scale(1.035)}
.nc-account-redesign .nc-favorites-cover span{display:grid;place-items:center;height:100%;font-size:32px;font-weight:800;color:#f35b6a}
.nc-account-redesign .nc-favorites-content{padding:20px;display:flex;flex-direction:column;gap:9px;min-width:0}
.nc-account-redesign .nc-favorites-content small{font-size:10px;letter-spacing:.15em;font-weight:750;color:#ff6978}
.nc-account-redesign .nc-favorites-content h2{font-size:20px!important;line-height:1.25;margin:0!important;color:#fff!important}
.nc-account-redesign .nc-favorites-content h2 a{color:inherit!important;text-decoration:none}
.nc-account-redesign .nc-favorites-content p{font-size:13px;color:#b5b5c0;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:60px}
.nc-account-redesign .nc-favorites-bottom{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding-top:13px;border-top:1px solid rgba(255,255,255,.10)}
.nc-account-redesign .nc-favorites-bottom strong{font-size:20px;color:#ff6273;margin-right:auto}
.nc-account-redesign .nc-fav-view{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border-radius:11px;background:var(--ncu-red);color:#fff!important;font:750 12px Outfit,sans-serif;text-decoration:none}
.nc-account-redesign .nc-fav-view:hover{filter:brightness(1.12)}
.nc-account-redesign .nc-favorites-bottom .nc-fav-btn{width:40px!important;height:40px!important;min-height:40px!important;min-width:40px!important}
/* Cohérence des formulaires des sous-pages compte : sans forcer les dimensions. */
.nc-account-redesign .nc-account-sent-panel :where(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:11px!important;border-color:#474751!important;background:#16171c!important;color:#fff!important}
.nc-account-redesign .nc-account-sent-panel :where(button[type=submit],.script-actions .primary,.nc-fav-view):not(.nc-fav-btn){font-family:Outfit,system-ui,sans-serif!important}
.nc-account-redesign .nc-account-sent-panel :where(.settings-card,.compact-panel,.ticket-create,.invoice-panel,.account-panel){box-shadow:0 14px 34px rgba(0,0,0,.13)}
/* Charte commune pour anciennes pages front-office : ne touche pas au back-office ni aux factures imprimées. */
.nc-legal-page :where(.nc-legal,.legal-card),.nc-doc-v5 :where(.nc-doc-card,.nc-doc-section),.nc-install-v5 :where(.nc-install-card,.nc-install-panel){border-color:var(--ncu-stroke)}
.nc-auth-v4 :where(.nc-auth-submit,.nc-auth-discord),.nc-auth-page :where(.nc-auth-submit,.nc-auth-discord){border-radius:13px}
@media(max-width:720px){.nc-account-redesign .nc-favorites-grid{grid-template-columns:minmax(0,1fr)}.nc-catalogue-v4 .nc-cat-favorite{right:10px;top:10px}}
@media(prefers-reduced-motion:reduce){.nc-fav-btn,.nc-account-redesign .nc-favorites-cover img{transition:none!important}}

/* Même interaction favoris sur la maquette PHP (route /catalogue) */
.pc{position:relative}
.pc>.nc-mock-favorite{position:absolute;left:14px;top:14px;z-index:5}
.nc-fp-favorite-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;color:#adaeb8;font:650 13px Outfit,sans-serif}

/* V11.41 — harmonisation des pages publiques (couleurs/relief, sans changement de taille) */
/* Panier, prix et paiement */
.nc-cart-v4 .cartSummary,
.nc-cart-v4 .cartItem,
.nc-cart-v4 .emptyCart,
.nc-cart-v4 .couponBlock,
.nc-cart-v4 .cfxBlock{border-color:rgba(255,255,255,.12)!important;background-color:#202024;box-shadow:0 14px 34px rgba(0,0,0,.13)}
.nc-cart-v4 .checkoutBtn:not(:disabled),
.nc-cart-v4 .couponForm button:not(:disabled),
.nc-install-v5 .nc-install-btn:not(:disabled),
.reviews-page .review-submit:not(:disabled),
.page-nc .bouton-plein,
.blogPage .blogCta a{background:var(--ncu-red)!important;color:#fff!important;border-color:rgba(255,116,132,.58)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 12px 25px rgba(163,18,35,.22)!important}
.nc-cart-v4 .summaryTotal strong,
.nc-cart-v4 .cartPrice,
.reviews-page .score strong{color:#ff6675}
/* Articles, documentation, avis, installation, sections éditoriales */
.nc-doc-v5 .nc-doc-card,
.nc-doc-v5 .nc-doc-overview,
.nc-doc-product-body .dp-content,
.nc-install-v5 .nc-install-card,
.blogPage .postGrid article,
.blogPage .featured,
.articlePage .articleContent,
.reviews-page .review,
.reviews-page .review-form,
.page-nc .page-card,
.nc-legal-page .nc-legal-card{border-color:var(--ncu-stroke)!important;box-shadow:0 15px 36px rgba(0,0,0,.15)}
.nc-doc-v5 .nc-doc-kicker,
.nc-install-v5 .nc-install-hero :where(.nc-install-kicker,small),
.nc-legal-page .nc-legal-kicker,
.reviews-page .eyebrow,
.page-nc .eyebrow,
.nc-doc-product-body .dp-kicker{color:#fb6170!important}
.nc-doc-v5 .nc-doc-open,
.blogPage .read,
.articlePage .back,
.nc-doc-product-body .dp-help{color:#ff6877!important}
/* Formulaires visuellement cohérents */
.nc-cart-v4 :where(input,textarea,select),
.nc-doc-v5 :where(input,textarea,select),
.nc-install-v5 :where(input,textarea,select),
.reviews-page :where(input,textarea,select),
.nc-auth-v4 :where(input:not([type=checkbox]),textarea,select),
.nc-auth-page :where(input:not([type=checkbox]),textarea,select){border-radius:11px!important;border-color:rgba(255,255,255,.19)!important}
/* Harmonisation des boutons sans masquer les statuts ni les états désactivés */
.nc-catalogue-v4 .nc-cat-detail,
.nc-doc-v5 .nc-doc-open,
.nc-cart-v4 .checkoutBtn,
.nc-auth-v4 .nc-auth-submit,
.nc-auth-page .nc-auth-submit,
.nc-install-v5 .nc-install-btn,
.page-nc .bouton,
.reviews-page .bouton,
.nc-account-redesign .nc-fav-view{font-family:Outfit,system-ui,sans-serif!important;font-weight:750}
