/* ==========================================================================
   SARTYS ATELIER — veste del configuratore
   Logica, markup e id restano quelli del plugin. Il plugin stampa parte dei
   suoi stili inline DOPO questo file: per questo le regole partono da
   #wizard-modal (o dagli id dei popup) e, dove serve, usano !important.
   ========================================================================== */

:root {
	--sartoria-bg-primary: #FAF7F0;
	--sartoria-bg-secondary: #F4EEE3;
	--sartoria-bg-dark: #0E2449;
	--sartoria-bg-card: #FFFFFF;
	--sartoria-text-primary: #16284A;
	--sartoria-text-muted: #5E6472;
	--sartoria-text-light: #FAF7F0;
	--sartoria-accent: #D49E2D;
	--sartoria-accent-hover: #EEB53E;
	--sartoria-accent-light: #FFF3D6;
	--sartoria-font-serif: 'Libre Bodoni', Georgia, serif;
	--sartoria-font-sans: 'Outfit', 'Helvetica Neue', Arial, sans-serif;
	--sartoria-border-radius-md: 14px;
	--sartoria-border-radius-lg: 22px;
	--sartoria-border-color: #E6DCC8;
	--sartoria-box-shadow-soft: 0 10px 30px rgba(14, 36, 73, .07);
	--sartoria-box-shadow-premium: 0 24px 60px rgba(14, 36, 73, .16);
	--sartoria-transition: all .45s cubic-bezier(.22, 1, .36, 1);
	--wz-line: rgba(28, 59, 107, .12);
	--wz-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Wizard chiuso: nessun suo elemento deve intercettare i tocchi sulla pagina. */
.wizard-modal-overlay:not(.active),
.wizard-modal-overlay:not(.active) * {
	visibility: hidden !important;
	pointer-events: none !important;
}
.wizard-modal-overlay.active { visibility: visible !important; pointer-events: auto !important; }
.wizard-popup-overlay:not(.active), .size-guide-overlay:not(.active) { pointer-events: none !important; }

/* ------------------------------------------------------------- contenitore */
#wizard-modal { background: rgba(14, 36, 73, .55); }
#wizard-modal .wizard-modal-container {
	background: #FAF7F0;
	color: #16284A !important;
	font-family: 'Outfit', 'Helvetica Neue', Arial, sans-serif !important;
	transform: translateY(28px) scale(.99);
	transition: transform .7s var(--wz-ease);
}
#wizard-modal.active .wizard-modal-container { transform: none; }

/* ------------------------------------------------------------------ header */
#wizard-modal .wizard-header {
	position: relative;
	padding: max(10px, env(safe-area-inset-top)) 16px 10px;
	background: #F4EEE3;
	border-bottom: 0;
	box-shadow: inset 0 -1px 0 var(--wz-line);
}
#wizard-modal .wizard-header::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
	background: repeating-linear-gradient(90deg, #D49E2D 0 8px, transparent 8px 14px);
	opacity: .4; pointer-events: none;
}
#wizard-modal .wizard-header-top { gap: .6rem; margin-bottom: .55rem; }
#wizard-modal .wizard-close-btn,
#wizard-modal .wizard-header-cart {
	width: 44px; height: 44px; margin: 0;
	border-radius: 50%;
	background: #fff !important;
	box-shadow: inset 0 0 0 1px var(--wz-line);
	color: #0E2449 !important;
	transition: transform .5s var(--wz-ease), background .3s;
}
#wizard-modal .wizard-close-btn:hover { transform: rotate(90deg); }
#wizard-modal .wizard-cart-count { background: #EEB53E; color: #0E2449; box-shadow: 0 0 0 2px #F4EEE3; }

/* ----------------------------------------------------------------- contenuto */
#wizard-modal .wizard-content { background: #FAF7F0; }
#wizard-modal .step-instruction { text-align: left; margin: .4rem 0 1.4rem; }
#wizard-modal .step-instruction::before {
	display: flex; align-items: center; gap: .6rem;
	margin-bottom: .55rem;
	font-size: .68rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #2A5090;
}
#wizard-modal #step-mode .step-instruction::before { content: 'Sartys Lab · Su misura'; }
#wizard-modal #step-model .step-instruction::before { content: 'Passo 01 · Il capo'; }
#wizard-modal #step-details .step-instruction::before { content: 'Passo 01 · Il taglio'; }
#wizard-modal #step-fabric-color .step-instruction::before { content: 'Passo 02 · La materia'; }
#wizard-modal #step-measurements .step-instruction::before { content: 'Passo 03 · Su di te'; }
#wizard-modal #step-personalize .step-instruction::before { content: 'Passo 04 · Il tocco finale'; }
#wizard-modal .step-instruction h2 {
	margin: 0 0 .45rem;
	font-family: 'Libre Bodoni', Georgia, serif; font-weight: 500;
	font-size: clamp(2rem, 8.4vw, 2.9rem); line-height: 1.02; letter-spacing: -.02em;
	color: #0E2449;
}
#wizard-modal .step-instruction p { margin: 0; font-size: .98rem; line-height: 1.55; color: #5E6472; max-width: 52ch; }
#wizard-modal .step-instruction p em { font-family: 'Libre Bodoni', Georgia, serif; color: #D49E2D; }

/* ------------------------------------------------------------ passo 0 */
#wizard-modal .mode-choice-grid { gap: 1rem; margin: 1.2rem auto 2rem; }
#wizard-modal .mode-card {
	position: relative; overflow: hidden;
	display: grid; justify-items: start; text-align: left; gap: .35rem;
	padding: 1.8rem 1.5rem 1.6rem;
	border: 0; border-radius: 26px;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--wz-line), 0 14px 30px rgba(14, 36, 73, .06);
	transition: transform .6s var(--wz-ease), box-shadow .6s var(--wz-ease);
}
#wizard-modal .mode-card:hover, #wizard-modal .mode-card:focus-visible { transform: translateY(-4px); box-shadow: inset 0 0 0 1px var(--wz-line), 0 26px 50px rgba(14, 36, 73, .14); }
#wizard-modal .mode-card__icon { width: 62px; height: 62px; margin: 0 0 .7rem; padding: 12px; border-radius: 50%; background: #FFF3D6; }
#wizard-modal .mode-card__icon svg { stroke: #0E2449; }
#wizard-modal .mode-card h3 { margin: 0; font-family: 'Libre Bodoni', Georgia, serif; font-weight: 500; font-size: 1.9rem; color: #0E2449; }
#wizard-modal .mode-card p { margin: 0 0 .6rem; font-size: .92rem; color: #5E6472; }
#wizard-modal .mode-card__cta { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.2rem; border-radius: 999px; background: #0E2449; color: #FAF7F0; font-size: .82rem; letter-spacing: .06em; }
/* ------------------------------------------------------- anteprima del capo */
#wizard-modal .wizard-preview-panel { background: #FAF7F0 !important; }
#wizard-modal .preview3d-frame {
	border: 0 !important;
	border-radius: 24px !important;
	background-color: #FFFDF8 !important;
	background-image:
		radial-gradient(60% 55% at 50% 45%, rgba(238, 181, 62, .14), transparent 70%),
		linear-gradient(rgba(28, 59, 107, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(28, 59, 107, .05) 1px, transparent 1px) !important;
	background-size: 100% 100%, 20px 20px, 20px 20px !important;
	box-shadow: 0 14px 34px rgba(14, 36, 73, .1), inset 0 0 0 1px rgba(28, 59, 107, .08) !important;
}
#wizard-modal .preview3d-frame::after {
	content: '' !important;
	top: 14px !important; right: 14px !important; left: auto;
	width: 20px; height: 20px;
	border-top: 1.5px solid #D49E2D; border-right: 1.5px solid #D49E2D;
	opacity: .8 !important;
}
#wizard-modal .preview3d-frame::before {
	content: ''; position: absolute; left: 14px; bottom: 14px; z-index: 6;
	width: 20px; height: 20px;
	border-bottom: 1.5px solid #D49E2D; border-left: 1.5px solid #D49E2D;
	opacity: .8 !important; pointer-events: none;
}
#wizard-modal .preview2d-stage { background: transparent !important; }
#wizard-modal .preview2d-stage::before { background: none !important; }
#wizard-modal .preview2d-stage::after { background: radial-gradient(ellipse at center, rgba(14, 36, 73, .28) 0%, transparent 72%) !important; }
#wizard-modal .preview2d-empty { color: #5E6472 !important; font-family: 'Libre Bodoni', Georgia, serif; font-style: italic; font-size: 1rem; }
#wizard-modal .preview-zoom-badge { background: #0E2449 !important; color: #EEB53E !important; border-radius: 999px; }
#wizard-modal .preview3d-caption {
	display: table; margin: .55rem auto 0;
	padding: .25rem .8rem; border-radius: 999px;
	background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line);
	font-family: 'Libre Bodoni', Georgia, serif; font-size: .82rem; color: #1C3B6B;
}
#wizard-modal .model-price-display__value, #wizard-modal .wizard-recap-toggle__price { font-family: 'Libre Bodoni', Georgia, serif; color: #0E2449; }
#wizard-modal .wizard-recap, #wizard-modal #wizard-preview-panel .model-price-display { background: #fff; border-color: var(--wz-line) !important; }
#wizard-modal .wizard-recap__title { color: #D49E2D; letter-spacing: .16em; }
#wizard-modal .preview-view-btn.is-active { background: #0E2449; border-color: #0E2449; }
#wizard-modal .capo-progress-indicator { background: #FFF3D6; color: #0E2449; }

