.vinyl-preview {
    position: relative;
    width: 100%;
    filter: drop-shadow(0 16px 12px rgba(0, 0, 0, .16));
}

.vinyl-preview svg { display: block; width: 100%; overflow: visible; }
.vinyl-preview text {
    font: 800 112px Manrope, sans-serif;
    fill: #151515;
    paint-order: stroke;
    stroke: rgba(255, 255, 255, .7);
    stroke-width: 2px;
    transition: .2s;
    transform-box: fill-box;
    transform-origin: center;
}
.vinyl-baseline { stroke: rgba(24, 33, 43, .32); stroke-width: 2; stroke-dasharray: 8 9; }
.site-body .product-page--prespaced .prespaced-live-card .preview-stage.is-dark-for-light-vinyl,
.site-body .product-page--prespaced .config-inline-preview.is-dark-for-light-vinyl {
    background-color: #172330;
    background-image: linear-gradient(rgba(255, 255, 255, .09) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .09) 1px, transparent 1px);
}
.site-body .product-page--prespaced .preview-stage.is-dark-for-light-vinyl .preview-grid {
    background-image: linear-gradient(rgba(255, 255, 255, .09) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .09) 1px, transparent 1px);
}
.site-body .product-page--prespaced .is-dark-for-light-vinyl .vinyl-baseline { stroke: rgba(255, 255, 255, .38); }
.site-body .product-page--prespaced .config-inline-preview.is-dark-for-light-vinyl > span,
.site-body .product-page--prespaced .config-inline-preview.is-dark-for-light-vinyl > small { color: #d9e5ee; }
.prespaced-preview { position: relative; z-index: 2; display: grid; width: min(720px, 90%); gap: .3rem; }
.prespaced-preview__measurements { display: grid; grid-template-columns: repeat(2, minmax(0, 180px)); justify-content: center; gap: .6rem; margin-top: -1rem; }
.prespaced-preview__measurements span { padding: .7rem .9rem; border-top: 1px solid rgba(24, 33, 43, .28); background: rgba(255, 255, 255, .72); text-align: center; }
.prespaced-preview__measurements small { display: block; color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.prespaced-preview__measurements b { display: block; margin-top: .2rem; color: var(--ink); font: 800 .88rem Manrope, sans-serif; }

.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.vinyl-picker { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.vinyl-picker.is-open { border-color: var(--ink); box-shadow: 0 0 0 2px rgba(24, 33, 43, .08); }
.vinyl-picker__trigger { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto auto; align-items: center; gap: .8rem; width: 100%; padding: .75rem; border: 0; background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.vinyl-picker__trigger > span:nth-child(2) { display: grid; gap: .1rem; min-width: 0; }
.vinyl-picker__trigger small { color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.vinyl-picker__trigger strong { overflow: hidden; font: 800 .9rem Manrope, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.vinyl-picker__trigger em { min-height: 1em; color: var(--red); font-size: .66rem; font-style: normal; font-weight: 800; }
.vinyl-picker__trigger b { font-size: .7rem; }
.vinyl-picker__trigger i { font-size: 1.1rem; font-style: normal; transition: transform .2s; }
.vinyl-picker.is-open .vinyl-picker__trigger i { transform: rotate(180deg); }
.vinyl-picker__selected-chip { width: 46px; height: 46px; background: var(--swatch); border: 1px solid rgba(24, 33, 43, .22); border-radius: 50%; box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .5); }
.vinyl-picker__panel { padding: .85rem; border-top: 1px solid var(--line); background: #f7f8f7; }
.vinyl-picker__panel[hidden] { display: none; }
.vinyl-picker__tools { display: grid; gap: .6rem; margin-bottom: .75rem; }
.vinyl-picker__tools input { padding: .7rem .8rem; background: #fff; }
.vinyl-picker__filters { display: flex; gap: .35rem; overflow-x: auto; padding-bottom: .15rem; }
.vinyl-picker__filters button { flex: 0 0 auto; padding: .4rem .65rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-size: .64rem; font-weight: 800; cursor: pointer; }
.vinyl-picker__filters button.is-active { border-color: var(--ink); background: var(--ink); color: #fff; }
.vinyl-colors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; max-height: 350px; overflow-y: auto; padding: 2px; }
.vinyl-color { position: relative; display: grid !important; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: .55rem; min-width: 0; padding: .5rem; border: 1px solid var(--line); border-radius: 6px; background: #fff; cursor: pointer; }
.vinyl-color[hidden] { display: none !important; }
.vinyl-color input { position: absolute; opacity: 0; }
.vinyl-color:has(input:checked) { border-color: var(--ink); box-shadow: 0 0 0 2px var(--ink); }
.vinyl-color__chip { width: 32px; height: 32px; background: var(--swatch); border: 1px solid rgba(24, 33, 43, .22); border-radius: 50%; box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .45); }
.vinyl-color__label { overflow: hidden; color: var(--ink) !important; font-size: .68rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.vinyl-color__label small { display: block; margin-top: .2rem; color: var(--red); }
.vinyl-picker__empty { margin: .75rem 0 0; padding: 1rem; border: 1px dashed var(--line); color: var(--muted); font-size: .74rem; text-align: center; }
.sticker-dimension-summary { display: grid; grid-template-columns: 42px 1fr; gap: .85rem; align-items: center; margin: 1.5rem 0; padding: 1rem; border: 1px solid #cadbd4; border-left: 4px solid var(--teal); background: #f2f7f5; }
.sticker-dimension-summary > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--teal); color: #fff; font: 800 1.2rem Manrope, sans-serif; }
.sticker-dimension-summary div { display: grid; gap: .15rem; }
.sticker-dimension-summary small { color: var(--teal); font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.sticker-dimension-summary strong { font: 800 1.15rem Manrope, sans-serif; }
.sticker-dimension-summary p { margin: 0; color: var(--muted); font-size: .7rem; }

.prespaced-settings { padding: 1rem; margin: 1rem 0; background: #eef4f1; border: 1px solid #cadbd4; }
.prespaced-settings p { margin: .3rem 0 1rem; color: var(--muted); font-size: .78rem; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.pricing-grid label { font-size: .7rem; font-weight: 800; }
.pricing-grid input { margin-top: .35rem; }
.builder-palette { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .55rem; }
.builder-palette span { width: 28px; height: 28px; background: var(--swatch); border: 1px solid rgba(24, 33, 43, .24); border-radius: 50%; }

.builder-intro { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; margin: 1.4rem 0 .8rem; }
.builder-intro[hidden], .element-library[hidden], .builder-templates[hidden], .builder-global-settings[hidden], .builder-toolbar[hidden], .builder-fields[hidden], .builder-empty[hidden] { display: none !important; }
.form-section--builder { grid-template-columns: 1fr; }
.form-section--builder > .form-section__title { border-bottom: 1px solid #e1e3e5; }
.global-form-manager { margin: 0 0 1.4rem; padding: 1.15rem; border: 1px solid #d8ddda; background: #f6f8f7; }
.global-form-manager__heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.5rem; margin-bottom: 1rem; }
.global-form-manager__heading .eyebrow { margin: 0 0 .3rem; }
.global-form-manager__heading h3 { margin: 0; font: 800 1.18rem Manrope, sans-serif; }
.global-form-manager__heading p { max-width: 780px; margin: .35rem 0 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.global-form-manager__count { flex: 0 0 auto; padding: .4rem .65rem; border-radius: 999px; background: #e4ebe8; color: var(--teal); font-size: .68rem; font-weight: 800; }
.global-form-sources { display: grid; gap: .65rem; }
.global-form-source { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .9rem; align-items: center; padding: .85rem; border: 1px solid #d6dcda; background: #fff; transition: opacity .2s, border-color .2s; }
.global-form-source--local { border-left: 4px solid var(--teal); }
.global-form-source--locked { border-left: 4px solid #6f7d89; }
.global-form-source.is-removed { opacity: .52; border-style: dashed; }
.global-form-source__move { display: grid; gap: .25rem; }
.global-form-source__move button { width: 30px; height: 27px; padding: 0; border: 1px solid #ccd2d0; background: #fff; color: var(--ink); cursor: pointer; }
.global-form-source__move button:disabled { opacity: .28; cursor: not-allowed; }
.global-form-source__content { min-width: 0; }
.global-form-source__content > span { display: block; color: var(--teal); font-size: .58rem; font-weight: 900; letter-spacing: .09em; }
.global-form-source__content > strong { display: block; margin-top: .18rem; font: 800 .88rem Manrope, sans-serif; }
.global-form-source__content > p { margin: .25rem 0 0; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.global-form-source__fields { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .55rem; }
.global-form-source__fields span { padding: .3rem .48rem; border-radius: 3px; background: #eef2f0; color: var(--ink); font-size: .62rem; font-weight: 700; }
.global-form-source__fields small { margin-left: .25rem; color: var(--muted); font-size: .55rem; font-weight: 600; }
.global-form-source__actions { min-width: 158px; display: grid; justify-items: end; gap: .45rem; }
.global-form-source__actions a, .global-form-source__actions button { color: var(--red); font-size: .65rem; font-weight: 800; }
.global-form-source__actions button { padding: 0; border: 0; background: none; cursor: pointer; }
.global-form-source__badge { padding: .4rem .55rem; background: #e2f0eb; color: var(--teal); font-size: .62rem; font-weight: 900; }
.builder-intro h3 { margin: .2rem 0 .35rem; font: 800 1.35rem Manrope, sans-serif; }
.builder-intro p { max-width: 720px; margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.builder-intro .eyebrow { color: var(--red); font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.builder-counter { min-width: 84px; padding: .85rem 1rem; border: 1px solid var(--line); background: #f7f8f7; text-align: center; }
.builder-counter strong { display: block; font: 800 1.35rem Manrope, sans-serif; }
.builder-counter span { color: var(--muted); font-size: .68rem; text-transform: uppercase; }
.element-library { overflow: hidden; border: 1px solid #d9dde0; background: #fff; }
.element-library__tabs { display: flex; overflow-x: auto; border-bottom: 1px solid #d9dde0; background: #f7f8f8; }
.element-library__tabs button { padding: .8rem 1rem; border: 0; border-right: 1px solid #e1e4e6; background: transparent; color: var(--muted); font-size: .72rem; font-weight: 800; cursor: pointer; }
.element-library__tabs button.is-active { position: relative; background: #fff; color: var(--ink); }
.element-library__tabs button.is-active::after { content: ''; position: absolute; right: 12px; bottom: -1px; left: 12px; height: 3px; background: var(--red); }
.element-library__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: .65rem; }
.element-library__grid > button { display: grid; grid-template-columns: 38px 1fr; gap: .7rem; align-items: center; min-height: 70px; padding: .7rem; border: 1px solid transparent; background: #fff; text-align: left; cursor: pointer; }
.element-library__grid > button:hover { border-color: #cbd2d6; background: #f8faf9; box-shadow: 0 5px 14px rgba(24, 33, 43, .07); }
.element-library__grid > button[hidden] { display: none; }
.element-library__grid i, .builder-field__identity i { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #e8eef2; color: #344555; font: 900 .86rem Manrope, sans-serif; font-style: normal; }
.element-library__grid button[data-category="content"] i { background: #ecebff; color: #4d46b8; }
.element-library__grid button[data-category="choice"] i { background: #fff0e8; color: #c45619; }
.element-library__grid button[data-category="file"] i { background: #e5f6f1; color: #08775c; }
.element-library__grid button[data-category="price"] i { background: #ffedf0; color: #c52c48; }
.element-library__grid span { min-width: 0; }
.element-library__grid strong, .element-library__grid small { display: block; }
.element-library__grid strong { color: var(--ink); font-size: .76rem; }
.element-library__grid small { overflow: hidden; margin-top: .15rem; color: var(--muted); font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.builder-templates { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: .8rem 0; padding: .8rem; border: 1px solid var(--line); background: #f5f7f6; }
.builder-templates > div { display: grid; margin-right: auto; }
.builder-templates strong { font-size: .78rem; }
.builder-templates small { color: var(--muted); font-size: .66rem; }
.builder-templates button { padding: .55rem .75rem; border: 1px solid #cbd1d4; border-radius: 999px; background: #fff; color: var(--ink); font-size: .68rem; font-weight: 800; cursor: pointer; }
.builder-templates button:hover { border-color: var(--red); color: var(--red); }
.builder-global-settings { display: grid; grid-template-columns: minmax(200px, .45fr) 1fr; gap: 1rem; align-items: start; margin: .8rem 0; padding: 1rem; border: 1px solid var(--line); }
.builder-global-settings label { display: grid; gap: .25rem; }
.builder-global-settings small { color: var(--muted); font-size: .68rem; line-height: 1.45; }
.builder-global-settings textarea { min-height: 84px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.builder-toolbar { margin-top: 1.4rem; }
.builder-toolbar p { margin: .25rem 0 0; color: var(--muted); font-size: .75rem; }
.builder-fields { display: grid; gap: .8rem; margin-top: .75rem; }
.builder-field { overflow: hidden; margin: 0; padding: 0; border: 1px solid #d5dade; background: #fff; box-shadow: 0 4px 14px rgba(24, 33, 43, .045); }
.builder-field__header { display: flex; justify-content: space-between; align-items: center; padding: .75rem 1rem; border-bottom: 1px solid #e2e5e7; background: #f6f8f7; }
.builder-field__identity { display: flex; gap: .7rem; align-items: center; }
.builder-field__identity i { width: 32px; height: 32px; background: var(--ink); color: #fff; }
.builder-field__identity span { display: grid; }
.builder-field__identity small { color: var(--muted); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.builder-field__identity strong { font-size: .82rem; }
.builder-field__actions { display: flex; gap: .25rem; }
.builder-field__actions button { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #d1d6d9; background: #fff; color: var(--ink); font-weight: 900; cursor: pointer; }
.builder-field__actions button:hover:not(:disabled) { border-color: var(--ink); }
.builder-field__actions button:disabled { opacity: .35; cursor: default; }
.builder-field__actions .builder-remove { color: #b42318; }
.builder-field__body { display: grid; gap: .8rem; padding: 1rem; }
.builder-field__grid, .builder-field__settings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.builder-field__grid--main { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, .65fr); }
.builder-field__body label { display: grid; gap: .35rem; min-width: 0; }
.builder-field__body label > span:first-child, .builder-options label > span, .builder-formula label > span { color: #44515a; font-size: .65rem; font-weight: 800; letter-spacing: .02em; }
.builder-field__body input, .builder-field__body select, .builder-field__body textarea { width: 100%; min-width: 0; }
.builder-field textarea { margin-top: 0; }
.builder-required > .toggle { min-height: 43px; align-items: center; }
.toggle input { width: 1px; height: 1px; }
.builder-field__settings { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: .8rem; background: #f7f8f7; }
.builder-field__settings [hidden], .builder-options[hidden], .builder-formula[hidden] { display: none; }
.builder-options, .builder-formula { padding: .8rem; border: 1px solid #e1e4e6; }
.builder-options small, .builder-formula small { display: block; color: var(--muted); font-size: .65rem; line-height: 1.45; }
.builder-options__head { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: .8rem; }
.builder-options__head > div { display: grid; gap: .2rem; }
.builder-options__head strong { font-size: .78rem; }
.builder-options__head button { flex: none; padding: .55rem .75rem; border: 1px solid var(--ink); background: var(--ink); color: #fff; font-size: .66rem; font-weight: 800; cursor: pointer; }
.builder-options__head button:hover { background: var(--red); border-color: var(--red); }
.builder-option-list { display: grid; gap: .5rem; }
.builder-option-row { display: grid; grid-template-columns: 78px minmax(160px, 1.35fr) minmax(130px, .9fr) minmax(120px, .6fr) 34px; gap: .55rem; align-items: end; padding: .65rem; border: 1px solid #e2e5e7; background: #f8f9f8; }
.builder-option-row--color { grid-template-columns: 78px minmax(145px, 1.2fr) minmax(110px, .75fr) minmax(110px, .6fr) minmax(110px, .65fr) minmax(120px, .8fr) 34px; }
.builder-option-order { display: grid; grid-template-columns: 1fr 28px 28px; gap: .2rem; align-items: center; min-height: 43px; }
.builder-option-order span { color: var(--muted); font-size: .62rem; font-weight: 900; letter-spacing: .08em; }
.builder-option-order button, .builder-option-remove { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #d1d6d9; background: #fff; color: var(--ink); font-weight: 900; cursor: pointer; }
.builder-option-order button:hover:not(:disabled) { border-color: var(--ink); }
.builder-option-order button:disabled { opacity: .3; cursor: default; }
.builder-option-field { gap: .25rem !important; }
.builder-option-field > span { color: #59666e !important; font-size: .58rem !important; text-transform: uppercase; letter-spacing: .05em !important; }
.builder-option-field input { min-height: 43px; background: #fff; }
.builder-option-field--price input { font-weight: 800; }
.builder-option-remove { align-self: center; color: #b42318; }
.builder-option-remove:hover { border-color: #b42318; background: #fff0ee; }
.builder-option-list:empty::before { content: 'Nessuna opzione. Aggiungi almeno una scelta al menu.'; padding: 1rem; border: 1px dashed #bdc5ca; color: var(--muted); font-size: .7rem; text-align: center; }
.builder-palette:not(:empty) { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .75rem; padding-top: .75rem; border-top: 1px solid #e2e5e7; }
.builder-palette span { width: 22px; height: 22px; border: 1px solid #cbd1d4; border-radius: 50%; background: var(--swatch); box-shadow: inset 0 0 0 2px #fff; }
.builder-conditions { border-top: 1px solid var(--line); padding-top: .7rem; }
.builder-conditions summary { color: var(--ink); font-size: .72rem; font-weight: 800; cursor: pointer; }
.builder-conditions > div { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-top: .7rem; }
.builder-conditions > small { display: block; margin-top: .45rem; color: var(--muted); font-size: .65rem; }
.builder-empty { display: grid; place-items: center; gap: .3rem; min-height: 130px; margin-top: .75rem; border: 1px dashed #bdc5ca; color: var(--muted); text-align: center; }
.builder-empty[hidden] { display: none; }
.builder-empty strong { color: var(--ink); font-size: .84rem; }
.builder-empty span { font-size: .72rem; }

.form-section--shipping { grid-template-columns: 1fr; }
.form-section--shipping > .form-section__title { border-bottom: 1px solid #e1e3e5; }
.shipping-builder-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.shipping-builder-heading p { margin: .25rem 0 0; color: var(--muted); font-size: .76rem; }
.shipping-methods { display: grid; gap: 1rem; margin-bottom: 1.25rem; }
.shipping-method-card { border: 1px solid #d5dade; background: #fff; box-shadow: 0 4px 14px rgba(24, 33, 43, .045); }
.shipping-method-card > header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .9rem 1rem; border-bottom: 1px solid #e2e5e7; background: #f6f8f7; }
.shipping-method-card > header div { display: grid; }
.shipping-method-card > header span { color: var(--muted); font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.shipping-method-card > header strong { font-size: .88rem; }
.shipping-method-card > .field-group, .shipping-method-grid { margin: 0; padding: .9rem 1rem 0; }
.shipping-method-card > .field-group:last-of-type { padding-bottom: .9rem; }
.shipping-method-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.shipping-method-grid--identity { grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr) 150px; }
.shipping-method-grid .field-group { margin: 0; }
.shipping-method-toggle { align-self: center; margin-top: .7rem; }
.shipping-method-card select[multiple] { min-height: 150px; padding: .45rem; }
.shipping-method-card select[multiple] option { padding: .35rem .5rem; border-radius: 3px; }
.tracking-carriers { display: grid; gap: 1rem; margin-bottom: 1rem; }
.tracking-carrier-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr) 150px; gap: .8rem; padding: .9rem 1rem 0; }
.tracking-carrier-grid .field-group { margin: 0; padding: 0; }
.tracking-carrier-toggle { align-self: center; margin-top: .7rem; }
.tracking-carrier-url { padding-bottom: .9rem !important; }

.config-heading { margin: 1.6rem 0 .3rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.config-heading h2 { margin: 0; font: 800 1.15rem Manrope, sans-serif; }
.config-heading p { margin: .3rem 0 0; color: var(--muted); font-size: .78rem; }
.config-divider { margin: 1.3rem 0; border: 0; border-top: 1px solid var(--line); }
.config-calculation { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin: 1rem 0; padding: .9rem 1rem; border-left: 4px solid var(--red); background: #f5f7f6; }
.config-calculation span { font-size: .78rem; font-weight: 800; }
.config-calculation strong { margin-left: auto; font: 800 1rem Manrope, sans-serif; }
.config-calculation small { color: var(--muted); font-size: .7rem; }
.field-help { display: block; margin: -.15rem 0 .45rem; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.choice-card { position: relative; cursor: pointer; }
.choice-card input { position: absolute; opacity: 0; }
.choice-card > span { display: flex; justify-content: space-between; gap: .7rem; min-height: 54px; padding: .8rem; border: 1px solid var(--line); background: #fff; }
.choice-card input:checked + span { border-color: var(--ink); box-shadow: 0 0 0 2px var(--ink); }
.choice-card strong { font-size: .76rem; }
.choice-card small { color: var(--red); font-size: .68rem; font-weight: 800; }
.range-control { display: grid; grid-template-columns: 1fr auto; gap: .8rem; align-items: center; }
.range-control input { accent-color: var(--red); }
.range-control output { min-width: 62px; padding: .45rem .55rem; background: #eef1f1; text-align: center; font-size: .75rem; font-weight: 800; }
[data-config-field][hidden] { display: none !important; }

.file-upload { display: grid !important; gap: .25rem; padding: 1rem; border: 1px dashed #9aa2a7; border-radius: 6px 6px 0 0; background: #f7f8f7; cursor: pointer; }
.file-upload strong { font: 800 .88rem Manrope; color: var(--ink); }
.file-upload span { color: var(--muted) !important; font-size: .72rem; font-weight: 500; }
.file-upload__input { border-top: 0; border-radius: 0 0 6px 6px; font-size: .78rem; }
.file-upload__input::file-selector-button { margin-right: .8rem; padding: .55rem .75rem; border: 0; border-radius: 4px; background: var(--ink); color: #fff; font-weight: 800; cursor: pointer; }
.file-link { display: inline-flex; align-items: center; gap: .45rem; color: var(--teal); font-weight: 800; }
.file-link:hover { text-decoration: underline; }
.product-gallery button.is-active { border-color: var(--red); }

.checkout-section { margin: 0 0 1.7rem; padding: 0 0 1.5rem; border: 0; border-bottom: 1px solid var(--line); }
.checkout-section legend { width: 100%; margin-bottom: 1rem; font: 800 1.05rem Manrope; }
.checkout-section:last-of-type { border-bottom: 0; }
.customer-type { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-bottom: 1.2rem; }
.customer-type label { position: relative; cursor: pointer; }
.customer-type input { position: absolute; opacity: 0; }
.customer-type span { display: grid; gap: .2rem; padding: 1rem; border: 1px solid var(--line); border-radius: 5px; }
.customer-type small, .field-group label small { color: var(--muted); font-weight: 500; }
.customer-type input:checked + span { border-color: var(--ink); box-shadow: 0 0 0 2px var(--ink); background: #f7f8f7; }
.address-grid { display: grid; grid-template-columns: 1fr 100px 120px; gap: 1rem; }
.billing-toggle { margin-bottom: 1.2rem; }
[data-business-fields], [data-billing-fields] { padding: 1rem; background: #f7f8f7; border: 1px solid var(--line); }
[data-business-fields][hidden], [data-billing-fields][hidden] { display: none; }
[data-company-tax][hidden] { display: none !important; }

@media (max-width: 600px) {
    .customer-type, .address-grid { grid-template-columns: 1fr; }
}

.payment-options { border: 0; padding: 0; margin: 2rem 0 1.2rem; }
.payment-options legend { margin-bottom: .8rem; font-size: .8rem; font-weight: 800; }
.payment-option { display: flex; align-items: center; gap: .9rem; padding: 1rem; margin-bottom: .65rem; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; }
[data-shipping-option][hidden] { display: none !important; }
.payment-option:has(input:checked) { border-color: var(--ink); box-shadow: 0 0 0 2px var(--ink); }
.payment-option input { width: 18px; height: 18px; accent-color: var(--red); }
.payment-option span { display: grid; gap: .2rem; }
.payment-option small, .success-details span, .detail-grid span { color: var(--muted); }
.payment-option > b { margin-left: auto; white-space: nowrap; font-size: .85rem; }
.payment-readiness { display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem; margin: 1rem 0 1.5rem; }
.payment-readiness div { display: grid; gap: .18rem; padding: .85rem; border: 1px solid var(--line); background: #fff8f6; }
.payment-readiness div.is-ready { background: #eef8f2; }
.payment-readiness span { font-weight: 700; font-size: .8rem; }
.payment-readiness strong { color: #a33a30; font-size: .75rem; }
.payment-readiness .is-ready strong { color: #157347; }
.payment-readiness small { color: var(--muted); }
.tracking-payment-actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.tracking-payment-actions form { margin: 0; }
.flash--error { background: #fff1f0; color: #9f1239; border-color: #fecaca; }
.shipping-options { margin: .35rem 0 1rem; }
.checkout-estimate { margin: .4rem 0 0; padding: .9rem 1rem; background: #eef4f1; color: var(--muted); font-size: .82rem; }
.checkout-estimate strong { color: var(--ink); }
.product-fulfillment { display: flex; flex-wrap: wrap; gap: .75rem; margin: -1rem 0 1.7rem; }
.product-description { margin: -1rem 0 1.35rem; padding-top: 1.15rem; border-top: 1px solid var(--line); }
.product-description h2, .product-highlights h2 { margin: 0 0 .55rem; font: 800 .82rem/1.2 Manrope, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.product-description p { margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.65; }
.product-highlights { margin: 0 0 1.7rem; padding: 1.15rem 1.2rem; background: color-mix(in srgb, var(--paper) 72%, #fff); border: 1px solid var(--line); }
.product-highlights ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1rem; margin: 0; padding: 0; list-style: none; }
.product-highlights li { display: flex; align-items: flex-start; gap: .55rem; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.product-highlights li span { display: grid; place-items: center; flex: 0 0 19px; width: 19px; height: 19px; margin-top: .05rem; border-radius: 50%; background: #e5efea; color: var(--teal); font-size: .65rem; font-weight: 900; }
.product-fulfillment span { display: grid; gap: .15rem; padding: .75rem .9rem; background: var(--paper); border: 1px solid var(--line); }
.product-fulfillment small { color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; }
.product-fulfillment strong { font-size: .82rem; }
.consent { display: flex; align-items: flex-start; gap: .7rem; font-size: .82rem; line-height: 1.5; }
.consent input { width: 18px; height: 18px; margin-top: .15rem; accent-color: var(--red); }
.success-details { display: grid; grid-template-columns: repeat(3, 1fr); margin: 2rem 0; border: 1px solid var(--line); background: #fff; text-align: left; }
.success-details div { display: grid; gap: .4rem; padding: 1.1rem; border-right: 1px solid var(--line); }
.success-details div:last-child { border-right: 0; }
.success-notice { padding: 1rem; background: #eef4f1; border: 1px solid #cadbd4; font-size: .88rem !important; }
.success-bank-transfer { margin: 2rem 0; padding: 1.5rem; border: 1px solid #b9d4ca; border-left: 5px solid var(--teal); background: #fff; text-align: left; }
.success-bank-transfer .eyebrow { margin-bottom: .55rem; color: var(--teal); }
.success-bank-transfer h2 { margin: 0; font: 800 1.5rem Manrope, sans-serif; }
.success-bank-transfer > p { margin: .55rem 0 1rem; font-size: .9rem; }
.success-bank-transfer__details { padding: 1rem; background: #eef4f1; color: var(--ink); font-size: .92rem; font-weight: 700; line-height: 1.75; overflow-wrap: anywhere; }
.success-bank-transfer__reference { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: .8rem; padding: .85rem 1rem; border: 1px solid var(--line); background: #fafafa; }
.success-bank-transfer__reference span { color: var(--muted); font-size: .78rem; }
.success-bank-transfer__reference strong { font: 800 1rem Manrope, sans-serif; letter-spacing: .03em; }
.success-bank-transfer > small { display: block; margin-top: .7rem; color: var(--muted); line-height: 1.5; }
.order-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.2rem; }
.order-filters a { padding: .55rem .8rem; border: 1px solid #d7dade; background: #fff; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.order-filters a.active { background: var(--ink); border-color: var(--ink); color: #fff; }
.admin-panel td small { display: block; margin-top: .25rem; color: var(--muted); }
.table-action { font-weight: 800; color: var(--red); white-space: nowrap; }
.status--new { background: #dbeafe; color: #1e40af; }
.status--awaiting_payment { background: #fff3cd; color: #8a5d00; }
.status--processing { background: #ede9fe; color: #5b21b6; }
.status--ready { background: #ccfbf1; color: #115e59; }
.status--shipped { background: #dcfce7; color: #166534; }
.status--completed { background: #dcfce7; color: #166534; }
.status--cancelled { background: #fee2e2; color: #991b1b; }
.order-admin-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .55fr); gap: 1.2rem; align-items: start; }
.order-admin-main, .order-admin-side { display: grid; gap: 1.2rem; }
.order-product { display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: 1.4rem; border-bottom: 1px solid #eceef0; }
.order-product h3 { margin: .25rem 0; font: 800 1.2rem Manrope; }
.order-product dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin: .6rem 0 0; }
.order-product dl div { padding: .7rem; background: #f6f7f7; }
.order-product dt { color: var(--muted); font-size: .68rem; text-transform: uppercase; }
.order-product dd { margin: .25rem 0 0; font-size: .82rem; font-weight: 700; }
.customer-panel .detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; padding: 1.4rem; }
.detail-grid > div { display: grid; gap: .35rem; }
.detail-grid .detail-wide { grid-column: 1 / -1; }
.detail-grid p { margin: 0; line-height: 1.6; }
.order-state-form, .order-tracking-form, .totals-panel { padding: 1.4rem; }
.order-tracking-form { border-top: 4px solid var(--blue, #0b84f3); }
.order-tracking-form .panel-heading { margin-bottom: 1rem; }
.order-tracking-form .panel-heading h2 { margin: .15rem 0 0; font: 800 1.25rem Manrope; }
.order-tracking-form .eyebrow { color: var(--blue, #0b84f3); font-size: .65rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.tracking-form-note { margin: .85rem 0 1rem; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.tracking-current-link { display: inline-flex; margin-top: -.2rem; color: var(--blue, #0b84f3); font-size: .78rem; font-weight: 800; text-decoration: none; }
.order-state-form h2, .totals-panel h2 { margin: 0 0 1.2rem; font: 800 1.25rem Manrope; }
.totals-panel div { display: flex; justify-content: space-between; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.totals-panel .total { padding-top: 1rem; font-size: 1.15rem; }
.totals-panel p { color: var(--muted); font-size: .75rem; }
.pagination { padding: 1rem; }
.pagination svg { width: 18px; }
.settings-form { max-width: 1180px; }
.settings-note { margin: .4rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.smtp-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.smtp-actions .button { margin: 0; }
.smtp-actions .settings-note { flex: 1 1 280px; margin: 0; }
.setting-toggles { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.payment-mode { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; padding: .9rem 1rem; background: #eef4f1; border: 1px solid #cadbd4; }
.payment-mode span { color: var(--muted); font-size: .78rem; }
.payment-simulator { max-width: 760px; }
.demo-payment-actions { display: flex; justify-content: center; gap: 1rem; margin-top: 2rem; }
.demo-payment-actions form { margin: 0; }
.heading-actions { display: flex; align-items: center; gap: .8rem; }
.status-timeline { list-style: none; margin: 0; padding: 1.4rem; }
.status-timeline li { display: grid; grid-template-columns: 18px 1fr; gap: .8rem; position: relative; padding-bottom: 1.3rem; }
.status-timeline li:not(:last-child)::before { content: ""; position: absolute; left: 5px; top: 12px; bottom: 0; width: 1px; background: #ced3d6; }
.status-timeline i { width: 11px; height: 11px; margin-top: 3px; border-radius: 50%; background: var(--red); position: relative; z-index: 1; }
.status-timeline div { display: grid; gap: .2rem; }
.status-timeline span { color: var(--muted); font-size: .72rem; }
.status-timeline p { margin: .35rem 0 0; font-size: .82rem; line-height: 1.5; }

@media(max-width: 900px) {
    .order-admin-layout { grid-template-columns: 1fr; }
}

@media(max-width: 600px) {
    .success-details, .order-product dl, .customer-panel .detail-grid { grid-template-columns: 1fr; }
    .success-details div { border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 600px) {
    .pricing-grid { grid-template-columns: 1fr; }
    .vinyl-colors { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 55vh; }
    .vinyl-picker__trigger { grid-template-columns: 42px minmax(0, 1fr) auto; }
    .vinyl-picker__trigger b { display: none; }
    .vinyl-picker__selected-chip { width: 42px; height: 42px; }
    .element-library__grid { grid-template-columns: 1fr 1fr; }
    .builder-intro, .builder-global-settings { display: grid; grid-template-columns: 1fr; }
    .global-form-manager__heading { display: grid; }
    .global-form-manager__count { justify-self: start; }
    .global-form-source { grid-template-columns: auto minmax(0,1fr); }
    .global-form-source__actions, .global-form-source__badge { grid-column: 2; justify-items: start; }
    .builder-counter { justify-self: start; }
    .builder-field__grid, .builder-field__grid--main, .builder-field__settings, .builder-conditions > div, .choice-grid { grid-template-columns: 1fr; }
    .shipping-builder-heading { align-items: stretch; flex-direction: column; }
    .shipping-method-grid, .shipping-method-grid--identity, .tracking-carrier-grid { grid-template-columns: 1fr; }
}

@media (min-width: 601px) and (max-width: 1000px) {
    .element-library__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .builder-field__grid--main, .builder-field__settings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Immagini prodotto: riquadro quadrato e grafica a piena superficie. */
.product-visual { height: auto; aspect-ratio: 1; background: color-mix(in srgb, var(--accent) 8%, #f4f4f1); }
.product-card-image {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
    object-position: center;
    background: #fff;
    border-radius: 0;
    box-shadow: none;
    transition: transform .25s ease;
}
.product-card:hover .product-card-image { transform: scale(1.018); }
.product-visual .product-code, .product-visual .badge { z-index: 3; }

.product-gallery { display: grid; gap: .7rem; margin: 1.5rem 0 1rem; position: relative; z-index: 3; }
.product-gallery .product-gallery__stage {
    --gallery-space: clamp(1rem, 3vw, 2rem);
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    height: clamp(360px, 58vh, 680px);
    padding: 0;
    border: 1px solid rgba(24, 33, 43, .12);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
    cursor: zoom-in;
    overflow: hidden;
}
.product-gallery .product-gallery__stage > img {
    position: absolute;
    inset: var(--gallery-space);
    display: block;
    width: calc(100% - var(--gallery-space) - var(--gallery-space));
    height: calc(100% - var(--gallery-space) - var(--gallery-space));
    min-width: 0;
    min-height: 0;
    object-fit: contain;
    object-position: center;
}
.product-gallery__zoom, .product-gallery__counter {
    position: absolute;
    bottom: .8rem;
    padding: .45rem .65rem;
    border-radius: 999px;
    background: rgba(24, 33, 43, .84);
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    backdrop-filter: blur(8px);
}
.product-gallery__zoom { left: .8rem; }
.product-gallery__counter { right: .8rem; }
.product-gallery .product-gallery__thumbs { display: flex; gap: .55rem; margin: 0; padding: 2px 2px .35rem; overflow-x: auto; }
.product-gallery .product-gallery__thumbs button {
    flex: 0 0 76px;
    width: 76px;
    height: 68px;
    padding: 5px;
    border: 1px solid rgba(24, 33, 43, .22);
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
}
.product-gallery .product-gallery__thumbs button.is-active { border-color: var(--red); box-shadow: 0 0 0 2px rgba(239, 63, 55, .16); }
.product-gallery .product-gallery__thumbs img { display: block; width: 100%; height: 100%; object-fit: contain; }

.product-lightbox {
    width: min(1100px, 94vw);
    max-width: none;
    height: min(900px, 92vh);
    max-height: none;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: #111820;
    color: #fff;
    overflow: hidden;
}
.product-lightbox::backdrop { background: rgba(10, 14, 18, .82); backdrop-filter: blur(5px); }
.product-lightbox[open] { display: grid; place-items: center; }
.product-lightbox > img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    padding: clamp(1rem, 4vw, 3rem);
    object-fit: contain;
    object-position: center;
}
.product-gallery .product-lightbox__close, .product-gallery .product-lightbox__nav {
    position: absolute;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50%;
    background: rgba(17, 24, 32, .82);
    color: #fff;
    cursor: pointer;
}
.product-gallery .product-lightbox__close { top: 1rem; right: 1rem; font-size: 1.6rem; }
.product-gallery .product-lightbox__nav { top: 50%; transform: translateY(-50%); font-size: 1.35rem; }
.product-gallery .product-lightbox__nav--prev { left: 1rem; }
.product-gallery .product-lightbox__nav--next { right: 1rem; }

@media (max-width: 600px) {
    .product-card-image { inset: 0; width: 100%; height: 100%; padding: 0; }
    .product-gallery .product-gallery__stage { --gallery-space: .8rem; height: min(52vh, 480px); min-height: 300px; }
    .product-gallery__zoom { font-size: 0; }
    .product-gallery__zoom::after { content: "⌕"; font-size: .9rem; }
    .product-lightbox { width: 100vw; height: 100dvh; border-radius: 0; }
    .product-lightbox__nav--prev { left: .55rem; }
    .product-lightbox__nav--next { right: .55rem; }
}

/* Storefront visual system */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.announcement { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 1rem; padding: .45rem 5vw; }
.announcement span { margin: 0; color: inherit; }
.announcement__made::before { content: "•"; margin-right: 1rem; color: var(--red); }

.notice-page-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;padding:.9rem;border:1px solid #dbe4eb;border-radius:10px;background:#f8fafc}
.notice-page-options .consent{margin:0}
.site-header { height: auto; min-height: 82px; padding: 0; position: sticky; top: 0; isolation: isolate; }
.site-header__inner { width: 100%; min-height: 82px; padding: 0 4.5vw; display: flex; align-items: center; gap: clamp(1.5rem, 3vw, 3.4rem); }
.site-header .brand { flex: 0 0 auto; }
.site-header .primary-nav { display: flex; align-items: stretch; align-self: stretch; gap: clamp(1.2rem, 2.1vw, 2.2rem); }
.primary-nav > a, .nav-categories > summary { position: relative; display: flex; align-items: center; height: 100%; color: var(--ink); font-size: .84rem; font-weight: 700; cursor: pointer; list-style: none; }
.nav-categories > summary::-webkit-details-marker { display: none; }
.nav-categories > summary span { margin-left: .35rem; color: var(--red); }
.primary-nav > a::after, .nav-categories > summary::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--red); transform: scaleX(0); transition: transform .2s ease; }
.primary-nav > a:hover::after, .primary-nav > a.is-active::after, .nav-categories[open] > summary::after { transform: scaleX(1); }
.nav-categories { position: static; }
.nav-categories__panel { position: absolute; z-index: 30; left: 4.5vw; right: 4.5vw; top: calc(100% + 1px); display: grid; grid-template-columns: minmax(240px, .65fr) 1.35fr; gap: 3rem; padding: 2rem; background: #fff; border: 1px solid var(--line); box-shadow: 0 25px 60px rgba(24, 33, 43, .18); }
.nav-categories__panel > div { padding: 1.2rem; background: #edf2f0; display: flex; flex-direction: column; align-items: flex-start; }
.nav-categories__panel > div small { color: var(--red); font-size: .65rem; font-weight: 800; letter-spacing: .13em; }
.nav-categories__panel > div strong { max-width: 330px; margin: .55rem 0 1.4rem; font: 800 1.45rem/1.2 Manrope; }
.nav-categories__panel > div a { margin-top: auto; font-size: .78rem; font-weight: 800; }
.site-header .nav-categories__panel nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.nav-categories__panel nav a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .72rem .8rem; border-bottom: 1px solid var(--line); font-size: .78rem; font-weight: 700; }
.nav-categories__panel nav a:hover { color: var(--red); background: #faf9f6; }
.nav-categories__panel nav small { display: grid; place-items: center; min-width: 24px; height: 24px; border-radius: 50%; background: var(--ink); color: #fff; font-size: .62rem; }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: .65rem; }
.account-link { padding: .68rem .3rem; font-size: .82rem; font-weight: 700; }
.site-header .cart-link { display: flex; align-items: center; gap: .45rem; padding: .65rem .8rem .65rem 1rem; font-size: .8rem; }
.site-header .cart-label { font-weight: 700; }
.site-header .cart-link span { margin: 0; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 11px; border: 1px solid var(--line); border-radius: 50%; background: #fff; cursor: pointer; }
.menu-toggle > span { display: block; width: 100%; height: 2px; margin: 4px 0; background: var(--ink); transition: transform .2s, opacity .2s; }
.site-header .mobile-nav, .site-header .mobile-nav[hidden] { display: none; }

.hero.hero--store { min-height: 720px; padding: clamp(4rem, 7vw, 7rem) 6vw; grid-template-columns: minmax(0, .88fr) minmax(460px, 1.12fr); gap: 5vw; background: linear-gradient(120deg, #f6f3ed 0 48%, #e4ece8 48% 100%); }
.hero--store .hero-copy { max-width: 660px; }
.hero--store h1 { font-size: clamp(3.8rem, 6.4vw, 7rem); }
.hero--store .hero-copy > p { max-width: 590px; margin: 1.7rem 0; }
.hero-benefits { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; margin-top: 2rem; color: var(--muted); font-size: .72rem; font-weight: 700; }
.hero-benefits span { display: flex; align-items: center; gap: .4rem; }
.hero-benefits b { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--teal); color: #fff; }
.hero-showcase { position: relative; min-height: 540px; }
.hero-showcase::before { content: ""; position: absolute; inset: 7% 4%; border: 1px dashed rgba(24, 33, 43, .22); border-radius: 48% 52% 43% 57%; transform: rotate(-4deg); }
.hero-product { position: absolute; display: grid; grid-template-rows: minmax(0, 1fr) auto auto; padding: .75rem; background: #fff; box-shadow: 0 22px 55px rgba(24, 33, 43, .15); transition: transform .25s ease; }
.hero-product:hover { z-index: 4; transform: translateY(-7px) rotate(0deg); }
.hero-product img { width: 100%; height: 100%; min-height: 0; object-fit: contain; background: #f7f6f2; }
.hero-product > span { display: grid; place-items: center; height: 100%; background: var(--red); color: #fff; font: 800 4rem Manrope; }
.hero-product small { margin-top: .65rem; color: var(--red); font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hero-product strong { margin-top: .2rem; overflow: hidden; font: 800 .86rem Manrope; white-space: nowrap; text-overflow: ellipsis; }
.hero-product--1 { width: 48%; height: 64%; left: 5%; top: 5%; transform: rotate(-5deg); z-index: 2; }
.hero-product--2 { width: 43%; height: 57%; right: 2%; top: 20%; transform: rotate(6deg); z-index: 1; }
.hero-product--3 { width: 39%; height: 47%; left: 32%; bottom: 0; transform: rotate(2deg); z-index: 3; }
.hero-showcase__note { position: absolute; right: 1%; bottom: 1%; color: var(--muted); font-size: .72rem; line-height: 1.4; text-align: right; transform: rotate(-5deg); }
.hero-showcase__note strong { color: var(--ink); }

.store-promises { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 6vw; background: var(--ink); color: #fff; }
.store-promises > div { display: flex; align-items: center; gap: 1rem; padding: 1.4rem 2rem; border-right: 1px solid rgba(255,255,255,.13); }
.store-promises > div:last-child { border-right: 0; }
.store-promises b { color: var(--red); font: 800 .75rem Manrope; }
.store-promises span { display: grid; gap: .15rem; }
.store-promises strong { font-size: .82rem; }
.store-promises small { color: #aeb6bf; font-size: .68rem; }

.category-showcase { padding: 7rem 7vw; background: #edf2f0; }
.category-showcase__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(24,33,43,.18); border-left: 1px solid rgba(24,33,43,.18); }
.category-tile { min-height: 132px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.2rem; padding: 1.4rem; border-right: 1px solid rgba(24,33,43,.18); border-bottom: 1px solid rgba(24,33,43,.18); background: rgba(255,255,255,.45); transition: background .2s, color .2s, transform .2s; }
.category-tile:hover { background: var(--ink); color: #fff; }
.category-tile__number { color: var(--red); font: 800 .72rem Manrope; }
.category-tile div { display: grid; gap: .3rem; }
.category-tile strong { font: 800 1rem Manrope; }
.category-tile small { color: var(--muted); font-size: .68rem; }
.category-tile:hover small { color: #b9c0c7; }
.category-tile i { font-style: normal; font-size: 1.15rem; }
.category-tile--visual { min-height: 184px; grid-template-columns: 86px 1fr auto; overflow: hidden; }
.category-tile__art { position: relative; display: grid; place-items: center; width: 78px; height: 104px; overflow: hidden; border: 6px solid #fff; background: #cfe0dc; box-shadow: 0 12px 30px rgba(24,33,43,.13); transform: rotate(-4deg); transition: transform .25s; }
.category-tile__art::before, .category-tile__art::after, .category-tile__art i { position: absolute; content: ""; }
.category-tile__art::before { width: 82px; height: 32px; right: -29px; top: 12px; border: 8px solid var(--red); transform: rotate(35deg); }
.category-tile__art::after { width: 48px; height: 48px; left: -20px; bottom: -16px; border-radius: 50%; background: var(--ink); opacity: .16; }
.category-tile__art i { width: 1px; height: 120%; top: -10%; left: 50%; border-left: 1px dashed rgba(24,33,43,.25); transform: rotate(22deg); }
.category-tile__art b { position: relative; z-index: 2; color: var(--ink); font: 800 2.3rem Manrope; }
.category-tile--tone-2 .category-tile__art { background: #f0d9d4; transform: rotate(4deg); }
.category-tile--tone-3 .category-tile__art { background: #f1dfaa; }
.category-tile--tone-4 .category-tile__art { background: #d8dbea; transform: rotate(3deg); }
.category-tile--visual:hover .category-tile__art { transform: rotate(0deg) scale(1.04); }
.category-tile--visual:hover .category-tile__art b { color: var(--ink); }
.category-tile--visual div { align-content: center; }
.category-tile--visual .category-tile__number { margin-bottom: .3rem; }
.category-tile__arrow { transition: transform .2s; }
.category-tile:hover .category-tile__arrow { transform: translateX(4px); }
.category-tile--all { background: var(--red); color: #fff; }
.category-tile--all .category-tile__number, .category-tile--all small { color: #fff; }

.customizer-showcase { padding: 7rem 7vw; background: var(--ink); color: #fff; }
.customizer-showcase .section-heading > p { color: #aeb6bf; }
.customizer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.customizer-card { min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: #202b36; }
.customizer-card__visual { position: relative; min-height: 0; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; background: color-mix(in srgb, var(--customizer-accent) 24%, #e8ece9); }
.customizer-card__grid { position: absolute; inset: 0; opacity: .55; background-image: linear-gradient(rgba(24,33,43,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(24,33,43,.1) 1px, transparent 1px); background-size: 28px 28px; }
.customizer-card__visual::after { position: absolute; width: 78%; height: 34%; border: 1px dashed rgba(24,33,43,.45); content: ""; }
.customizer-card__visual--image .customizer-card__grid, .customizer-card__visual--image::after { display: none; }
.customizer-card__media { position: absolute; z-index: 1; inset: 0; display: block; overflow: hidden; background: #f7f6f2; }
.customizer-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.customizer-card:hover .customizer-card__media img { transform: scale(1.025); }
.customizer-card__demo { position: relative; z-index: 1; max-width: 82%; display: grid; gap: .2rem; padding: 1rem 1.35rem; border: 7px solid #fff; background: var(--customizer-accent); color: #fff; box-shadow: 0 18px 32px rgba(24,33,43,.22); transform: rotate(-3deg); }
.customizer-card__demo small { color: rgba(255,255,255,.72); font: 800 .55rem Manrope; letter-spacing: .13em; }
.customizer-card__demo strong { overflow: hidden; font: 800 clamp(1.45rem, 2.5vw, 2.5rem) Manrope; white-space: nowrap; text-overflow: ellipsis; }
.customizer-card__demo i { position: absolute; right: -17px; top: -17px; width: 34px; height: 34px; border: 5px solid #fff; border-radius: 50%; background: var(--ink); }
.customizer-card__live { position: absolute; z-index: 3; left: 1rem; bottom: 1rem; display: flex; align-items: center; gap: .45rem; padding: .48rem .65rem; background: rgba(24,33,43,.92); color: #fff; font-size: .62rem; font-weight: 800; }
.customizer-card__live b { width: 7px; height: 7px; border-radius: 50%; background: #6ee7a8; box-shadow: 0 0 0 4px rgba(110,231,168,.15); }
.customizer-card__body { position: relative; min-height: 280px; display: flex; flex-direction: column; padding: 1.5rem; }
.customizer-card__count { position: absolute; right: 1.2rem; top: 1rem; color: rgba(255,255,255,.16); font: 800 3rem Manrope; }
.customizer-card__body > p { margin: 0 0 .55rem; color: var(--customizer-accent); font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.customizer-card h3 { position: relative; max-width: 80%; margin: 0; font: 800 1.35rem/1.18 Manrope; }
.customizer-card ul { display: grid; gap: .55rem; margin: 1.2rem 0; padding: 0; color: #b9c1c8; list-style: none; font-size: .75rem; }
.customizer-card li::before { margin-right: .55rem; color: var(--customizer-accent); content: "✓"; font-weight: 800; }
.customizer-card__body > a { display: flex; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.13); font-size: .75rem; font-weight: 800; }
.customizer-card__body > a span { color: var(--customizer-accent); transition: transform .2s; }
.customizer-card__body > a:hover span { transform: translateX(4px); }

.featured-products .section-heading { align-items: center; }
.section-link { padding-bottom: .35rem; border-bottom: 1px solid var(--ink); font-size: .78rem; font-weight: 800; }
.section-action { display: flex; justify-content: center; margin-top: 3rem; }
.product-card { display: flex; flex-direction: column; border-radius: 7px; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(24, 33, 43, .1); }
.product-card__body { flex: 1; display: flex; flex-direction: column; }
.product-card__footer { margin-top: auto; }
.product-card h3 a:hover { color: var(--red); }
.product-card .circle-link { transition: background .2s, transform .2s; }
.product-card .circle-link:hover { background: var(--red); transform: translateX(3px); }
.process-intro { max-width: 500px; color: var(--muted); line-height: 1.6; }
.home-trust { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: 6vw; padding: 7rem 7vw; background: #fff; }
.home-trust__intro h2, .home-faq__heading h2 { margin: .2rem 0 1.3rem; font: 800 clamp(2.6rem, 4.8vw, 4.8rem)/1 Manrope; letter-spacing: -.055em; }
.home-trust__intro p, .home-faq__heading p { max-width: 520px; color: var(--muted); line-height: 1.7; }
.home-trust__grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.home-trust__grid article { min-height: 190px; display: flex; gap: 1rem; padding: 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.home-trust__grid article > span { flex: 0 0 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: #fff; font: 800 .8rem Manrope; }
.home-trust__grid article:nth-child(2) > span, .home-trust__grid article:nth-child(3) > span { background: var(--red); }
.home-trust__grid h3 { margin: .1rem 0 .65rem; font: 800 1rem Manrope; }
.home-trust__grid p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.6; }
.home-faq { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); gap: 6vw; padding: 7rem 7vw; background: #edf2f0; }
.home-faq__heading { align-self: start; position: sticky; top: 120px; }
.home-faq__list { border-top: 1px solid rgba(24,33,43,.2); }
.home-faq details { border-bottom: 1px solid rgba(24,33,43,.2); }
.home-faq summary { position: relative; display: grid; grid-template-columns: 42px 1fr 24px; align-items: center; gap: .8rem; padding: 1.45rem 0; cursor: pointer; font: 800 1rem Manrope; list-style: none; }
.home-faq summary::-webkit-details-marker { display: none; }
.home-faq summary > span { color: var(--red); font-size: .65rem; }
.home-faq summary > i { position: relative; width: 18px; height: 18px; }
.home-faq summary > i::before, .home-faq summary > i::after { position: absolute; left: 2px; top: 8px; width: 14px; height: 2px; background: var(--ink); content: ""; transition: transform .2s; }
.home-faq summary > i::after { transform: rotate(90deg); }
.home-faq details[open] summary > i::after { transform: rotate(0); }
.home-faq details p { max-width: 720px; margin: -.3rem 2.5rem 1.5rem 3.15rem; color: var(--muted); font-size: .86rem; line-height: 1.7; }
.home-cta { padding: 7rem 7vw; background: #f6f3ed; text-align: center; }
.home-cta h2 { margin: .3rem auto 2rem; font: 800 clamp(2.8rem, 5vw, 5.4rem)/1 Manrope; letter-spacing: -.055em; }
.home-cta .hero-actions { justify-content: center; }

.catalog-hero { position: relative; min-height: 430px; display: grid; grid-template-columns: 1fr minmax(340px, .62fr); align-items: end; gap: 5vw; padding: 5rem 7vw; background: #dce7e2; }
.catalog-hero .breadcrumbs { position: absolute; top: 2rem; left: 7vw; }
.breadcrumbs { display: flex; align-items: center; gap: .55rem; color: var(--muted); font-size: .72rem; }
.breadcrumbs a:hover { color: var(--red); }
.breadcrumbs strong { max-width: 260px; overflow: hidden; color: var(--ink); white-space: nowrap; text-overflow: ellipsis; }
.catalog-hero h1 { max-width: 800px; margin: 0; font: 800 clamp(3.2rem, 6.5vw, 6.7rem)/.92 Manrope; letter-spacing: -.065em; }
.catalog-hero p { max-width: 620px; margin: 1.4rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.6; }
.catalog-search { padding: 1.5rem; background: #fff; border: 1px solid rgba(24,33,43,.14); box-shadow: var(--shadow); }
.catalog-search label { display: block; margin-bottom: .65rem; font-size: .75rem; font-weight: 800; }
.catalog-search > div { display: grid; grid-template-columns: 1fr 52px; }
.catalog-search input { height: 52px; border-radius: 0; }
.catalog-search button { border: 0; background: var(--red); color: #fff; font-size: 1.25rem; cursor: pointer; }
.catalog-hero--category { min-height: 390px; grid-template-columns: 1fr auto; }
.catalog-hero--category > .button { align-self: end; }
.catalog-toolbar { position: sticky; top: 82px; z-index: 10; display: flex; align-items: center; gap: 1rem; padding: 1rem 7vw; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(10px); }
.catalog-categories { min-width: 0; display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: thin; }
.catalog-categories a { flex: 0 0 auto; padding: .6rem .85rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: .72rem; font-weight: 700; }
.catalog-categories a.is-active, .catalog-categories a:hover { border-color: var(--ink); background: var(--ink); color: #fff; }
.clear-filters { flex: 0 0 auto; color: var(--red); font-size: .72rem; font-weight: 800; }
.catalog-results { margin-bottom: 2rem; }
.catalog-results h2 { margin: 0; font: 800 clamp(2rem, 4vw, 3.5rem) Manrope; letter-spacing: -.04em; }
.catalog-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 3rem; }
.catalog-pagination a, .catalog-pagination span { padding: .75rem 1rem; border: 1px solid var(--line); font-size: .75rem; font-weight: 700; }
.catalog-pagination span[aria-disabled=true] { color: #a5a9ad; }

.product-breadcrumbs { margin-bottom: .3rem; }
.product-page { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); }
.product-page > .product-preview,.product-page > .product-config { min-width: 0; }
.product-config { padding-top: 4.7rem; }
.mug-product-preview { overflow: hidden; margin-top: 1.4rem; border: 1px solid rgba(24,33,43,.16); border-radius: 8px; background: #f8f5ef; box-shadow: 0 22px 60px rgba(24,33,43,.13); }
.mug-preview__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid rgba(24,33,43,.12); background: rgba(255,255,255,.78); }
.mug-preview__head > div:first-child { display: grid; gap: .22rem; }
.mug-preview__head > div:first-child span { color: var(--red); font: 800 .56rem Manrope; letter-spacing: .12em; }
.mug-preview__head > div:first-child strong { font: 800 1.05rem Manrope; }
.mug-preview__views { display: flex; gap: .35rem; padding: .25rem; border-radius: 999px; background: #edf0ee; }
.mug-preview__views button { min-width: 72px; padding: .48rem .7rem; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font-size: .68rem; font-weight: 800; cursor: pointer; }
.mug-preview__views button.is-active { background: var(--ink); color: #fff; }
.mug-preview__views button:disabled { opacity: .35; cursor: not-allowed; }
.mug-preview__stage { position: relative; min-height: 530px; display: grid; place-items: center; overflow: hidden; padding: 3rem 1.5rem 2rem; background-color: #e7efeb; background-image: linear-gradient(rgba(24,33,43,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(24,33,43,.06) 1px, transparent 1px); background-size: 32px 32px; }
.mug-preview__stage::before { position: absolute; width: 520px; height: 520px; border-radius: 50%; background: rgba(255,255,255,.46); content: ""; }
.mug-preview__shadow { position: absolute; z-index: 0; width: 360px; height: 52px; margin-top: 340px; border-radius: 50%; background: rgba(24,33,43,.2); filter: blur(15px); }
.mug-preview__object { position: relative; z-index: 1; width: 350px; height: 360px; transition: transform .45s ease; }
.mug-preview__body { position: absolute; z-index: 2; inset: 18px 15px 0; overflow: hidden; border-radius: 24px 24px 72px 72px / 16px 16px 40px 40px; background: linear-gradient(90deg,#d8ddda 0,#f7f8f6 12%,#fff 34%,#fafaf8 72%,#d7ddda 100%); box-shadow: inset 0 1px 0 #fff, inset -22px 0 35px rgba(24,33,43,.08), 0 25px 38px rgba(24,33,43,.18); }
.mug-preview__body::before { position: absolute; z-index: 4; left: 0; right: 0; top: -10px; height: 34px; border: 7px solid #f9faf8; border-radius: 50%; background: #5a514a; box-shadow: inset 0 5px 7px rgba(0,0,0,.25); content: ""; }
.mug-preview__body::after { position: absolute; left: 20px; right: 30px; bottom: 10px; height: 24px; border-radius: 50%; background: rgba(24,33,43,.08); filter: blur(8px); content: ""; }
.mug-preview__handle { position: absolute; z-index: 0; width: 118px; height: 174px; right: -76px; top: 94px; border: 33px solid #f7f8f6; border-left-width: 23px; border-radius: 45% 55% 55% 45%; box-shadow: 18px 15px 26px rgba(24,33,43,.15), inset -8px -5px 12px rgba(24,33,43,.09); transition: right .35s ease, left .35s ease; }
.mug-preview__object.is-back .mug-preview__handle { left: -76px; right: auto; transform: scaleX(-1); }
.mug-preview__print { position: absolute; z-index: 3; left: 43px; right: 43px; top: 70px; bottom: 55px; display: flex; align-items: center; justify-content: center; gap: .7rem; overflow: hidden; padding: .8rem; text-align: center; transition: opacity .2s; }
.mug-preview__print::before { position: absolute; inset: 0; border: 1px dashed rgba(24,33,43,.2); border-radius: 6px; content: ""; }
.mug-preview__print strong { position: relative; z-index: 2; max-width: 100%; display: block; overflow-wrap: anywhere; font: 800 1.35rem/1.05 Manrope; text-shadow: 0 1px 0 rgba(255,255,255,.6); }
.mug-preview__image { position: relative; z-index: 2; width: min(100%, 142px); height: min(55%, 128px); display: grid; place-items: center; color: rgba(24,33,43,.38); }
.mug-preview__image > span { display: grid; place-items: center; width: 64px; height: 64px; border: 2px dashed rgba(24,33,43,.28); border-radius: 50%; font: 400 2rem Manrope; }
.mug-preview__image img { max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 5px 5px rgba(24,33,43,.12)); }
.mug-preview__print--stacked { flex-direction: column; }
.mug-preview__print--horizontal { flex-direction: row; }
.mug-preview__print--horizontal .mug-preview__image { width: 45%; height: 70%; }
.mug-preview__print--horizontal strong { max-width: 52%; }
.mug-preview__print--text-only .mug-preview__image, .mug-preview__print--image-only strong { display: none; }
.mug-preview__print--text-only strong { font-size: 1.8rem; }
.mug-preview__print--image-only .mug-preview__image { width: 85%; height: 85%; }
.mug-preview__status { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem; background: #fff; color: var(--muted); font-size: .68rem; }
.mug-preview__status span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.mug-preview__status b { color: var(--teal); white-space: nowrap; }

/* Editor area di stampa tazza */
.mug-editor { background: #f4f1eb; }
.mug-editor .mug-preview__head { align-items: flex-end; }
.product-page--mug { grid-template-columns: minmax(0,1.18fr) minmax(420px,.82fr); }
.product-page--mug .product-preview { min-width: 0; }
.product-page--mug .product-config { min-width: 0; }
.mug-editor-tools { margin: 1.3rem 0 2rem; overflow: hidden; border: 1px solid rgba(24,33,43,.16); border-radius: 8px; background: #fff; box-shadow: 0 12px 32px rgba(24,33,43,.08); }
.mug-editor-tools__head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: 1rem; border-bottom: 1px solid rgba(24,33,43,.1); background: #f7f6f2; }
.mug-editor-tools__head > div:first-child { display: grid; gap: .18rem; }
.mug-editor-tools__head span { color: var(--red); font: 800 .55rem Manrope; letter-spacing: .1em; }
.mug-editor-tools__head h2 { margin: 0; font: 800 1.05rem Manrope; }
.mug-editor-tools__hint { margin: 0; padding: .75rem 1rem 1rem; color: var(--muted); font-size: .65rem; line-height: 1.5; }
.mug-editor__size { display: grid; justify-items: end; gap: .15rem; }
.mug-editor__size b { color: var(--ink); font: 800 1rem Manrope; }
.mug-editor__size small { color: var(--muted); font-size: .62rem; }
.mug-editor__toolbar { display: flex; align-items: center; gap: .55rem; padding: .8rem 1rem; border-bottom: 1px solid rgba(24,33,43,.12); background: #fff; }
.mug-editor-tools .mug-editor__toolbar > button,.mug-editor-tools .mug-editor__upload { flex: 1 1 0; justify-content: center; }
.mug-editor__toolbar button,.mug-editor__upload { min-height: 40px; display: inline-flex; align-items: center; gap: .45rem; padding: .58rem .78rem; border: 1px solid rgba(24,33,43,.15); border-radius: 5px; background: #fff; color: var(--ink); font: 800 .66rem Manrope; cursor: pointer; }
.mug-editor__toolbar button:hover,.mug-editor__upload:hover { border-color: var(--red); color: var(--red); }
.mug-editor__toolbar button > span,.mug-editor__upload > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: #fff; font: 800 .72rem Manrope; }
.mug-editor__toolbar button:disabled,.mug-editor__upload.is-disabled { opacity: .42; pointer-events: none; }
.mug-editor__upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.mug-editor__limits { margin-left: auto; display: flex; gap: .35rem; }
.mug-editor-tools__head .mug-editor__limits { flex: 0 0 auto; }
.mug-editor__limits span { padding: .38rem .5rem; border-radius: 999px; background: #eef0ee; color: var(--muted); font-size: .59rem; white-space: nowrap; }
.mug-editor__limits b { color: var(--ink); }
.mug-editor__workspace { position: relative; padding: 2.2rem 1.25rem 1.25rem 3.1rem; background: #dfe6e2; }
.mug-editor__canvas { position: relative; width: 100%; aspect-ratio: var(--editor-aspect, 19 / 8.5); overflow: hidden; border: 1px solid rgba(24,33,43,.23); background-color: #fff; background-image: linear-gradient(rgba(24,33,43,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(24,33,43,.055) 1px,transparent 1px); background-size: calc(100% / 19) calc(100% / 8.5); box-shadow: 0 15px 35px rgba(24,33,43,.13); outline: none; touch-action: none; container-type: size; }
.mug-editor__canvas:focus-visible { box-shadow: 0 0 0 3px rgba(239,63,55,.22),0 15px 35px rgba(24,33,43,.13); }
.mug-editor__empty { position: absolute; z-index: 0; inset: 0; display: grid; place-items: center; margin: 0; color: #8d959d; font: 700 .7rem Manrope; }
.mug-editor__ruler { position: absolute; display: flex; justify-content: space-between; color: #707981; font: 700 .55rem Manrope; pointer-events: none; }
.mug-editor__ruler--top { left: 3.1rem; right: 1.25rem; top: .75rem; }
.mug-editor__ruler--side { left: .8rem; top: 2.2rem; bottom: 1.25rem; flex-direction: column; align-items: flex-end; }
.mug-editor__layer { position: absolute; display: grid; place-items: center; min-width: 18px; min-height: 18px; border: 1px solid transparent; cursor: grab; user-select: none; touch-action: none; white-space: nowrap; line-height: 1; }
.mug-editor__layer:active { cursor: grabbing; }
.mug-editor__layer.is-selected { border-color: var(--red); box-shadow: 0 0 0 1px #fff,0 0 0 3px rgba(239,63,55,.2); }
.mug-editor__layer--text { padding: .1em .18em; font-weight: 800; text-shadow: 0 1px 0 rgba(255,255,255,.35); }
.mug-editor__layer--image img { display: block; width: 100%; height: auto; max-height: 100%; object-fit: contain; pointer-events: none; }
.mug-editor__layer--image > span { padding: .7rem; border: 1px dashed #9aa1a6; background: #f5f5f5; color: #737b82; font-size: .6rem; }
.mug-editor__layer [data-mug-resize] { position: absolute; right: -7px; bottom: -7px; width: 14px; height: 14px; border: 2px solid #fff; border-radius: 50%; background: var(--red); box-shadow: 0 1px 4px rgba(24,33,43,.3); cursor: nwse-resize; }
.mug-editor__inspector { display: grid; gap: .8rem; padding: 1rem; border-top: 1px solid rgba(24,33,43,.12); background: #fff; }
.mug-editor-tools .mug-editor__inspector { border-top: 0; }
.mug-editor__inspector[hidden] { display: none; }
.mug-editor__selection { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.mug-editor__selection span { color: var(--red); font: 800 .55rem Manrope; letter-spacing: .1em; }
.mug-editor__selection strong { max-width: 60%; overflow: hidden; font: 800 .72rem Manrope; text-overflow: ellipsis; white-space: nowrap; }
.mug-editor__text-controls { display: grid; grid-template-columns: 1fr 1fr 72px; gap: .6rem; }
.mug-editor-tools .mug-editor__text-controls { grid-template-columns: minmax(0,1fr) 72px; }
.mug-editor-tools .mug-editor__text-controls label:first-child { grid-column: 1 / -1; }
.mug-editor__text-controls[hidden] { display: none; }
.mug-editor__text-controls label,.mug-editor__font-field,.mug-editor__transform-controls label { display: grid; gap: .3rem; color: var(--muted); font: 700 .58rem Manrope; }
.mug-editor__text-controls input[type="text"],.mug-editor__text-controls select { min-width: 0; height: 42px; padding: 0 .65rem; border: 1px solid #d3d7d5; border-radius: 4px; background: #fff; color: var(--ink); font: 700 .7rem Manrope; }
.mug-editor__color input { width: 100%; height: 42px; padding: 3px; border: 1px solid #d3d7d5; border-radius: 4px; background: #fff; }
.mug-editor-tools:has(.mug-editor__font-picker.is-open) { overflow: visible; }
.mug-editor__font-picker .font-picker__trigger { min-height: 42px; padding: .45rem .65rem; border-radius: 4px; grid-template-columns: minmax(0,1fr) 18px; }
.mug-editor__font-picker .font-picker__sample { overflow: hidden; font-size: .9rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.mug-editor__font-picker .font-picker__panel { min-width: 230px; max-height: 280px; }
.mug-editor__font-picker .font-picker__panel button { min-height: 46px; }
.mug-editor__font-picker .font-picker__panel button > span { font-size: 1rem; }
.mug-editor__transform-controls { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.mug-editor__transform-controls label > span { display: flex; justify-content: space-between; }
.mug-editor__transform-controls b { color: var(--ink); }
.mug-editor__transform-controls input { width: 100%; accent-color: var(--red); }
.mug-editor__rotation-control { display: grid; align-content: start; gap: .35rem; }
.mug-editor__rotation-control [data-mug-rotation-reset] { min-height: 30px; display: inline-flex; align-items: center; justify-content: center; gap: .3rem; padding: .3rem .55rem; border: 1px solid rgba(239,63,55,.28); border-radius: 4px; background: #fff7f6; color: var(--red); font: 800 .57rem Manrope; cursor: pointer; }
.mug-editor__rotation-control [data-mug-rotation-reset]:hover { border-color: var(--red); background: #fff; }
.mug-editor__rotation-control [data-mug-rotation-reset][hidden] { display: none; }
.mug-editor__layer-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .4rem; }
.mug-editor__layer-actions button.is-danger { grid-column: 1 / -1; }
.mug-editor__layer-actions button { min-height: 34px; padding: .4rem; border: 1px solid #d7d9d8; border-radius: 4px; background: #f5f6f5; color: var(--ink); font: 800 .55rem Manrope; cursor: pointer; }
.mug-editor__layer-actions button:hover { border-color: var(--ink); background: #fff; }
.mug-editor__layer-actions button.is-danger { border-color: rgba(239,63,55,.25); color: var(--red); }
.mug-editor .mug-preview__status { border-top: 1px solid rgba(24,33,43,.1); }
.mug-editor__help { display: grid; grid-template-columns: repeat(3,1fr); gap: .6rem; padding: .8rem 1rem 1rem; background: #fff; }
.mug-editor__help span { display: flex; align-items: center; gap: .45rem; color: var(--muted); font-size: .59rem; }
.mug-editor__help i { flex: 0 0 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: #fff; font: 800 .55rem Manrope; font-style: normal; }
.file-upload.has-file { border-color: var(--teal); background: #eff8f4; }
.file-upload.has-file strong { color: var(--teal); }
.printed-product-preview { overflow: hidden; margin-top: 1.4rem; border: 1px solid #2d3538; border-radius: 7px; background: #111517; box-shadow: 0 22px 60px rgba(24,33,43,.18); color: #e9edee; }
.printed-preview__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid #2d3538; }
.printed-preview__head > div:first-child { display: grid; gap: .28rem; }
.printed-preview__head > div:first-child span { color: #d8ff3e; font: 800 .56rem Manrope; letter-spacing: .12em; }
.printed-preview__head > div:first-child strong { color: #fff; font: 800 1.05rem Manrope; }
.printed-preview__metrics { display: flex; gap: 1.2rem; }
.printed-preview__metrics span { display: flex; flex-direction: column; color: #717d81; font: 700 .5rem Manrope; text-transform: uppercase; }
.printed-preview__metrics b { margin-bottom: .13rem; color: #e9edee; font: 700 .72rem Consolas, monospace; text-transform: none; }
.printed-preview__canvas { min-height: 510px; display: grid; place-items: center; overflow: hidden; padding: 1.65rem; background: #090b0c; box-shadow: inset 0 0 55px rgba(0,0,0,.55); }
.printed-preview__sheet { --page-ratio: 1; position: relative; container-type: inline-size; width: min(100%, calc(480px * var(--page-ratio))); aspect-ratio: var(--page-ratio); flex: 0 0 auto; overflow: visible; background: #fff; box-shadow: 0 15px 30px rgba(0,0,0,.72); }
.printed-label { --label-bg: #fff; --label-color: #111827; --label-font: Manrope, sans-serif; position: absolute; overflow: visible; border: 1px solid #ec008c; border-radius: min(1cqw, 5px); background: var(--label-bg); color: var(--label-color); box-shadow: 0 0 0 2px var(--label-bg); }
.printed-label__inner { position: absolute; inset: 0; z-index: 0; border-radius: inherit; background: var(--label-bg); }
.printed-label__flag { position: absolute; z-index: 2; overflow: hidden; border: 1px solid #66686a; border-radius: 0; background: #ddd; box-shadow: none; }
.printed-label__flag--it { background: linear-gradient(90deg, #168b4b 0 33.33%, #fff 33.33% 66.66%, #d52b33 66.66%); }
.printed-label__flag--fr { background: linear-gradient(90deg, #1d3e91 0 33.33%, #fff 33.33% 66.66%, #e12d3a 66.66%); }
.printed-label__flag--de { background: linear-gradient(#151515 0 33.33%, #d3272f 33.33% 66.66%, #f1c82e 66.66%); }
.printed-label__flag--es { background: linear-gradient(#c81d2d 0 27%, #f4ca36 27% 73%, #c81d2d 73%); }
.printed-label__flag--uk { background: linear-gradient(32deg, transparent 42%, #fff 42% 47%, #d92738 47% 53%, #fff 53% 58%, transparent 58%), linear-gradient(-32deg, transparent 42%, #fff 42% 47%, #d92738 47% 53%, #fff 53% 58%, transparent 58%), linear-gradient(90deg, transparent 39%, #fff 39% 45%, #d92738 45% 55%, #fff 55% 61%, transparent 61%), linear-gradient(transparent 35%, #fff 35% 43%, #d92738 43% 57%, #fff 57% 65%, transparent 65%), #244a91; }
.printed-label__flag--us { background: repeating-linear-gradient(#c91f35 0 8%, #fff 8% 16%); }
.printed-label__flag--us::after { position: absolute; inset: 0 auto auto 0; width: 43%; height: 53%; background: #244a91; content: ''; }
.printed-label__flag--none { display: none; }
.printed-label__flag--image { border-color: rgba(17, 24, 39, .28); background: transparent; }
.printed-label__flag img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cart-printed-preview i img { display: block; width: 24px; height: 16px; object-fit: contain; }
.printed-label__text { position: absolute; z-index: 2; display: grid; place-items: center; min-width: 0; overflow: hidden; color: var(--label-color); font-family: var(--label-font); font-size: var(--preview-font-size); font-weight: 800; line-height: 1; text-align: center; white-space: nowrap; }
.printed-label--helmet { clip-path: polygon(5.33% 0, 100% 0, 94.67% 100%, 0 100%); border-radius: 0; background: #66686a; box-shadow: 0 0 0 4px #66686a; }
.printed-label--helmet .printed-label__inner { inset: 3.33% .6%; clip-path: polygon(4.9% 0, 100% 0, 95.1% 100%, 0 100%); }
.printed-label--helmet .printed-label__flag { border: 0; transform: skewX(-17.75deg); transform-origin: center; }
.printed-label--intercom { box-shadow: 0 0 0 2px var(--label-bg); }
.printed-label--intercom .printed-label__text { line-height: 1.12; white-space: pre-line; }
.printed-preview__footer { display: flex; justify-content: flex-end; gap: 1rem; padding: .75rem 1rem; color: #808b8f; font: .57rem Consolas, monospace; }
.printed-preview__footer p { margin: 0; text-align: right; }
.product-assurances { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 1.5rem; border: 1px solid var(--line); }
.product-assurances > span { min-width: 0; display: flex; align-items: center; gap: .65rem; padding: .8rem; border-right: 1px solid var(--line); }
.product-assurances > span:last-child { border-right: 0; }
.product-assurances b { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: #e5efea; color: var(--teal); }
.product-assurances small { color: var(--muted); font-size: .62rem; line-height: 1.35; }
.product-assurances strong { color: var(--ink); }

.site-footer { grid-template-columns: 1.35fr repeat(3, .65fr); align-items: start; gap: clamp(2rem, 5vw, 5rem); padding: 5rem 7vw 1.5rem; }
.site-footer__brand p { max-width: 330px; color: #aeb6bf; line-height: 1.65; }
.site-footer__nav { display: grid; gap: .7rem; }
.site-footer__nav strong { margin-bottom: .45rem; color: #fff; font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; }
.site-footer__nav a { color: #aeb6bf; font-size: .78rem; }
.site-footer__nav a:hover { color: #fff; }
.site-footer__bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.12); color: #8e98a2; font-size: .68rem; }

@media (min-width: 1200px) {
    .category-products .product-grid { grid-template-columns: repeat(4, 1fr); }
    .category-products .product-visual { height: auto; aspect-ratio: 1; }
}

@media (max-width: 1000px) {
    .hero.hero--store { grid-template-columns: 1fr 1fr; min-height: 650px; }
    .category-showcase__grid { grid-template-columns: 1fr 1fr; }
    .customizer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
    .product-page,.product-page--mug { grid-template-columns: 1fr; }
    .site-header__inner { min-height: 72px; padding: 0 5vw; }
    .site-header .primary-nav { display: none; }
    .account-link { display: none; }
    .menu-toggle { display: block; }
    .menu-is-open .menu-toggle > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .menu-is-open .menu-toggle > span:nth-child(2) { opacity: 0; }
    .menu-is-open .menu-toggle > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    .site-header .mobile-nav { position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100vh - 105px); display: grid; gap: 0; padding: 1rem 5vw 1.5rem; overflow-y: auto; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 24px 45px rgba(24,33,43,.18); }
    .site-header .mobile-nav[hidden] { display: none; }
    .site-header .mobile-nav > a { display: flex !important; padding: .9rem 0; border-bottom: 1px solid var(--line); font: 800 1.05rem Manrope; }
    .mobile-nav__categories { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
    .mobile-nav__categories small { grid-column: 1 / -1; margin-bottom: .3rem; color: var(--red); font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
    .site-header .mobile-nav__categories a { display: flex !important; justify-content: space-between; gap: .5rem; padding: .55rem .65rem; background: #f4f3ef; font-size: .72rem; font-weight: 700; }
    .mobile-nav__categories a span { color: var(--muted); }
    .mobile-menu-is-open { overflow: hidden; }
    .hero.hero--store { grid-template-columns: 1fr; padding: 4.5rem 6vw; background: linear-gradient(180deg, #f6f3ed 0 48%, #e4ece8 48% 100%); }
    .hero-showcase { min-height: 500px; }
    .store-promises { padding: 0 4vw; }
    .store-promises > div { padding: 1.2rem .9rem; }
    .home-trust, .home-faq { grid-template-columns: 1fr; }
    .home-faq__heading { position: static; }
    .catalog-hero { grid-template-columns: 1fr; align-items: end; padding-top: 6rem; }
    .catalog-hero--category { grid-template-columns: 1fr; }
    .catalog-toolbar { top: 72px; }
    .site-footer { grid-template-columns: 1.2fr 1fr 1fr; }
    .site-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
    .announcement { min-height: 30px; font-size: .58rem; letter-spacing: .04em; }
    .site-header .brand-mark { width: 38px; height: 38px; }
    .site-header .cart-link { padding: .55rem; }
    .cart-label { display: none; }
    .announcement__made { display: none; }
    .hero.hero--store { min-height: auto; padding: 3.5rem 5vw 2.5rem; }
    .hero--store h1 { font-size: clamp(3.25rem, 15vw, 4.4rem); }
    .hero--store .hero-copy > p { font-size: 1.05rem; }
    .hero--store .hero-actions { display: grid; }
    .hero-benefits { display: grid; }
    .hero-showcase { min-height: 390px; margin-top: 1rem; }
    .hero-product { padding: .5rem; }
    .hero-product small { font-size: .48rem; }
    .hero-product strong { font-size: .68rem; }
    .hero-product--1 { width: 52%; height: 62%; left: 1%; }
    .hero-product--2 { width: 47%; height: 56%; right: 0; }
    .hero-product--3 { width: 43%; height: 45%; left: 29%; }
    .hero-showcase__note { display: none; }
    .store-promises { grid-template-columns: 1fr; padding: 0 5vw; }
    .store-promises > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }
    .category-showcase { padding: 5rem 5vw; }
    .category-showcase__grid { grid-template-columns: 1fr; }
    .category-tile { min-height: 104px; }
    .category-tile--visual { grid-template-columns: 68px 1fr auto; }
    .category-tile__art { width: 60px; height: 78px; border-width: 4px; }
    .category-tile__art b { font-size: 1.75rem; }
    .customizer-showcase, .home-trust, .home-faq { padding: 5rem 5vw; }
    .customizer-grid { grid-template-columns: 1fr; }
    .customizer-card__visual { min-height: 0; }
    .home-trust__grid { grid-template-columns: 1fr; }
    .home-trust__grid article { min-height: 0; }
    .home-faq details p { margin-left: 0; margin-right: 0; }
    .featured-products .section-link { display: none; }
    .home-cta { padding: 5rem 5vw; }
    .home-cta .hero-actions { display: grid; }
    .catalog-hero { min-height: 430px; padding: 6rem 5vw 3rem; }
    .catalog-hero .breadcrumbs { left: 5vw; top: 1.6rem; }
    .catalog-hero h1 { font-size: clamp(3rem, 14vw, 4.4rem); }
    .catalog-toolbar { padding: .8rem 5vw; }
    .product-breadcrumbs strong { display: none; }
    .mug-preview__head { align-items: flex-start; flex-direction: column; }
    .mug-preview__stage { min-height: 430px; padding-left: .5rem; padding-right: .5rem; }
    .mug-preview__object { width: 270px; height: 290px; }
    .mug-preview__body { inset: 14px 12px 0; }
    .mug-preview__handle { width: 96px; height: 142px; right: -62px; top: 76px; border-width: 27px; border-left-width: 18px; }
    .mug-preview__object.is-back .mug-preview__handle { left: -62px; }
    .mug-preview__print { left: 32px; right: 32px; top: 57px; bottom: 44px; }
    .mug-preview__print strong { font-size: 1rem; }
    .mug-preview__status { align-items: flex-start; flex-direction: column; }
    .mug-editor .mug-preview__head { align-items: flex-start; }
    .mug-editor__size { justify-items: start; }
    .mug-editor__toolbar { align-items: stretch; flex-wrap: wrap; }
    .mug-editor__toolbar button,.mug-editor__upload { flex: 1 1 130px; justify-content: center; }
    .mug-editor__limits { width: 100%; margin-left: 0; justify-content: center; }
    .mug-editor__workspace { padding: 1.8rem .7rem .8rem 2.4rem; }
    .mug-editor__ruler--top { left: 2.4rem; right: .7rem; top: .55rem; }
    .mug-editor__ruler--side { left: .45rem; top: 1.8rem; bottom: .8rem; }
    .mug-editor__text-controls { grid-template-columns: 1fr 74px; }
    .mug-editor__text-controls label:first-child { grid-column: 1 / -1; }
    .mug-editor__transform-controls { grid-template-columns: 1fr; }
    .mug-editor__layer-actions { grid-template-columns: 1fr 1fr; }
    .mug-editor__layer-actions button.is-danger { grid-column: 1 / -1; }
    .mug-editor__help { grid-template-columns: 1fr; }
    .printed-preview__head { align-items: flex-start; flex-direction: column; }
    .printed-preview__canvas { min-height: 390px; padding: 1rem; }
    .printed-preview__sheet { width: min(100%, calc(360px * var(--page-ratio))); }
    .printed-preview__footer { align-items: flex-start; flex-direction: column; }
    .product-assurances { grid-template-columns: 1fr; }
    .product-assurances > span { border-right: 0; border-bottom: 1px solid var(--line); }
    .product-assurances > span:last-child { border-bottom: 0; }
    .site-footer { grid-template-columns: 1fr 1fr; gap: 2rem 1rem; padding: 4rem 5vw 1.5rem; }
    .site-footer__brand { grid-column: 1 / -1; }
    .site-footer__bottom { flex-direction: column; }
}

@media (max-width: 700px) {
    .product-highlights ul { grid-template-columns: 1fr; }
    .announcement__made { display: none; }
}

.font-admin-layout { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 1.2rem; align-items: start; }
.font-upload-panel { position: sticky; top: 2rem; padding: 1.4rem; }
.font-upload-panel h2, .font-library-panel h2 { margin: 0; font: 800 1.3rem Manrope; }
.font-upload-panel p { color: var(--muted); font-size: .8rem; line-height: 1.55; }
.font-dropzone { display: grid; gap: .35rem; margin: 1.2rem 0; padding: 1.5rem 1rem; border: 1px dashed #9ba3a7; background: #f7f8f7; text-align: center; cursor: pointer; }
.font-dropzone strong { font-size: .82rem; }
.font-dropzone span { color: var(--muted); font-size: .68rem; }
.font-library-panel { display: grid; gap: .8rem; }
.font-library-panel > .panel-heading { padding: .4rem 0 .7rem; }
.font-library-card { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(280px, 1fr) auto; gap: 1.2rem; align-items: center; padding: 1.1rem; background: #fff; border: 1px solid var(--line); }
.font-library-card.is-disabled { opacity: .58; }
.font-library-card__preview { min-width: 0; overflow: hidden; font-size: 1.65rem; white-space: nowrap; text-overflow: ellipsis; }
.font-library-card__preview span { display: block; margin-top: .25rem; color: var(--muted); font-size: .9rem; }
.font-library-card__form { display: grid; grid-template-columns: 1fr auto; gap: .6rem .8rem; align-items: end; }
.font-library-card__form .field-group { grid-column: 1 / -1; margin: 0; }
.font-library-card__meta { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.font-library-card__meta span { padding: .3rem .42rem; background: #eef1f0; font-size: .58rem; font-weight: 800; }
.font-library-card__meta small { min-width: 0; overflow: hidden; color: var(--muted); font-size: .61rem; white-space: nowrap; text-overflow: ellipsis; }
.font-library-card__form .toggle { margin: 0; }
.font-delete { border: 0; background: transparent; color: var(--red); font-size: .68rem; font-weight: 800; cursor: pointer; }
.product-list-actions { display: flex; align-items: center; gap: .8rem; white-space: nowrap; }
.text-button--muted { color: var(--muted); }
.status--product-active { background: #dcfce7; color: #166534; }
.status--product-draft { background: #e5e7eb; color: #374151; }
.status--product-hidden { background: #dbeafe; color: #1e40af; }
.status--product-archived { background: #fee2e2; color: #991b1b; }
.product-bulk-form tr[data-product-row] { transition: background-color .16s ease, box-shadow .16s ease; }
.product-bulk-form tr[data-product-row].is-selected { background: #fff7f6; box-shadow: inset 3px 0 0 var(--red); }
.product-status-history { margin-top: 1.2rem; }
.product-status-history ol { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.product-status-history li { display: grid; grid-template-columns: max-content 1fr; gap: .9rem; align-items: center; padding-bottom: .75rem; border-bottom: 1px solid var(--line); }
.product-status-history li:last-child { padding-bottom: 0; border-bottom: 0; }
.product-status-history li div { display: grid; gap: .15rem; }
.product-status-history li small { color: var(--muted); }
.product-preview-notice { display: flex; justify-content: center; gap: .65rem; padding: .85rem 5vw; background: #fff3cd; color: #6f4c00; border-bottom: 1px solid #f0cf74; font-size: .82rem; }
.product-preview-notice strong { font-weight: 900; }
.config-form .button:disabled { opacity: .62; cursor: not-allowed; transform: none; box-shadow: none; }
.product-archived { max-width: 780px; margin: 0 auto; }
.product-archived h1 { margin: .2rem 0 1rem; font: 800 clamp(2.3rem, 6vw, 4.8rem)/1 Manrope, sans-serif; letter-spacing: -.05em; }
.product-archived p:not(.eyebrow) { max-width: 600px; margin: 0 auto 1.6rem; color: var(--muted); line-height: 1.7; }
.product-list-actions form { margin: 0; }
.delete-product-button { padding: 0; border: 0; background: transparent; color: #b42318; font-size: .72rem; font-weight: 800; cursor: pointer; }
.delete-product-button:hover { text-decoration: underline; }
.button--danger-ghost { border: 1px solid rgba(180, 35, 24, .35); background: #fff; color: #b42318; }
.button--danger-ghost:hover { border-color: #b42318; box-shadow: 0 8px 20px rgba(180, 35, 24, .12); }
.font-library-empty { padding: 2.5rem; text-align: center; }
.font-library-empty p { color: var(--muted); }
.product-font-assignment { margin: 1rem 0; padding: 1rem; border: 1px solid var(--line); background: #f7f8f7; }
.product-font-assignment > div:first-child p { margin: .3rem 0 1rem; color: var(--muted); font-size: .75rem; }
.product-font-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin-bottom: .8rem; }
.product-font-grid label { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .55rem; min-width: 0; padding: .75rem; border: 1px solid var(--line); background: #fff; cursor: pointer; }
.product-font-grid input { width: auto; }
.product-font-grid span { min-width: 0; overflow: hidden; font-size: 1rem; white-space: nowrap; text-overflow: ellipsis; }
.product-font-grid small { color: var(--muted); font-size: .56rem; font-weight: 800; }
.font-empty { margin: 0; color: var(--muted); font-size: .76rem; }
.font-empty a, .product-font-assignment .text-button { color: var(--red); font-weight: 800; }

@media (max-width: 1100px) {
    .font-admin-layout { grid-template-columns: 1fr; }
    .font-upload-panel { position: static; }
    .font-library-card { grid-template-columns: 1fr; }
    .product-font-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
    .product-font-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .admin-sidebar { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; padding: 1.2rem 4vw; }
    .admin-sidebar nav { grid-column: 1 / -1; display: flex; gap: .35rem; margin-top: 0; padding-bottom: .25rem; overflow-x: auto; }
    .admin-sidebar nav a { flex: 0 0 auto; padding: .65rem .8rem; background: rgba(255,255,255,.05); font-size: .72rem; white-space: nowrap; }
    .admin-sidebar > form { grid-column: 2; grid-row: 1; }
    .builder-option-row, .builder-option-row--color { grid-template-columns: 70px repeat(2, minmax(0, 1fr)) 34px; }
    .builder-option-field--label { grid-column: 2 / 4; }
    .builder-option-field--value { grid-column: 2; }
    .builder-option-field--price { grid-column: 3; }
    .builder-option-row--color .builder-option-field--hex { grid-column: 2; }
    .builder-option-row--color .builder-option-field--group { grid-column: 3; }
    .builder-option-remove { grid-column: 4; grid-row: 1; }
}

@media (max-width: 600px) {
    .builder-options__head { align-items: stretch; flex-direction: column; }
    .builder-option-row, .builder-option-row--color { grid-template-columns: 1fr 34px; }
    .builder-option-order { grid-column: 1; }
    .builder-option-field, .builder-option-field--label, .builder-option-field--value, .builder-option-field--price,
    .builder-option-row--color .builder-option-field--hex, .builder-option-row--color .builder-option-field--group { grid-column: 1 / -1; }
    .builder-option-remove { grid-column: 2; grid-row: 1; }
}
.customization-logo-preview{display:flex;align-items:center;justify-content:center;min-height:110px;padding:20px;background:#f7f6f2;border:1px solid #e5e4df;border-radius:12px;color:#202632}.customization-logo-preview svg{width:90px;height:70px;max-width:100%}.product-logo-grid{margin-top:14px}
.customization-flag-preview{display:flex;align-items:center;justify-content:center;min-height:110px;padding:20px;background:#f7f6f2;border:1px solid #e5e4df;border-radius:12px}.customization-flag-preview img{display:block;width:min(170px,100%);height:80px;object-fit:contain}.product-flag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.product-flag-order-item{display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid var(--line);background:#fff}.product-flag-order-item.is-selected{border-color:rgba(239,63,55,.5);box-shadow:inset 3px 0 var(--red)}.product-flag-order-item label{display:grid;grid-template-columns:auto 42px minmax(0,1fr) auto;align-items:center;gap:.55rem;min-width:0;padding:.7rem;border:0;background:transparent;cursor:pointer}.product-flag-grid img{display:block;width:42px;height:28px;object-fit:contain;border:1px solid #d7dad8;background:#fff}.product-flag-order-actions{display:grid;grid-template-rows:1fr 1fr;border-left:1px solid var(--line)}.product-flag-order-actions button{width:34px;border:0;background:#f5f6f5;color:var(--ink);font-weight:800;cursor:pointer}.product-flag-order-actions button+button{border-top:1px solid var(--line)}.product-flag-order-actions button:hover:not(:disabled){background:var(--ink);color:#fff}.product-flag-order-actions button:disabled{opacity:.25;cursor:not-allowed}
.product-font-order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-font-order-item{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;min-width:0;border:1px solid var(--line);background:#fff}.product-font-order-item.is-selected{border-color:rgba(239,63,55,.5);box-shadow:inset 3px 0 var(--red)}.product-font-order-item.is-dragging,.product-flag-order-item.is-dragging{opacity:.48;border-color:var(--red);box-shadow:0 8px 24px rgba(24,33,43,.14)}.product-font-order-item label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;min-width:0;padding:.7rem;border:0;background:transparent;cursor:pointer}.product-resource-drag-handle{border:0;border-right:1px solid var(--line);background:#f5f6f5;color:#65717c;font-weight:900;letter-spacing:-.15em;cursor:grab}.product-font-order-item:not(.is-selected) .product-resource-drag-handle{opacity:.3;cursor:not-allowed}.product-font-order-item.is-selected .product-resource-drag-handle:active{cursor:grabbing}.product-resource-drag-handle:hover{background:#eceeed;color:var(--ink)}
@media(max-width:900px){.product-flag-grid,.product-font-order-grid{grid-template-columns:1fr}}
.social-preview{display:flex;min-width:0;max-width:100%;min-height:300px;flex-direction:column;align-items:center;justify-content:center;gap:14px;overflow:hidden;padding:38px 30px 28px;box-sizing:border-box}
.social-preview__sticker{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:min(100%,720px);max-width:100%;min-width:0;aspect-ratio:var(--social-sticker-ratio,7.5 / 1);min-height:28px;max-height:220px;box-sizing:border-box;border:1px dashed rgba(23,33,44,.4);border-radius:2px;contain:inline-size}
.social-preview__art{display:flex;align-items:center;justify-content:center;gap:0;width:100%;max-width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;padding:1%;box-sizing:border-box;color:inherit;white-space:nowrap}
.social-preview__logo{display:flex;align-items:center;justify-content:center;flex:none;min-width:0;min-height:0;transform:translateY(-5%)}
.social-preview__logo svg{display:block;width:100%;height:100%;overflow:visible;color:inherit;fill:currentColor}
.social-preview__logo svg path,.social-preview__logo svg circle,.social-preview__logo svg rect,.social-preview__logo svg ellipse,.social-preview__logo svg polygon,.social-preview__logo svg polyline{fill:currentColor}
.social-preview__logo[hidden]{display:none}
.social-preview__word{display:block;flex:none;min-width:0;max-width:calc(100% - 1px);margin:0;font-size:clamp(4px,8vw,64px);font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;text-align:left}
.social-preview__logo,.social-preview__word{filter:drop-shadow(0 1px 1px rgba(0,0,0,.28))}
.social-preview__measurements{position:relative;z-index:1;display:grid;gap:4px;width:min(100%,720px);padding:10px 14px;background:rgba(255,255,255,.76);border:1px solid rgba(23,33,44,.12);text-align:center;color:#334155;font-size:.78rem}
.social-preview__measurements span{font-weight:600}
.social-preview__actual{margin:0;color:#17212c;font-size:.92rem;font-weight:800}
.social-logo-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.social-logo-choice label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e1e3e6;border-radius:10px;cursor:pointer}.social-logo-choice input{accent-color:#ef3f37}.social-logo-choice svg{width:34px;height:34px;color:#222;flex:none}.social-logo-choice span{font-weight:600}
@media(max-width:600px){.social-preview{min-height:230px;padding:28px 16px 22px}.social-preview__sticker{max-height:160px}.social-preview__measurements{font-size:.7rem}}
.mini-visual--product{width:100px;height:100px;overflow:hidden;background:#fff;border:1px solid #e5e7eb}
.mini-visual--product img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:600px){.mini-visual--product{width:70px;height:70px}}
.mini-visual--preview{position:relative;display:flex;align-items:center;justify-content:center;min-height:100px;padding:8px;overflow:hidden;background-color:#eee9e3;background-image:linear-gradient(rgba(24,33,43,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(24,33,43,.07) 1px,transparent 1px);background-size:12px 12px;color:var(--preview-color);font-family:var(--preview-font)}
.cart-sticker-preview{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-width:0;white-space:nowrap}
.cart-sticker-preview__logo{display:flex;align-items:center;justify-content:center;width:28px;height:31px;flex:none;transform:translateY(-3%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.cart-sticker-preview__logo svg{display:block;width:100%;height:100%;color:inherit;fill:currentColor}
.cart-sticker-preview__logo svg path,.cart-sticker-preview__logo svg circle,.cart-sticker-preview__logo svg rect,.cart-sticker-preview__logo svg ellipse,.cart-sticker-preview__logo svg polygon,.cart-sticker-preview__logo svg polyline{fill:currentColor}
.cart-sticker-preview strong{min-width:0;overflow:hidden;font-family:var(--preview-font);font-size:clamp(9px,1vw,15px);line-height:1;text-overflow:ellipsis;filter:drop-shadow(0 1px 1px rgba(0,0,0,.22))}
.mini-visual--printed{background:color-mix(in srgb,var(--preview-bg) 72%,#ddd)}
.cart-printed-preview{display:grid;grid-template-columns:1fr;gap:5px;width:100%}
.cart-printed-preview span{display:flex;align-items:center;gap:3px;min-width:0;padding:4px 5px;border:1px solid color-mix(in srgb,var(--preview-color) 26%,transparent);border-radius:999px;background:var(--preview-bg);color:var(--preview-color);font-family:var(--preview-font);font-size:7px;line-height:1}
.cart-printed-preview i{font-style:normal;font-size:8px}.cart-printed-preview b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-visual--mug{background:linear-gradient(145deg,#e5eee9,#f7f3ec);color:var(--preview-color)}
.cart-mug-preview{position:relative;width:72px;height:70px;display:grid;place-items:center}
.cart-mug-preview>div{position:relative;z-index:2;width:58px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;overflow:hidden;padding:5px;border-radius:5px 5px 14px 14px;background:linear-gradient(90deg,#dfe3e1,#fff 28%,#f3f4f2 80%,#d8ddda);box-shadow:0 7px 10px rgba(24,33,43,.18);text-align:center}
.cart-mug-preview__handle{position:absolute;z-index:1;right:-5px;top:17px;width:27px;height:34px;border:8px solid #f7f8f6;border-radius:50%}
.cart-mug-preview i{font-style:normal;font-size:12px;color:var(--red)}
.cart-mug-preview strong{max-width:100%;overflow:hidden;color:var(--preview-color);font-family:var(--preview-font);font-size:6px;line-height:1.05;text-overflow:ellipsis}

/* Pannello amministrativo: navigazione, dashboard e pagine compatte */
.admin-sidebar { width: 248px; padding: 1.65rem 1.15rem; }
.admin-main { margin-left: 248px; padding: 2.5rem clamp(1.5rem, 3.2vw, 3.5rem); }
.admin-sidebar nav { display: grid; flex: 1; min-height: 0; align-content: start; gap: .1rem; margin-top: 1.3rem; overflow-y: auto; scrollbar-width: thin; }
.admin-sidebar nav > small { margin: .7rem .85rem .18rem; color: #72808d; font-size: .58rem; font-weight: 900; letter-spacing: .16em; }
.admin-sidebar nav > small:first-child { margin-top: 0; }
.admin-sidebar nav a { position: relative; padding: .55rem .85rem; font-size: .8rem; font-weight: 700; }
.admin-sidebar nav a::before { content: ""; position: absolute; left: 0; top: 50%; width: 3px; height: 0; border-radius: 3px; background: var(--red); transform: translateY(-50%); transition: height .18s ease; }
.admin-sidebar nav a.is-active { background: rgba(255,255,255,.1); color: #fff; }
.admin-sidebar nav a.is-active::before { height: 55%; }
.sidebar-store-link { display: flex; justify-content: space-between; margin-top: 1rem; padding: .75rem .85rem; border: 1px solid rgba(255,255,255,.13); color: #fff; font-size: .75rem; font-weight: 800; }
.sidebar-store-link:hover { border-color: rgba(255,255,255,.35); }
.sidebar-logout { margin-top: .6rem; padding: .65rem; }
.admin-heading { margin-bottom: 1.7rem; }
.admin-heading h1 { font-size: clamp(2.25rem, 3.3vw, 3.8rem); }
.admin-heading--dashboard { align-items: center; }
.admin-heading--dashboard .eyebrow { margin-bottom: .55rem; text-transform: uppercase; }
.admin-heading--dashboard p { margin: .6rem 0 0; }
.dashboard-heading-actions { display: flex; gap: .7rem; }

.dashboard-metrics { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(320px,1.3fr); gap: .8rem; margin-bottom: .9rem; }
.dashboard-metrics > * { position: relative; min-width: 0; padding: 1.2rem 1.25rem; overflow: hidden; border: 1px solid #e0e3e5; background: #fff; }
.dashboard-metrics > a { transition: border-color .18s ease, transform .18s ease; }
.dashboard-metrics > a:hover { transform: translateY(-2px); border-color: #b9c0c5; }
.dashboard-metrics span, .dashboard-metrics small { display: block; color: var(--muted); }
.dashboard-metrics span { font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.dashboard-metrics strong { display: block; margin: .5rem 0 .25rem; overflow: hidden; font: 800 clamp(1.65rem, 2.5vw, 2.6rem)/1 Manrope; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-metrics small { font-size: .68rem; white-space: nowrap; }
.dashboard-metrics i { position: absolute; right: 1rem; top: 1rem; color: var(--red); font-style: normal; font-weight: 900; }
.dashboard-analytics { margin-bottom: .9rem; }
.dashboard-analytics .panel-heading { align-items: center; gap: 1rem; padding: 1rem 1.15rem; }
.dashboard-analytics .panel-heading > div { min-width: 0; }
.dashboard-analytics .panel-heading .eyebrow { margin: 0 0 .22rem; font-size: .58rem; }
.dashboard-analytics .panel-heading h2 { margin: 0; font-size: 1.15rem; }
.dashboard-analytics .panel-heading p { margin: .25rem 0 0; overflow: hidden; color: var(--muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-analytics .panel-heading > a { flex: 0 0 auto; color: var(--red); font-size: .7rem; font-weight: 800; }
.analytics-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.analytics-metrics article { min-width: 0; padding: 1.1rem 1.15rem; border-right: 1px solid #eceef0; }
.analytics-metrics article:last-child { border-right: 0; }
.analytics-metrics span,.analytics-metrics small { display: block; color: var(--muted); }
.analytics-metrics span { font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.analytics-metrics strong { display: block; margin: .45rem 0 .2rem; font: 800 1.75rem/1 Manrope; }
.analytics-metrics small { font-size: .63rem; }
.analytics-metrics[data-analytics-status="unconfigured"] strong { color: #a5adb4; }
.analytics-metrics[data-analytics-status="error"] strong { color: #c27b14; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .55fr); gap: .9rem; align-items: start; }
.dashboard-grid .panel-heading { align-items: center; padding: 1rem 1.15rem; }
.dashboard-grid .panel-heading .eyebrow { margin: 0 0 .25rem; font-size: .58rem; }
.dashboard-grid .panel-heading h2 { font-size: 1.05rem; }
.dashboard-grid .panel-heading > a { color: var(--red); font-size: .7rem; font-weight: 800; }
.dashboard-orders, .dashboard-recent { grid-column: 1; }
.dashboard-attention, .dashboard-side { grid-column: 2; }
.dashboard-attention { grid-row: 1; }
.dashboard-recent { grid-row: 2; }
.dashboard-side { grid-row: 2; display: grid; gap: .9rem; }
.order-pipeline { display: grid; grid-template-columns: repeat(5, 1fr); }
.order-pipeline a { display: grid; gap: .2rem; padding: 1.1rem; border-right: 1px solid #eceef0; }
.order-pipeline a:last-child { border-right: 0; }
.order-pipeline a:hover { background: #faf9f6; }
.order-pipeline strong { font: 800 1.7rem Manrope; }
.order-pipeline span { color: var(--muted); font-size: .67rem; }
.attention-list > a, .dashboard-health > a { display: flex; align-items: center; gap: .75rem; padding: .85rem 1rem; border-top: 1px solid #eceef0; }
.attention-list > a:first-child, .dashboard-health > a:first-of-type { border-top: 0; }
.attention-list > a:hover, .dashboard-health > a:hover { background: #faf9f6; }
.attention-list > a > span { display: grid; flex: 0 0 34px; height: 34px; place-items: center; border-radius: 50%; background: #fff0ef; color: #b42318; font: 800 .8rem Manrope; }
.attention-list > a > span.is-ok { background: #dcfce7; color: #166534; }
.attention-list div, .dashboard-health div { display: grid; min-width: 0; margin-right: auto; }
.attention-list strong, .dashboard-health strong { font-size: .76rem; }
.attention-list small, .dashboard-health small { margin-top: .18rem; overflow: hidden; color: var(--muted); font-size: .64rem; text-overflow: ellipsis; }
.attention-list i, .dashboard-health i { color: var(--muted); font-style: normal; }
.dashboard-order-list > a { display: grid; grid-template-columns: minmax(0, 1fr) auto 90px; gap: .8rem; align-items: center; padding: .85rem 1.15rem; border-top: 1px solid #eceef0; }
.dashboard-order-list > a:first-child { border-top: 0; }
.dashboard-order-list > a:hover { background: #faf9f6; }
.dashboard-order-list > a > div { display: grid; min-width: 0; }
.dashboard-order-list > a > div strong { font-size: .78rem; }
.dashboard-order-list > a > div span { margin-top: .15rem; overflow: hidden; color: var(--muted); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-order-list > a > b { text-align: right; font-size: .75rem; }
.health-dot { width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; background: #efb23f; box-shadow: 0 0 0 4px #fff3d9; }
.health-dot.is-ready { background: #22a06b; box-shadow: 0 0 0 4px #ddf5e9; }
.dashboard-quick > a { display: flex; justify-content: space-between; padding: .78rem 1rem; border-top: 1px solid #eceef0; font-size: .72rem; font-weight: 800; }
.dashboard-quick > a:hover { color: var(--red); background: #faf9f6; }

.admin-section-nav { position: sticky; z-index: 12; top: .75rem; display: flex; gap: .45rem; align-items: stretch; padding: .55rem; overflow-x: auto; border: 1px solid #d9dddf; background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(24,33,43,.08); backdrop-filter: blur(12px); }
.admin-section-nav button { display: flex; flex: 0 0 auto; gap: .45rem; align-items: center; padding: .55rem .7rem; border: 0; background: #f1f3f2; color: var(--ink); cursor: pointer; font-size: .7rem; font-weight: 800; }
.admin-section-nav button:hover, .admin-section-nav button.is-active { background: var(--ink); color: #fff; }
.admin-section-nav button small { color: var(--red); font-size: .58rem; }
.admin-section-nav .admin-section-nav__all { margin-left: auto; border: 1px solid #d5d9dc; background: #fff; color: var(--muted); }
.form-section { scroll-margin-top: 5.5rem; }
.form-section.is-collapsed { grid-template-columns: 1fr; }
.form-section__title { position: relative; align-items: flex-start; padding-right: 5.4rem; }
.form-section.is-collapsed .form-section__title { align-items: center; padding-block: 1rem; background: #fff; }
.form-section.is-collapsed .form-section__title p { margin: .25rem 0 0; }
.form-section__body[hidden], .builder-field__body[hidden] { display: none !important; }
.admin-section-toggle { position: absolute; right: .75rem; top: .75rem; display: flex; align-items: center; gap: .45rem; padding: .45rem .55rem; border: 1px solid #d7dbde; background: #fff; color: var(--ink); cursor: pointer; font-size: .62rem; font-weight: 800; }
.admin-section-toggle i { font-style: normal; transition: transform .18s ease; }
.admin-section-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.builder-field__header { gap: .5rem; }
.builder-field__toggle { display: flex; flex: 1; min-width: 0; align-items: center; justify-content: space-between; gap: 1rem; padding: 0; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.builder-field__toggle .builder-field__identity { min-width: 0; }
.builder-field__identity span { min-width: 0; }
.builder-field__identity strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.builder-field__toggle-label { padding: .35rem .5rem; border: 1px solid #d5dade; background: #fff; color: var(--muted); font-size: .6rem; font-weight: 800; }

.admin-search__count { margin-left: auto; color: var(--muted); font-size: .72rem; font-weight: 800; }
.order-filters a span { margin-left: .3rem; opacity: .65; }
.admin-table-wrap { width: 100%; overflow-x: auto; }
.user-cell { display: flex; align-items: center; gap: .75rem; min-width: 170px; }
.user-cell > span { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; background: #e4eeea; color: var(--teal); font: 800 .9rem Manrope, sans-serif; }
.user-cell > div { min-width: 0; }
.user-cell strong { display: block; }
.status--admin { background: #e8e5fa; color: #51439a; }
.user-heading .back-link { display: block; margin-bottom: 1rem; }
.user-heading .eyebrow { display: block; margin-bottom: .55rem; }
.user-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-bottom: 1.2rem; }
.user-summary article { padding: 1.2rem 1.3rem; border: 1px solid #e0e3e5; background: #fff; }
.user-summary span, .user-summary small { display: block; color: var(--muted); }
.user-summary span { font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.user-summary strong { display: block; margin: .4rem 0 .2rem; font: 800 1.65rem Manrope, sans-serif; }
.user-summary small { font-size: .7rem; }
.user-admin-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(290px, .55fr); gap: 1.2rem; align-items: start; }
.user-admin-main, .user-admin-side { display: grid; gap: 1.2rem; }
.saved-address-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #e1e3e5; }
.saved-address-grid article { padding: 1.25rem; background: #fff; }
.saved-address-grid article > div { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.saved-address-grid article span { padding: .25rem .4rem; border-radius: 999px; background: #e7f3ed; color: var(--teal); font-size: .62rem; font-weight: 800; }
.saved-address-grid p { margin: .8rem 0 .35rem; color: var(--muted); font-size: .8rem; line-height: 1.55; }
.saved-address-grid small { color: var(--muted); }
.user-details-panel dl { margin: 0; padding: .4rem 1.3rem 1.3rem; }
.user-details-panel dl div { padding: .85rem 0; border-bottom: 1px solid var(--line); }
.user-details-panel dl div:last-child { border-bottom: 0; }
.user-details-panel dt { color: var(--muted); font-size: .66rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.user-details-panel dd { margin: .3rem 0 0; overflow-wrap: anywhere; font-size: .82rem; font-weight: 700; }
.user-primary-address { padding: 1.3rem; }
.user-primary-address p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.6; }
.category-admin-layout--compact { grid-template-columns: 300px minmax(0, 1fr); }
.category-create { position: sticky; top: 1rem; overflow: visible; }
.category-create > summary { display: flex; gap: .8rem; align-items: center; padding: 1rem; cursor: pointer; list-style: none; }
.category-create > summary::-webkit-details-marker, .category-edit > summary::-webkit-details-marker { display: none; }
.category-create > summary > span { display: grid; width: 34px; height: 34px; place-items: center; background: var(--red); color: #fff; font: 800 1.2rem Manrope; }
.category-create > summary div { display: grid; }
.category-create > summary small { margin-top: .15rem; color: var(--muted); font-size: .65rem; }
.category-create[open] > summary { border-bottom: 1px solid #eceef0; }
.category-create .category-form { position: static; padding: 1rem; border: 0; }
.category-list--compact { gap: .55rem; }
.category-list--compact .category-edit { padding: 0; overflow: hidden; }
.category-edit__summary { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .85rem 1rem; cursor: pointer; list-style: none; }
.category-edit__summary:hover { background: #faf9f6; }
.category-edit__summary > div { display: flex; gap: .65rem; align-items: center; min-width: 0; }
.category-edit__summary > div:first-child { display: grid; gap: .12rem; }
.category-edit__summary strong { overflow: hidden; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.category-edit__summary span:not(.status), .category-edit__summary small { color: var(--muted); font-size: .64rem; }
.category-edit__summary i { font-style: normal; transition: transform .18s ease; }
.category-edit[open] .category-edit__summary i { transform: rotate(180deg); }
.category-edit > form { padding: 1rem; border-top: 1px solid #eceef0; background: #fcfcfb; }
.category-edit > form .category-edit__head { margin-bottom: 1rem; }
.category-edit > form .category-edit__head > span { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }

@media (max-width: 1180px) {
    .dashboard-metrics { grid-template-columns: 1fr 1fr; }
    .analytics-metrics { grid-template-columns: 1fr 1fr; }
    .analytics-metrics article:nth-child(2) { border-right: 0; }
    .analytics-metrics article:nth-child(-n+2) { border-bottom: 1px solid #eceef0; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .dashboard-orders, .dashboard-attention, .dashboard-recent, .dashboard-side { grid-column: 1; grid-row: auto; }
    .dashboard-side { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
    .admin-sidebar { width: auto; padding: 1rem 4vw; }
    .admin-main { margin-left: 0; }
    .admin-sidebar nav { grid-column: 1 / -1; margin-top: 0; overflow: auto hidden; }
    .admin-sidebar nav > small { display: none; }
    .admin-sidebar nav a.is-active { background: rgba(255,255,255,.14); }
    .sidebar-store-link { grid-column: 1; grid-row: 1; justify-self: end; margin: 0 5rem 0 0; }
    .category-admin-layout--compact { grid-template-columns: 1fr; }
    .category-create { position: static; }
    .user-admin-layout { grid-template-columns: 1fr; }
    .user-admin-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
    .dashboard-heading-actions { width: 100%; flex-direction: column; }
    .dashboard-metrics, .dashboard-side { grid-template-columns: 1fr; }
    .dashboard-analytics .panel-heading { align-items: flex-start; flex-direction: column; }
    .dashboard-analytics .panel-heading p { white-space: normal; }
    .analytics-metrics { grid-template-columns: 1fr; }
    .analytics-metrics article,.analytics-metrics article:nth-child(2) { border-right: 0; border-bottom: 1px solid #eceef0; }
    .analytics-metrics article:last-child { border-bottom: 0; }
    .order-pipeline { grid-template-columns: 1fr 1fr; }
    .order-pipeline a { border-bottom: 1px solid #eceef0; }
    .dashboard-order-list > a { grid-template-columns: minmax(0, 1fr) auto; }
    .dashboard-order-list > a > .status { display: none; }
    .admin-section-nav { top: 0; }
    .admin-section-nav button span { max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .form-section__title { align-items: center; padding: 1rem; }
    .form-section__title p { display: none; }
    .admin-section-toggle span { display: none; }
    .builder-field__toggle-label { display: none; }
    .category-edit__summary > div:nth-child(2) > small { display: none; }
    .user-summary, .user-admin-side, .saved-address-grid { grid-template-columns: 1fr; }
    .user-heading { align-items: stretch; }
}
/* Bulk order status management */
.order-list-panel { overflow: hidden; }
.order-bulk-toolbar { display: flex; justify-content: space-between; gap: 1.25rem; align-items: center; padding: 1rem 1.3rem; border-bottom: 1px solid #e1e3e5; background: #f8fafb; }
.order-bulk-summary { display: grid; gap: .22rem; min-width: 0; }
.order-bulk-summary strong { font-size: .82rem; }
.order-bulk-summary span { color: var(--muted); font-size: .7rem; }
.order-bulk-controls { display: flex; flex: 0 0 auto; gap: .65rem; align-items: center; }
.order-bulk-controls select { width: 230px; min-height: 42px; padding: .65rem .8rem; background: #fff; }
.order-bulk-controls .button { min-height: 42px; white-space: nowrap; }
.order-bulk-controls .button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.admin-table-scroll { overflow-x: auto; }
.admin-table-scroll table { min-width: 900px; }
.order-select-cell { width: 52px; padding-right: .4rem; text-align: center; }
.order-select-cell input { width: 18px; height: 18px; margin: 0; padding: 0; accent-color: var(--red); cursor: pointer; }
.order-bulk-form tr[data-order-row] { transition: background-color .16s ease, box-shadow .16s ease; }
.order-bulk-form tr[data-order-row].is-selected { background: #fff7f6; box-shadow: inset 3px 0 0 var(--red); }

@media (max-width: 900px) {
    .order-bulk-toolbar { align-items: stretch; flex-direction: column; }
    .order-bulk-controls { width: 100%; }
    .order-bulk-controls select { flex: 1 1 auto; width: auto; }
}

@media (max-width: 560px) {
    .order-bulk-controls { align-items: stretch; flex-direction: column; }
    .order-bulk-controls select, .order-bulk-controls .button { width: 100%; }
}

.lookup-card h2{margin:.15rem 0 .6rem;font:800 1.5rem Manrope}
.lookup-card .lookup-card__intro{margin:0 0 1.2rem;text-align:left;font-size:.85rem;line-height:1.55}
.lookup-help .button{width:max-content;margin-top:.8rem}
.guest-orders-page{max-width:980px}.guest-orders-note{margin-top:1rem;text-align:center}
