/*
 * CUSTOM CSS — MyGreenHelp Aiuola Configurator
 * Design: Botanical Garden — Organic, refined, nature-inspired
 */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
    --forest: #136617;
    --forest-medium: #1a7d1f;
    --leaf: #28a32d;
    --leaf-light: #45c44a;
    --sage: #7ec882;
    --moss: #c8dcc0;
    --cream: #f7f5f0;
    --cream-warm: #faf8f3;
    --earth-light: #c4a97d;
    --white: #ffffff;
    --text-primary: #2a2a28;
    --text-secondary: #5a5a56;
    --text-muted: #8a8a85;
    --border: #e0ddd5;
    --border-light: #eceae3;
    --shadow-soft: 0 2px 20px rgba(26,58,42,0.06);
    --shadow-card: 0 4px 24px rgba(26,58,42,0.08);
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 20px;
    --radius-xl: 28px;
    --transition: 280ms cubic-bezier(0.4,0,0.2,1);
    --option-title-size: clamp(22px, 1.65vw, 30px);
}

/* === RESET & VISIBILITY === */
html, body { opacity:1!important; visibility:visible!important; display:block!important; }
* { margin:0; padding:0; box-sizing:border-box!important; }
html { -webkit-text-size-adjust:100%; }

body {
    font-family:'Poppins',-apple-system,BlinkMacSystemFont,sans-serif!important;
    background:var(--cream)!important;
    color:var(--text-primary)!important;
    line-height:1.65!important;
    width:100%!important;
    max-width:none!important;
    min-height:100vh!important;
    margin:0!important;
    overflow-x:hidden;
    opacity:1!important;
    animation:none!important;
    position:relative!important;
    transform:none!important;
}
body.loaded { opacity:1!important; }

/* Typography baseline for all configurator steps */
body,
body input,
body textarea,
body select,
body button,
body label,
body td,
body th,
body .text,
body .rowname,
body .rowdesc,
body .button,
body .wPaint-text-input {
    font-family:'Poppins',-apple-system,BlinkMacSystemFont,sans-serif!important;
}

/* Keep icon fonts intact */
body .fa,
body .fas,
body .far,
body .fab {
    font-family:"Font Awesome 5 Free","FontAwesome"!important;
}

body::before {
    content:''; position:fixed; top:0; left:0; right:0; bottom:0;
    background: radial-gradient(circle at 20% 20%, rgba(61,139,94,0.03) 0%, transparent 50%),
                radial-gradient(circle at 80% 80%, rgba(196,169,125,0.04) 0%, transparent 50%);
    pointer-events:none; z-index:0;
}

/* === MAIN CONTAINER === */
body .maincont {
    position:relative; z-index:1;
    padding:40px 36px!important;
    background:var(--white)!important;
    border-radius:var(--radius-xl)!important;
    box-shadow:var(--shadow-card)!important;
    margin:28px auto!important;
    max-width:1660px!important;
    width:min(1660px,calc(100vw - 36px))!important;
    border:1px solid var(--border-light);
}

body .maincont > .container {
    width:100%!important;
    max-width:1600px!important;
    margin:0 auto!important;
    padding:0 16px!important;
}

body .maincont .selectcont {
    min-height:300px; padding:20px 0;
    display:block!important; width:100%!important;
    opacity:1!important; visibility:visible!important;
}
.maincont, .selectcont, .itemscont { opacity:1!important; visibility:visible!important; }

/* === TYPOGRAPHY === */
.text { font-size:15px!important; font-weight:400!important; color:var(--text-secondary)!important; line-height:1.65!important; }

.text.big {
    font-family:'Poppins',sans-serif!important;
    font-size:clamp(22px,4vw,30px)!important;
    line-height:1.25!important; font-weight:700!important;
    text-transform:none!important; color:var(--forest)!important;
    margin-bottom:12px!important; letter-spacing:-0.01em;
}
.text.medium { font-size:14px!important; color:var(--leaf)!important; font-weight:500!important; }
.text.red { color:var(--leaf)!important; }
.text-center { text-align:center!important; }

/* Step header with dynamic progress */
.step-header {
    margin-bottom:14px;
}
.step-title {
    margin-bottom:10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px;
}
.step-title-badge {
    width:36px;
    height:36px;
    border-radius:50%;
    background:var(--forest);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    font-weight:700;
    line-height:1;
    font-family:'Poppins',-apple-system,BlinkMacSystemFont,sans-serif!important;
}
.step-title-text {
    display:inline-block;
}
.step-jump-nav {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:center;
    margin:0 auto 10px;
    max-width:1120px;
}
.step-jump-item {
    border:1px solid var(--border);
    background:#fff;
    color:var(--text-secondary);
    border-radius:999px;
    padding:6px 10px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
    transition:all var(--transition);
    font-family:'Poppins',-apple-system,BlinkMacSystemFont,sans-serif!important;
}
.step-jump-item .step-jump-index {
    width:22px;
    height:22px;
    border-radius:50%;
    border:1px solid var(--border);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:700;
}
.step-jump-item .step-jump-label {
    font-size:12px;
    font-weight:600;
    line-height:1.1;
}
.step-jump-item.done {
    border-color:#b8e0bf;
    background:#f4fcf6;
    color:var(--forest);
}
.step-jump-item.done .step-jump-index {
    border-color:#b8e0bf;
    background:#e6f8ea;
    color:var(--forest);
}
.step-jump-item.active {
    border-color:var(--leaf);
    background:#edf9f0;
    color:var(--forest);
}
.step-jump-item.active .step-jump-index {
    border-color:var(--leaf);
    background:var(--leaf);
    color:#fff;
}
.step-jump-item:hover {
    border-color:var(--sage);
    transform:translateY(-1px);
}
.step-jump-item.locked,
.step-jump-item:disabled {
    opacity:0.5;
    cursor:not-allowed;
    background:#f7f7f7;
    color:#9aa0a6;
    border-color:#e5e7eb;
    transform:none!important;
}
.step-progress-meta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0 auto 8px;
    max-width:620px;
    color:var(--text-muted);
    font-size:12px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.04em;
}
.step-progress {
    height:10px;
    max-width:620px;
    margin:0 auto;
    background:#eef1ea;
    border:1px solid var(--border-light);
    border-radius:999px;
    overflow:hidden;
}
.step-progress-fill {
    height:100%;
    background:linear-gradient(90deg,var(--leaf) 0%,var(--forest-medium) 100%);
    border-radius:999px;
    transition:width 320ms ease;
}