/* ---------------------------------------------------------- passo 1: modelli */
#wizard-modal .model-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: .6rem !important;
	overflow: visible !important;
	margin: 1rem 0 1.4rem !important;
	padding: 0 !important;
	max-width: none;
}
#wizard-modal .model-card {
	width: auto !important;
	display: grid; justify-items: center; align-content: center; gap: .45rem;
	min-height: 118px;
	padding: 1rem .35rem .85rem !important;
	border: 0 !important; border-radius: 20px;
	background: #fff !important;
	box-shadow: inset 0 0 0 1px var(--wz-line);
	transition: transform .5s var(--wz-ease), background .35s, box-shadow .35s;
}
#wizard-modal .model-card:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px #D49E2D, 0 16px 30px rgba(14, 36, 73, .1); }
#wizard-modal .model-card__icon { width: 50px !important; height: 50px !important; margin: 0 !important; }
#wizard-modal .model-card__label { font-size: .72rem; font-weight: 600; letter-spacing: .06em; color: #0E2449; text-align: center; line-height: 1.25; }
#wizard-modal .model-card.selected { background: #0E2449 !important; box-shadow: 0 16px 30px rgba(14, 36, 73, .28); }
#wizard-modal .model-card.selected .model-card__label { color: #FAF7F0; }
#wizard-modal .model-card.selected .model-card__icon img { filter: brightness(0) invert(1); }
#wizard-modal .model-card.selected .model-card__icon svg { stroke: #EEB53E; }

/* -------------------------------------------------------- passo 1: dettagli */
#wizard-modal .details-layout { max-width: 760px; margin: 1rem 0; gap: .6rem; }
#wizard-modal .detail-accordion {
	border: 0; border-radius: 20px;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--wz-line);
	transition: box-shadow .4s var(--wz-ease);
}
#wizard-modal .detail-accordion.has-selection { box-shadow: inset 4px 0 0 #EEB53E, inset 0 0 0 1px var(--wz-line); }
#wizard-modal .detail-accordion.open { box-shadow: inset 0 0 0 1.5px #0E2449, 0 18px 36px rgba(14, 36, 73, .1); }
#wizard-modal .detail-accordion__header { gap: .9rem; padding: .85rem 1rem; }
#wizard-modal .detail-accordion__header:hover { background: transparent; }
#wizard-modal .detail-accordion__icon { width: 46px; height: 46px; padding: 10px; border-radius: 50%; background: #F4EEE3; }
#wizard-modal .detail-accordion__icon svg { stroke: #0E2449; }
#wizard-modal .detail-accordion.has-selection .detail-accordion__icon { background: #0E2449; }
#wizard-modal .detail-accordion.has-selection .detail-accordion__icon svg { stroke: #EEB53E; }
#wizard-modal .detail-accordion__label { font-size: .7rem; font-weight: 600; letter-spacing: .16em; color: #5E6472; }
#wizard-modal .detail-accordion__value { font-family: 'Libre Bodoni', Georgia, serif; font-size: 1.12rem; color: #A8A198; }
#wizard-modal .detail-accordion.has-selection .detail-accordion__value { color: #0E2449; font-weight: 500; }
#wizard-modal .detail-accordion__chevron { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #FAF7F0; color: #0E2449; }
#wizard-modal .detail-accordion__panel { padding: .2rem 1rem 1rem; }
#wizard-modal .detail-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
#wizard-modal .detail-card {
	gap: .55rem; min-height: 50px;
	padding: .5rem .7rem;
	border: 0; border-radius: 14px;
	background: #FAF7F0;
	box-shadow: inset 0 0 0 1px var(--wz-line);
	transition: background .3s, box-shadow .3s, transform .4s var(--wz-ease);
}
#wizard-modal .detail-card:hover { box-shadow: inset 0 0 0 1.5px #D49E2D; }
#wizard-modal .detail-card:active { transform: scale(.97); }
#wizard-modal .detail-card__img { width: 48px; height: 48px; flex-shrink: 0; border-radius: 10px; object-fit: contain; background: #fff; padding: 3px; }
#wizard-modal .detail-card__label { white-space: normal; font-size: .8rem; color: #0E2449; }
#wizard-modal .detail-card.selected { background: #0E2449; box-shadow: none; }
#wizard-modal .detail-card.selected .detail-card__label { color: #FAF7F0; }
#wizard-modal .vestibilita-block { max-width: 760px; margin: 1.4rem 0 .4rem; padding-top: 1.2rem; border-top: 1px dashed var(--wz-line); text-align: left; }
#wizard-modal .vestibilita-block__title { font-size: .7rem; letter-spacing: .16em; color: #5E6472; }
#wizard-modal .vestibilita-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 4px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line); }
#wizard-modal .vestibilita-btn { min-width: 0; min-height: 46px; padding: .5rem; border: 0; border-radius: 999px; background: transparent; color: #0E2449; font-size: .9rem; font-weight: 600; transform: none; box-shadow: none; }
#wizard-modal .vestibilita-btn:hover { background: #FAF7F0; }
#wizard-modal .vestibilita-btn.selected { background: #0E2449; color: #FAF7F0; }

/* ---------------------------------------------------------- passo 2: stoffe */
#wizard-modal .fabric-color-layout { margin: 1rem 0; gap: 1.2rem; }
#wizard-modal .fabrics-toolbar {
	display: grid !important; grid-template-columns: 1fr 1fr; gap: .5rem !important;
	padding: 0 !important; margin-bottom: 1.2rem;
	background: transparent !important; border: 0 !important;
}
#wizard-modal .fabrics-search { grid-column: 1 / -1; min-height: 48px; padding: 0 1rem !important; border: 0; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line); }
#wizard-modal .fabrics-search input { font-size: 16px !important; color: #0E2449; min-height: 0 !important; }
#wizard-modal .fabrics-filter-check {
	grid-column: 1 / -1; justify-self: start;
	min-height: 40px; padding: 0 .9rem; border-radius: 999px;
	background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line);
	font-size: .82rem !important; font-weight: 500;
}
#wizard-modal .fabrics-filter-check input { accent-color: #0E2449; width: 16px; height: 16px; }
#wizard-modal .fabrics-sort-select {
	appearance: none; -webkit-appearance: none;
	width: 100%; min-height: 42px; padding: 0 2rem 0 .9rem !important;
	border: 0 !important; border-radius: 999px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230E2449' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center !important;
	box-shadow: inset 0 0 0 1px var(--wz-line);
	font-size: .8rem !important; color: #0E2449;
}
#wizard-modal .fabric-section__title { font-size: .7rem; font-weight: 600; letter-spacing: .18em; color: #D49E2D; margin-bottom: .8rem; }
#wizard-modal .fabrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .7rem !important; max-width: none; }
#wizard-modal .fabric-card {
	position: relative; overflow: hidden;
	border: 0 !important; border-radius: 20px;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--wz-line);
	transition: transform .5s var(--wz-ease), box-shadow .4s;
}
#wizard-modal .fabric-card:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px var(--wz-line), 0 18px 34px rgba(14, 36, 73, .12); }
#wizard-modal .fabric-card.selected { box-shadow: inset 0 0 0 2px #0E2449, 0 18px 34px rgba(14, 36, 73, .14) !important; }
#wizard-modal .fabric-preview-box { border-radius: 16px; margin: 6px; overflow: hidden; }
#wizard-modal .fabric-texture-img { transition: transform 1.2s var(--wz-ease); }
#wizard-modal .fabric-card:hover .fabric-texture-img { transform: scale(1.12); }
#wizard-modal .fabric-info-box { padding: .3rem .8rem .8rem; text-align: left; }
#wizard-modal .fabric-name { text-align: left !important; font-family: 'Libre Bodoni', Georgia, serif; font-size: 1.02rem; color: #0E2449; }
#wizard-modal .back-to-fabrics-btn { min-height: 42px; padding: 0 1rem; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line); color: #0E2449; font-weight: 500; }
#wizard-modal .color-panel { border: 0 !important; border-radius: 24px !important; overflow: hidden; background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line), 0 14px 30px rgba(14, 36, 73, .06); }
#wizard-modal .color-panel__colors .fabric-section__title { color: #5E6472; }
#wizard-modal .color-panel__colors .fabric-section__title strong { font-family: 'Libre Bodoni', Georgia, serif; font-size: 1.05rem; letter-spacing: 0; text-transform: none; color: #0E2449; }
#wizard-modal .colors-grid { display: flex; flex-wrap: wrap; gap: .9rem .6rem; }
#wizard-modal .color-card { display: grid; justify-items: center; gap: .45rem; width: 78px; padding: .5rem .2rem; border: 0 !important; border-radius: 16px; background: transparent !important; box-shadow: none !important; cursor: pointer; }
#wizard-modal .color-swatch-wrapper { width: 54px; height: 54px; padding: 4px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px var(--wz-line); transition: box-shadow .35s, transform .45s var(--wz-ease); }
#wizard-modal .color-swatch-fill { width: 100%; height: 100%; border-radius: 50%; box-shadow: inset 0 -6px 12px rgba(0, 0, 0, .18); }
#wizard-modal .color-card:hover .color-swatch-wrapper { transform: scale(1.06); }
#wizard-modal .color-card.selected .color-swatch-wrapper { box-shadow: 0 0 0 2.5px #0E2449; transform: scale(1.08); }
#wizard-modal .color-name { font-size: .74rem; text-align: center; color: #0E2449; }
#wizard-modal .color-panel__fabric { background: #F4EEE3 !important; border-color: var(--wz-line) !important; }
#wizard-modal .selected-fabric-swatch { border-radius: 14px; overflow: hidden; }
#wizard-modal .selected-fabric-name { font-family: 'Libre Bodoni', Georgia, serif; color: #0E2449; }
#wizard-modal .colors-disclaimer { font-size: .7rem; color: #A8A198; }

