/* Nettoyage complet de la fiche native pour le produit configuré */
body.novelis-configurator-active .social-sharing,
body.novelis-configurator-active .product-actions,
body.novelis-configurator-active #add-to-cart-or-refresh,
body.novelis-configurator-active .product-prices,
body.novelis-configurator-active .product-add-to-cart,
body.novelis-configurator-active .product-quantities,
body.novelis-configurator-active .product-reference,
body.novelis-configurator-active #product-availability,
body.novelis-configurator-active .product-manufacturer,
body.novelis-configurator-active .product-description,
body.novelis-configurator-active [id^="product-description-short"],
body.novelis-configurator-active .product-flags,
body.novelis-configurator-active .tabs,
body.novelis-configurator-active .nav-tabs,
body.novelis-configurator-active .tab-content,
body.novelis-configurator-active .product-tabs,
body.novelis-configurator-active .product-comments,
body.novelis-configurator-active #product-comments-list-header,
body.novelis-configurator-active .product-comment-list-item,
body.novelis-configurator-active .images-container,
body.novelis-configurator-active .product-cover,
body.novelis-configurator-active .product-images,
body.novelis-configurator-active .js-qv-mask,
body.novelis-configurator-active .scroll-box-arrows,
body.novelis-configurator-active .product-left-column,
body.novelis-configurator-active .col-product-image,
body.novelis-configurator-active .left-column,
body.novelis-configurator-active .product-page-right .h1,
body.novelis-configurator-active .page-content.page-cms,
body.novelis-configurator-active .h1[itemprop="name"],
body.novelis-configurator-active h1.h1,
body.novelis-configurator-active .product-container h1,
body.novelis-configurator-active .woocommerce-product-gallery,
body.novelis-configurator-active .product-variants,
body.novelis-configurator-active .product-discounts,
body.novelis-configurator-active .product-minimal-quantity,
body.novelis-configurator-active .product-customization,
body.novelis-configurator-active .product-detail-name,
body.novelis-configurator-active .availability,
body.novelis-configurator-active .product-short-desc,
body.novelis-configurator-active .product-desc,
body.novelis-configurator-active .product-page-product-actions,
body.novelis-configurator-active .blockreassurance_product,
body.novelis-configurator-active .product-description-short,
body.novelis-configurator-active .product-features,
body.novelis-configurator-active .product-details,
body.novelis-configurator-active .product-right-content > h1,
body.novelis-configurator-active .product-right-content .description,
body.novelis-configurator-active .product-right-content .manufacturer_name {
  display:none !important;
}

body.novelis-configurator-active #wrapper .container,
body.novelis-configurator-active #main .container,
body.novelis-configurator-active #content-wrapper {
  max-width: 1360px;
}