/* === INFO BUTTON === */
.infobutton {
    position:fixed!important; right:20px!important; top:20px!important;
    width:44px!important; height:44px!important; border-radius:50%!important;
    background:var(--forest)!important; color:var(--white)!important;
    display:flex!important; align-items:center!important; justify-content:center!important;
    font-size:18px!important; font-weight:600!important;
    box-shadow:var(--shadow-card)!important; z-index:1000!important;
    cursor:pointer!important; transition:var(--transition)!important;
    border:2px solid rgba(255,255,255,0.15)!important;
}
.infobutton:hover { background:var(--forest-medium)!important; transform:scale(1.05); }

/* === SELECTION CARDS === */
.itemscont {
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))!important;
    gap:16px!important; width:100%!important; margin:24px 0;
}

.item {
    background:var(--white)!important; border:2px solid var(--border)!important;
    border-radius:var(--radius-lg)!important; padding:16px!important;
    cursor:pointer!important; transition:all var(--transition)!important;
    position:relative!important; overflow:hidden!important;
    -webkit-tap-highlight-color:transparent;
}
.item:hover { border-color:var(--sage)!important; box-shadow:var(--shadow-soft)!important; transform:translateY(-2px); }

.item.selected, .item.active {
    border-color:var(--leaf)!important;
    background:linear-gradient(145deg,var(--white) 0%,#f0f7f2 100%)!important;
    box-shadow:0 0 0 3px rgba(61,139,94,0.12),var(--shadow-card)!important;
}

.item.selected::after {
    content:'✓'!important; position:absolute!important; top:10px!important; right:10px!important;
    width:26px!important; height:26px!important; border-radius:50%!important;
    background:var(--leaf)!important; color:white!important;
    display:flex!important; align-items:center!important; justify-content:center!important;
    font-size:13px!important; font-weight:bold!important;
    box-shadow:0 2px 8px rgba(61,139,94,0.3)!important;
}

.item .image, .item .backimage {
    height:140px!important; width:100%!important;
    border-radius:var(--radius-md)!important; margin-bottom:10px!important;
    background-size:cover!important; background-position:center!important;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,0.06)!important;
}

.item .text { font-size:14px!important; font-weight:600!important; color:var(--text-primary)!important; text-align:center!important; }
.item .text {
    font-size:var(--option-title-size)!important;
    font-weight:700!important;
    line-height:1.16!important;
    letter-spacing:-0.01em;
}
.item.selected .text { color:var(--forest)!important; }
.item.inline { display:inline-block!important; width:calc(33.33% - 12px)!important; vertical-align:top!important; margin:0!important; }

.item .iteminputs { font-size:13px!important; text-align:left!important; margin-top:12px!important; padding-top:12px!important; border-top:1px solid var(--border-light)!important; }
.item .iteminputs label { display:flex!important; align-items:center!important; gap:8px!important; padding:4px 0!important; cursor:pointer; color:var(--text-secondary); font-size:13px; }
.item .iteminputs input[type="checkbox"] { width:16px!important; height:16px!important; accent-color:var(--leaf); }

/* === STEP GRANDEZZA (CARD PREZZI) === */
.selectcont.index0 .itemscont {
    display:block!important;
    margin:20px 0!important;
}
.selectcont.index0 .itemsrow {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
    max-width:1320px;
    margin:0 auto!important;
}
.selectcont.index0 .item {
    border-color:#d1d5db!important;
    border-width:3px!important;
    border-radius:14px!important;
    padding:18px!important;
    box-shadow:none!important;
    min-height:240px;
    width:100%!important;
    margin:0!important;
    display:block!important;
}
.selectcont.index0 .item:hover {
    transform:none!important;
    border-color:#9ca3af!important;
}
.selectcont.index0 .item.selected {
    border-color:#10b981!important;
    background:#ecfdf5!important;
    box-shadow:none!important;
}
.selectcont.index0 .size-card-content { text-align:center; }
.selectcont.index0 .size-title {
    font-size:var(--option-title-size)!important;
    line-height:1.2!important;
    font-weight:700!important;
    color:#1f2937!important;
    margin-bottom:8px!important;
}
.selectcont.index0 .size-subtitle {
    font-size:14px!important;
    font-weight:600!important;
    color:#374151!important;
    margin-bottom:4px!important;
}
.selectcont.index0 .size-description {
    font-size:13px!important;
    color:#6b7280!important;
    margin-bottom:12px!important;
}
.selectcont.index0 .size-divider {
    height:1px; background:#d1d5db; margin:10px 0 12px;
}
.selectcont.index0 .size-price {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
}
.selectcont.index0 .size-price-main {
    font-size:30px!important;
    font-weight:800!important;
    color:#059669!important;
    line-height:1;
}
.selectcont.index0 .size-price-vat {
    font-size:12px;
    color:#1f6f4b;
    font-weight:600;
    letter-spacing:0.02em;
}

