/* Calculateur de base nicotinée : mise en page premium, aux couleurs du thème (variables --pv-*). */
.pvc{max-width:1120px;margin:0 auto;padding:8px 20px 56px;color:var(--pv-text,#221E19);font-family:var(--pv-font-body,system-ui,sans-serif);text-transform:none;letter-spacing:0}
.pvc *{box-sizing:border-box}
.pvc-crumbs{margin:6px 0 18px;font-size:13px;color:var(--pv-muted,#5A5246)}
.pvc-crumbs a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.pvc-hero{max-width:760px;margin:0 0 28px}
.pvc-eyebrow{margin:0 0 8px;font:600 11.5px var(--pv-font-body,inherit);letter-spacing:.18em;text-transform:uppercase;color:var(--pv-accent-text,#8C3A1A)}
.pvc-hero h1{margin:0 0 12px;font:500 clamp(30px,4.2vw,46px)/1.08 var(--pv-font-head,Georgia,serif);color:var(--pv-text,#221E19)}
.pvc-lead{margin:0;font-size:17px;line-height:1.6;color:var(--pv-muted,#5A5246)}

.pvc-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
.pvc-panel,.pvc-result{background:var(--pv-surface,#FBF8F2);border:1px solid var(--pv-line,#CFC3AF);border-radius:16px;padding:28px}
.pvc-panel h2,.pvc-result h2{margin:0 0 18px;font:500 22px var(--pv-font-head,Georgia,serif)}
.pvc-result{position:sticky;top:96px;background:var(--pv-ink,#26221D);color:var(--pv-on-ink,#F5F0E8);border-color:var(--pv-ink,#26221D)}
.pvc-result h2{color:var(--pv-on-ink,#F5F0E8)}

.pvc-field{padding:16px 0;border-top:1px solid var(--pv-line,#CFC3AF)}
.pvc-field:first-of-type{border-top:0;padding-top:0}
.pvc-field__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:10px}
.pvc-field__head label{font-weight:700;font-size:16px}
.pvc-field__head span{font-size:13px;color:var(--pv-muted,#5A5246)}
.pvc-field__ctrl{display:flex;align-items:stretch;gap:8px}
.pvc-step{flex:none;width:48px;border:1px solid var(--pv-line,#CFC3AF);border-radius:10px;background:var(--pv-bg,#F5F0E8);font-size:22px;line-height:1;cursor:pointer;color:var(--pv-text,#221E19)}
.pvc-step:hover,.pvc-step:focus-visible{border-color:var(--pv-accent,#9A4220)}
.pvc-input{position:relative;flex:1}
.pvc-input input{width:100%;height:100%;min-height:48px;padding:0 54px 0 16px;border:1px solid var(--pv-field,#857A67);border-radius:10px;background:#fff;font:600 22px var(--pv-font-body,inherit);color:var(--pv-text,#221E19);text-align:left;-moz-appearance:textfield}
.pvc-input input::-webkit-outer-spin-button,.pvc-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pvc-input input:focus{outline:2px solid var(--pv-accent,#9A4220);outline-offset:1px}
.pvc-input span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--pv-muted,#5A5246);pointer-events:none}
.pvc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pvc-chips button{padding:6px 14px;border:1px solid var(--pv-line,#CFC3AF);border-radius:999px;background:transparent;font-size:14px;cursor:pointer;color:var(--pv-text,#221E19)}
.pvc-chips button:hover{border-color:var(--pv-accent,#9A4220)}
.pvc-chips button.is-on{background:var(--pv-accent,#9A4220);border-color:var(--pv-accent,#9A4220);color:#fff}
.pvc-reset{margin-top:6px;padding:0;border:0;background:none;color:var(--pv-accent-text,#8C3A1A);font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

.pvc-bar{display:flex;height:16px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.12);margin:4px 0 20px}
.pvc-bar span{display:block;height:100%;transition:width .25s ease}
#pvc-bar-booster{background:#E8823A}
#pvc-bar-arome{background:#F0C27A}
#pvc-bar-base{background:#CBC1B0}
.pvc-lines{list-style:none;margin:0 0 20px;padding:0}
.pvc-line{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.pvc-dot{flex:none;width:12px;height:12px;border-radius:50%}
.pvc-line--booster .pvc-dot{background:#E8823A}
.pvc-line--arome .pvc-dot{background:#F0C27A}
.pvc-line--base .pvc-dot{background:#CBC1B0}
.pvc-line__label{flex:1;font-size:16px}
.pvc-line__label small{display:block;margin-top:2px;font-size:13px;opacity:.7}
.pvc-line strong{font-size:24px;font-weight:700;white-space:nowrap}
.pvc-final{padding:18px 20px;border-radius:12px;background:rgba(255,255,255,.08)}
.pvc-final>span{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.pvc-final>strong{display:block;margin:4px 0;font:600 44px/1.1 var(--pv-font-head,Georgia,serif)}
.pvc-final small{font:500 16px var(--pv-font-body,inherit);opacity:.75}
.pvc-final em{display:block;font-style:normal;font-size:13px;opacity:.75;line-height:1.45}
.pvc-alert{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:#7A2E14;color:#fff;font-size:14px;line-height:1.45}
.pvc-alert[hidden]{display:none}
.pvc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:20px}
.pvc-copy{padding:11px 20px;border:0;border-radius:999px;background:var(--pv-copper,#E8B48A);color:#26221D;font-weight:700;cursor:pointer}
.pvc-actions a{color:var(--pv-on-ink,#F5F0E8);font-size:14px;text-decoration:underline;text-underline-offset:3px}

.pvc-guide{margin-top:34px;display:grid;gap:12px}
.pvc-guide details{border:1px solid var(--pv-line,#CFC3AF);border-radius:12px;background:var(--pv-surface,#FBF8F2);padding:4px 20px}
.pvc-guide summary{padding:14px 0;font-weight:700;font-size:16px;cursor:pointer}
.pvc-guide details>*:not(summary){margin:0 0 16px;color:var(--pv-muted,#5A5246);line-height:1.6}
.pvc-guide ol,.pvc-guide ul{padding-left:1.2em}
.pvc-guide li{margin:0 0 8px}

@media (max-width:900px){
  .pvc-grid{grid-template-columns:1fr}
  .pvc-result{position:static}
  .pvc-panel,.pvc-result{padding:22px 18px}
  .pvc-final>strong{font-size:38px}
}

/* Surcharges de spécificité (le thème impose largeur/couleurs aux champs et aux titres) */
body.pv-theme .pvc .pvc-input input{width:100%!important;max-width:none!important;height:56px!important;min-height:56px;padding:0 56px 0 18px!important;text-align:left!important;font-size:22px!important}
body.pv-theme .pvc .pvc-result h2{color:var(--pv-on-ink,#F5F0E8)!important;margin-top:0}
body.pv-theme .pvc .pvc-panel h2{color:var(--pv-text,#221E19)}
body.pv-theme .pvc .pvc-step{height:56px}
body.pv-theme .pvc .pvc-chips button{min-height:36px;line-height:1.2}

/* Mode compact : fiche d'un arôme */
.pv-product-calc{max-width:1120px;margin:32px auto 0;padding:0 20px}
.pvc--compact{padding:8px 0 24px}
.pvc--compact .pvc-hero--compact{margin:0 0 20px}
.pvc--compact .pvc-hero--compact h2{margin:0 0 8px;font:500 clamp(24px,3vw,32px)/1.15 var(--pv-font-head,Georgia,serif)}
.pvc--compact .pvc-result{position:static}
.pvc-recnote{min-height:1.3em;margin:12px 0 0;font-size:13.5px;line-height:1.45;opacity:.85}
.pvc-recnote.is-ok{color:#8fd19e;opacity:1}.pvc-recnote.is-low,.pvc-recnote.is-high{color:#f0b46e;opacity:1}
.pvc-line__label small{display:block;margin-top:2px;font-size:13px;opacity:.7}