/* ----------------------------------------------------------- passo 3: misure */
#wizard-modal .measure-capi-strip { gap: .5rem; }
#wizard-modal .measure-capo-chip { border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line); }
#wizard-modal .measure-capo-chip.active { box-shadow: inset 0 0 0 2px #0E2449; }
#wizard-modal .size-guide-trigger-row { text-align: left; margin: 0 0 .8rem; }
#wizard-modal .size-guide-trigger { min-height: 44px; padding: 0 1.1rem; border: 0 !important; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line); color: #0E2449; font-weight: 600; }
#wizard-modal .sizes-preset-bar {
	display: grid !important; justify-items: start; gap: .6rem !important;
	max-width: 760px; margin: 0 0 1rem !important; padding: 1rem !important;
	border: 0 !important; border-radius: 20px;
	background: #F4EEE3;
}
#wizard-modal .sizes-preset-label { font-size: .7rem; letter-spacing: .16em; color: #5E6472; }
#wizard-modal .size-chip { min-width: 52px; min-height: 44px; border: 0 !important; background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line); color: #0E2449; transition: all .3s var(--wz-ease); }
#wizard-modal .size-chip:hover { box-shadow: inset 0 0 0 1.5px #D49E2D; }
#wizard-modal .size-chip.selected { background: #0E2449 !important; color: #FAF7F0 !important; box-shadow: 0 8px 18px rgba(14, 36, 73, .25); }
#wizard-modal .measurements-layout { max-width: 760px; margin: 0; gap: 1rem; }
#wizard-modal .instruction-card {
	position: relative;
	padding: 1.6rem 1.2rem 1.1rem;
	border: 0 !important; border-radius: 20px;
	background:
		repeating-linear-gradient(transparent 0 27px, rgba(28, 59, 107, .06) 27px 28px),
		#FFFDF8;
	box-shadow: inset 0 0 0 1px var(--wz-line);
}
#wizard-modal .instruction-card .card-tag { top: -10px; left: 1rem; background: #EEB53E; color: #0E2449; border-radius: 6px; transform: rotate(-2deg); }
#wizard-modal .instruction-card h4 { font-family: 'Libre Bodoni', Georgia, serif; font-size: 1.3rem; color: #0E2449; }
#wizard-modal .form-inputs-col { border: 0 !important; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line); }
#wizard-modal .measure-input-group label { font-size: .82rem; font-weight: 600; color: #0E2449; }
#wizard-modal .measure-input-group input,
#wizard-modal .measure-input-group select,
#wizard-modal .measure-input { min-height: 52px; border-radius: 14px !important; font-size: 16px !important; color: #0E2449; }
#wizard-modal .measure-input-group input:focus,
#wizard-modal .measure-input-group select:focus { border-color: #1C3B6B !important; box-shadow: 0 0 0 4px rgba(42, 80, 144, .12) !important; outline: 0; }

/* ------------------------------------------------------- passo 4: rifiniture */
#wizard-modal .personalize-layout { max-width: 760px; margin: 1rem 0; }
#wizard-modal .personalize-options { grid-template-columns: 1fr !important; gap: .6rem !important; margin-bottom: 1.4rem; }
#wizard-modal .personalize-option__image-placeholder { display: none !important; }
#wizard-modal .personalize-option__card {
	position: relative;
	display: grid !important; grid-template-columns: 52px 1fr 28px; grid-template-rows: auto auto;
	align-items: center; column-gap: .9rem; text-align: left !important;
	padding: .9rem 1rem !important;
	border: 0 !important; border-radius: 20px !important;
	background: #fff !important;
	box-shadow: inset 0 0 0 1px var(--wz-line) !important;
	transform: none !important;
	transition: box-shadow .35s, background .35s !important;
}
#wizard-modal .personalize-option__card::before {
	content: ''; grid-row: 1 / span 2;
	width: 52px; height: 52px; border-radius: 50%;
	background: #F4EEE3 center / 26px no-repeat;
}
#wizard-modal .personalize-option__card::after {
	content: ''; grid-column: 3; grid-row: 1 / span 2;
	width: 26px; height: 26px; border-radius: 50%;
	box-shadow: inset 0 0 0 1.5px rgba(28, 59, 107, .25);
	background: center / 14px no-repeat;
	transition: background-color .3s, box-shadow .3s;
}
#wizard-modal .personalize-option:has(#opt-stampa) .personalize-option__card::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2449' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.06 11.9l8.07-8.06a2.85 2.85 0 114.03 4.03l-8.06 8.08'/%3E%3Cpath d='M7.07 14.94c-1.66 0-3 1.35-3 3.02 0 1.33-2.5 1.52-2 2.02 1.08 1.1 2.49 2.02 4 2.02 2.2 0 4-1.8 4-4.04a3.01 3.01 0 00-3-3.02z'/%3E%3C/svg%3E"); }
#wizard-modal .personalize-option:has(#opt-iniziali) .personalize-option__card::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2449' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 19l4.5-14L12 19M4.6 14h5.8'/%3E%3Cpath d='M14.5 19V5h3.5a3 3 0 010 6h-3.5m3.5 0a4 4 0 010 8h-3.5'/%3E%3C/svg%3E"); }
/* Trame Napoletane: il logo di Martina al posto dell'icona */
#wizard-modal .personalize-option:has(#opt-ricami-napoli) .personalize-option__card::before { background-image: url("../img/trame-napoletane.png"); background-size: 46px; }
#wizard-modal .personalize-option:has(#opt-ricami-napoli) input:checked + .personalize-option__card::before { background-color: #FAF7F0; }
#wizard-modal .personalize-option__label { grid-column: 2; align-self: end; font-family: 'Libre Bodoni', Georgia, serif; font-size: 1.2rem; font-weight: 500; color: #0E2449; }
#wizard-modal .personalize-option__desc { grid-column: 2; align-self: start; font-size: .82rem; color: #5E6472; }
#wizard-modal .personalize-option input:checked + .personalize-option__card { background: #FFF8E8 !important; box-shadow: inset 0 0 0 2px #0E2449 !important; }
#wizard-modal .personalize-option input:checked + .personalize-option__card::after {
	background-color: #0E2449;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EEB53E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");
	box-shadow: none;
}
#wizard-modal .perso-subpanel { max-width: 760px; margin: -.2rem 0 1.2rem; padding: 1.2rem; border: 0; border-radius: 20px; background: #FFF8E8; box-shadow: inset 0 0 0 1px rgba(212, 158, 45, .45); }
#wizard-modal .perso-subpanel__title { font-family: 'Libre Bodoni', Georgia, serif; font-weight: 500; font-size: 1.3rem; color: #0E2449; }
#wizard-modal .perso-field__label { font-size: .7rem; letter-spacing: .14em; color: #5E6472; }
#wizard-modal .perso-text { min-height: 50px; border-radius: 14px; font-size: 16px; }
#wizard-modal .perso-box { min-height: 44px; border: 0; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line); color: #0E2449; }
#wizard-modal .perso-box.selected { background: #0E2449; color: #FAF7F0; box-shadow: none; }
#wizard-modal .perso-box.selected .perso-box__sample, #wizard-modal .perso-box.selected .perso-box__name { color: #FAF7F0; }
#wizard-modal .personalize-upload h3, #wizard-modal .personalize-notes label { font-family: 'Libre Bodoni', Georgia, serif; font-weight: 500; font-size: 1.25rem; color: #0E2449; }
#wizard-modal .upload-dropzone { display: grid; justify-items: center; gap: .5rem; padding: 1.6rem 1rem; border: 1.5px dashed rgba(212, 158, 45, .7) !important; border-radius: 20px; background: #FFFDF8; color: #5E6472; }
#wizard-modal .upload-dropzone:hover { background: #FFF8E8; }
#wizard-modal .upload-dropzone svg { stroke: #D49E2D; }
#wizard-modal .upload-preview img { border-radius: 16px; }
/* "Rimuovi" come pillola leggibile sopra l'immagine (prima era un tondo con il testo che usciva) */
#wizard-modal .upload-preview { position: relative; display: inline-block; max-width: 100%; }
#wizard-modal .upload-preview img { display: block; max-width: 100%; max-height: 260px; }
#wizard-modal .upload-remove-btn { position: absolute; top: 8px; right: 8px; width: auto !important; height: auto !important; min-height: 36px; padding: .45rem .9rem !important; border: 0 !important; border-radius: 999px !important; background: rgba(14, 36, 73, .88) !important; color: #fff !important; font: 600 .82rem/1 inherit; white-space: nowrap; cursor: pointer; box-shadow: 0 6px 16px rgba(0, 0, 0, .2); }
#wizard-modal .upload-remove-btn:hover { background: #B3261E !important; }
#wizard-modal .personalize-notes textarea { border-radius: 16px !important; font-size: 16px !important; background: #fff; }
#wizard-modal .legal-checkbox-container { border: 0 !important; border-radius: 20px !important; background: #F4EEE3 !important; box-shadow: inset 0 0 0 1px var(--wz-line); }
#wizard-modal .checkbox-label-text { font-size: .85rem; line-height: 1.5; color: #16284A; }