body.novelis-configurator-active { padding-bottom: 112px; }
.novelis-configurator, .novelis-configurator * { box-sizing:border-box; }
.novelis-configurator {
  --nv:#111827;
  --muted:#667085;
  --line:#e5e7eb;
  --line-strong:#cfd4dc;
  --soft:#f8fafc;
  --soft-2:#f3f5f8;
  --white:#ffffff;
  max-width:1320px;
  margin:26px auto 52px;
  color:var(--nv);
  font-family:inherit;
}
.novelis-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  padding:34px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(135deg,#ffffff 0%,#f9fbff 100%);
  box-shadow:0 16px 48px rgba(17,24,39,.06);
}
.novelis-head-copy { max-width:760px; }
.novelis-eyebrow { margin:0 0 10px; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#6b7280; }
.novelis-head h1 { margin:0; font-size:40px; line-height:1.08; color:#0f172a; }
.novelis-intro { margin:12px 0 0; color:#475467; font-size:16px; line-height:1.55; }
.novelis-head-badges { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 0; padding:0; list-style:none; }
.novelis-head-badges li { padding:9px 12px; border:1px solid var(--line); border-radius:999px; background:#fff; font-size:12px; font-weight:700; color:#344054; }
.novelis-start-box {
  flex:0 0 230px;
  min-width:230px;
  padding:20px 22px;
  border-radius:20px;
  background:#0f172a;
  color:#fff;
  text-align:right;
  box-shadow:0 18px 40px rgba(15,23,42,.22);
}
.novelis-start-box span,.novelis-start-box small { display:block; font-size:12px; font-weight:800; opacity:.72; text-transform:uppercase; letter-spacing:.06em; }
.novelis-start-box strong { display:block; margin:8px 0 6px; font-size:34px; line-height:1; }
.novelis-progress { margin:18px 0 24px; padding:18px 22px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 8px 28px rgba(17,24,39,.03); }
.novelis-progress-top { display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; font-size:13px; }
.novelis-progress-top strong { font-size:14px; }
.novelis-progress-track { height:8px; overflow:hidden; border-radius:999px; background:#eef1f4; }
.novelis-progress-track span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#111827,#344054); transition:width .25s ease; }
.novelis-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:26px; align-items:start; }
.novelis-main { min-width:0; }
.novelis-section { margin-bottom:20px; padding:26px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 10px 32px rgba(17,24,39,.04); }
.novelis-section-title { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.novelis-section-title>span { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:#101828; color:#fff; font-size:14px; font-weight:900; }
.novelis-section-title>div { min-width:0; flex:1; }
.novelis-section-title strong { display:block; font-size:20px; color:#101828; }
.novelis-section-title small { display:block; margin-top:4px; color:#667085; font-size:13px; line-height:1.35; }
.novelis-help-link { border:0; background:transparent; padding:6px 0; color:#344054; font-weight:800; text-decoration:underline; cursor:pointer; }
.novelis-dimensions-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.novelis-input-card { padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--soft); }
.novelis-input-card label { display:block; margin-bottom:8px; font-size:14px; font-weight:800; }
.novelis-input-wrap { display:flex; align-items:center; overflow:hidden; border:1px solid var(--line-strong); border-radius:14px; background:#fff; transition:.2s; }
.novelis-input-wrap:focus-within { border-color:#111827; box-shadow:0 0 0 3px rgba(17,24,39,.08); }
.novelis-input-wrap input { width:100%; height:54px; border:0; outline:0; background:transparent; padding:0 16px; font-size:20px; font-weight:800; color:#101828; }
.novelis-input-wrap span { flex:0 0 auto; height:54px; display:flex; align-items:center; padding:0 14px; color:#667085; font-weight:800; font-size:12px; text-transform:uppercase; }
.novelis-input-card>small { display:block; margin-top:8px; color:#667085; font-size:12px; }
.novelis-input-card.has-error { border-color:#f04438; background:#fff7f6; }
.novelis-field-error { margin:8px 0 0; color:#b42318; font-size:12px; font-weight:700; }
.novelis-choice-grid,.novelis-pill-grid,.novelis-color-grid { display:grid; gap:12px; }
.novelis-choice-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.novelis-choice-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.novelis-pill-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.novelis-color-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.novelis-choice,.novelis-pill,.novelis-color { position:relative; width:100%; border:1px solid #d6dae1; border-radius:16px; background:#fff; color:#101828; text-align:left; cursor:pointer; transition:.16s ease; }
.novelis-choice:hover,.novelis-pill:hover,.novelis-color:hover { border-color:#98a2b3; transform:translateY(-1px); box-shadow:0 10px 24px rgba(17,24,39,.06); }
.novelis-choice.is-active,.novelis-pill.is-active,.novelis-color.is-active { border-color:#111827; box-shadow:0 0 0 2px rgba(17,24,39,.96); background:#f9fafb; }
.novelis-choice { display:flex; align-items:center; gap:12px; min-height:92px; padding:16px; }
.novelis-choice.compact { min-height:80px; }
.novelis-choice-icon { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:11px; background:#eef2f6; font-size:22px; }
.novelis-choice-title { display:block; margin-bottom:4px; font-size:15px; font-weight:800; line-height:1.3; }
.novelis-choice-text { display:block; color:#667085; font-size:12px; line-height:1.4; }
.novelis-pill { min-height:74px; padding:14px; }
.novelis-pill strong,.novelis-color strong { display:block; font-size:13px; line-height:1.35; }
.novelis-pill small,.novelis-color small { display:block; margin-top:4px; color:#667085; font-size:11px; line-height:1.4; }
.novelis-color { display:flex; align-items:center; gap:10px; min-height:78px; padding:13px; }
.novelis-swatch { flex:0 0 32px; width:32px; height:32px; border:1px solid #98a2b3; border-radius:50%; box-shadow:inset 0 0 0 2px rgba(255,255,255,.68); }
.novelis-checkmark { position:absolute; top:10px; right:10px; display:none; place-items:center; width:22px; height:22px; border-radius:50%; background:#111827; color:#fff; font-size:12px; font-weight:900; }
.is-active .novelis-checkmark { display:grid; }
.novelis-sub-options { margin-top:16px; padding-top:16px; border-top:1px dashed var(--line); }
.novelis-subtitle { margin:0 0 10px; font-size:13px; font-weight:800; color:#101828; }
.novelis-warning { margin:0 0 18px; padding:14px 16px; border:1px solid #fecdca; border-radius:14px; background:#fff6f5; color:#b42318; font-weight:700; }
.novelis-check-card { margin-bottom:18px; padding:18px 20px; border-left:4px solid #111827; border-radius:14px; background:#f4f7fb; }
.novelis-check-card strong { display:block; margin-bottom:5px; font-size:15px; }
.novelis-check-card p { margin:0; color:#475467; font-size:13px; line-height:1.55; }
.novelis-reassurance { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.novelis-reassurance>div { padding:16px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.novelis-reassurance span { display:inline-grid; place-items:center; width:24px; height:24px; margin-bottom:9px; border-radius:50%; background:#111827; color:#fff; font-weight:900; }
.novelis-reassurance strong,.novelis-reassurance small { display:block; }
.novelis-reassurance strong { font-size:13px; }
.novelis-reassurance small { margin-top:4px; color:#667085; font-size:11px; line-height:1.35; }
.novelis-summary-card { position:sticky; top:20px; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 18px 50px rgba(17,24,39,.08); }
.novelis-summary-card-head { padding:24px 22px; background:#0f172a; color:#fff; }
.novelis-summary-card-head span,.novelis-summary-card-head small { display:block; font-size:12px; opacity:.74; text-transform:uppercase; letter-spacing:.06em; }
.novelis-summary-card-head strong { display:block; margin:7px 0 4px; font-size:34px; line-height:1; }
.novelis-summary-list { margin:0; padding:14px 20px; }
.novelis-summary-list>div { display:grid; grid-template-columns:108px 1fr; gap:10px; padding:10px 0; border-bottom:1px solid #eaecf0; }
.novelis-summary-list>div:last-child { border-bottom:0; }
.novelis-summary-list dt { color:#667085; font-size:12px; }
.novelis-summary-list dd { margin:0; text-align:right; font-size:12px; font-weight:800; line-height:1.45; }
.novelis-price-breakdown { margin:0 20px; padding:14px 0; border-top:1px solid #eaecf0; border-bottom:1px solid #eaecf0; }
.novelis-price-breakdown>div { display:flex; justify-content:space-between; gap:12px; padding:5px 0; font-size:13px; }
.novelis-price-breakdown strong { font-size:14px; }
.novelis-qty-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px 10px; }
.novelis-qty-row label { font-weight:800; font-size:14px; }
.novelis-qty,.novelis-sticky-qty { display:flex; align-items:center; overflow:hidden; border:1px solid #d0d5dd; border-radius:12px; background:#fff; }
.novelis-qty button,.novelis-sticky-qty button { width:38px; height:40px; border:0; background:#f2f4f7; font-size:18px; cursor:pointer; }
.novelis-qty input { width:50px; height:40px; border:0; text-align:center; font-weight:800; }
.novelis-cart-button { width:calc(100% - 40px); min-height:56px; margin:10px 20px 12px; border:0; border-radius:14px; background:#111827; color:#fff; font-size:15px; font-weight:900; cursor:pointer; box-shadow:0 14px 24px rgba(17,24,39,.18); }
.novelis-cart-button:hover,.novelis-sticky-button:hover { filter:brightness(1.04); }
.novelis-cart-button:disabled,.novelis-sticky-button:disabled { opacity:.45; cursor:not-allowed; box-shadow:none; }
.novelis-cart-message { min-height:18px; margin:0 20px 18px; color:#667085; font-size:12px; text-align:center; }
.novelis-sticky-price { position:fixed; left:50%; bottom:14px; z-index:9998; display:flex; align-items:center; justify-content:space-between; gap:20px; width:min(1320px,calc(100% - 28px)); padding:14px 16px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:#0f172a; color:#fff; box-shadow:0 18px 54px rgba(17,24,39,.3); transform:translateX(-50%); }
.novelis-sticky-content { min-width:0; }
.novelis-sticky-content span { display:block; font-size:11px; font-weight:800; text-transform:uppercase; opacity:.66; }
.novelis-sticky-content strong { display:block; margin-top:4px; font-size:28px; line-height:1.08; }
.novelis-sticky-content small { display:block; max-width:740px; margin-top:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; opacity:.76; }
.novelis-sticky-actions { display:flex; align-items:center; gap:10px; }
.novelis-sticky-qty { border-color:rgba(255,255,255,.18); }
.novelis-sticky-qty button { color:#fff; background:rgba(255,255,255,.1); }
.novelis-sticky-qty span { min-width:34px; text-align:center; font-weight:800; }
.novelis-sticky-button { min-height:48px; padding:0 22px; border:0; border-radius:12px; background:#fff; color:#111827; font-weight:900; cursor:pointer; }
.novelis-modal[hidden] { display:none !important; }
.novelis-modal { position:fixed; inset:0; z-index:10050; display:grid; place-items:center; padding:20px; }
.novelis-modal-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.72); }
.novelis-modal-dialog { position:relative; z-index:1; width:min(620px,100%); padding:30px; border-radius:22px; background:#fff; box-shadow:0 30px 80px rgba(0,0,0,.3); }
.novelis-modal-dialog h2 { margin:0 0 18px; font-size:28px; line-height:1.2; }
.novelis-modal-dialog ol { margin:0; padding-left:22px; color:#475467; line-height:1.7; }
.novelis-modal-close { position:absolute; top:14px; right:14px; width:36px; height:36px; border:0; border-radius:50%; background:#f2f4f7; font-size:24px; cursor:pointer; }
.novelis-modal-note { margin:18px 0 0; padding:13px; border-radius:12px; background:#fff6f5; color:#912018; font-size:13px; line-height:1.5; }
body.novelis-modal-open { overflow:hidden; }
.is-loading { position:relative; color:transparent !important; }
.is-loading:after { content:""; position:absolute; inset:0; margin:auto; width:18px; height:18px; border:2px solid currentColor; border-top-color:transparent; border-radius:50%; animation:nvspin .7s linear infinite; color:#98a2b3; }
@keyframes nvspin { to { transform:rotate(360deg);} }

@media (max-width:1200px) {
  .novelis-layout { grid-template-columns:1fr; }
  .novelis-summary-card { position:static; }
}
@media (max-width:920px) {
  .novelis-head { flex-direction:column; align-items:flex-start; }
  .novelis-start-box { width:100%; min-width:0; text-align:left; }
  .novelis-color-grid, .novelis-pill-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .novelis-reassurance { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  body.novelis-configurator-active { padding-bottom:156px; }
  .novelis-configurator { margin:14px 0 28px; }
  .novelis-head { padding:24px; border-radius:18px; }
  .novelis-head h1 { font-size:30px; }
  .novelis-section { padding:20px; border-radius:18px; }
  .novelis-section-title { align-items:flex-start; flex-wrap:wrap; }
  .novelis-help-link { margin-left:48px; }
  .novelis-dimensions-grid,
  .novelis-choice-grid-2,
  .novelis-choice-grid-3,
  .novelis-pill-grid,
  .novelis-color-grid,
  .novelis-reassurance { grid-template-columns:1fr; }
  .novelis-summary-list>div { grid-template-columns:92px 1fr; }
  .novelis-sticky-price { bottom:8px; align-items:stretch; flex-direction:column; gap:10px; width:calc(100% - 16px); padding:12px; border-radius:15px; }
  .novelis-sticky-content strong { font-size:24px; }
  .novelis-sticky-content small { white-space:normal; line-height:1.3; }
  .novelis-sticky-actions { width:100%; }
  .novelis-sticky-button { flex:1; }
  .novelis-modal-dialog { padding:24px 20px; }
}

/* Correctifs v1.0 : lisibilité et compatibilité thème */
.novelis-section-title > div { display:flex; flex-direction:column; gap:5px; }
.novelis-section-title strong,
.novelis-section-title small { margin:0 !important; padding:0 !important; }
.novelis-section-title small { line-height:1.45 !important; }
.novelis-configurator button { font-family:inherit; }
.novelis-configurator [hidden] { display:none !important; }
body.novelis-configurator-active .product-container > .row > div:empty { display:none !important; }
body.novelis-configurator-active .product-container,
body.novelis-configurator-active .product-page,
body.novelis-configurator-active .product-detail { min-height:0 !important; }