/* === STEP 6 (BUDGET) === */
.selectcont.index5 .itemscont {
    display:block!important;
    margin:20px 0!important;
}
.selectcont.index5 .itemsrow {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:20px!important;
    max-width:1320px;
    margin:0 auto!important;
    align-items:stretch;
}
.selectcont.index5 .item {
    border-color:#dbe6de!important;
    border-width:3px!important;
    border-radius:16px!important;
    padding:22px!important;
    box-shadow:0 2px 12px rgba(20,86,57,0.06)!important;
    min-height:360px;
    width:100%!important;
    margin:0!important;
    display:block!important;
    background:#ffffff!important;
}
.selectcont.index5 .item:hover {
    transform:none!important;
    border-color:#8ebfa1!important;
    box-shadow:0 8px 22px rgba(20,86,57,0.12)!important;
}
.selectcont.index5 .item.selected {
    border-color:#1ca266!important;
    background:linear-gradient(180deg,#f5fcf8 0%,#ecf8f1 100%)!important;
    box-shadow:0 10px 24px rgba(28,162,102,0.17)!important;
}
.budget-card-content {
    text-align:left;
    padding-top:6px;
    display:flex;
    flex-direction:column;
    height:100%;
    gap:8px;
}
.budget-tier {
    font-size:var(--option-title-size)!important;
    line-height:1.2!important;
    color:#1c2f29!important;
    margin-bottom:2px!important;
    text-align:center;
    white-space:normal!important;
    overflow-wrap:anywhere;
}
.budget-info-list > div {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    font-weight:600;
}
.budget-tier-subtitle-inline {
    font-size:16px;
    color:#1b6b47;
    font-weight:600;
    text-align:center;
    margin-bottom:4px;
}
.budget-tier-points-inline {
    display:grid;
    gap:4px;
    margin-bottom:6px;
}
.budget-tier-point-inline {
    font-size:14px;
    line-height:1.35;
    color:#1f5f42;
}
.budget-tier-note-inline {
    margin-top:2px;
    font-size:14px;
    line-height:1.35;
    color:#236c49;
    font-style:italic;
}
.budget-divider {
    height:1px;
    background:#d7e3db;
    margin:12px 0 12px;
}
.budget-range {
    font-size:20px!important;
    line-height:1.25!important;
    color:#0f8b4e!important;
    font-weight:700!important;
    text-align:center;
    margin-top:auto;
}
.budget-range-vat {
    margin-top:3px;
    font-size:12px;
    color:#1f6f4b;
    font-weight:600;
    letter-spacing:0.02em;
    text-align:center;
}

.budget-info-box {
    margin-top:18px;
    padding:20px;
    border:1px solid #b9dcc7;
    border-radius:16px;
    background:#f0f8f4;
    max-width:1320px;
    margin-left:auto;
    margin-right:auto;
}
.budget-info-title {
    font-size:30px;
    color:#145f39;
    margin-bottom:10px;
}
.budget-info-list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 18px;
    color:#1d6444;
    font-size:16px;
    margin-bottom:12px;
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
}
.budget-info-note {
    background:#dff1e6;
    border-radius:12px;
    padding:12px 14px;
    color:#266d4b;
    font-size:15px;
    font-style:italic;
    line-height:1.35;
}

.budget-tier-guide {
    margin-top:14px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.budget-tier-guide-card {
    background:#f6faf7;
    border:1px solid #d8e7df;
    border-radius:14px;
    padding:14px;
}
.budget-tier-guide-card.recommended {
    border-color:#79c89f;
    box-shadow:0 0 0 2px rgba(121,200,159,0.2);
    background:#eefaf2;
}
.budget-tier-guide-title {
    font-size:20px;
    font-weight:700;
    color:#1c5f41;
    margin-bottom:6px;
}
.budget-tier-guide-subtitle {
    font-size:16px;
    color:#1e6b48;
    font-weight:600;
    margin-bottom:10px;
}
.budget-tier-guide-points {
    display:grid;
    gap:6px;
}
.budget-tier-guide-point {
    font-size:14px;
    color:#215f43;
    line-height:1.35;
}
.budget-tier-guide-note {
    margin-top:10px;
    font-size:14px;
    color:#2f7350;
    font-style:italic;
    line-height:1.35;
}

/* === STEP 2 (LE PIANTE) GAP CONSISTENTE COME STEP 1 === */
.selectcont.index1 .itemsrow,
.selectcont.index2 .itemsrow,
.selectcont.info.index1 .itemsrow,
.selectcont.info.index2 .itemsrow {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
    margin:0!important;
}

/* Step 2 info: keep rows stacked and section titles full width */
.selectcont.info.index1 .itemscont {
    display:block!important;
    margin:0!important;
}
.selectcont.info.index1 .itemsrow {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
    margin:0 0 18px!important;
}
.selectcont.info.index1 .itemsrow > .rowname,
.selectcont.info.index1 .itemsrow > .rowdesc {
    grid-column:1 / -1;
}
.selectcont.info.index1 .item {
    margin:0!important;
    min-height:auto!important;
}
.selectcont.info.index1 .item .image {
    height:150px!important;
}
.selectcont.info.index1 .item .text {
    font-size:16px!important;
    line-height:1.25!important;
    font-weight:700!important;
}

/* === STEP 5 (ESPOSIZIONE) === */
.selectcont.index4 .itemscont {
    display:block!important;
    margin:20px 0!important;
}
.selectcont.index4 .itemsrow {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
    max-width:1320px;
    margin:0 auto!important;
    align-items:stretch;
}
.selectcont.index4 .item {
    width:100%!important;
    margin:0!important;
    min-height:280px;
}
.selectcont.index4 .item .text {
    font-size:var(--option-title-size)!important;
    font-weight:700!important;
}
.selectcont.index4 .item .image {
    height:170px!important;
}

.selectcont.index1 .item,
.selectcont.index2 .item,
.selectcont.info.index1 .item,
.selectcont.info.index2 .item {
    width:100%!important;
    margin:0!important;
    display:block!important;
}

.size-examples { margin-top:34px; }
.size-examples-title {
    font-size:28px!important;
    font-weight:700!important;
    text-align:center;
    color:#1f2937;
    margin-bottom:8px;
}
.size-examples-subtitle {
    text-align:center;
    color:#4b5563;
    font-size:16px;
    margin-bottom:20px;
}
.size-examples-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.size-example-card {
    border:1px solid #d1d5db;
    border-radius:14px;
    overflow:hidden;
    background:#fff;
}
.size-example-image {
    height:160px;
    background-size:cover!important;
    background-position:center!important;
}
.size-example-body { padding:14px 16px; }
.size-example-name {
    font-size:20px;
    line-height:1.2;
    font-weight:700;
    color:#1f2937;
    margin-bottom:6px;
}
.size-example-desc {
    font-size:14px;
    line-height:1.3;
    color:#4b5563;
}
.size-examples-note {
    text-align:center;
    font-size:14px;
    color:#6b7280;
    font-style:italic;
    margin-top:14px;
}

.size-benefits {
    margin-top:22px;
    background:#f0f8f4;
    border:1px solid #b9dcc7;
    border-radius:16px;
    padding:22px;
    max-width:1320px;
    margin-left:auto;
    margin-right:auto;
}
.size-benefits-title {
    font-size:30px;
    color:#145f39;
    margin-bottom:14px;
}
.size-benefits-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 22px;
}
.size-benefit-item {
    font-size:16px;
    color:#1d6444;
    line-height:1.35;
}