/* ------------------------------------------------------------------ footer */
#wizard-modal .wizard-footer {
	padding: .6rem .8rem max(.6rem, env(safe-area-inset-bottom)) !important;
	border-top: 0 !important;
	background: rgba(250, 247, 240, .94);
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
	box-shadow: 0 -1px 0 var(--wz-line), 0 -14px 30px rgba(14, 36, 73, .06);
}
#wizard-modal .btn-wizard {
	min-height: 50px;
	border-radius: 999px !important;
	font-family: 'Outfit', sans-serif !important;
	font-size: .88rem !important; font-weight: 600 !important;
	letter-spacing: .02em !important; text-transform: none !important;
	transition: background .35s var(--wz-ease), color .35s, transform .3s, box-shadow .35s !important;
}
#wizard-modal .btn-wizard:active:not(:disabled) { transform: scale(.97); }
#wizard-modal .btn-wizard.btn-secondary { background: #fff !important; border: 0 !important; box-shadow: inset 0 0 0 1px var(--wz-line) !important; color: #0E2449 !important; }
#wizard-modal .btn-wizard.btn-primary { background: #0E2449 !important; border: 0 !important; color: #FAF7F0 !important; box-shadow: 0 12px 26px rgba(14, 36, 73, .25) !important; }
#wizard-modal #next-step-btn::after { content: '→'; margin-left: .5rem; display: inline-block; transition: transform .4s var(--wz-ease); }
#wizard-modal #next-step-btn:hover:not(:disabled)::after { transform: translateX(4px); }
#wizard-modal .btn-wizard.btn-primary:hover:not(:disabled) { background: #EEB53E !important; color: #0E2449 !important; }
#wizard-modal .btn-wizard.btn-primary:disabled { background: #D1CCC2 !important; color: #fff !important; box-shadow: none !important; }
#wizard-modal #btn-go-to-payment { background: #EEB53E !important; color: #0E2449 !important; box-shadow: 0 12px 26px rgba(212, 158, 45, .3) !important; }
#wizard-modal #btn-go-to-payment:hover:not(:disabled) { background: #0E2449 !important; color: #FAF7F0 !important; }
#wizard-modal .wizard-recap-toggle { min-height: 50px; border: 0 !important; border-radius: 999px !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--wz-line); }
#wizard-modal .wizard-recap-toggle__label { font-size: .62rem; letter-spacing: .14em; color: #5E6472; }
#wizard-modal .wizard-recap-sheet {
	border: 0 !important; border-radius: 26px 26px 0 0 !important;
	background: #fff !important;
	box-shadow: 0 -24px 60px rgba(14, 36, 73, .22) !important;
	padding-top: 1.4rem !important;
}
#wizard-modal .wizard-recap-sheet::before { content: ''; position: absolute; top: 8px; left: 50%; width: 42px; height: 4px; margin-left: -21px; border-radius: 4px; background: rgba(28, 59, 107, .18); }
#wizard-modal .wizard-recap-sheet__head h3 { font-family: 'Libre Bodoni', Georgia, serif; font-weight: 500; font-size: 1.5rem; color: #0E2449; }
#wizard-modal .wizard-recap-sheet__total strong { font-family: 'Libre Bodoni', Georgia, serif; color: #0E2449; }

/* ------------------------------------------------------------------- popup */
#add-another-popup, #exit-confirm-popup, #size-guide-modal { background: rgba(14, 36, 73, .5) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
#add-another-popup .wizard-popup-box, #exit-confirm-popup .wizard-popup-box, #size-guide-modal .size-guide-box {
	border: 0 !important; border-radius: 28px !important;
	background: #FAF7F0 !important;
	box-shadow: 0 30px 80px rgba(14, 36, 73, .35) !important;
}
#add-another-popup .wizard-popup-box, #exit-confirm-popup .wizard-popup-box { position: relative; text-align: left !important; padding: 2rem 1.5rem 1.4rem !important; }
#add-another-popup .wizard-popup-box::before, #exit-confirm-popup .wizard-popup-box::before {
	content: ''; display: block; width: 56px; height: 56px; margin-bottom: 1rem; border-radius: 50%;
	background: #FFF3D6 center / 28px no-repeat;
}
#add-another-popup .wizard-popup-box::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2449' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.4 3.5L16 2a4 4 0 01-8 0L3.6 3.5a2 2 0 00-1.3 2.2l.6 3.5a1 1 0 001 .8H6v10a1 1 0 001 1h10a1 1 0 001-1V10h2.2a1 1 0 001-.8l.6-3.5a2 2 0 00-1.4-2.2z'/%3E%3C/svg%3E"); }
#exit-confirm-popup .wizard-popup-box::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2449' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cpath d='M20 4L8.1 15.9M14.5 14.5L20 20M8.1 8.1L12 12'/%3E%3C/svg%3E"); }
#add-another-popup .wizard-popup-box h3, #exit-confirm-popup .wizard-popup-box h3 { margin: 0 0 .5rem; text-align: left; font-family: 'Libre Bodoni', Georgia, serif !important; font-weight: 500 !important; font-size: 1.8rem !important; line-height: 1.1; color: #0E2449 !important; }
#add-another-popup .wizard-popup-box p, #exit-confirm-popup .wizard-popup-box p { text-align: left; color: #5E6472; }
#add-another-popup .wizard-popup-actions, #exit-confirm-popup .wizard-popup-actions { display: grid !important; gap: .5rem; }
#add-another-popup .btn-wizard, #exit-confirm-popup .btn-wizard { width: 100%; min-height: 52px; margin: 0 !important; border-radius: 999px !important; font-size: .9rem !important; text-transform: none !important; letter-spacing: .02em !important; }
#add-another-popup .btn-primary, #exit-confirm-popup .btn-primary { background: #0E2449 !important; color: #FAF7F0 !important; border: 0 !important; }
#add-another-popup .btn-secondary, #exit-confirm-popup .btn-secondary { background: #fff !important; color: #0E2449 !important; border: 0 !important; box-shadow: inset 0 0 0 1px var(--wz-line); }
#add-another-popup .wizard-popup-actions { grid-template-areas: 'yes' 'no'; }
#add-another-popup #popup-yes-btn { grid-area: yes; background: #EEB53E !important; color: #0E2449 !important; }
#add-another-popup #popup-no-btn { grid-area: no; }

#size-guide-modal .size-guide-head { border-color: var(--wz-line); }
#size-guide-modal .size-guide-head h3 { font-family: 'Libre Bodoni', Georgia, serif !important; font-weight: 500 !important; font-size: 1.6rem; color: #0E2449 !important; }
#size-guide-modal .size-guide-close { border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px var(--wz-line); }
#size-guide-modal .size-guide-tbl thead th { color: #5E6472; letter-spacing: .12em; }
#size-guide-modal .size-guide-tbl .sg-size { color: #0E2449; font-family: 'Libre Bodoni', Georgia, serif; font-size: 1.05rem; }
#size-guide-modal .size-guide-tbl tbody tr:nth-child(odd) { background: #fff; }
#size-guide-modal .size-guide-howto h4 { color: #D49E2D; letter-spacing: .14em; }
#size-guide-modal .size-guide-mannequin { border-radius: 18px; background: #fff; }

