/* I.Q. Promotions: tema grafico comune (2026-11-14)
   Stessa grafica di iterfacioNET (css/iterfacionet-tema.css), CercamiTu e I-DOOP:
   carattere Inter, barra in alto a vetro, schede con angoli ampi e ombre morbide, pulsanti a sfumatura, footer scuro.
   Colori di I.Q.: blu, azzurro del vecchio sito (#06A3DA) e rosso dei puntini del logo "I.Q.".
   Va caricato DOPO bootstrap, css/style.css e gli stili delle singole pagine. */

:root {
    --ex-primary: #1E4FD8;
    --ex-primary-dark: #163CA6;
    --ex-primary-rgb: 30,79,216;
    --ex-accent: #06A3DA;
    --ex-warm: #E11D2A;
    --ex-dark: #0F172A;
    --ex-muted: #64748B;
    --ex-bg: #F8FAFC;
    --ex-border: #E2E8F0;
    --ex-radius: 22px;
    --ex-shadow: 0 1px 2px rgba(15,23,42,.04), 0 20px 50px -12px rgba(15,23,42,.12);
    --ex-shadow-sm: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px -8px rgba(15,23,42,.10);
    --ex-grad: linear-gradient(135deg, #163CA6 0%, #1E4FD8 45%, #06A3DA 100%);

    /* variabili del vecchio template (css/style.css): diventano i colori nuovi */
    --primary: #1E4FD8;
    --secondary: #06A3DA;
    --light: #F1F5F9;
    --dark: #0F172A;

    /* Bootstrap 5.3: il "primary" delle pagine (text-primary, bg-primary, link) diventa il blu del tema */
    --bs-primary: #1E4FD8;
    --bs-primary-rgb: 30,79,216;
    --bs-link-color: #1E4FD8;
    --bs-link-color-rgb: 30,79,216;
    --bs-link-hover-color: #163CA6;
    --bs-link-hover-color-rgb: 22,60,166;
    --bs-body-font-family: 'Inter', system-ui, -apple-system, "Segoe UI", sans-serif;
    --bs-body-color: #0F172A;
}

/* ------------------------------
   BASE
------------------------------ */
html { scroll-padding-top: 90px; }

body {
    font-family: 'Inter', system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: var(--ex-dark);
    background:
        radial-gradient(1200px 600px at 10% -10%, rgba(30,79,216,.08), transparent 60%),
        radial-gradient(900px 500px at 100% 0%, rgba(6,163,218,.08), transparent 60%),
        var(--ex-bg);
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
}

a { color: var(--ex-primary); }
a:hover { color: var(--ex-primary-dark); }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; color: var(--ex-dark); }
h1, h2, h3, .h1, .h2, .h3 { font-weight: 700; letter-spacing: -.025em; }
h4, h5, h6, .h4, .h5, .h6 { font-weight: 600; letter-spacing: -.01em; }
.text-white, .text-light { --bs-heading-color: #fff; }
h1.text-white, h2.text-white, h3.text-white, h4.text-white, h5.text-white, h6.text-white,
h1.text-light, h2.text-light, h3.text-light, h4.text-light, h5.text-light, h6.text-light { color: #fff; }
strong, b { font-weight: 700; }
::selection { background: rgba(var(--ex-primary-rgb),.18); }
.text-muted { color: var(--ex-muted) !important; }
img { max-width: 100%; }

.bg-light { background-color: #F1F5F9 !important; }
.bg-dark { background-color: var(--ex-dark) !important; }
.text-primary { color: var(--ex-primary) !important; }
.bg-primary { background: var(--ex-grad) !important; }

/* titolini del vecchio template: linea a sfumatura */
.section-title::before, .section-title::after { background: var(--ex-grad) !important; }

/* ------------------------------
   STRISCIA INFO SOPRA IL MENU
------------------------------ */
.iq-barra-info { background: var(--ex-dark); color: #CBD5E1; font-size: .82rem; }
.iq-barra-info .container { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; min-height: 36px; }
.iq-barra-info a { color: #CBD5E1; text-decoration: none; }
.iq-barra-info a:hover { color: #fff; }
.iq-barra-info i { color: var(--ex-accent); margin-right: 6px; }

/* ------------------------------
   BARRA IN ALTO: vetro
------------------------------ */
.navbar-modern {
    position: sticky; top: 0; z-index: 1030;
    background: rgba(255,255,255,.82) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: 0 1px 0 rgba(15,23,42,.06);
    padding: 10px 0;
    min-height: 68px;
}
.navbar-modern .nav-link {
    font-weight: 500;
    color: var(--ex-dark) !important;
    padding: 8px 14px !important;
    border-radius: 99px;
    transition: background-color .2s ease, color .2s ease;
}
.navbar-modern .nav-link:hover,
.navbar-modern .nav-link.active,
.navbar-modern .nav-link:focus-visible {
    color: var(--ex-primary) !important;
    background-color: rgba(var(--ex-primary-rgb),.08);
}
.navbar-modern .btn, .iq-richieste { border-radius: 99px; padding-left: 16px; padding-right: 16px; white-space: nowrap; }
.navbar-modern .dropdown-toggle::after { vertical-align: .15em; margin-left: .35em; border: 0; content: "\F282"; font-family: "bootstrap-icons"; font-size: .7em; }
.navbar-toggler { border: 0; border-radius: 12px; width: 48px; height: 48px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(var(--ex-primary-rgb),.18); }

/* logo originale (immagine 250x85) */
.navbar-brand.iq-logo { padding: 0; margin-right: 1rem; }
.navbar-brand.iq-logo img { height: 52px; width: auto; display: block; }
.itf-footer-marchio img { width: auto !important; height: 52px !important; }
.iq-legenda-logo { width: 72px !important; height: auto !important; border-radius: 14px; }
@media (max-width: 575.98px) { .navbar-brand.iq-logo img { height: 42px; } }

/* marchio: icona + scritta in testo */
.itf-marchio { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.navbar-brand.itf-marchio img { height: 44px; width: 44px; transition: transform .2s ease; }
.navbar-brand.itf-marchio:hover img { transform: scale(1.05) rotate(-4deg); }
.itf-marchio-testo { display: flex; flex-direction: column; line-height: 1; }
.itf-marchio-nome { font-weight: 800; font-size: 1.4rem; letter-spacing: -.02em; color: var(--ex-dark); }
.itf-marchio-nome b { color: var(--ex-warm); font-weight: 800; }
.itf-marchio-sotto { font-size: .66rem; font-weight: 700; color: var(--ex-primary); letter-spacing: .08em; text-transform: uppercase; margin-top: 4px; }

/* pulsante Richieste (preventivo) */
.iq-richieste {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 16px !important; border-radius: 99px;
    font-weight: 600; font-size: .9rem; text-decoration: none;
    color: var(--ex-warm) !important; background: rgba(225,29,42,.07); border: 1px solid rgba(225,29,42,.30);
    transition: background-color .15s ease, transform .15s ease;
}
.iq-richieste:hover, .iq-richieste:focus-visible { background: rgba(225,29,42,.13); color: #B91C1C !important; transform: translateY(-1px); }

/* menu a tendina con icona, titolo e riga di spiegazione */
.dropdown-menu {
    border: 1px solid rgba(15,23,42,.06); border-radius: 16px; padding: 6px;
    box-shadow: 0 20px 50px -12px rgba(15,23,42,.25);
}
.dropdown-item { border-radius: 10px; padding: 8px 12px; font-weight: 500; }
.dropdown-item:hover, .dropdown-item:focus { background: rgba(var(--ex-primary-rgb),.07); color: var(--ex-dark); }
.itf-dropdown { border: 1px solid var(--ex-border); box-shadow: var(--ex-shadow); padding: .5rem; min-width: 300px; margin-top: .5rem !important; }
.itf-dropdown .dropdown-item { display: flex; align-items: flex-start; gap: .75rem; padding: .6rem .75rem; border-radius: 12px; white-space: normal; }
.itf-dropdown .dropdown-item > i {
    flex: 0 0 34px; height: 34px; border-radius: 10px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(var(--ex-primary-rgb),.09); color: var(--ex-primary); font-size: 1rem;
}
.itf-dropdown .dropdown-item strong { display: block; font-weight: 600; color: var(--ex-dark); line-height: 1.25; }
.itf-dropdown .dropdown-item small { display: block; color: var(--ex-muted); font-size: .8rem; }
.itf-dropdown .dropdown-item.active, .itf-dropdown .dropdown-item:active { background: rgba(var(--ex-primary-rgb),.12); }
/* ponte invisibile tra la voce del menu e la tendina: il mouse non "esce" passando nello spazio vuoto */
@media (min-width: 992px) {
    .navbar-modern .itf-dropdown::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
}
.itf-dropdown-titolo { padding: .35rem .75rem .25rem; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ex-muted); }

/* ------------------------------
   PULSANTE INDIETRO
------------------------------ */
.itf-indietro-box { position: relative; height: 0; z-index: 20; }
.itf-indietro {
    position: absolute; top: 12px; right: 12px;
    display: inline-flex; align-items: center;
    padding: 6px 14px; border-radius: 99px;
    background: #fff; border: 1px solid var(--ex-border); box-shadow: 0 4px 14px rgba(15,23,42,.08);
    color: var(--ex-dark); font-weight: 600; font-size: .875rem; text-decoration: none;
}
.itf-indietro:hover { color: var(--ex-primary); border-color: var(--ex-primary); }

/* ------------------------------
   TESTATA (ex banner con foto)
   Le pagine mettono il primo blocco con margin-top:-90px: la scheda "sale" sulla testata.
------------------------------ */
.iq-testata {
    position: relative;
    padding: 34px 0 124px;
    background:
        radial-gradient(700px 380px at 15% 10%, rgba(59,130,246,.18), transparent 65%),
        radial-gradient(600px 360px at 90% 30%, rgba(6,163,218,.16), transparent 65%),
        radial-gradient(500px 300px at 50% 100%, rgba(191,219,254,.40), transparent 70%);
}
.iq-testata-griglia { display: grid; grid-template-columns: 1.1fr .9fr; gap: 28px; align-items: center; }
.hero-eyebrow {
    display: inline-block; margin-bottom: 14px; padding: 6px 14px 6px 8px;
    font-size: 13px; font-weight: 600; color: var(--ex-primary);
    background: #fff; border: 1px solid rgba(var(--ex-primary-rgb),.14); border-radius: 99px; box-shadow: var(--ex-shadow-sm);
}
.hero-eyebrow > span:first-child { display: inline-block; margin-right: 6px; padding: 2px 8px; border-radius: 99px; color: #fff; font-size: 11px; letter-spacing: .04em; background: var(--ex-grad); }
.iq-testata-titolo { font-size: clamp(26px, 3.6vw, 42px); font-weight: 800; letter-spacing: -.035em; line-height: 1.1; margin: 0 0 12px; color: var(--ex-dark); }
.hero-grad { background: var(--ex-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.iq-testata-sotto { font-size: 17px; color: var(--ex-muted); max-width: 640px; line-height: 1.55; margin: 0; }
.hero-punti { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 18px 0 0; padding: 0; list-style: none; color: var(--ex-muted); font-size: .92rem; font-weight: 500; }
.hero-punti i { color: var(--ex-primary); margin-right: 6px; }
.iq-testata-foto { position: relative; border-radius: 24px; overflow: hidden; box-shadow: var(--ex-shadow); border: 4px solid #fff; background: #EAF1FE; aspect-ratio: 16 / 7; }
.iq-testata-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* blocco che sale sulla testata (home) */
.iq-sopra-testata { position: relative; margin-top: -90px; }

/* le pagine vecchie: il primo blocco "facts" ha già margin-top:-90px */
.facts { background: transparent !important; position: relative; z-index: 2; }

/* ------------------------------
   PULSANTI
------------------------------ */
.btn { font-weight: 600; border-radius: 12px; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.btn-sm { border-radius: 10px; }
.btn-lg { border-radius: 14px; }
.btn-primary, .btn-gradient {
    background: var(--ex-grad) !important; background-size: 140% 100% !important; border: 0 !important; color: #fff !important;
    box-shadow: 0 8px 20px -6px rgba(var(--ex-primary-rgb),.45) !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-gradient:hover, .btn-gradient:focus {
    background-position: 100% 0 !important; color: #fff !important;
    transform: translateY(-1px); box-shadow: 0 12px 26px -8px rgba(var(--ex-primary-rgb),.5) !important;
}
.btn-success { background: linear-gradient(135deg, #047857, #10B981); border: 0; color: #fff; box-shadow: 0 8px 20px -6px rgba(5,150,105,.4); }
.btn-success:hover, .btn-success:focus { background: linear-gradient(135deg, #065F46, #059669); color: #fff; transform: translateY(-1px); }
.btn-warning, .btn-caldo { background: linear-gradient(135deg, #EA580C, #F59E0B); border: 0; color: #fff; box-shadow: 0 8px 20px -6px rgba(234,88,12,.4); }
.btn-warning:hover, .btn-warning:focus, .btn-caldo:hover, .btn-caldo:focus { background: linear-gradient(135deg, #C2410C, #EA580C); color: #fff; transform: translateY(-1px); }
.btn-info { background: #fff; border: 1px solid var(--ex-border); color: var(--ex-primary); }
.btn-info:hover, .btn-info:focus { background: rgba(var(--ex-primary-rgb),.08); color: var(--ex-primary); border-color: rgba(var(--ex-primary-rgb),.3); }
.btn-danger { background: linear-gradient(135deg, #B91C1C, #EF4444); border: 0; color: #fff; }
.btn-outline-primary, .btn-outline-secondary, .btn-outline-success, .btn-outline-danger, .btn-light { background: #fff; border-color: var(--ex-border); }
.btn-outline-primary { color: var(--ex-primary); }
.btn-outline-primary:hover { background: rgba(var(--ex-primary-rgb),.08); color: var(--ex-primary); border-color: rgba(var(--ex-primary-rgb),.3); }
.btn-outline-secondary { color: var(--ex-dark); }
.btn-outline-secondary:hover { background: #F1F5F9; color: var(--ex-dark); border-color: #CBD5E1; }

/* ------------------------------
   CAMPI
------------------------------ */
.form-control, .form-select {
    min-height: 48px; border-radius: 14px; border-color: var(--ex-border);
    background-color: #fff; font-size: 15.5px;
    box-shadow: 0 1px 2px rgba(15,23,42,.04);
    transition: border-color .15s, box-shadow .15s;
}
.form-control::placeholder { color: #94A3B8; }
.form-control:focus, .form-select:focus { border-color: #3B82F6; box-shadow: 0 0 0 4px rgba(59,130,246,.15); }
.form-control-sm, .form-select-sm { min-height: 36px; border-radius: 10px; font-size: 14px; }
textarea.form-control { min-height: 0; }
.form-check-input:checked { background-color: var(--ex-primary); border-color: var(--ex-primary); }

/* ------------------------------
   SCHEDE (card)
------------------------------ */
.card {
    border: 1px solid rgba(15,23,42,.06); border-radius: 20px;
    background: #fff;
    box-shadow: var(--ex-shadow-sm); overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}
.card.shadow, .card.shadow-sm, .card.shadow-lg { box-shadow: var(--ex-shadow) !important; }
.card-header { background: #fff; border-bottom: 1px solid rgba(15,23,42,.06); padding: 14px 18px; }
.card-footer { background: #FBFCFE; border-top: 1px solid rgba(15,23,42,.05); padding: 12px 18px; }
.card-img-top { object-fit: cover; }
.badge { border-radius: 99px; font-weight: 600; padding: .4em .75em; }
.accordion-button:not(.collapsed) { background-color: rgba(var(--ex-primary-rgb),.07); color: var(--ex-primary); }
.nav-pills .nav-link { border-radius: 99px; }
.nav-tabs .nav-link.active, .nav-pills .nav-link.active { color: #fff; background: var(--ex-primary); border-color: var(--ex-primary); }
.page-link { color: var(--ex-primary); }
.page-item.active .page-link { background: var(--ex-primary); border-color: var(--ex-primary); }
.alert { border-radius: 16px; }
.modal-content { border: 0; border-radius: 22px; box-shadow: 0 30px 70px -20px rgba(15,23,42,.45); }
hr { border-top-color: var(--ex-border); opacity: 1; }
.table > thead th, table th { font-weight: 600; }

/* ------------------------------
   SEZIONI (home)
------------------------------ */
.itf-pannello { background: #fff; border: 1px solid rgba(15,23,42,.06); border-radius: var(--ex-radius); box-shadow: var(--ex-shadow); padding: 30px 32px; }
.itf-sezione { margin-top: 2.75rem; }
.itf-sezione-testa { margin-bottom: 1.2rem; }
.itf-occhiello { display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ex-primary); margin-bottom: .35rem; }
.itf-sezione-titolo { font-size: clamp(1.35rem, 2.4vw, 1.8rem); font-weight: 800; letter-spacing: -.025em; margin: 0; color: var(--ex-dark); }
.itf-sezione-sotto { color: var(--ex-muted); margin: .35rem 0 0; font-size: 1rem; font-weight: 400 !important; letter-spacing: 0; }

/* schede catalogo con foto */
.iq-catalogo { display: block; height: 100%; color: var(--ex-dark); text-decoration: none; }
.iq-catalogo .card { height: 100%; display: flex; flex-direction: column; margin: 0 !important; }
.iq-catalogo-foto { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #EAF1FE; display: flex; align-items: center; justify-content: center; }
.iq-catalogo-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.iq-catalogo:hover .iq-catalogo-foto img { transform: scale(1.05); }
.iq-catalogo-etichetta { position: absolute; left: 12px; top: 12px; padding: 4px 12px; border-radius: 99px; background: rgba(255,255,255,.94); color: var(--ex-primary); font-size: .76rem; font-weight: 700; letter-spacing: .02em; }
.iq-catalogo .card-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 18px 20px 20px; }
.iq-catalogo h3 { font-size: 1.2rem; font-weight: 800; letter-spacing: -.02em; margin: 0 0 .35rem; }
.iq-catalogo p { color: var(--ex-muted); margin-bottom: .9rem; font-size: .95rem; }
.iq-catalogo em { margin-top: auto; font-style: normal; font-weight: 600; color: var(--ex-primary); }
.iq-catalogo em i { display: inline-block; margin-left: 4px; transition: transform .15s; }
.iq-catalogo:hover { color: var(--ex-dark); }
.iq-catalogo:hover .card { transform: translateY(-4px); box-shadow: var(--ex-shadow); }
.iq-catalogo:hover em i { transform: translateX(3px); }

.hero-azioni { display: flex; flex-wrap: wrap; gap: 10px; }
.hero-azioni .btn { min-height: 48px; display: inline-flex; align-items: center; padding: 0 22px; border-radius: 14px; }

/* schede "cosa facciamo" */
.itf-scopri-griglia { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.itf-scopri-card {
    display: flex; flex-direction: column; gap: 6px; padding: 22px;
    background: #fff; border: 1px solid var(--ex-border); border-radius: var(--ex-radius);
    box-shadow: var(--ex-shadow-sm); color: var(--ex-dark); text-decoration: none;
}
.itf-scopri-card strong { font-size: 17px; letter-spacing: -.01em; }
.itf-scopri-card span:not(.itf-scopri-ico) { color: var(--ex-muted); font-size: 14px; line-height: 1.5; }
.itf-scopri-ico { width: 48px; height: 48px; border-radius: 15px; margin-bottom: 6px; display: inline-flex; align-items: center; justify-content: center; font-size: 21px; color: #fff; background: var(--ex-grad); }
.itf-scopri--verde .itf-scopri-ico { background: linear-gradient(135deg, #047857, #10B981); }
.itf-scopri--caldo .itf-scopri-ico { background: linear-gradient(135deg, #EA580C, #F59E0B); }
.itf-scopri--rosso .itf-scopri-ico { background: linear-gradient(135deg, #B91C1C, #F87171); }
.iq-foto-esempio { border-radius: var(--ex-radius); overflow: hidden; box-shadow: var(--ex-shadow); border: 4px solid #fff; }
.iq-foto-esempio img { display: block; width: 100%; height: auto; }

/* fascia in evidenza */
.itf-invito { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 20px 22px; background: linear-gradient(135deg, #EFF6FF, #E0F2FE); border: 1px solid #C7DDFB; border-radius: 20px; }
.itf-invito-ico { width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: 16px; background: var(--ex-grad); color: #fff; font-size: 1.4rem; }
.itf-invito .flex-grow-1 { min-width: 220px; flex-basis: 0; }
.itf-invito strong { display: block; font-size: 1.1rem; }
.itf-invito p { margin: 0; color: var(--ex-muted); }
.itf-invito a { font-weight: 600; text-decoration: none; }

/* ------------------------------
   RICERCA (finestra a tutto schermo)
------------------------------ */
#searchModal .modal-content { background: rgba(15,23,42,.72) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border-radius: 0; }
.iq-cerca-box { width: 100%; max-width: 620px; background: #fff; border-radius: 24px; padding: 26px; box-shadow: 0 30px 70px -20px rgba(0,0,0,.5); }
.iq-cerca-box h2 { font-size: 1.35rem; font-weight: 800; margin: 0 0 4px; }
.iq-cerca-box p { color: var(--ex-muted); margin: 0 0 16px; }
.iq-cerca-griglia { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.iq-cerca-griglia a { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--ex-border); border-radius: 14px; color: var(--ex-dark); font-weight: 600; text-decoration: none; transition: border-color .15s, background-color .15s; }
.iq-cerca-griglia a i { color: var(--ex-primary); }
.iq-cerca-griglia a:hover { border-color: rgba(var(--ex-primary-rgb),.35); background: rgba(var(--ex-primary-rgb),.05); }

/* ------------------------------
   AVVISO SESSIONE (ModalPopupExtender)
------------------------------ */
.modalBackground { background-color: var(--ex-dark); opacity: .6; }
.modalPopup { background: #fff; width: 340px; max-width: calc(100vw - 32px); border: 0; border-radius: 20px; box-shadow: 0 30px 70px -20px rgba(15,23,42,.45); overflow: hidden; }
.modalPopup .header { background: var(--ex-grad); color: #fff; padding: 12px 16px; font-weight: 700; text-align: center; }
.modalPopup .body { padding: 16px; text-align: center; font-weight: 500; color: var(--ex-dark); }
.modalPopup .footer { padding: 0 16px 16px; display: flex; justify-content: flex-end; gap: 8px; }
.modalPopup .yes, .modalPopup .no { min-width: 70px; padding: 6px 14px; border-radius: 10px; font-weight: 600; cursor: pointer; }
.modalPopup .yes { background: var(--ex-primary); color: #fff; border: 0; }
.modalPopup .no { background: #fff; color: var(--ex-dark); border: 1px solid var(--ex-border); }

/* legenda catalogo */
.iq-legenda-logo { width: 64px; height: 64px; margin: -6px auto 10px; display: block; }

/* torna su */
.back-to-top { position: fixed; right: 20px; bottom: 20px; z-index: 99; display: none; width: 46px; height: 46px; border-radius: 14px !important; align-items: center; justify-content: center; padding: 0; }

/* ------------------------------
   FOOTER
------------------------------ */
.itf-footer { position: relative; background: var(--ex-dark); color: #CBD5E1; padding: 2.5rem 0 1.5rem; font-size: .9rem; margin-top: 3rem; }
.itf-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--ex-grad); }
.itf-footer a { color: #CBD5E1; text-decoration: none; }
.itf-footer a:hover { color: #fff; }
.itf-footer ul a, .itf-footer a.small, .itf-footer-legale a { display: inline-block; padding: .3rem 0; }
.itf-footer p { color: #CBD5E1; }
.itf-footer-titolo { margin-bottom: .6rem; color: #fff; font-size: .9rem; font-weight: 600; }
.itf-footer-marchio { display: flex; align-items: center; gap: 10px; margin-bottom: .6rem; }
.itf-footer-marchio img { width: 36px; height: 36px; }
.itf-footer-marchio strong { color: #fff; font-size: 1.2rem; font-weight: 800; letter-spacing: -.02em; }
.itf-footer-marchio strong b { color: #F87171; }
.itf-footer-contatti li { display: flex; gap: 8px; padding: .3rem 0; }
.itf-footer-contatti i { color: #60A5FA; }
.itf-footer-legale { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem 1.5rem; margin-top: 1.75rem; padding-top: 1rem; border-top: 1px solid rgba(203,213,225,.2); font-size: .825rem; }
.itf-footer-legale nav { display: flex; flex-wrap: wrap; gap: 0 1.2rem; }

/* ------------------------------
   TELEFONO E TABLET
------------------------------ */
@media (max-width: 991.98px) {
    .navbar-modern { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(255,255,255,.97) !important; }
    .navbar-modern .navbar-collapse { max-height: calc(100vh - 70px); overflow-y: auto; padding-bottom: .75rem; }
    .itf-dropdown { box-shadow: none; border: 0; background: transparent; padding: 0 0 .5rem .5rem; min-width: 0; margin-top: 0 !important; }
    .iq-testata-griglia { grid-template-columns: 1fr; }
    .iq-testata-foto { display: none; }
}
@media (max-width: 768px) {
    .iq-testata { padding: 22px 0 110px; }
    .iq-testata-sotto { font-size: 16px; }
    .itf-pannello { padding: 22px 18px; }
    .itf-sezione { margin-top: 2rem; }
    .itf-footer ul a, .itf-footer a.small, .itf-footer-legale a { padding: .7rem 0; }
    .iq-cerca-griglia { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .navbar-brand.itf-marchio img { height: 36px; width: 36px; }
    .itf-marchio-nome { font-size: 1.15rem; }
    .itf-marchio-sotto { font-size: .58rem; }
    .itf-indietro { top: 8px; right: 8px; padding: 5px 12px; font-size: .8rem; }
    .hero-eyebrow { padding: 8px 14px; border-radius: 16px; line-height: 1.5; }
    .itf-scopri-griglia { grid-template-columns: 1fr; }
}
/* catalogo abbigliamento (/scelta-abbigliamento) */
.iq-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--ex-border); }
.iq-chip { display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px; border-radius: 99px; border: 1px solid var(--ex-border); background: #fff; color: var(--ex-dark); font-weight: 600; font-size: .93rem; text-decoration: none; transition: background .15s, border-color .15s, color .15s; }
.iq-chip:hover, .iq-chip:focus-visible { border-color: var(--ex-primary); color: var(--ex-primary); }
.iq-chip.attiva { background: var(--ex-primary); border-color: var(--ex-primary); color: #fff; box-shadow: 0 6px 16px -6px rgba(30,79,216,.55); }
.iq-capi { margin-top: .5rem; }
.iq-capo { overflow: hidden; margin: 0 !important; transition: transform .2s ease, box-shadow .2s ease; }
.iq-capo:hover { transform: translateY(-4px); box-shadow: var(--ex-shadow); }
.iq-capo-foto { position: relative; aspect-ratio: 1 / 1; background: #fff; display: flex; align-items: center; justify-content: center; padding: 20px; border-bottom: 1px solid var(--ex-border); }
.iq-capo-foto img { max-width: 100%; max-height: 100%; object-fit: contain; }
.iq-capo-zoom { position: absolute; right: 12px; top: 12px; width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.95); border: 1px solid var(--ex-border); color: var(--ex-primary); box-shadow: var(--ex-shadow-sm); font-size: 1.05rem; }
.iq-capo-zoom:hover, .iq-capo-zoom:focus-visible { background: var(--ex-primary); border-color: var(--ex-primary); color: #fff; }
.iq-capo .card-body { padding: 16px 20px 6px; text-align: center; }
.iq-capo-nome { font-size: 1.1rem; font-weight: 800; letter-spacing: -.02em; margin: 0 0 .6rem; color: var(--ex-dark); }
.iq-capo-colori { display: flex; justify-content: center; align-items: center; gap: 6px; }
.iq-colore { width: 18px; height: 18px; padding: 0; border-radius: 50%; border: 1px solid rgba(15,23,42,.22); opacity: 1 !important; cursor: default; }
.iq-capo-colori i { color: var(--ex-muted); }
.iq-capo .card-footer { background: transparent; border: 0; padding: 12px 20px 20px; }
.iq-vuoto { text-align: center; padding: 2rem 1rem; color: var(--ex-muted); }
.iq-vuoto img { max-width: 220px; height: auto; }

/* catalogo abbigliamento da lavoro (/catalogo-jrc) */
.iq-tipi { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--ex-border); }
.iq-catalogo-foto--capi { aspect-ratio: 1 / 1; }
.iq-catalogo-foto--capi img { object-position: center 22%; }
.iq-tipi .iq-catalogo h3 { font-size: 1.08rem; }
.iq-tipi .iq-catalogo p { font-size: .88rem; }
/* sottocategorie (/abbigliamento-selezione-linee): le foto hanno la scritta stampata sopra, quindi non vanno tagliate troppo */
.iq-catalogo-foto--verticale { aspect-ratio: 37 / 50; }
.iq-catalogo-foto--quadrata { aspect-ratio: 1 / 1; }
.iq-catalogo-foto--quadrata img { object-position: center bottom; }
.iq-scheda-oriz { display: flex; align-items: center; gap: 20px; width: 100%; padding: 14px; text-align: left; background: #fff; border: 1px solid var(--ex-border); border-radius: var(--ex-radius); box-shadow: var(--ex-shadow-sm); color: var(--ex-dark); text-decoration: none; font: inherit; transition: transform .2s ease, box-shadow .2s ease; }
.iq-scheda-oriz:hover { color: var(--ex-dark); transform: translateY(-3px); box-shadow: var(--ex-shadow); }
.iq-scheda-oriz img { flex: 0 0 auto; width: 200px; height: auto; border-radius: 12px; }
.iq-scheda-oriz-testo { display: flex; flex-direction: column; gap: 4px; flex: 1 1 auto; }
.iq-scheda-oriz-testo strong { font-size: 1.08rem; font-weight: 800; letter-spacing: -.02em; }
.iq-scheda-oriz-testo span { color: var(--ex-muted); font-size: .93rem; }
.iq-scheda-oriz em { flex: 0 0 auto; font-style: normal; font-weight: 600; color: var(--ex-primary); white-space: nowrap; }
.iq-scheda-oriz em i { display: inline-block; margin-left: 4px; transition: transform .15s; }
.iq-scheda-oriz:hover em i { transform: translateX(3px); }
@media (max-width: 767.98px) {
    .iq-scheda-oriz { flex-direction: column; align-items: flex-start; gap: 12px; }
    .iq-scheda-oriz img { width: 100%; max-width: 340px; }
}

/* catalogo PDF (/catalogo-abbigliamento-personalizzato): pagina senza testata, il PDF occupa quasi tutto lo schermo */
.iq-pdf-pagina { padding-top: 1.5rem; padding-bottom: 2rem; }
body:has(.iq-pdf-pagina) .itf-indietro-box { display: none; } /* la pagina ha già il suo "Indietro" */
.iq-pdf-barra { padding: 20px 24px; }
.iq-pdf-barra .itf-sezione-titolo { font-size: clamp(1.25rem, 2.2vw, 1.6rem); }
.iq-pdf-azioni { display: flex; flex-wrap: wrap; gap: 8px; }
.iq-pdf-azioni .input-group { flex: 1 1 260px; }
.iq-pdf-azioni .btn { min-height: 44px; display: inline-flex; align-items: center; }
.iq-pdf-azioni .form-control { min-height: 44px; }
.iq-pdf-tipi { min-width: 220px; }
.iq-pdf { margin-top: 1rem; border-radius: var(--ex-radius); overflow: hidden; border: 1px solid var(--ex-border); box-shadow: var(--ex-shadow); background: #3b3b3f; }
.iq-pdf-contenitore object { display: block; width: 100%; height: calc(100vh - 110px); min-height: 600px; border: 0; }
@media (max-width: 575.98px) {
    .iq-pdf-barra { padding: 18px 16px; }
    .iq-pdf-azioni .dropdown, .iq-pdf-azioni > .btn { flex: 1 1 auto; }
    .iq-pdf-azioni .dropdown .btn { width: 100%; justify-content: center; }
    .iq-pdf-azioni > .btn { justify-content: center; }
}

/* catalogo oggettistica: le foto sono pagine del catalogo, si mostra la parte alta */
.iq-catalogo-foto--pagina { aspect-ratio: 4 / 5; }
.iq-catalogo-foto--pagina img { object-position: center top; }
.iq-come-fare { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; background: #EAF1FE; color: var(--ex-dark); font-size: .92rem; line-height: 1.5; }
.iq-come-fare > i { font-size: 1.25rem; color: var(--ex-primary); line-height: 1.2; }
.iq-come-fare a { color: var(--ex-primary); font-weight: 600; }
/* riquadro in evidenza (giallo/arancio): informazioni importanti per il cliente */
.iq-evidenza { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; background: #FFF7E6; border: 1px solid #F9C66B; border-left: 5px solid #F59E0B; color: #5B3A00; font-size: .95rem; line-height: 1.55; }
.iq-evidenza > i { font-size: 1.3rem; color: #D97706; line-height: 1.2; }
.iq-evidenza strong { color: #7C4A00; }

/* articoli più richiesti (/articoli-abbigliamento-piu-richiesti) */
.iq-richiesti { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--ex-border); }
.iq-richiesti-testa { display: flex; align-items: center; gap: 14px; margin-bottom: 1rem; }
.iq-richiesti-testa .itf-sezione-titolo { font-size: 1.3rem; }
.iq-richiesti-testa .itf-sezione-sotto { margin-top: .15rem; }
.iq-richiesti-ico { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; color: #fff; background: var(--ex-grad); }
.iq-richiesti-ico--caldo { background: linear-gradient(135deg, #EA580C, #F59E0B); }
.iq-catalogo-foto--prodotto { aspect-ratio: 20 / 27; background: #F1F5FB; }
.iq-richiesto .card-body { padding: 12px 14px 14px; }
.iq-richiesto h3 { font-size: .98rem; line-height: 1.3; }
.iq-richiesto em { font-size: .85rem; }

/* stampe e ricami (/stampe-ricami-abbigliamento-oggettistica) */
.iq-chips--schede { margin-top: .25rem; }
.iq-stampe-contenuto { margin-top: 1.5rem; }
.iq-lavori-titolo { font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight: 800; letter-spacing: -.02em; color: var(--ex-dark); margin-bottom: .75rem; }
.iq-lavori-testo { color: var(--ex-muted); font-size: 1rem; margin-bottom: .6rem; }
.iq-lavori-foto { width: 100%; max-width: 560px; height: auto; border-radius: var(--ex-radius); border: 1px solid var(--ex-border); }
.iq-galleria { border-radius: var(--ex-radius); overflow: hidden; border: 1px solid var(--ex-border); background: #F1F5FB; box-shadow: var(--ex-shadow-sm); }
.iq-galleria .carousel-item img { display: block; width: 100%; aspect-ratio: 20 / 27; object-fit: contain; }
.iq-galleria .carousel-control-prev, .iq-galleria .carousel-control-next { width: 56px; opacity: 1; }
.iq-galleria .carousel-control-prev-icon, .iq-galleria .carousel-control-next-icon { width: 40px; height: 40px; border-radius: 50%; background-color: rgba(15,23,42,.55); background-size: 45%; }
.iq-galleria .carousel-indicators { margin-bottom: .6rem; }
.iq-galleria .carousel-indicators [data-bs-target] { width: 8px; height: 8px; border-radius: 50%; border: 0; background-color: var(--ex-primary); }
.iq-video-anteprima { aspect-ratio: 468 / 381; }
.iq-video-play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.92); color: var(--ex-primary); font-size: 2rem; box-shadow: var(--ex-shadow); transition: transform .2s ease; }
.iq-catalogo:hover .iq-video-play { transform: scale(1.08); }
.iq-video-testa { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 1rem; }
.iq-video-cornice { border-radius: var(--ex-radius); overflow: hidden; background: #000; box-shadow: var(--ex-shadow); }
.iq-video-cornice iframe { border: 0; }

/* informative (privacy, cookie, uso del sito): testo lungo, colonna leggibile */
.iq-testo-legale { max-width: 78ch; margin-top: 1.5rem; color: #334155; font-size: 1rem; line-height: 1.7; }
.iq-testo-legale h2 { font-size: 1.15rem; font-weight: 800; letter-spacing: -.01em; color: var(--ex-dark); margin: 1.8rem 0 .6rem; }
.iq-testo-legale p { margin-bottom: .9rem; }
.iq-testo-legale ul { padding-left: 1.3rem; margin-bottom: 1rem; list-style: disc; }
.iq-testo-legale li { margin-bottom: .25rem; }
.iq-testo-legale li::marker { color: var(--ex-primary); }
.iq-testo-legale h3 { font-size: 1rem; font-weight: 700; color: var(--ex-dark); margin: 1.4rem 0 .5rem; }
.iq-testo-legale a, .iq-tabella a { color: var(--ex-primary); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.iq-tabella { margin: .5rem 0 1.5rem; border: 1px solid var(--ex-border); border-radius: 14px; }
.iq-tabella table { font-size: .9rem; line-height: 1.55; color: #334155; }
.iq-tabella th { background: #F1F5FB; color: var(--ex-dark); font-weight: 700; white-space: nowrap; padding: .75rem 1rem; }
.iq-tabella td { padding: .85rem 1rem; min-width: 160px; }
.iq-tabella td:nth-child(2) { min-width: 120px; }
.iq-tabella tr:last-child td { border-bottom: 0; }

/* scheda articolo (/articolo-abbigliamento) */
.iq-articolo-foto { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: 24px; background: #fff; border: 1px solid var(--ex-border); border-radius: var(--ex-radius); box-shadow: var(--ex-shadow-sm); }
.iq-articolo-foto img { max-width: 100%; max-height: 100%; object-fit: contain; }
.iq-articolo-foto:hover .iq-capo-zoom { background: var(--ex-primary); border-color: var(--ex-primary); color: #fff; }
.iq-articolo-nome { font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 800; letter-spacing: -.03em; color: var(--ex-dark); margin: 0 0 .75rem; }
.iq-articolo-dati { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 1.25rem; }
.iq-articolo-dati > span { display: inline-flex; align-items: baseline; gap: 6px; padding: 6px 12px; border-radius: 10px; background: #F1F5FB; font-weight: 600; color: var(--ex-dark); }
.iq-articolo-dati small { color: var(--ex-muted); font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.iq-articolo-sotto { font-size: .95rem; font-weight: 700; color: var(--ex-dark); margin: 1.1rem 0 .6rem; }
.iq-colori-scelta { display: flex; flex-wrap: wrap; gap: 8px; }
.iq-colore-foto { display: inline-flex; width: 64px; height: 64px; padding: 4px; border-radius: 12px; background: #fff; border: 2px solid var(--ex-border); transition: border-color .15s, transform .15s; }
.iq-colore-foto:hover, .iq-colore-foto:focus-visible { border-color: var(--ex-primary); transform: translateY(-2px); }
.iq-colore-foto img { width: 100%; height: 100%; object-fit: contain; }
.iq-taglie { display: flex; flex-wrap: wrap; gap: 6px; }
.iq-taglia { min-width: 44px; padding: 6px 10px; text-align: center; border-radius: 8px; border: 1px solid var(--ex-border); background: #fff; font-weight: 600; font-size: .9rem; }
.iq-articolo-azioni { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.5rem; }
.iq-articolo-schede { padding: 18px 20px; border: 1px solid var(--ex-border); border-radius: var(--ex-radius); background: #fff; }
.iq-articolo-schede .nav-pills { gap: 6px; flex-wrap: wrap; }
.iq-articolo-schede .nav-link { border-radius: 99px; font-weight: 600; color: var(--ex-dark); background: #F1F5FB; padding: .45rem 1rem; }
.iq-articolo-schede .nav-link.active { background: var(--ex-primary); color: #fff; }
.iq-articolo-descrizione { color: #334155; line-height: 1.7; }
.iq-articolo-simili { padding: 18px 20px; border: 1px solid var(--ex-border); border-radius: var(--ex-radius); background: #fff; height: 100%; }
.iq-articolo-simili-foto { position: relative; display: block; border-radius: 14px; overflow: hidden; }
.iq-articolo-simili-foto img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 22%; transition: transform .35s ease; }
.iq-articolo-simili-foto:hover img { transform: scale(1.04); }
.iq-articolo-simili-testo { position: absolute; left: 10px; right: 10px; bottom: 10px; padding: 8px 12px; border-radius: 10px; background: rgba(255,255,255,.94); color: var(--ex-primary); font-weight: 600; font-size: .9rem; }
#image_modal_pdf .modal-body img { max-height: 75vh; width: auto; }
@media (max-width: 575.98px) {
    .iq-articolo-azioni .btn { width: 100%; justify-content: center; }
}

/* richiesta preventivo (/richiesta-preventivo) */
.iq-richiesta-vuota { text-align: center; padding: 1.5rem 0 .5rem; }
.iq-richiesta-vuota-ico { display: inline-flex; width: 72px; height: 72px; border-radius: 22px; align-items: center; justify-content: center; font-size: 32px; color: #fff; background: var(--ex-grad); margin-bottom: 1rem; }
.iq-richiesta-elenco { margin-top: 1.25rem; }
.iq-riga { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto auto; align-items: center; gap: 18px; padding: 14px; margin-bottom: 12px; background: #fff; border: 1px solid var(--ex-border); border-radius: var(--ex-radius); box-shadow: var(--ex-shadow-sm); }
.iq-riga-foto { position: relative; display: flex; align-items: center; justify-content: center; width: 120px; height: 120px; padding: 8px; border-radius: 14px; background: #F8FAFC; }
.iq-riga-foto img { max-width: 100%; max-height: 100%; object-fit: contain; }
.iq-riga-foto .iq-capo-zoom { width: 32px; height: 32px; right: 6px; top: 6px; font-size: .85rem; }
.iq-riga-nome { font-size: 1.05rem; font-weight: 800; letter-spacing: -.01em; color: var(--ex-dark); margin: 0 0 .2rem; }
.iq-riga-colore { color: var(--ex-muted); margin: 0 0 .5rem; font-size: .92rem; }
.iq-riga-link { display: flex; flex-wrap: wrap; gap: 14px; font-size: .88rem; }
.iq-riga-link a { color: var(--ex-primary); font-weight: 600; text-decoration: none; }
.iq-riga-link a:hover { text-decoration: underline; }
.iq-riga-quantita { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.iq-riga-etichetta { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ex-muted); }
.iq-stepper { display: inline-flex; align-items: stretch; border: 1px solid var(--ex-border); border-radius: 12px; overflow: hidden; background: #fff; }
.iq-stepper a { display: inline-flex; align-items: center; justify-content: center; width: 42px; min-height: 44px; color: var(--ex-primary); background: #F1F5FB; font-size: 1.1rem; text-decoration: none; }
.iq-stepper a:hover { background: var(--ex-primary); color: #fff; }
.iq-stepper a[disabled], .iq-stepper a.aspNetDisabled { opacity: .4; pointer-events: none; }
.iq-stepper input { width: 64px; border: 0; text-align: center; font-weight: 800; font-size: 1.1rem; color: var(--ex-dark) !important; background: #fff !important; }
.iq-riga-elimina { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; color: #B91C1C; background: #FEF2F2; text-decoration: none; }
.iq-riga-elimina:hover { background: #B91C1C; color: #fff; }
.iq-richiesta-modulo { margin-top: 1.5rem; padding: 20px; border: 1px solid var(--ex-border); border-radius: var(--ex-radius); }
.iq-foto-grande { max-height: 75vh; width: auto; }
.iq-anteprima-azioni { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--ex-border); }
.iq-invio { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 1rem; padding: 18px 20px; border-radius: var(--ex-radius); background: #ECFDF5; border: 1px solid #A7F3D0; border-left: 5px solid #10B981; }
.iq-invio-testo { display: flex; flex-direction: column; gap: 4px; flex: 1 1 320px; color: #065F46; }
.iq-invio-testo strong { font-size: 1.05rem; color: #064E3B; }
.iq-invio-azione { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.iq-invio-azione .form-check { display: flex; align-items: center; gap: 8px; padding-left: 0; font-size: .92rem; }
.iq-invio-azione .form-check input { width: 20px; height: 20px; }
.iq-invio-azione .btn-success { background: linear-gradient(135deg, #047857, #10B981); border: 0; }
@media (max-width: 575.98px) { .iq-invio-azione { align-items: stretch; width: 100%; } .iq-invio-azione .btn { justify-content: center; } }
.iq-stampa { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; padding: 14px 16px; border-radius: 14px; background: #F1F5FB; border: 1px solid var(--ex-border); color: var(--ex-dark); font-size: .95rem; }
.iq-stampa p { flex: 1 1 280px; }
.iq-stampa-ico { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.3rem; color: #fff; background: var(--ex-grad); }
.iq-stampa .btn { white-space: nowrap; }
.iq-esito { display: block; margin-top: 12px; }
.iq-esito:empty { display: none; }
.iq-esito--ok { padding: 10px 14px; border-radius: 12px; background: #ECFDF5; border: 1px solid #A7F3D0; color: #065F46; font-weight: 600; }
.iq-esito--errore { padding: 10px 14px; border-radius: 12px; background: #FEF2F2; border: 1px solid #FCA5A5; color: #991B1B; font-weight: 600; }
.iq-errore-richiesta { position: relative; z-index: 5; margin-top: 12px; padding: 12px 16px; border-radius: 12px; background: #FEF2F2; border: 1px solid #FCA5A5; color: #991B1B; font-weight: 600; }
@media (max-width: 767.98px) {
    .iq-riga { grid-template-columns: 88px minmax(0, 1fr) auto; grid-template-areas: "foto testo elimina" "quantita quantita quantita"; }
    .iq-riga-foto { grid-area: foto; width: 88px; height: 88px; }
    .iq-riga-testo { grid-area: testo; }
    .iq-riga-elimina { grid-area: elimina; align-self: start; }
    .iq-riga-quantita { grid-area: quantita; flex-direction: row; justify-content: space-between; border-top: 1px solid var(--ex-border); padding-top: 10px; }
}

.iq-avviso { display: block; margin-top: 6px; color: var(--ex-warm); font-weight: 600; }
.iq-avviso:empty { display: none; }
@media (max-width: 575.98px) {
    .iq-tipi .iq-catalogo .card-body { padding: 12px 12px 14px; }
    .iq-tipi .iq-catalogo h3 { font-size: .95rem; }
    .iq-tipi .col-6 .iq-catalogo p { display: none; }
    .iq-tipi .iq-catalogo em { font-size: .85rem; }
    .iq-tipi .iq-catalogo-etichetta { left: 8px; top: 8px; padding: 3px 9px; font-size: .68rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; }
}