.size-discount-box {
    margin-top:16px;
    background:#dff1e6;
    border:1px solid #c2dfcf;
    border-radius:12px;
    padding:16px;
}
.size-discount-title {
    font-size:22px;
    color:#145f39;
    margin-bottom:10px;
}
.size-discount-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:9px 10px;
    border-radius:8px;
    color:#1d6444;
    font-size:18px;
}
.size-discount-row strong {
    color:#0f8b4e;
    font-size:30px;
    line-height:1;
}
.size-discount-row.active {
    background:#cfe9db;
    box-shadow:inset 0 0 0 1px #7dbf9f;
}
.size-discount-note {
    margin-top:8px;
    color:#266d4b;
    font-size:14px;
    font-style:italic;
}

/* === STEP 4 DESCRIPTION === */
.step4-description {
    margin-top:18px;
    padding:16px;
    background:var(--cream-warm);
    border:1px solid var(--border-light);
    border-radius:var(--radius-md);
}
.step4-description-title {
    font-size:24px;
    color:var(--forest);
    margin-bottom:6px;
}
.step4-description-subtitle {
    font-size:14px;
    color:var(--text-secondary);
    margin-bottom:10px;
}
.step4-description textarea {
    width:100%!important;
    min-height:120px;
    resize:vertical;
}

/* === STEP 4 GEOLOCATION === */
.step4-location {
    margin:4px 0 14px;
    padding:16px;
    border:1px solid var(--border-light);
    border-radius:var(--radius-md);
    background:var(--white);
}
.step4-location-title {
    font-size:24px;
    color:var(--forest);
    margin-bottom:4px;
}
.step4-location-subtitle {
    font-size:14px;
    color:var(--text-secondary);
    margin-bottom:10px;
}
.step4-location-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 12px;
    margin-bottom:10px;
}
.step4-location-field label {
    display:block;
    font-size:13px;
    font-weight:600;
    color:var(--text-primary);
    margin-bottom:4px;
}

/* === UPLOAD & DRAW === */
.drawimagecont { width:100%; margin:20px 0; }
.selectcont.index3 .drawimagecont,
.selectcont.info.index3 .drawimagecont { display:block!important; width:100%!important; }
.selectcont.index3 .drawimagecont .drawimageouter,
.selectcont.index3 .drawimagecont .drawimageinner,
.selectcont.info.index3 .drawimagecont .drawimageouter,
.selectcont.info.index3 .drawimagecont .drawimageinner { width:100%!important; margin:0 auto!important; }
.drawimagecont.ng-hide { display:none!important; }
.uploadform { text-align:center; margin:16px 0; }