#wizard-loader { background: rgba(14, 36, 73, .82) !important; -webkit-backdrop-filter: blur(8px) !important; backdrop-filter: blur(8px) !important; }
#wizard-loader .sartoria-spinner { width: 54px !important; height: 54px !important; border-width: 2px !important; border-color: rgba(238, 181, 62, .2) !important; border-top-color: #EEB53E !important; }
#wizard-loader span { font-family: 'Libre Bodoni', Georgia, serif !important; font-style: italic; font-weight: 400 !important; font-size: 1.3rem !important; letter-spacing: 0 !important; text-transform: none !important; }

/* ------------------------------------------------------------ mobile */
@media (max-width: 768px) {
	#wizard-modal .wizard-content { padding-left: 16px !important; padding-right: 16px !important; }
	#wizard-modal .wizard-logo-link { flex: 0 0 auto; }
	#add-another-popup, #exit-confirm-popup, #size-guide-modal { align-items: flex-end !important; padding: 0 !important; }
	#add-another-popup .wizard-popup-box, #exit-confirm-popup .wizard-popup-box, #size-guide-modal .size-guide-box {
		width: 100% !important; max-width: none !important;
		border-radius: 28px 28px 0 0 !important;
		padding-bottom: max(1.4rem, env(safe-area-inset-bottom)) !important;
		animation: sa-wz-sheet .55s var(--wz-ease);
	}
	#size-guide-modal .size-guide-box { max-height: 92dvh !important; }
}
@keyframes sa-wz-sheet { from { transform: translateY(40%); opacity: 0; } }

@media (min-width: 560px) {
	#wizard-modal .model-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
	#wizard-modal .detail-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	#wizard-modal .personalize-options { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	#wizard-modal .personalize-option__card { grid-template-columns: 1fr 28px; grid-template-rows: auto auto auto; row-gap: .3rem; height: 100%; padding: 1.2rem !important; }
	#wizard-modal .personalize-option__card::before { grid-row: 1; grid-column: 1; margin-bottom: .4rem; }
	#wizard-modal .personalize-option__card::after { grid-row: 1; grid-column: 2; align-self: start; }
	#wizard-modal .personalize-option__label, #wizard-modal .personalize-option__desc { grid-column: 1 / -1; }
	#wizard-modal .fabrics-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* ------------------------------------------------------------ desktop */
@media (min-width: 901px) {
	#wizard-modal .wizard-header { padding: 12px 28px; }
	#wizard-modal .wizard-header-top { margin: 0; }
	#wizard-modal .wizard-main-layout { max-width: 1280px; margin: 0 auto; gap: 3rem; }
	#wizard-modal .wizard-preview-panel { flex-basis: 380px !important; top: 1.2rem; }
	#wizard-modal .step-instruction { margin-top: 1.2rem; }
	#wizard-modal .step-instruction h2 { font-size: 3.2rem; }
	#wizard-modal .mode-choice-grid { grid-template-columns: 1.15fr 1fr; max-width: 920px; gap: 1.4rem; }
	#wizard-modal .mode-card { padding: 2.6rem 2.2rem 2.2rem; min-height: 340px; align-content: end; }
	#wizard-modal .mode-card h3 { font-size: 2.4rem; }
	#wizard-modal #step-mode .step-instruction { max-width: 920px; margin: 2.4rem auto 0; }
	#wizard-modal .model-card { min-height: 150px; }
	#wizard-modal .model-card__icon { width: 60px !important; height: 60px !important; }
	#wizard-modal .wizard-footer { padding: .8rem 28px !important; }
	#wizard-modal .btn-wizard { min-height: 52px; padding-left: 1.8rem !important; padding-right: 1.8rem !important; }

	#add-another-popup .wizard-popup-box, #exit-confirm-popup .wizard-popup-box { max-width: 460px !important; padding: 2.4rem 2.2rem 2rem !important; }
}

/* ==========================================================================
   v2.1 — richieste di Martina (settembre 2026)
   ========================================================================== */

/* ---------------------------------------------- header: logo grande + barra */
#wizard-modal .wizard-header { padding: max(12px, env(safe-area-inset-top)) 16px 14px; }
#wizard-modal .wizard-header-top { gap: .6rem; margin-bottom: .9rem; }
#wizard-modal .wizard-logo-link { flex: 0 0 auto; margin-right: auto; }
#wizard-modal .wizard-logo { display: block; height: 46px; width: auto; }

/* una sola barra, numerata, che si riempie passo dopo passo */
#wizard-modal .wizard-progress-bar { position: relative; width: 100%; max-width: none; margin: 0; padding: 0 4px; }
#wizard-modal .progress-line {
	display: block !important;
	position: absolute; left: calc(12.5% + 4px); right: calc(12.5% + 4px); top: 14px;
	width: auto; height: 4px; border-radius: 4px;
	background: rgba(28, 59, 107, .12);
	z-index: 1;
}
#wizard-modal .progress-line::after {
	border-radius: 4px;
	background: linear-gradient(90deg, #D49E2D, #EEB53E);
	transition: width .9s var(--wz-ease);
}
#wizard-modal .progress-steps-container { display: grid; grid-template-columns: repeat(4, 1fr); position: relative; z-index: 2; }
#wizard-modal .progress-step { display: flex; flex-direction: column; align-items: center; gap: .35rem; height: auto; cursor: pointer; }
#wizard-modal .progress-step::before, #wizard-modal .progress-step::after { display: none !important; }
#wizard-modal .progress-step .step-num {
	display: grid !important; place-items: center;
	width: 32px; height: 32px; border-radius: 50%;
	border: 2px solid #E6DCC8; background: #fff;
	font-family: 'Outfit', sans-serif; font-size: .82rem; font-weight: 700; color: #A8A198;
	transition: background .5s var(--wz-ease), border-color .5s, color .5s, transform .5s var(--wz-ease), box-shadow .5s;
}
#wizard-modal .progress-step .step-label {
	display: block !important;
	font-size: .62rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
	color: #A8A198; text-align: center; line-height: 1.2; white-space: nowrap;
}
#wizard-modal .progress-step.completed .step-num { background: #EEB53E; border-color: #EEB53E; color: #0E2449; }
#wizard-modal .progress-step.completed .step-label { color: #D49E2D; }
#wizard-modal .progress-step.active .step-num { background: #0E2449; border-color: #0E2449; color: #EEB53E; transform: scale(1.12); box-shadow: 0 0 0 5px rgba(238, 181, 62, .28); }
#wizard-modal .progress-step.active .step-label { color: #0E2449; }
#wizard-modal .wizard-progress-bar.hidden-step0 { display: none !important; }

/* ------------------------------------------ passo 0: card bianche, hover blu */
#wizard-modal .mode-card { isolation: isolate; }
#wizard-modal .mode-card::before {
	content: ''; position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(rgba(244, 238, 227, .06) 1px, transparent 1px) 0 0 / 22px 22px,
		linear-gradient(90deg, rgba(244, 238, 227, .06) 1px, transparent 1px) 0 0 / 22px 22px,
		#0E2449;
	clip-path: circle(0% at 50% 100%);
	transition: clip-path .75s var(--wz-ease);
}
#wizard-modal .mode-card:hover::before, #wizard-modal .mode-card:focus-visible::before { clip-path: circle(150% at 50% 100%); }
#wizard-modal .mode-card h3, #wizard-modal .mode-card p, #wizard-modal .mode-card__cta, #wizard-modal .mode-card__icon, #wizard-modal .mode-card__icon svg {
	transition: color .5s var(--wz-ease), background .5s var(--wz-ease), stroke .5s;
}
#wizard-modal .mode-card:hover h3, #wizard-modal .mode-card:focus-visible h3 { color: #FAF7F0; }
#wizard-modal .mode-card:hover p, #wizard-modal .mode-card:focus-visible p { color: rgba(250, 247, 240, .75); }
#wizard-modal .mode-card:hover .mode-card__cta, #wizard-modal .mode-card:focus-visible .mode-card__cta { background: #EEB53E; color: #0E2449; }
#wizard-modal .mode-card:hover .mode-card__icon, #wizard-modal .mode-card:focus-visible .mode-card__icon { background: rgba(238, 181, 62, .16); }
#wizard-modal .mode-card:hover .mode-card__icon svg, #wizard-modal .mode-card:focus-visible .mode-card__icon svg { stroke: #EEB53E; }
#wizard-modal #mode-create::after {
	content: 'Consigliato'; position: absolute; top: 1.2rem; right: 1.2rem;
	padding: .3rem .7rem; border-radius: 999px; background: #EEB53E; color: #0E2449;
	font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}

/* ------------------------------------ icone piu' piccole nel disegno originale */
#wizard-modal .model-card[data-model="pantalone"] .model-card__icon img,
#wizard-modal .model-card[data-model="completo-casual"] .model-card__icon img,
#wizard-modal .model-card[data-model="tailleur"] .model-card__icon img { transform: scale(1.45); }
#wizard-modal .model-card[data-model="pantalone"] .model-card__icon,
#wizard-modal .model-card[data-model="completo-casual"] .model-card__icon,
#wizard-modal .model-card[data-model="tailleur"] .model-card__icon { margin-bottom: .35rem !important; }

