/* Canonical cap controls. No product-template CSS. */
cic-personalizer{--cap-ink:var(--cic-text-primary);--cap-muted:var(--cic-text-secondary);--cap-line:var(--cic-border-inset,#e8dce2);--cap-pink:var(--cic-text-accent);--cap-soft:var(--cic-choice-base-bg);--cap-green:var(--cic-selected-color);display:block;width:100%;min-width:0;color:var(--cap-ink);font:400 14px/1.55 Manrope,sans-serif}
cic-personalizer *,cic-cap-color-picker *{box-sizing:border-box}
cic-personalizer [hidden],cic-cap-color-picker [hidden]{display:none!important}
cic-personalizer :is(section,fieldset,div){min-width:0}
cic-personalizer .cic-personalizer__controls{display:grid;gap:20px;padding:0;overflow:visible}
cic-personalizer fieldset{border:0;margin:0;padding:0;min-width:0}
cic-personalizer legend{float:none;width:100%;padding:0;margin:0 0 12px;font:600 14px/1.4 Montserrat,sans-serif;color:var(--cap-ink);text-decoration:none}
cic-personalizer p{margin:0 0 14px}
cic-personalizer button{font-family:Manrope,sans-serif;cursor:pointer}
cic-personalizer button:disabled{opacity:.5;cursor:not-allowed}
cic-personalizer :is(button,input,textarea):focus-visible{outline:2px solid #b51c6c;outline-offset:3px}
cic-personalizer :is(.cic-zero-pills,.cic-embroidery-choices,.cic-personalizer__pill-options){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
cic-personalizer :is(.cic-zero-pills,.cic-embroidery-choices,.cic-personalizer__pill-options,.cic-zero-modes) label{position:relative;cursor:pointer;min-width:0}
cic-personalizer :is(.cic-zero-pills,.cic-embroidery-choices,.cic-personalizer__pill-options,.cic-zero-modes) input[type=radio],.cic-cap-case__choice>input,.cic-cap-photo-choice>input{position:absolute;width:1px;height:1px;margin:0;clip-path:inset(50%);overflow:hidden}
cic-personalizer :is(.cic-zero-pills,.cic-embroidery-choices,.cic-personalizer__pill-options) label>span{position:relative;display:flex;flex-direction:column;justify-content:center;gap:3px;width:100%;height:100%;min-height:64px;padding:10px 12px;border:1px solid var(--cap-line);border-radius:8px;background:#fff;color:var(--cap-ink);text-align:left}
cic-personalizer :is(.cic-zero-pills,.cic-embroidery-choices,.cic-personalizer__pill-options) b{font:600 13px/1.4 Manrope,sans-serif}
cic-personalizer :is(.cic-zero-pills,.cic-embroidery-choices,.cic-personalizer__pill-options) small{font:400 12px/1.4 Manrope,sans-serif;color:var(--cap-muted);white-space:nowrap}
cic-personalizer :is(.cic-zero-pills,.cic-embroidery-choices,.cic-personalizer__pill-options,.cic-zero-modes) input:checked+span{border-color:var(--cap-green);background:var(--cic-choice-selected-bg)}
cic-personalizer label:has(input[type=radio]:focus-visible){outline:2px solid var(--cap-pink);outline-offset:3px;border-radius:10px}
cic-personalizer .cic-zero-group-label{font:600 14px/1.4 Montserrat,sans-serif;margin:0 0 10px}
cic-personalizer .cic-zero-closure{display:flex;align-items:center;gap:12px;padding:8px;border-radius:10px;background:var(--cap-soft)}
cic-personalizer .cic-zero-closure img{width:52px;height:52px;object-fit:cover;clip-path:inset(0 round 12px);border-radius:12px;background:#fff}
cic-personalizer .cic-zero-closure small{display:block;font:400 12px/1.4 Manrope,sans-serif;color:var(--cap-muted)}
cic-personalizer .cic-zero-pills label>span:has(img){display:grid;grid-template-columns:44px minmax(0,1fr);gap:3px 8px;align-content:center}
cic-personalizer .cic-zero-pills img{grid-row:1/3;width:44px;height:44px;object-fit:cover;clip-path:inset(0 round 10px);border-radius:10px;background:#fff}
cic-personalizer :is(.cic-zero-closure-card,.cic-zero-buttons-card) .cic-zero-pills label>span{background:var(--cap-soft)}
cic-personalizer :is(.cic-zero-closure-card,.cic-zero-buttons-card) input:checked+span{border-color:var(--cap-green);background:var(--cic-choice-selected-bg)}
cic-personalizer .cic-embroidery-choices{grid-template-columns:minmax(0,1fr)}
cic-personalizer .cic-embroidery-choices label>span{flex-direction:row;align-items:center;justify-content:space-between;min-height:52px;gap:10px}
cic-personalizer .cic-zero-intro{margin:8px 0 0}
cic-personalizer .cic-zero-intro h2{margin:0 0 8px;font:700 clamp(17px,5.4vw,26px)/1.25 Montserrat,sans-serif;letter-spacing:-.02em}
cic-personalizer .cic-cap-editorial-note{margin:0;font:600 23px/1.25 Caveat,'Segoe Print',cursive;color:var(--cap-pink)}
cic-personalizer .cic-zero-tabs{display:flex;gap:4px;padding:5px;margin:0 0 16px;background:#f7eff3;border:1px solid #eddee5;border-radius:12px}
cic-personalizer .cic-zero-tab{flex:1;min-width:0;min-height:44px;padding:9px 5px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--cap-muted);font:600 13px/1.3 Manrope,sans-serif;white-space:nowrap}
cic-personalizer .cic-zero-tab[aria-selected=true]{border-color:#e6d3dc;background:#fff;color:var(--cap-pink);box-shadow:0 1px 3px #12374308}
cic-personalizer .cic-zero-tab>span,cic-personalizer .cic-zero-progress{display:none}
cic-personalizer [data-panel]{scroll-margin-top:calc(var(--header-group-height,100px) + 20px);overflow-anchor:none}
cic-personalizer :is([data-zero-color]>fieldset,[data-panel]>fieldset)>legend{margin-bottom:14px;font:var(--cic-control-title-font,600 clamp(23px,2.2vw,28px)/1.2 Caveat,cursive);letter-spacing:0;text-wrap:balance}
cic-personalizer .cic-zero-heading-mark{font:inherit;color:inherit;text-decoration:none}
cic-personalizer :is(.cic-personalizer__step-subtitle,[data-artwork-help],.cic-zero-guidance,.cic-zero-pattern-note){font:400 13px/1.45 Manrope,sans-serif;color:var(--cap-muted);margin:0 0 12px}
cic-personalizer .cic-zero-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
cic-personalizer .cic-zero-mode>span{position:relative;display:flex;flex-direction:column;gap:4px;width:100%;height:100%;padding:10px;border:1px solid var(--cap-line);border-radius:8px;background:#fff;overflow:hidden}
cic-personalizer .cic-zero-mode--plain{grid-column:1/-1}
cic-personalizer .cic-zero-mode--plain>span{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:2px 10px;min-height:66px}
cic-personalizer .cic-zero-mode--plain svg{grid-row:1/3;width:28px;height:28px;color:var(--cap-pink)}
cic-personalizer .cic-zero-mode--plain small{grid-column:3;grid-row:1/3}
cic-personalizer .cic-zero-mode--plain em{grid-column:2}
cic-personalizer .cic-zero-choice-photo{display:block;width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;border-radius:7px;margin-bottom:5px}
cic-personalizer .cic-zero-mode b{font:600 14px/1.4 Manrope,sans-serif}
cic-personalizer .cic-zero-mode em{font:400 12px/1.45 Manrope,sans-serif;color:var(--cap-muted);font-style:normal}
cic-personalizer .cic-zero-mode small{margin-top:auto;font:600 12px/1.4 Manrope,sans-serif;white-space:nowrap}
cic-personalizer .cic-zero-selection{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid #c8dfd2;background:var(--cic-choice-selected-bg);border-radius:10px;margin-bottom:12px}
cic-personalizer .cic-zero-selection b{display:block;font:600 14px/1.4 Manrope,sans-serif}
cic-personalizer .cic-zero-selection small{font:400 12px/1.4 Manrope,sans-serif}
cic-personalizer .cic-zero-selection button{border:0;background:transparent;text-decoration:underline;color:var(--cap-green);font-size:12px;padding:8px}
cic-personalizer [data-zero-fields]{margin-top:0;padding-top:12px;border-top:1px dashed var(--cap-line)}
cic-personalizer [data-zero-fields] fieldset>legend{font:600 21px/1.25 Caveat,cursive;margin-bottom:8px}
cic-personalizer :is(.cic-personalizer__text,.cic-personalizer__upload){display:grid;gap:8px;margin:0;font:600 13px/1.45 Manrope,sans-serif}
cic-personalizer :is(.cic-personalizer__text,.cic-personalizer__upload)>span{font:600 14px/1.45 Manrope,sans-serif;text-decoration:none}
cic-personalizer :is(input[type=text],textarea){width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid #cfd9dc;border-radius:9px;background:#fff;color:var(--cap-ink);font:400 16px/1.4 Manrope,sans-serif}
cic-personalizer .cic-personalizer__text>small{font:400 12px/1.5 Manrope,sans-serif;color:var(--cap-muted);text-align:right}
cic-personalizer .cic-personalizer__embroidery .cic-personalizer__text{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:baseline}
cic-personalizer .cic-personalizer__embroidery .cic-personalizer__text>span{grid-column:1;grid-row:1}
cic-personalizer .cic-personalizer__embroidery .cic-personalizer__text>input{grid-column:1/-1;grid-row:2}
cic-personalizer .cic-personalizer__embroidery .cic-personalizer__text>small{grid-column:2;grid-row:1}
cic-personalizer .cic-personalizer__quicksub-label{margin:0;font:600 14px/1.4 Manrope,sans-serif}
cic-personalizer .cic-personalizer__style-cursive{font:600 24px/1.2 Caveat,cursive!important}
cic-personalizer .cic-personalizer__style-print{font:600 13px/1.4 Manrope,sans-serif}
cic-personalizer .cic-zero-dispositions{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 8px}
cic-personalizer .cic-zero-dispositions label>span{padding:6px;gap:8px;align-items:center;text-align:center}
cic-personalizer .cic-zero-dispositions img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:6px}
cic-personalizer .cic-zero-dispositions b{font-size:11px}
cic-personalizer [data-disposition-field]{margin-top:16px}
cic-personalizer [data-disposition-field]>small{display:block;font:400 12px/1.45 Manrope,sans-serif;color:var(--cap-muted)}
cic-personalizer .cic-zero-examples{margin-top:16px;padding-top:12px;border-top:1px dashed var(--cap-line)}
cic-personalizer .cic-zero-examples__heading{position:relative;display:block;list-style:none;cursor:pointer;font:600 14px/1.4 Montserrat,sans-serif;margin:0;padding:0 24px 0 0}
cic-personalizer .cic-zero-examples__heading::-webkit-details-marker{display:none}
cic-personalizer .cic-zero-examples[open]>.cic-zero-examples__heading{margin-bottom:8px}
cic-personalizer .cic-zero-examples__heading::after{content:"+";position:absolute;right:0;top:0;font:400 18px/1 Manrope,sans-serif}
cic-personalizer .cic-zero-examples[open]>.cic-zero-examples__heading::after{content:"−"}
cic-personalizer .cic-zero-examples__heading>span:not(.cic-title-mark){display:block;font:400 12px/1.5 Manrope,sans-serif;color:var(--cap-muted)}
cic-personalizer .cic-zero-examples__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible}
cic-personalizer .cic-zero-examples__grid:has(>:nth-child(2)):not(:has(>:nth-child(3))),cic-personalizer .cic-zero-examples__grid:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
cic-personalizer .cic-zero-examples__item{display:block;padding:5px;border:1px solid var(--cap-line);border-radius:8px;background:#fff;text-align:left;font:500 11px/1.45 Manrope,sans-serif;color:var(--cap-ink)}
cic-personalizer .cic-zero-examples__item img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:8px;margin-bottom:6px}
cic-personalizer .cic-zero-example-dialog{position:fixed;inset:0;margin:auto;width:min(650px,92vw);max-height:90dvh;border:1px solid var(--cap-line);border-radius:16px;padding:16px;background:#fff;overflow:auto}
cic-personalizer .cic-zero-example-dialog img{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain;border-radius:10px}
cic-personalizer .cic-zero-example-dialog form{display:flex;justify-content:flex-end}
cic-personalizer .cic-zero-example-dialog button{border:0;background:#fff;min-width:44px;min-height:44px;font-size:28px}
cic-personalizer [data-zero-upload]>.cic-zero-next{margin-top:10px}
cic-personalizer .cic-zero-upload-row{display:grid;gap:8px;margin-top:10px}
cic-personalizer .cic-zero-actions{margin-top:12px}
cic-personalizer .cic-zero-next{width:100%;min-height:46px;padding:10px 14px;border:1px solid #d9bfcb;border-radius:11px;background:var(--cic-choice-base-bg);color:var(--cap-ink);font:600 18px/1.3 Caveat,cursive}
cic-personalizer [data-zero-next]{display:inline-flex;align-items:center;justify-content:center;gap:8px}
cic-personalizer [data-zero-next]::after{content:'';flex:none;width:16px;height:16px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
cic-personalizer :is(.cic-zero-confirm,.cic-zero-guidance){margin-top:12px;font:400 12px/1.5 Manrope,sans-serif;color:var(--cap-green)}
cic-personalizer .cic-personalizer__swatch-selected{min-height:18px;margin:10px 0 0;font:400 12px/1.5 Manrope,sans-serif;color:var(--cap-muted)}
cic-personalizer .cic-personalizer__swatch-selected:empty{min-height:0;margin:0}
cic-personalizer [data-emoji-field] .cic-personalizer__text>small{text-align:left}
cic-personalizer :is(.cic-cap-field-error,[data-emoji-error]){margin:8px 0 0;color:#9d244b;font:400 13px/1.45 Manrope,sans-serif}
.cic-cap-case{min-width:0;border:0;padding:0;margin:0}
.cic-cap-case>legend{float:none;width:100%;padding:0}
.cic-cap-case .cic-cap-case__choice{position:relative;display:grid;width:100%;grid-template-columns:var(--cic-upsell-single-media,80px) minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid var(--cic-note-border);border-radius:var(--cic-thumbnail-radius);background:var(--cic-surface-inset);cursor:pointer}
.cic-cap-case__choice img{width:var(--cic-upsell-single-media,80px);height:var(--cic-upsell-single-media,80px);object-fit:contain;border-radius:var(--cic-thumbnail-radius)}
.cic-cap-case__info{display:grid;gap:4px;font:400 12px/1.5 Manrope,sans-serif}
.cic-cap-case__info small{color:#56646a;font-size:12px}
.cic-cap-case__state{display:flex;align-items:center;gap:5px;font:600 12px/1.5 Manrope,sans-serif}
.cic-cap-case__state::before{content:'Aggiungi al set ·'}
.cic-cap-case__choice:has(input:checked){border-color:#28714f;background:var(--cic-choice-selected-bg)}

.cic-cap-case__choice:has(input:checked) .cic-cap-case__state::before{content:'Nel tuo set ·'}
.cic-cap-case__note{margin:10px 0 0;font:400 12px/1.5 Manrope,sans-serif;color:#56646a}
cic-cap-color-picker{display:block}
html:has(.cic-cap-color-dialog[open]){overflow:hidden}
.cic-cap-photo-palette{display:flex;flex-wrap:wrap;gap:8px 5px}
.cic-cap-photo-choice{position:relative;display:flex;flex-direction:column;align-items:center;flex:1 0 calc((100% - 20px)/5);max-width:calc((100% - 20px)/5);cursor:pointer}
.cic-cap-photo-choice__image{display:block;width:100%;aspect-ratio:1.15;padding:var(--cic-choice-image-inset);border:1px solid #e4dce1;border-radius:var(--cic-thumbnail-radius,9px);background:#fff;overflow:hidden}
.cic-cap-photo-choice :is(img,canvas){display:block;width:100%;height:100%;object-fit:contain;border-radius:calc(var(--cic-thumbnail-radius) - 3px)}
.cic-cap-photo-choice:has(input:checked) .cic-cap-photo-choice__image{border-color:#28714f;box-shadow:0 0 0 1px #28714f}
.cic-cap-custom{margin-top:16px}
.cic-cap-custom__open{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:1px solid #e4dce1;border-radius:10px;background:#fff;color:#123743;text-align:left}
.cic-cap-custom__open>span:nth-child(2){flex:1}
.cic-cap-custom__open b{display:block;font:600 13px/1.4 Manrope,sans-serif}
.cic-cap-custom__open small{display:block;font:400 12px/1.4 Manrope,sans-serif;color:#56646a}
.cic-cap-custom__sample{flex:none;width:30px;height:30px;border-radius:50%;background:var(--cap-custom-colour,conic-gradient(#e73877,#f5d949,#77bfa3,#173b73,#e73877));border:2px solid #fff;box-shadow:0 0 0 1px #e4dce1}
.cic-cap-color-dialog{position:fixed;inset:0;width:min(900px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);height:fit-content;margin:auto;padding:24px;border:1px solid #e4dce1;border-radius:20px;background:#fff;color:#123743;overflow:auto;box-shadow:0 24px 80px #12374333}
.cic-cap-color-dialog::backdrop,.cic-zero-example-dialog::backdrop{background:#12374370;backdrop-filter:blur(3px)}
.cic-cap-color-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}
.cic-cap-color-dialog__head h2{margin:0;font:600 30px/1.2 Caveat,cursive;color:#123743}
.cic-cap-color-dialog__head button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#faf6f8;color:#123743;font:400 28px/1 Manrope,sans-serif}
.cic-cap-color-dialog__layout{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
.cic-cap-color-dialog__preview{position:sticky;top:0;margin:0;align-self:center;background:#fff}
.cic-cap-color-dialog__preview :is(canvas,img){display:block;width:100%;height:auto;aspect-ratio:1.25;object-fit:contain}
.cic-cap-color-dialog__preview figcaption{text-align:center;font:400 13px/1.4 Manrope,sans-serif;color:#56646a}
.cic-cap-color-dialog__controls{display:grid;gap:14px}
.cic-cap-color-dialog__controls>label{display:grid;gap:6px;font:600 12px/1.4 Manrope,sans-serif}
.cic-cap-color-dialog__intro{margin:0;font:600 15px/1.4 Montserrat,sans-serif}
.cic-cap-color-dialog input[type=range]{appearance:auto;width:100%;min-height:24px;height:24px;margin:0;accent-color:#b51c6c;cursor:pointer}
.cic-cap-color-dialog__hex>span{display:flex;align-items:center;gap:8px}
.cic-cap-color-dialog__hex i{width:28px;height:28px;border:1px solid #e4dce1;border-radius:50%;flex:none}
.cic-cap-color-dialog .cic-cap-color-dialog__hex input{min-height:40px;padding:8px 10px;font:400 16px/1.3 Manrope,sans-serif}
.cic-cap-color-dialog__note{margin:0;font:400 11px/1.45 Manrope,sans-serif;color:#56646a}
.cic-cap-color-dialog__error{font:400 12px/1.4 Manrope,sans-serif;color:#9d244b}
.cic-cap-color-dialog__confirm{min-height:46px;border:0;border-radius:10px;background:#123743;color:#fff;font:600 14px/1.4 Manrope,sans-serif}
/* Shared help and nested content rhythm. */
cic-personalizer .cic-zero-help{display:grid;gap:12px;margin-top:16px;padding:14px;border:1px dashed var(--cap-line);border-radius:8px;background:var(--cic-choice-base-bg)}
cic-personalizer .cic-zero-help b{display:block;font:600 21px/1.25 Caveat,cursive;margin-bottom:6px}
cic-personalizer .cic-zero-help p{margin:0;font:400 13px/1.45 Manrope,sans-serif;color:var(--cap-muted)}
cic-personalizer .cic-copy-sentence+.cic-copy-sentence::before{content:' '}
html:has(.cic-zero-example-dialog[open]){overflow:hidden}
@media(min-width:990px){
 cic-personalizer .cic-zero-modes,cic-personalizer .cic-zero-examples__grid:has(>:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 cic-personalizer .cic-zero-mode:not(.cic-zero-mode--plain)>span{padding:8px}
 cic-personalizer .cic-zero-mode:not(.cic-zero-mode--plain) b{font-size:13px}
}
@media(min-width:750px) and (max-width:989px){
 body.cic-theme-premium[data-cic-page-type="product"] .product-information__grid:has(cic-personalizer){display:flex!important;flex-direction:column;gap:24px!important}
 .product-information:has(cic-personalizer) :is(.product-information__media,.product-details){width:100%;min-width:0;position:static}
}
@media(max-width:749px){
 cic-personalizer{padding-inline:16px}
 cic-personalizer .cic-copy-sentence{display:block}
 cic-personalizer .cic-copy-sentence+.cic-copy-sentence{margin-top:2px}
 cic-personalizer .cic-copy-sentence+.cic-copy-sentence::before{content:none}
 .cic-cap-color-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:14px;border-radius:16px}
 .cic-cap-color-dialog__head{margin-bottom:6px}.cic-cap-color-dialog__head h2{font-size:26px}
 .cic-cap-color-dialog__layout{grid-template-columns:minmax(0,1fr);gap:12px}
 .cic-cap-color-dialog__preview{position:sticky;top:-14px;z-index:1}
 .cic-cap-color-dialog__preview :is(canvas,img){height:clamp(110px,23dvh,190px);width:100%}
 .cic-cap-color-dialog__preview figcaption{font-size:11px}.cic-cap-color-dialog__controls{gap:9px}.cic-cap-color-dialog__intro{font-size:14px}
}
@media(max-width:600px) and (max-height:700px){
 .cic-cap-color-dialog__preview :is(canvas,img){height:clamp(90px,18dvh,126px)}
 .cic-cap-color-dialog__controls{gap:7px}
 .cic-cap-color-dialog__intro{display:none}
 .cic-cap-color-dialog__controls>label:not(.cic-cap-color-dialog__hex){grid-template-columns:78px minmax(0,1fr);align-items:center;gap:8px}
}
@media(prefers-reduced-motion:reduce){cic-personalizer *,cic-cap-color-picker *{scroll-behavior:auto;transition:none}}