.asset-upload {
    text-align:center!important; padding:32px 24px!important;
    border:2px dashed var(--sage)!important; border-radius:var(--radius-lg)!important;
    min-height:140px!important; width:100%!important;
    display:flex!important; align-items:center!important; justify-content:center!important;
    font-weight:500!important; font-size:15px!important; color:var(--text-secondary)!important;
    margin:0 auto!important; flex-direction:column!important; cursor:pointer!important;
    background:var(--cream-warm)!important; transition:all var(--transition)!important;
}
.asset-upload:hover { border-color:var(--leaf)!important; background:#f0f7f2!important; }
.asset-upload:before {
    content:""!important; background-image:url("images/upload-icon.png")!important;
    background-size:contain!important; background-repeat:no-repeat!important; background-position:center!important;
    width:36px!important; height:36px!important; display:block!important; margin-bottom:10px!important; opacity:0.6;
}

.drawimageouter { margin-top:24px; padding-top:24px; }
.drawimageinner .text { margin-bottom:16px!important; padding:14px 18px!important; background:var(--cream-warm)!important; border-radius:var(--radius-md)!important; border-left:3px solid var(--leaf)!important; font-size:14px!important; }
.step4-measures {
    margin:12px 0 14px;
    padding:14px;
    border:1px solid var(--border-light);
    border-radius:var(--radius-md);
    background:var(--white);
}
.step4-measures-title {
    font-size:24px;
    color:var(--forest);
    margin-bottom:8px;
}
.step4-measures-field label {
    display:block;
    font-size:13px;
    font-weight:600;
    color:var(--text-primary);
    margin-bottom:6px;
}

.customdrawcont { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:16px; margin:16px 0; }
.customdrawcont .drow-area { position:relative!important; width:100%!important; min-height:270px!important; background-size:contain!important; background-position:center!important; background-repeat:no-repeat!important; border-radius:var(--radius-md)!important; box-shadow:var(--shadow-soft)!important; border:2px solid var(--border)!important; outline:none!important; display:block!important; overflow:hidden!important; }
.customdrawcont .drow-area .wPaint-menu { left:0!important; top:0!important; position:absolute!important; width:100%!important; background:rgba(255,255,255,0.95)!important; border:none!important; border-bottom:2px solid var(--leaf)!important; padding:4px!important; z-index:10!important; }
body .customdrawcont div.drow-area canvas.wPaint-canvas { position:relative!important; height:100%!important; object-fit:cover; padding:56px 12px 12px!important; background:#fafafa!important; width:100%!important; }

.customdrawcont .drow-area .mini-draw-toolbar {
    position:absolute;
    left:8px;
    top:8px;
    z-index:25;
    display:flex;
    gap:6px;
    padding:6px;
    border:1px solid var(--border);
    border-radius:10px;
    background:rgba(255,255,255,0.96);
    box-shadow:var(--shadow-soft);
}
.customdrawcont .drow-area .mini-draw-btn {
    border:1px solid var(--border);
    border-radius:8px;
    background:#fff;
    color:var(--text-secondary);
    font-family:'Poppins',sans-serif;
    font-size:12px;
    font-weight:600;
    line-height:1;
    padding:7px 12px;
    cursor:pointer;
}
.customdrawcont .drow-area .mini-draw-btn.active {
    border-color:var(--forest);
    background:var(--forest);
    color:#fff;
}
.customdrawcont .drow-area .remove-file {
    position:absolute;
    right:8px;
    top:8px;
    z-index:26;
    width:30px;
    height:30px;
    border:none;
    border-radius:50%;
    background:#ef4444;
    color:#fff;
    font-size:20px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 2px 6px rgba(0,0,0,0.2);
}
.customdrawcont .drow-area .remove-file:hover {
    background:#dc2626;
}

#paint_canvas { position:relative!important; max-width:100%!important; width:100%!important; height:auto!important; min-height:360px!important; margin:20px auto 0!important; display:block!important; background:var(--white)!important; border-radius:var(--radius-md)!important; padding:8px!important; box-shadow:var(--shadow-soft)!important; border:1px solid var(--border-light); overflow:hidden!important; }
#paint_canvas .wPaint-canvas { border:2px solid var(--border)!important; border-radius:var(--radius-sm)!important; overflow:hidden!important; background-image:url(images/img_griglia.png)!important; background-position:center center!important; background-repeat:repeat!important; width:100%!important; height:auto!important; min-height:320px!important; max-width:100%!important; touch-action:none!important; }
#paint_canvas canvas.wPaint-canvas-bg { max-width:100%!important; height:auto!important; }
.selectcont #paint_canvas canvas.wPaint-canvas-temp { width:100%!important; max-width:100%!important; height:auto!important; }
#paint_canvas .wPaint-text-input { display:none!important; }
#paint_canvas.paint-cursor-active canvas.wPaint-canvas,
#paint_canvas.paint-cursor-active canvas.wPaint-canvas-temp,
#paint_canvas.paint-cursor-active canvas.wPaint-canvas-bg {
    cursor:none!important;
}
.customdrawcont .drow-area.draw-cursor-active canvas.wPaint-canvas,
.customdrawcont .drow-area.draw-cursor-active canvas.wPaint-canvas-temp,
.customdrawcont .drow-area.draw-cursor-active canvas.wPaint-canvas-bg {
    cursor:none!important;
}
#paint_canvas.paint-cursor-text canvas.wPaint-canvas,
#paint_canvas.paint-cursor-text canvas.wPaint-canvas-temp,
#paint_canvas.paint-cursor-text canvas.wPaint-canvas-bg {
    cursor:text!important;
}
.paint-pointer-cursor {
    position:fixed;
    left:0;
    top:0;
    z-index:9998;
    pointer-events:none;
    opacity:0;
    transform:translateZ(0);
    transition:opacity 120ms ease;
}
.paint-pointer-cursor.visible { opacity:1; }
.paint-pointer-cursor.pencil {
    border-radius:50%;
    border:2px solid #e74c3c;
    background:rgba(231,76,60,0.25);
    box-shadow:0 0 0 1px rgba(255,255,255,0.9);
}
.paint-pointer-cursor.eraser {
    border-radius:50%;
    border:2px solid #475569;
    background:rgba(255,255,255,0.3);
    box-shadow:0 0 0 1px rgba(255,255,255,0.9);
}
.paint-note {
    position:absolute;
    z-index:46;
    min-width:86px;
    max-width:calc(100% - 14px)!important;
    min-height:30px;
    border-radius:10px;
    display:block;
    box-sizing:border-box;
    transition:box-shadow 200ms ease, border-color 200ms ease, background 200ms ease;
}
.paint-note-view {
    display:block;
    width:100%;
    color:#111111;
    font-size:14px;
    line-height:1.25;
    font-family:'Poppins',Arial,sans-serif!important;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.paint-note-input {
    width:100%!important;
    height:30px!important;
    border:none!important;
    outline:none!important;
    background:transparent!important;
    color:#111111!important;
    font-size:15px!important;
    line-height:1.25!important;
    font-family:'Poppins',Arial,sans-serif!important;
    font-weight:600!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    padding:0!important;
    margin:0!important;
    touch-action:manipulation;
    -webkit-user-select:text;
    user-select:text;
    -webkit-appearance:none;
    appearance:none;
    display:none;
}
.paint-note-input::placeholder {
    color:#9aa0a6;
}
.paint-note-handle {
    position:absolute;
    left:4px;
    top:4px;
    width:20px;
    height:20px;
    border-radius:6px;
    background:#e9f9ee;
    border:1px solid #9fdfb0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    line-height:1;
    color:#0f8a2c;
    cursor:move;
    user-select:none;
    -webkit-user-select:none;
    touch-action:none;
    display:none;
}
.paint-note-delete {
    position:absolute;
    right:4px;
    top:4px;
    width:20px;
    height:20px;
    border:1px solid #efb7b7;
    border-radius:50%;
    background:#fff5f5;
    color:#c53030;
    font-size:14px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    cursor:pointer;
    touch-action:manipulation;
    display:none;
}
.paint-note.dragging {
    cursor:grabbing;
    opacity:.96;
}
.paint-note.paint-note-viewmode {
    border:1px solid rgba(40,163,45,0.38);
    background:rgba(255,255,255,0.6);
    padding:5px 10px;
    box-shadow:0 2px 8px rgba(26,58,42,0.1);
    backdrop-filter:blur(1px);
    -webkit-backdrop-filter:blur(1px);
}
.paint-note.paint-note-viewmode .paint-note-view {
    display:block;
}
.paint-note.paint-note-viewmode .paint-note-input,
.paint-note.paint-note-viewmode .paint-note-handle,
.paint-note.paint-note-viewmode .paint-note-delete {
    display:none!important;
}
.paint-note.paint-note-editing {
    min-height:42px;
    border:2px solid var(--leaf);
    background:rgba(255,255,255,0.82);
    padding:5px 30px 5px 30px;
    box-shadow:0 0 0 3px rgba(40,163,45,0.16);
    backdrop-filter:blur(1px);
    -webkit-backdrop-filter:blur(1px);
}
.paint-note.paint-note-editing .paint-note-view {
    display:none;
}
.paint-note.paint-note-editing .paint-note-input {
    display:block!important;
}
.paint-note.paint-note-editing .paint-note-handle,
.paint-note.paint-note-editing .paint-note-delete {
    display:flex;
}
.paint-note.paint-note-locked .paint-note-input {
    pointer-events:none;
}
.paint-note.paint-note-locked {
    pointer-events:none;
}
.paint-note.paint-note-editing { pointer-events:auto; }

/* Nascondi COMPLETAMENTE toolbar nativa wPaint */
#paint_canvas .wPaint-menu { display:none!important; }
.customdrawcont .drow-area .wPaint-menu { display:none!important; }

/* === TOOLBAR MODERNA DISEGNO === */
.modern-toolbar {
    display:flex; align-items:center; gap:6px; padding:8px 12px;
    background:var(--white); border:1px solid var(--border);
    border-radius:var(--radius-md); margin-bottom:8px; flex-wrap:wrap;
    position:relative; z-index:30;
}
.modern-toolbar .tool-btn {
    display:inline-flex; align-items:center; gap:5px;
    padding:7px 14px; border:1px solid var(--border);
    border-radius:8px; background:var(--white); cursor:pointer;
    font-family:"Poppins",sans-serif; font-size:13px; font-weight:500;
    color:var(--text-secondary); transition:all 200ms ease;
}
.modern-toolbar .tool-btn:hover { border-color:var(--leaf); color:var(--forest); background:#f0f9f0; }
.modern-toolbar .tool-btn.active {
    background:var(--forest)!important; color:var(--white)!important;
    border-color:var(--forest)!important; box-shadow:0 2px 8px rgba(19,102,23,0.25);
}
.modern-toolbar .tool-btn.active svg { stroke:var(--white); }
.modern-toolbar .tool-sep { width:1px; height:24px; background:var(--border); margin:0 4px; }
.modern-toolbar .tool-color { display:inline-flex; align-items:center; cursor:pointer; }
.modern-toolbar .tool-color input[type="color"] {
    width:28px; height:28px; border:2px solid var(--border); border-radius:50%;
    cursor:pointer; padding:0; -webkit-appearance:none; appearance:none;
}
.modern-toolbar .tool-color input[type="color"]::-webkit-color-swatch-wrapper { padding:2px; }
.modern-toolbar .tool-color input[type="color"]::-webkit-color-swatch { border-radius:50%; border:none; }
.modern-toolbar .tool-color svg { display:none; }
.modern-toolbar .tool-size {
    padding:6px 10px; border:1px solid var(--border); border-radius:8px;
    font-family:"Poppins",sans-serif; font-size:13px; background:var(--white);
    color:var(--text-secondary); cursor:pointer;
}


/* === REVIEW TABLE === */
#review_table { width:100%!important; border-collapse:separate!important; border-spacing:0!important; font-size:14px!important; }
#review_table td { padding:12px 8px!important; vertical-align:top!important; border-bottom:1px solid var(--border-light)!important; }
#review_table td:first-child { font-weight:600!important; color:var(--forest)!important; white-space:nowrap!important; width:35%!important; }

.tbl_counting {
    display:inline-block; background:var(--leaf); color:white;
    font-size:10px; font-weight:700; padding:2px 7px; border-radius:10px; margin-right:6px;
}

/* === FIX IMMAGINI RIEPILOGO RESPONSIVE === */
#review_table .images-data { display:grid!important; grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important; gap:12px!important; padding:12px 0!important; }
#review_table .img_files { display:inline-block; }
#review_table .images-data .img_files { display:block; }
#review_table .images-data img, #review_table td img {
    max-width:100%!important; height:auto!important;
    border-radius:var(--radius-md)!important; border:1px solid var(--border-light)!important;
    box-shadow:var(--shadow-soft)!important; object-fit:contain!important;
}
.itemscont img, .selectcont .itemscont img { max-width:100%!important; height:auto!important; }

/* === FORM INPUTS === */
input[type="text"]:not(.paint-note-input), input[type="email"], input[type="tel"], textarea {
    width:100%!important; padding:12px 16px!important; border:2px solid var(--border)!important;
    border-radius:var(--radius-md)!important; font-size:15px!important; font-family:'Poppins',sans-serif!important;
    color:var(--text-primary)!important; background:var(--white)!important; -webkit-appearance:none; transition:var(--transition);
}
input:not(.paint-note-input):focus, textarea:focus { outline:none!important; border-color:var(--leaf)!important; box-shadow:0 0 0 3px rgba(61,139,94,0.1)!important; }

.selectcont table { width:100%!important; }
.selectcont table td { padding:6px 4px!important; vertical-align:middle!important; font-size:14px!important; color:var(--text-secondary)!important; }
.selectcont table td:first-child { white-space:nowrap!important; font-weight:500!important; color:var(--text-primary)!important; width:120px!important; }
.campiobligo { float:left; margin-left:4px; margin-top:16px; font-size:12px; color:var(--text-muted); }

/* === BUTTONS === */
.buttoncont { background-color:transparent!important; padding-top:16px!important; border-top:1px solid var(--border-light); margin-top:8px; }
.buttoncont .button {
    padding:14px 28px!important; font-size:15px!important; font-family:'Poppins',sans-serif!important;
    font-weight:600!important; border-radius:var(--radius-md)!important; display:inline-block!important;
    cursor:pointer!important; transition:all var(--transition)!important; border:none!important; letter-spacing:0.02em;
}
.buttoncont .button { background:var(--cream)!important; background-image:none!important; color:var(--text-secondary)!important; box-shadow:none!important; border:1px solid var(--border)!important; }
.buttoncont .button:hover { background:var(--border-light)!important; opacity:1!important; }
.buttoncont .button.fr { background:var(--forest)!important; background-image:none!important; color:var(--white)!important; box-shadow:0 4px 14px rgba(26,58,42,0.25)!important; border:none!important; }
.buttoncont .button.fr:hover { background:var(--forest-medium)!important; box-shadow:0 6px 20px rgba(26,58,42,0.3)!important; transform:translateY(-1px); opacity:1!important; }
.buttoncont .button.red { background:var(--leaf)!important; background-image:none!important; color:var(--white)!important; box-shadow:0 4px 14px rgba(61,139,94,0.3)!important; }
.buttoncont .button.red:hover { background:var(--leaf-light)!important; opacity:1!important; }
.buttoncont .button.disabled { background:var(--border)!important; background-image:none!important; color:var(--text-muted)!important; box-shadow:none!important; cursor:not-allowed!important; transform:none!important; }

/* === LOADING OVERLAY === */
.inviodati { position:fixed!important; left:0; top:0; bottom:0; right:0; background:rgba(26,58,42,0.85)!important; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); text-align:center; color:white; z-index:9999; display:none; opacity:0; pointer-events:none; }
.inviodati .inviotext {
    width:min(92vw,560px);
    margin:auto;
    margin-top:28vh;
    padding:24px 22px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.2);
    background:rgba(255,255,255,.08);
    box-shadow:0 12px 32px rgba(0,0,0,.22);
    font-family:'Poppins',sans-serif;
}
.inviodati .inviotext-spinner {
    font-size:34px;
    line-height:1;
    margin-bottom:10px;
}
.inviodati .inviotext-title {
    font-size:24px;
    font-weight:700;
    margin-bottom:8px;
    color:#fff;
}
.inviodati .inviotext-subtitle {
    font-size:15px;
    line-height:1.45;
    color:rgba(255,255,255,.92);
}
.inviodati.loaded { display:block!important; opacity:1; pointer-events:auto; }