/* --------------------------------------------------- vestibilita' obbligatoria */
#wizard-modal .vestibilita-block__title::after { content: ' *'; color: #D49E2D; }
#wizard-modal .vestibilita-block.is-required .vestibilita-options { box-shadow: inset 0 0 0 2px #B3261E; }
#wizard-modal .sa-required-msg { margin: .6rem 0 0; font-size: .82rem; font-weight: 600; color: #B3261E; }
#wizard-modal #next-step-btn.sa-is-blocked { background: #A8A198 !important; box-shadow: none !important; }

/* --------------------------------------------------------- stoffe e filtri */
#wizard-modal .fabrics-toolbar.sa-has-filter {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center; gap: .45rem !important;
}
#wizard-modal .fabrics-toolbar.sa-has-filter .fabrics-sort-select { display: none !important; }
#wizard-modal .fabrics-toolbar.sa-has-filter .fabrics-search { grid-column: auto; min-height: 42px; }
#wizard-modal .fabrics-toolbar.sa-has-filter .fabrics-filter-check { grid-column: auto; justify-self: stretch; min-height: 42px; padding: 0 .75rem; font-size: .78rem !important; white-space: nowrap; }
.sa-filter { position: relative; }
.sa-filter__toggle {
	display: inline-flex; align-items: center; gap: .4rem;
	min-height: 42px; padding: 0 .9rem;
	border: 0; border-radius: 999px;
	background: #0E2449; color: #FAF7F0;
	font: 600 .78rem 'Outfit', sans-serif; white-space: nowrap; cursor: pointer;
}
.sa-filter__count { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; background: #EEB53E; color: #0E2449; font-size: .66rem; }
.sa-filter__count[hidden] { display: none; }
.sa-filter__menu {
	position: absolute; right: 0; top: calc(100% + 8px); z-index: 30;
	width: 230px; padding: .4rem;
	border-radius: 18px; background: #fff;
	box-shadow: 0 20px 50px rgba(14, 36, 73, .2), inset 0 0 0 1px rgba(28, 59, 107, .08);
	opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: opacity .3s, transform .4s var(--wz-ease), visibility .3s;
}
.sa-filter.is-open .sa-filter__menu { opacity: 1; visibility: visible; transform: none; }
.sa-filter__group { position: relative; }
.sa-filter__group-btn, .sa-filter__opt, .sa-filter__reset {
	display: flex; align-items: center; gap: .5rem; width: 100%;
	min-height: 42px; padding: .4rem .75rem;
	border: 0; border-radius: 12px; background: transparent;
	font: 500 .85rem 'Outfit', sans-serif; color: #0E2449; text-align: left; cursor: pointer;
}
.sa-filter__group-btn:hover, .sa-filter__group.is-open > .sa-filter__group-btn, .sa-filter__opt:hover { background: #F4EEE3; }
.sa-filter__group-btn svg { margin-left: auto; flex-shrink: 0; transition: transform .3s; }
.sa-filter__current { font-style: normal; font-size: .72rem; color: #D49E2D; max-width: 80px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sa-filter__sub {
	position: absolute; top: -.4rem; right: calc(100% + 8px);
	width: 210px; max-height: 320px; overflow-y: auto; padding: .4rem;
	border-radius: 18px; background: #fff;
	box-shadow: 0 20px 50px rgba(14, 36, 73, .2), inset 0 0 0 1px rgba(28, 59, 107, .08);
	opacity: 0; visibility: hidden; transform: translateX(6px);
	transition: opacity .25s, transform .35s var(--wz-ease), visibility .25s;
}
.sa-filter__group.is-open > .sa-filter__sub { opacity: 1; visibility: visible; transform: none; }
@media (hover: hover) and (min-width: 769px) {
	.sa-filter__group:hover > .sa-filter__sub { opacity: 1; visibility: visible; transform: none; }
	.sa-filter__group:hover > .sa-filter__group-btn { background: #F4EEE3; }
}
.sa-filter__opt.is-on { background: #0E2449; color: #FAF7F0; }
.sa-filter__dot { width: 14px; height: 14px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); flex-shrink: 0; }
.sa-filter__reset { margin-top: .2rem; border-top: 1px solid rgba(28, 59, 107, .1); border-radius: 0 0 12px 12px; color: #B3261E; font-size: .8rem; }
.sa-filter-empty { grid-column: 1 / -1; padding: 1rem 0; text-align: center; color: #5E6472; font-size: .9rem; }
#wizard-modal .fabric-card[hidden] { display: none !important; }

/* 4 tessuti per riga, visibili subito */
#wizard-modal .fabrics-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: .5rem !important; }
#wizard-modal .fabric-card { border-radius: 14px; }
#wizard-modal .fabric-preview-box { margin: 4px; border-radius: 10px; aspect-ratio: 1 / 1; height: auto !important; }
#wizard-modal .fabric-preview-box img { width: 100%; height: 100%; object-fit: cover; }
#wizard-modal .fabric-info-box { padding: .1rem .45rem .5rem !important; }
#wizard-modal .fabric-name { font-size: .74rem !important; line-height: 1.2; }
#wizard-modal .fabric-card .fabric-desc, #wizard-modal .fabric-card .fabric-meta, #wizard-modal .fabric-card .fabric-type { display: none !important; }
#wizard-modal .card-select-indicator { width: 18px !important; height: 18px !important; top: 6px !important; right: 6px !important; }
#wizard-modal .fabric-card__badge-unavailable { top: 4px; left: 4px; padding: .1rem .35rem; font-size: .52rem; }

/* ------------------------------------------------------ misure: taglia + box */
#wizard-modal .sa-size-block { max-width: 760px; margin: 0 0 1.2rem; }
#wizard-modal .sa-size-block__title {
	margin: 0 0 .3rem;
	font-family: 'Libre Bodoni', Georgia, serif; font-weight: 400;
	font-size: clamp(1.9rem, 7vw, 2.5rem); line-height: 1.05; color: #0E2449;
}
#wizard-modal .sa-size-block__title em { font-style: italic; color: #D49E2D; }
#wizard-modal .sa-size-block__lead { margin: 0 0 .9rem; font-size: .9rem; color: #5E6472; }
#wizard-modal .sa-size-block .sizes-preset-bar { margin: 0 !important; padding: .8rem !important; }
#wizard-modal .sa-size-block .sizes-preset-label { display: none; }
#wizard-modal .sa-size-block .sizes-chips { gap: .4rem; }
#wizard-modal .sa-size-block .size-chip { min-width: 54px; }

#wizard-modal .sa-measure-box {
	max-width: 760px; margin: 0 0 1rem; padding: 1.2rem;
	border-radius: 24px; background: #fff;
	box-shadow: inset 0 0 0 1px var(--wz-line), 0 14px 30px rgba(14, 36, 73, .06);
}
#wizard-modal .sa-measure-box__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: 1rem; }
#wizard-modal .sa-measure-box__title { margin: 0; font-family: 'Libre Bodoni', Georgia, serif; font-weight: 400; font-size: 1.6rem; color: #0E2449; }
#wizard-modal .sa-measure-box .size-guide-trigger { min-height: 42px; background: #FFF3D6; box-shadow: none; }
#wizard-modal .sa-measure-box .measurements-layout { display: grid !important; gap: .8rem; max-width: none; margin: 0; }
#wizard-modal .sa-measure-box .visual-guide-col, #wizard-modal .sa-measure-box .form-inputs-col { width: 100% !important; max-width: none !important; flex: none !important; }
#wizard-modal .sa-measure-box .instruction-card { padding: 1rem 1rem .9rem; margin: 0; box-shadow: none; background: #FAF7F0; }
#wizard-modal .sa-measure-box .instruction-card .card-tag { display: none; }
#wizard-modal .sa-measure-box .instruction-card h4 { font-size: 1.1rem; margin-bottom: .3rem; }
#wizard-modal .sa-measure-box .form-inputs-col { padding: 0 !important; background: transparent; box-shadow: none; }

/* ------------------------------------------- personalizza: scelto = invertito */
#wizard-modal .personalize-option__card:hover { box-shadow: inset 0 0 0 2px #0E2449 !important; background: #fff !important; }
#wizard-modal .personalize-option input:checked + .personalize-option__card,
#wizard-modal .personalize-option input:checked + .personalize-option__card:hover { background: #0E2449 !important; box-shadow: 0 14px 30px rgba(14, 36, 73, .25) !important; }
#wizard-modal .personalize-option input:checked + .personalize-option__card .personalize-option__label { color: #FAF7F0; }
#wizard-modal .personalize-option input:checked + .personalize-option__card .personalize-option__desc { color: rgba(250, 247, 240, .72); }
#wizard-modal .personalize-option input:checked + .personalize-option__card::before { background-color: rgba(238, 181, 62, .18); }
#wizard-modal .personalize-option input:checked + .personalize-option__card::after { background-color: #EEB53E; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2449' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E"); }

/* trascina e rilascia */
#wizard-modal .upload-dropzone { transition: background .3s, border-color .3s, transform .4s var(--wz-ease); cursor: pointer; }
#wizard-modal .upload-dropzone.is-over { background: #FFF3D6; border-color: #0E2449 !important; transform: scale(1.01); }
#wizard-modal .upload-dropzone.is-error { border-color: #B3261E !important; background: #FBE9E7; }

/* ----------------------------------------------------------- anteprima */
/* il figurino disegna gia' la sua ombra: niente seconda ombra del palco */
#wizard-modal .preview2d-stage::after { display: none !important; }
/* rettangolo verticale piu' alto; su mobile resta ferma nel flusso */
#wizard-modal .wizard-preview-panel { position: static !important; }
#wizard-modal .preview3d-frame,
#wizard-modal #preview3d-container,
#wizard-modal .preview2d-stage { height: 300px !important; }

@media (max-width: 900px) {
	/* titolo compatto: la prima fila di tessuti si vede senza scorrere */
	#wizard-modal[data-sa-step="3"] .step-instruction { margin: .2rem 0 .8rem; }
	#wizard-modal[data-sa-step="3"] .step-instruction::before { display: none; }
	#wizard-modal[data-sa-step="3"] .step-instruction h2 { font-size: 1.6rem; }
	#wizard-modal[data-sa-step="3"] .step-instruction p { display: none; }
	#wizard-modal[data-sa-step="3"] .preview3d-caption { margin-top: .35rem; }
	#wizard-modal[data-sa-step="3"] .model-price-display,
	#wizard-modal[data-sa-step="3"] .wizard-recap,
	#wizard-modal[data-sa-step="3"] .preview-outfit-strip { display: none !important; }
}
@media (max-width: 768px) {
	#wizard-modal .wizard-logo { height: 52px; }
	#wizard-modal .progress-step .step-label { font-size: .56rem; letter-spacing: .04em; }
	#wizard-modal .fabrics-toolbar.sa-has-filter { grid-template-columns: 1fr auto; }
	#wizard-modal .fabrics-toolbar.sa-has-filter .fabrics-search { grid-column: 1 / -1; }
	#wizard-modal .fabrics-toolbar.sa-has-filter .fabrics-filter-check { justify-self: start; }
	/* su mobile i sottomenu si aprono sotto la voce, dentro il pannello */
	.sa-filter__menu { width: min(280px, calc(100vw - 32px)); }
	.sa-filter__sub { position: static; width: auto; max-height: 0; overflow: hidden; padding: 0 .4rem; box-shadow: none; opacity: 1; visibility: visible; transform: none; transition: max-height .35s var(--wz-ease), padding .3s; }
	.sa-filter__group.is-open > .sa-filter__sub { max-height: 260px; overflow-y: auto; padding: .2rem .4rem .4rem; }
	.sa-filter__group.is-open > .sa-filter__group-btn svg { transform: rotate(90deg); }
}
@media (min-width: 901px) {
	#wizard-modal .wizard-header { padding: 14px 28px; }
	#wizard-modal .wizard-header-top { margin: 0; }
	#wizard-modal .wizard-logo { height: 72px; }
	#wizard-modal .wizard-progress-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 44%; max-width: 620px; }
	#wizard-modal .progress-step .step-label { font-size: .64rem; letter-spacing: .12em; }
	#wizard-modal .wizard-preview-panel { position: sticky !important; top: 1.2rem; flex-basis: 400px !important; }
	#wizard-modal .preview3d-frame,
	#wizard-modal #preview3d-container,
	#wizard-modal #wizard-preview-panel .preview2d-stage { height: clamp(360px, calc(100vh - 400px), 560px) !important; }
}

@media (prefers-reduced-motion: reduce) {
	#wizard-modal *, #wizard-modal *::before, #wizard-modal *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ------------------------------------------ anteprima a schermo intero */
#wizard-modal .sa-preview-fs {
	position: absolute; right: 14px; bottom: 14px; z-index: 7;
	display: grid; place-items: center; width: 44px; height: 44px; padding: 0;
	border: 0; border-radius: 50%; cursor: zoom-in;
	background: rgba(255, 255, 255, .92); color: #0E2449;
	box-shadow: 0 6px 18px rgba(14, 36, 73, .18), inset 0 0 0 1px rgba(14, 36, 73, .08);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	transition: transform .25s, background .25s, color .25s;
}
#wizard-modal .sa-preview-fs[hidden] { display: none; }
#wizard-modal .sa-preview-turn {
	position: absolute; right: 66px; bottom: 14px; z-index: 7;
	display: inline-flex; align-items: center; gap: .45rem; height: 44px; padding: 0 14px 0 12px;
	border: 0; border-radius: 999px; cursor: pointer;
	background: rgba(255, 255, 255, .92); color: #0E2449;
	font: 600 .82rem/1 'Outfit', system-ui, sans-serif; letter-spacing: .02em;
	box-shadow: 0 6px 18px rgba(14, 36, 73, .18), inset 0 0 0 1px rgba(14, 36, 73, .08);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	transition: background .25s, color .25s, transform .25s;
}
#wizard-modal .sa-preview-turn[hidden] { display: none; }
#wizard-modal .sa-preview-turn svg { width: 18px; height: 18px; transition: transform .45s cubic-bezier(.2,.8,.2,1); }
#wizard-modal .sa-preview-turn:hover { background: #0E2449; color: #FAF7F0; }
#wizard-modal .sa-preview-turn:hover svg { transform: rotate(180deg); }
#wizard-modal .sa-preview-turn.is-back { background: #0E2449; color: #FAF7F0; }
#wizard-modal .sa-preview-turn:focus-visible { outline: 3px solid #EEB53E; outline-offset: 2px; }
.sa-zoom__turn svg { width: 22px; height: 22px; }
.sa-zoom__turn[hidden] { display: none !important; }
#wizard-modal .sa-preview-fs svg { width: 19px; height: 19px; }
#wizard-modal .sa-preview-fs:hover { background: #0E2449; color: #FAF7F0; transform: scale(1.06); }
#wizard-modal .sa-preview-fs:focus-visible { outline: 3px solid #EEB53E; outline-offset: 2px; }

.sa-zoom {
	position: fixed; inset: 0; z-index: 100000;
	display: grid; grid-template-rows: auto 1fr auto;
	background: #FAF7F0;
	background-image: linear-gradient(rgba(14, 36, 73, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(14, 36, 73, .045) 1px, transparent 1px);
	background-size: 28px 28px;
	opacity: 0; transition: opacity .25s ease;
	padding: max(12px, env(safe-area-inset-top)) 16px max(14px, env(safe-area-inset-bottom));
}
.sa-zoom.is-open { opacity: 1; }
.sa-zoom__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 48px; }
.sa-zoom__title { font-family: 'Libre Bodoni', Georgia, serif; font-style: italic; font-size: 1.05rem; color: #0E2449; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sa-zoom__close, .sa-zoom__tools button {
	display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; padding: 0;
	border: 0; border-radius: 50%; cursor: pointer;
	background: #fff; color: #0E2449; font-size: 1.5rem; line-height: 1;
	box-shadow: 0 6px 18px rgba(14, 36, 73, .14), inset 0 0 0 1px rgba(14, 36, 73, .08);
}
.sa-zoom__close svg { width: 22px; height: 22px; }
.sa-zoom__close:hover, .sa-zoom__tools button:hover { background: #0E2449; color: #FAF7F0; }
.sa-zoom__close:focus-visible, .sa-zoom__tools button:focus-visible { outline: 3px solid #EEB53E; outline-offset: 2px; }
.sa-zoom__stage { position: relative; min-height: 0; overflow: hidden; touch-action: none; cursor: zoom-in; user-select: none; -webkit-user-select: none; }
.sa-zoom.is-zoomed .sa-zoom__stage { cursor: grab; }
.sa-zoom.is-zoomed .sa-zoom__stage:active { cursor: grabbing; }
.sa-zoom__canvas { position: absolute; inset: 0; transform-origin: 50% 50%; will-change: transform; }
.sa-zoom .preview2d-stage { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; transform: none !important; background: transparent !important; }
.sa-zoom .preview2d-stage::before, .sa-zoom .preview2d-stage::after { display: none !important; }
/* a tutto schermo il capo usa quasi tutto lo spazio (nel riquadro piccolo ha il 12% di margine) */
.sa-zoom .preview2d-layer { inset: 2% 3% !important; }
.sa-zoom .preview2d-loading, .sa-zoom .preview2d-empty { display: none !important; }
.sa-zoom__tools { display: flex; align-items: center; justify-content: center; gap: 1rem; padding-top: .6rem; }
.sa-zoom__hint { font-size: .82rem; color: #5E6472; text-align: center; }
.sa-zoom.is-zoomed .sa-zoom__hint { visibility: hidden; }
@media (prefers-reduced-motion: reduce) { .sa-zoom { transition: none; } }

/* Personalizza: una linea separa il capo dall'ultimo passo e ogni personalizzazione ha il suo
   blocco con titolo, cosi' Stampa / Iniziali / Trame Napoletane / Immagine non si confondono */
#wizard-modal #step-personalize .step-instruction { position: relative; padding-top: 1.3rem; margin-top: .4rem; border-top: 1px solid rgba(14, 36, 73, .14); }
#wizard-modal #step-personalize .step-instruction::before { content: ''; position: absolute; top: -1px; left: 0; width: 64px; height: 3px; border-radius: 3px; background: #EEB53E; }
#wizard-modal #step-personalize .perso-subpanel,
#wizard-modal #step-personalize .personalize-upload,
#wizard-modal #step-personalize .personalize-notes { position: relative; margin-top: 1.6rem; padding-top: 1.3rem; border-top: 1px solid rgba(14, 36, 73, .14); }
#wizard-modal #step-personalize .perso-subpanel[hidden] { display: none; }
#wizard-modal #step-personalize .perso-subpanel::before { display: block; margin-bottom: .7rem; font: 700 .72rem 'Outfit', sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #B9861F; }
#wizard-modal #step-personalize .perso-subpanel[data-perso="ricami-napoli"]::before { content: 'Trame Napoletane · i tuoi ricami'; }
#wizard-modal #step-personalize .perso-subpanel[data-perso="iniziali"]::before { content: 'Iniziali ricamate'; }
#wizard-modal #step-personalize .personalize-upload::before { content: 'Immagine di riferimento'; display: block; margin-bottom: .4rem; font: 700 .72rem 'Outfit', sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #B9861F; }
#wizard-modal #step-personalize .personalize-notes::before { content: 'Note per la sarta'; display: block; margin-bottom: .4rem; font: 700 .72rem 'Outfit', sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #B9861F; }

/* ===================================================================== telefono (ottobre 2026)
   header compatto, capo sempre in vista (si rimpicciolisce scorrendo), guida sotto il campo */
@media (max-width: 768px) {
	#wizard-modal .wizard-header { padding: max(8px, env(safe-area-inset-top)) 12px 8px !important; }
	#wizard-modal .wizard-header-top { margin-bottom: .45rem; }
	#wizard-modal .wizard-logo { height: 32px !important; max-height: 32px !important; }
	#wizard-modal .wizard-close-btn, #wizard-modal .wizard-header-cart { width: 38px !important; height: 38px !important; }
	#wizard-modal .progress-step .step-num { width: 26px !important; height: 26px !important; font-size: .72rem; }
	#wizard-modal .progress-step.active .step-num { transform: scale(1.08); box-shadow: 0 0 0 4px rgba(238, 181, 62, .28); }
	#wizard-modal .wizard-progress-bar .progress-line { top: 12px !important; height: 3px !important; }
	/* solo il nome del passo attuale: gli altri sono i numeri */
	#wizard-modal .progress-step .step-label { font-size: .58rem !important; margin-top: 2px; }
	#wizard-modal .progress-step:not(.active) .step-label { opacity: 0; height: 0; overflow: hidden; }
}
@media (max-width: 900px) {
	#wizard-modal .wizard-preview-panel { position: sticky !important; top: -24px; z-index: 6; background: #FBF8F2; margin-top: -24px; padding-top: 24px; transition: box-shadow .3s, padding .3s; }
	#wizard-modal .wizard-preview-panel .preview3d-frame,
	#wizard-modal .wizard-preview-panel #preview3d-container,
	#wizard-modal .wizard-preview-panel .preview2d-stage { height: min(300px, 38vh) !important; transition: height .4s cubic-bezier(.2, .8, .2, 1); }
	/* scorrendo: il capo resta in alto, piccolo, mentre scegli stoffa, misure e il resto */
	#wizard-modal.sa-preview-mini .wizard-preview-panel { box-shadow: 0 10px 24px -14px rgba(14, 36, 73, .35); padding-bottom: 6px; }
	#wizard-modal.sa-preview-mini .wizard-preview-panel .preview3d-frame,
	#wizard-modal.sa-preview-mini .wizard-preview-panel #preview3d-container,
	#wizard-modal.sa-preview-mini .wizard-preview-panel .preview2d-stage { height: 132px !important; }
	#wizard-modal.sa-preview-mini .sa-preview-fs,
	#wizard-modal.sa-preview-mini .preview3d-caption,
	#wizard-modal.sa-preview-mini #preview-views,
	#wizard-modal.sa-preview-mini .model-price-display,
	#wizard-modal.sa-preview-mini .wizard-recap,
	#wizard-modal.sa-preview-mini .preview-outfit-strip { display: none !important; }
	#wizard-modal.sa-preview-mini .sa-preview-turn { transform: scale(.82); transform-origin: bottom right; }
	#wizard-modal.sa-preview-mini .sa-preview-turn__txt { display: none; }
	/* misure: la guida compare sotto il campo che stai compilando */
	#wizard-modal #instruction-card.sa-guida-campo { margin: .4rem 0 1rem; min-height: 0; animation: saGuida .35s cubic-bezier(.2, .8, .2, 1); }
	@keyframes saGuida { from { opacity: 0; transform: translateY(-6px); } }
}


/* configuratore su schermi grandi: piu' largo, capo piu' grande */
@media (min-width: 1600px) {
	#wizard-modal .wizard-main-layout { max-width: 1440px; gap: 3.5rem; }
	#wizard-modal .wizard-preview-panel { flex-basis: 460px !important; }
	#wizard-modal .wizard-logo { height: 78px; }
}
@media (min-width: 1920px) {
	#wizard-modal .wizard-main-layout { max-width: 1600px; gap: 4rem; }
	#wizard-modal .wizard-preview-panel { flex-basis: 540px !important; }
	#wizard-modal .preview3d-frame, #wizard-modal #preview3d-container, #wizard-modal #wizard-preview-panel .preview2d-stage { height: clamp(420px, calc(100vh - 380px), 720px) !important; }
	#wizard-modal .wizard-progress-bar { max-width: 760px; }
	#wizard-modal .step-instruction { max-width: 60ch; }
}
@media (min-width: 2240px) {
	#wizard-modal .wizard-main-layout { max-width: 1840px; gap: 5rem; }
	#wizard-modal .wizard-preview-panel { flex-basis: 640px !important; }
	#wizard-modal .preview3d-frame, #wizard-modal #preview3d-container, #wizard-modal #wizard-preview-panel .preview2d-stage { height: clamp(520px, calc(100vh - 420px), 900px) !important; }
	#wizard-modal .wizard-logo { height: 90px; }
	#wizard-modal .wizard-progress-bar { max-width: 900px; }
	#wizard-modal .progress-step .step-num { width: 40px !important; height: 40px !important; }
}
@media (min-width: 1600px) { #wizard-modal .wizard-logo { max-height: none !important; width: auto; } }

/* ottobre 2026 (Marco): desktop compatto, tutto in vista senza scorrere */
#wizard-modal .size-chip { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; }
#wizard-modal .size-chip small { font-size: .62rem; font-weight: 500; opacity: .65; margin-top: 1px; }
@media (min-width: 1100px) {
	/* scelta iniziale: i due riquadri piu' in alto */
	#wizard-modal #step-mode .step-instruction { margin-top: .6rem; }
	#wizard-modal .mode-card { min-height: 0; padding: 1.8rem 2rem; align-content: start; }
	#wizard-modal .mode-card h3 { font-size: 2rem; }
	/* modelli: tutte le icone su una riga (o due), senza scorrere */
	#wizard-modal .model-grid, #wizard-modal #model-container { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)) !important; gap: .6rem !important; overflow: visible !important; flex-wrap: wrap; }
	#wizard-modal .model-card { min-height: 118px; padding: .8rem .5rem !important; }
	#wizard-modal .model-card__icon { width: 46px !important; height: 46px !important; }
	/* dettagli: tutte le varianti in vista (4-5 colonne, schede basse) */
	#wizard-modal .detail-options { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; }
	#wizard-modal .detail-card { min-height: 44px; padding: .35rem .55rem; font-size: .82rem; }
	/* stoffe: tutte in vista */
	#wizard-modal .fabrics-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important; }
}
@media (min-width: 1500px) { #wizard-modal .detail-options { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* misure: la guida non resta piu' "appiccicata" sopra i campi mentre si scorre */
#wizard-modal .sa-measure-box .visual-guide-col, #wizard-modal .visual-guide-col { position: static !important; }
/* personalizza su desktop: le tre scelte restano in fila, il pannello aperto si apre sotto la fila */
@media (min-width: 560px) {
	#wizard-modal .personalize-options .personalize-option { order: 0; }
	#wizard-modal .personalize-options .sa-perso-fisa { order: 5; }
}