/* === FOOTER === */
.footer { position:relative; z-index:1; padding:24px 0!important; background:var(--white)!important; box-shadow:0 -1px 0 var(--border-light)!important; margin-top:32px!important; }
.footer table { font-size:12px!important; width:100%!important; text-align:center!important; color:var(--text-muted); }
.footer img { width:55%; }
.footer a { color:var(--leaf)!important; text-decoration:none!important; font-weight:500; }
.footer a:hover { text-decoration:underline!important; }

/* === INFO PAGES === */
.selectcont.info .image:hover { box-shadow:0px 0px 5px 3px rgba(224,224,224,0.7)!important; }
.selectcont.info.index1 .itemscont, .selectcont.info.index4 .itemscont { text-align:left; }
.selectcont.info.index1 .itemscont .item, .selectcont.info.index4 .itemscont .item { text-align:center; }
.selectcont.info.index1 .rowname, .selectcont.info.index4 .rowname { margin-top:16px; text-align:left; font-family:'Poppins',sans-serif; font-size:24px; color:var(--forest); font-weight:400; }
.selectcont.info.index1 .rowdesc, .selectcont.info.index4 .rowdesc { color:var(--text-muted); font-size:14px; }
.selectcont.info.index1 .item, .selectcont.info.index4 .item { margin-right:4%; margin-left:0%; margin-bottom:2%; }
.selectcont.info.index1 .item { margin:0!important; }
.selectcont.info.index2 .item { margin:0!important; }
.selectcont.info.index4 .itemscont { display:inherit!important; margin-top:24px; }
.selectcont .item .toptext { margin-bottom:10px; text-align:center; display:inline-block; }
.selectcont .item .toptext img { float:left; width:40px; height:40px; }
.selectcont .item .toptext .text { float:left; line-height:40px; font-size:12px; }
.selectcont.index0 .image { background-size:62%; }
.selectcont.index4 .item .image,
.selectcont.info.index4 .item .image {
    background-size:contain!important;
    background-repeat:no-repeat!important;
    background-position:center center!important;
    background-color:#f8faf8!important;
    height:170px!important;
}
.selectcont.index5 .image { background-size:contain; }
.selectcont.index6 table, .selectcont.index3 table { width:100%; }
.selectcont.index6 table input, .selectcont.index3 table input { width:100%; }

/* === UTILITY === */
.backimage { background-position:center center; background-size:cover; background-repeat:no-repeat; }
.backimage.contain { background-size:contain; }
.fr { float:right; }
.mlb { margin-left:5px; }
.hidden { display:none!important; }
.container { width:100%!important; max-width:1480px!important; padding:0 12px!important; margin:0 auto!important; }
.ng-hide { display:none!important; visibility:hidden!important; }
.review-top-actions {
    display:flex;
    justify-content:center;
    margin:14px 0 16px;
    padding-top:10px;
    border-top:1px solid var(--border-light);
}
.review-top-actions .button {
    float:none!important;
    min-width:332px;
    max-width:100%;
    height:72px;
    border-radius:28px!important;
    background:#28a32d!important;
    color:#fff!important;
    font-size:18px!important;
    font-weight:700!important;
    line-height:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:0 10px 20px rgba(40,163,45,0.18)!important;
    border:none!important;
}
.review-top-actions .button:hover {
    background:#239127!important;
    transform:translateY(-1px);
}
.review-top-actions .button.disabled {
    opacity:.6!important;
}
.review-step-link { cursor:pointer!important; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.review-step-link:hover { color:var(--forest-medium)!important; }

/* Unified title style across steps */
body .text.big,
body .rowname,
body .selectcont .item .text,
body .size-title,
body .budget-tier,
body .size-examples-title,
body .size-example-name {
    font-family:'Poppins',-apple-system,BlinkMacSystemFont,sans-serif!important;
    font-weight:700!important;
}

/* === RESPONSIVE === */
@media (max-width:768px) {
    body .maincont { padding:28px 20px!important; margin:16px 10px!important; border-radius:var(--radius-lg)!important; width:auto!important; max-width:none!important; }
    .text.big { font-size:26px!important; }
    .step-title-badge { width:32px; height:32px; font-size:16px; }
    .step-jump-nav { justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding-bottom:2px; }
    .step-jump-item { flex:0 0 auto; }
    .step-progress-meta { max-width:100%; font-size:11px; }
    .step-progress { max-width:100%; }
    .itemscont { grid-template-columns:1fr!important; }
    .item.inline { width:100%!important; display:block!important; }
    .customdrawcont { grid-template-columns:1fr!important; }
    #paint_canvas { min-height:560px!important; padding:6px!important; }
    #paint_canvas .wPaint-canvas { min-height:500px!important; }
    body .customdrawcont div.drow-area canvas.wPaint-canvas { padding:52px 10px 10px!important; }
    .customdrawcont .drow-area .mini-draw-toolbar { left:6px; top:6px; gap:5px; padding:5px; }
    .customdrawcont .drow-area .mini-draw-btn { padding:7px 10px; font-size:12px; }
    .customdrawcont .drow-area .remove-file { right:6px; top:6px; width:28px; height:28px; }
    body .wPaint-theme-classic .wPaint-menu-icon { margin:1px!important; padding:4px!important; min-width:32px!important; min-height:32px!important; }
    #review_table .images-data { grid-template-columns:1fr!important; }
    .footer table td { display:block!important; padding:4px!important; }
    .selectcont.index0 .itemsrow { grid-template-columns:1fr!important; gap:12px!important; }
    .selectcont.index0 .item { min-height:auto; }
    .selectcont.index0 .size-title { font-size:24px!important; }
    .selectcont.index0 .size-subtitle { font-size:18px!important; }
    .selectcont.index0 .size-price-main { font-size:30px!important; }
    .selectcont.index4 .itemsrow { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; max-width:none; }
    .selectcont.index4 .item { min-height:240px; }
    .selectcont.index5 .itemsrow { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; max-width:none; }
    .selectcont.index5 .item { min-height:430px; }
    .budget-tier { font-size:22px!important; }
    .budget-range { font-size:18px!important; }
    .budget-tier-subtitle-inline { font-size:16px; }
    .budget-tier-point-inline { font-size:14px; }
    .budget-tier-note-inline { font-size:13px; }
    .budget-info-box { max-width:none; }
    .budget-info-title { font-size:22px; }
    .budget-info-list { grid-template-columns:1fr; font-size:15px; }
    .selectcont.index1 .itemsrow,
    .selectcont.index2 .itemsrow,
    .selectcont.info.index1 .itemsrow,
    .selectcont.info.index2 .itemsrow { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; }
    .size-examples-title { font-size:32px!important; }
    .size-examples-subtitle { font-size:22px!important; }
    .size-examples-grid { grid-template-columns:1fr; }
    .size-example-name { font-size:22px; }
    .size-benefits-grid { grid-template-columns:1fr; }
    .size-benefits-title { font-size:22px; }
    .size-discount-title { font-size:20px; }
    .size-discount-row { font-size:16px; }
    .size-discount-row strong { font-size:26px; }
}
@media (max-width:480px) {
    body .maincont { padding:20px 14px!important; margin:10px 6px!important; width:auto!important; max-width:none!important; }
    .buttoncont .button { width:100%!important; text-align:center!important; margin-bottom:8px!important; }
    .buttoncont .button.fr { float:none!important; }
    .step-progress-meta { font-size:10px; margin-bottom:6px; }
    .step-progress { height:8px; }
    #paint_canvas { min-height:620px!important; }
    #paint_canvas .wPaint-canvas { min-height:560px!important; }
    .selectcont.index1 .itemsrow,
    .selectcont.index2 .itemsrow,
    .selectcont.info.index1 .itemsrow,
    .selectcont.info.index2 .itemsrow { grid-template-columns:1fr!important; }
    .selectcont.index4 .itemsrow { grid-template-columns:1fr!important; }
    .selectcont.index5 .itemsrow { grid-template-columns:1fr!important; }
    .selectcont.index1 .item .text,
    .selectcont.index2 .item .text,
    .selectcont.info.index1 .item .text,
    .selectcont.info.index2 .item .text { font-size:16px!important; line-height:1.3!important; }
    .budget-info-box { padding:12px; }
    .budget-info-title { font-size:20px; }
    .budget-info-note { font-size:13px; }
    .selectcont.index5 .item { min-height:390px; }
    .budget-tier-subtitle-inline { font-size:15px; }
    .budget-tier-point-inline { font-size:13px; }
    .budget-tier-note-inline { font-size:12px; }
    .size-benefits { padding:14px; }
    .size-benefits-title { font-size:24px; margin-bottom:10px; }
    .size-benefit-item { font-size:14px; line-height:1.3; }
    .size-discount-box { padding:12px; }
    .size-discount-title { font-size:24px; margin-bottom:8px; }
    .size-discount-row {
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:10px;
        font-size:14px;
        padding:8px 10px;
    }
    .size-discount-row span {
        line-height:1.25;
        word-break:normal;
    }
    .size-discount-row strong {
        font-size:18px;
        min-width:64px;
        text-align:right;
        white-space:nowrap;
    }
    .size-discount-note { font-size:12px; line-height:1.35; }
    .step4-description { padding:12px; }
    .step4-description-title { font-size:20px; }
    .step4-location { padding:12px; }
    .step4-location-title { font-size:20px; }
    .step4-measures { padding:12px; }
    .step4-measures-title { font-size:20px; }
    .paint-note.paint-note-viewmode {
        padding:6px 10px;
    }
    .paint-note.paint-note-viewmode .paint-note-view {
        font-size:15px;
    }
    .paint-note.paint-note-editing {
        min-height:46px;
        border-width:3px;
        padding:6px 34px 6px 34px;
    }
    .paint-note.paint-note-editing .paint-note-input {
        height:32px!important;
        font-size:17px!important;
        line-height:1.2!important;
    }
    .paint-note.paint-note-editing .paint-note-handle {
        width:24px;
        height:24px;
        font-size:14px;
    }
    .paint-note.paint-note-editing .paint-note-delete {
        width:24px;
        height:24px;
        font-size:16px;
    }
    .step4-location-grid { grid-template-columns:1fr; gap:8px; }
}

@media (max-width:430px) {
    html, body {
        height:auto!important;
        min-height:100%!important;
        overflow-y:auto!important;
        -webkit-overflow-scrolling:touch!important;
    }

    body::before { display:none!important; }

    body .maincont {
        margin:0!important;
        border-radius:0!important;
        min-height:auto!important;
        position:relative!important;
        z-index:2!important;
    }

    body .maincont .selectcont { min-height:auto!important; }

    .infobutton {
        position:absolute!important;
        top:12px!important;
        right:12px!important;
        z-index:3!important;
    }

    .inviodati,
    .inviodati.loaded {
        display:none!important;
        opacity:0!important;
        pointer-events:none!important;
    }
}
