@charset "UTF-8";

/* ==========================================================
   iWineBook – USER.CSS STABILE E CONSOLIDATO
   Versione: 2026.09.15-0820 · REV 21
   Versione CSS: 2026.09.15-0820
   Obiettivi:
   - barra superiore stabile
   - menu Joomla a sinistra | iWineBook centrato | social a destra
   - hero fluido e auto-dimensionante
   - slogan sempre visibile sotto i tre accessi
   - nessun SIDR / menu mobile duplicato
   - pagina Team isolata in .iwb-people / .iwb-profile
   - nessuna doppia implementazione Team
   ========================================================== */

:root {

    --iwb-radius-button: 2px;
    --iwb-radius-card: 0px;
    --iwb-radius-panel: 0px;
    --iwb-radius-pill: 999px;
    --iwb-css-version: "2026.09.15-0820";
    --iwb-css-revision: "REV 21";
    --iwb-bar-h: 52px;
    --iwb-bar-h-mobile: 56px;
    --iwb-text: #222222;
    --iwb-social: #333333;
}


/* ==========================================================
   iWineBook — DESIGN SYSTEM GLOBALE PAGINE INTERNE
   Riferimento visivo: HOME PAGE
   Palette definitiva:
   - nero / antracite
   - bianco
   - grigi neutri
   - nessun beige / marrone / colore decorativo
   ========================================================== */

:root {
    --iwb-black: #111111;
    --iwb-charcoal: #1b1b1b;
    --iwb-dark: #242424;

    --iwb-white: #ffffff;
    --iwb-page-bg: #f4f4f4;
    --iwb-soft: #f8f8f8;

    --iwb-gray-900: #2b2b2b;
    --iwb-gray-700: #555555;
    --iwb-gray-500: #777777;
    --iwb-gray-300: #cfcfcf;
    --iwb-gray-200: #dddddd;
    --iwb-gray-100: #ececec;

    --iwb-border: rgba(0,0,0,.11);
    --iwb-border-strong: rgba(0,0,0,.18);

    --iwb-glass-dark: rgba(0,0,0,.50);
    --iwb-glass-light: rgba(255,255,255,.88);

    --iwb-shadow-soft: 0 12px 28px rgba(0,0,0,.045);
    --iwb-shadow-dark: 0 18px 42px rgba(0,0,0,.14);

    --iwb-radius-small: 0px;
    --iwb-radius-medium: 0px;
}

/* ==========================================================
   MAPPA STILI PAGINA iWineBook
   Regola strutturale:
   - HTML = solo contenuti, struttura e classi
   - USER.CSS = tutta la grafica del sito
   - ogni famiglia di pagina usa un namespace dedicato

   FAMIGLIE ATTUALI
   1. PROFILI / PRESENTAZIONE
      .iwb-presentation
      Riutilizzo: Attività, Produttori, Appassionati

   2. DISTRIBUTORI / BUSSOLA
      .iwb-presentation--compass

   3. TEAM
      .iwb-team-page / .iwb-team-*

   4. VISION
      .iwb-vision-page / .iwb-vision-*

   Nuove famiglie future:
   creare sempre un prefisso dedicato .iwb-[nome]-*
   ========================================================== */

/* ==========================================================
   1. BARRA SUPERIORE
   ========================================================== */

#navwrap,
#navcontainer {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;

    width: 100% !important;
    max-width: none !important;
    height: var(--iwb-bar-h) !important;
    min-height: var(--iwb-bar-h) !important;
    max-height: var(--iwb-bar-h) !important;

    margin: 0 !important;
    box-sizing: border-box !important;

    background: rgba(255, 255, 255, .94) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .10) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .05) !important;

    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
}

#navwrap {
    padding: 0 !important;
    overflow: visible !important;
}

#navcontainer {
    padding: 0 28px !important;
}

#navflex {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================
   2. MENU JOOMLA A SINISTRA
   ========================================================== */

#iwb-mainmenu {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: center !important;

    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    align-items: center !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#iwb-mainmenu > div,
#iwb-mainmenu nav,
#iwb-mainmenu .mod-menu,
#iwb-mainmenu .nav,
#iwb-mainmenu ul {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    align-items: center !important;
    gap: 22px !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
}

#iwb-mainmenu li {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    align-items: center !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#iwb-mainmenu a,
#iwb-mainmenu a:link,
#iwb-mainmenu a:visited {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    position: static !important;
    align-items: center !important;

    width: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: var(--iwb-text) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

#iwb-mainmenu a:hover,
#iwb-mainmenu .active > a {
    opacity: .58 !important;
    text-decoration: none !important;
}

/* Nasconde la prima voce tecnica/Home, come nella versione attuale. */
#iwb-mainmenu li:first-child {
    display: none !important;
}



/* ==========================================================
   3. LOGO CENTRATO
   ========================================================== */

#logo {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;

    display: block !important;
    position: static !important;
    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: center !important;
}

#logo h2,
#logo .h2 {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    color: var(--iwb-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

#logo h2 a,
#logo .h2 a,
#logo h2 a:link,
#logo h2 a:visited,
#logo h2 a:hover,
#logo h2 a:focus {
    color: var(--iwb-text) !important;
    text-decoration: none !important;
    border: 0 !important;
}

#logo h3,
#logo .h3 {
    display: none !important;
}

/* ==========================================================
   4. SOCIAL A DESTRA
   ========================================================== */

#navright {
    grid-column: 3 !important;
    justify-self: stretch !important;
    align-self: center !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

#topmenu,
#soci {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;

    align-items: center !important;
    justify-content: flex-end !important;

    width: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

#soci {
    gap: 16px !important;
    list-style: none !important;
}

#topmenu::before,
#topmenu::after,
#soci::before,
#soci::after {
    display: none !important;
    content: none !important;
}

#soci a.mytwitter,
#soci a.myfacebook,
#soci a.mycontact {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: .76 !important;

    align-items: center !important;
    justify-content: center !important;

    width: 24px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: var(--iwb-social) !important;
    font-size: 17px !important;
    line-height: 1 !important;
    text-decoration: none !important;

    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;

    transition: opacity .20s ease, color .20s ease, transform .20s ease !important;
}

#soci a.myfacebook { order: 1 !important; }
#soci a.mytwitter  { order: 2 !important; }
#soci a.mycontact  { order: 3 !important; }

#soci a:not(.mytwitter):not(.myfacebook):not(.mycontact) {
    display: none !important;
}

/* Email iWineBook: SVG indipendente da Font Awesome */
#soci a.mycontact,
#soci a.iwb-contact-mail {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: .76 !important;
    pointer-events: auto !important;
}

#soci a.mycontact svg,
#soci a.iwb-contact-mail svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
}

/* Lo slot Twitter del template viene usato per Instagram. */
#soci a.mytwitter i,
#soci a.mytwitter .fa,
#soci a.mytwitter .fab {
    display: inline-block !important;
    font-family: "Font Awesome 6 Brands" !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

#soci a.mytwitter i::before,
#soci a.mytwitter .fa::before,
#soci a.mytwitter .fab::before {
    content: "\f16d" !important;
}

#soci a.mytwitter:hover,
#soci a.myfacebook:hover,
#soci a.mycontact:hover {
    color: #000 !important;
    opacity: 1 !important;
    transform: translateY(-1px) !important;
}

/* ==========================================================
   5. HERO HOME — BLOCCO UNICO, FLUIDO E AUTO-DIMENSIONANTE
   ========================================================== */

#masthead {
    position: absolute !important;
    left: 50% !important;
    top: 44% !important;
    z-index: 20 !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: min(720px, 88vw) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 30px 34px 26px !important;
    box-sizing: border-box !important;

    transform: translate(-50%, -50%) !important;
    overflow: visible !important;

    background: rgba(0, 0, 0, .48) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 4px !important;

    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;

    box-shadow: 0 18px 45px rgba(0, 0, 0, .22) !important;
    text-align: center !important;
}

#masthead h2.fullpageheader,
#masthead .h2.fullpageheader {
    margin: 0 0 12px !important;
    padding: 0 !important;

    color: #fff !important;
    font-size: clamp(30px, 4vw, 44px) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: .03em !important;
    text-transform: none !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .65) !important;
}

#masthead h3.fullpageheader,
#masthead .h3.fullpageheader {
    margin: 0 !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, .94) !important;
    font-size: clamp(13px, 1.5vw, 17px) !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    letter-spacing: .32em !important;
    text-shadow: 0 2px 7px rgba(0, 0, 0, .80) !important;
}

/* Elimina il pulsante nativo del template. */
#masthead a.btn,
#masthead a.btn.fullpageheader,
#masthead button,
#masthead .btn.fullpageheader {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Tre accessi principali. */
#masthead .iwb-hero-access,
.iwb-hero-access {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 12px !important;

    width: 100% !important;
    max-width: 620px !important;
    margin: 22px auto 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

#masthead .iwb-hero-choice,
.iwb-hero-choice {
    display: flex !important;
    flex: 1 1 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 0 !important;
    min-height: 66px !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;

    color: #fff !important;
    background: rgba(0, 0, 0, .28) !important;
    border: 1px solid rgba(255, 255, 255, .45) !important;
    border-radius: 2px !important;
    text-decoration: none !important;

    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;

    transition: background .22s ease, border-color .22s ease, transform .22s ease !important;
}

.iwb-hero-choice-title {
    display: block !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.iwb-hero-choice-text {
    display: block !important;
    margin-top: 6px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: .025em !important;
    color: rgba(255, 255, 255, .82) !important;
}

.iwb-hero-choice:hover,
.iwb-hero-choice:focus {
    color: #fff !important;
    background: rgba(255, 255, 255, .12) !important;
    border-color: rgba(255, 255, 255, .85) !important;
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}

/*
   SLOGAN ROBUSTO.
   Funziona sia con:
     <div class="iwb-hero-slogan">...</div>
   sia con il vecchio:
     <div class="iwb-hero-access">...</div><p>...</p>
*/
#masthead .iwb-hero-slogan,
#masthead .iwb-hero-access + .iwb-hero-slogan,
#masthead .iwb-hero-access + p,
.iwb-hero-slogan {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: relative !important;
    z-index: 30 !important;

    width: 100% !important;
    max-width: 620px !important;
    height: auto !important;

    margin: 17px auto 0 !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, .94) !important;
    background: transparent !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: .025em !important;
    text-align: center !important;
    text-transform: none !important;
    text-decoration: none !important;

    overflow: visible !important;
}

/* ==========================================================
   6. CREDITI TEMPLATE
   ========================================================== */

#a4j,
#a4j *,
#footerwrap #a4j {
    display: none !important;
}

/* ==========================================================
   7. PAGINE UTENTE JOOMLA — NESSUNA HERO
   ========================================================== */

body:has([class*="com-users"]) #masthead,
body:has(form[id*="com-users"]) #masthead,
body:has(.profile) #masthead,
body:has(.login) #masthead,
body:has(.reset) #masthead,
body:has(.remind) #masthead,
body:has([class*="com-users"]) #headerwrap,
body:has(form[id*="com-users"]) #headerwrap,
body:has(.profile) #headerwrap,
body:has(.login) #headerwrap,
body:has(.reset) #headerwrap,
body:has(.remind) #headerwrap {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    background-image: none !important;
    overflow: hidden !important;
}

body:has([class*="com-users"]) #contentwrap,
body:has(form[id*="com-users"]) #contentwrap,
body:has(.profile) #contentwrap,
body:has(.login) #contentwrap,
body:has(.reset) #contentwrap,
body:has(.remind) #contentwrap,
body:has([class*="com-users"]) main,
body:has(form[id*="com-users"]) main,
body:has(.profile) main,
body:has(.login) main,
body:has(.reset) main,
body:has(.remind) main {
    margin-top: 0 !important;
    padding-top: calc(var(--iwb-bar-h) + 20px) !important;
}

/* ==========================================================
   8. TABLET / iPAD
   ========================================================== */

@media screen and (max-width: 1280px) {
    #navcontainer {
        height: var(--iwb-bar-h-mobile) !important;
        min-height: var(--iwb-bar-h-mobile) !important;
        max-height: var(--iwb-bar-h-mobile) !important;
        padding: 0 14px !important;
    }

    #iwb-mainmenu > div,
    #iwb-mainmenu nav,
    #iwb-mainmenu .mod-menu,
    #iwb-mainmenu .nav,
    #iwb-mainmenu ul {
        gap: 12px !important;
    }

    #iwb-mainmenu a {
        font-size: 11px !important;
        letter-spacing: .05em !important;
    }

    #soci {
        gap: 14px !important;
    }
}

@media screen and (max-width: 900px) {
    #masthead {
        top: 46% !important;
        width: min(700px, 90vw) !important;
        padding: 26px 26px 23px !important;
    }

    #masthead .iwb-hero-access,
    .iwb-hero-access {
        gap: 10px !important;
        margin-top: 20px !important;
    }

    #masthead .iwb-hero-choice,
    .iwb-hero-choice {
        min-height: 64px !important;
        padding: 11px 10px !important;
    }

    .iwb-hero-choice-title {
        font-size: 11px !important;
    }

    .iwb-hero-choice-text {
        font-size: 10px !important;
    }
}

/* ==========================================================
   9. MOBILE
   ========================================================== */

@media screen and (max-width: 600px) {
    #navwrap,
    #navcontainer {
        height: var(--iwb-bar-h-mobile) !important;
        min-height: var(--iwb-bar-h-mobile) !important;
        max-height: var(--iwb-bar-h-mobile) !important;
    }

    #navcontainer {
        padding: 0 14px !important;
    }

    #navflex {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    }

    #logo h2,
    #logo .h2 {
        font-size: 17px !important;
        letter-spacing: .01em !important;
    }

    #soci {
        gap: 12px !important;
    }

    #soci a.mytwitter,
    #soci a.myfacebook,
    #soci a.mycontact {
        width: 22px !important;
        height: 30px !important;
        font-size: 17px !important;
    }

    #masthead {
        top: 47% !important;
        width: 88vw !important;
        padding: 24px 18px 21px !important;
    }

    #masthead h2.fullpageheader,
    #masthead .h2.fullpageheader {
        margin-bottom: 10px !important;
        font-size: 32px !important;
        letter-spacing: .02em !important;
    }

    #masthead h3.fullpageheader,
    #masthead .h3.fullpageheader {
        font-size: 11px !important;
        line-height: 1.5 !important;
        letter-spacing: .20em !important;
    }

    #masthead .iwb-hero-access,
    .iwb-hero-access {
        flex-direction: column !important;
        width: min(330px, 100%) !important;
        gap: 8px !important;
        margin-top: 18px !important;
    }

    #masthead .iwb-hero-choice,
    .iwb-hero-choice {
        min-height: 54px !important;
        padding: 9px 12px !important;
    }

    .iwb-hero-choice-title {
        font-size: 11px !important;
        letter-spacing: .16em !important;
    }

    .iwb-hero-choice-text {
        margin-top: 4px !important;
        font-size: 10px !important;
    }

    #masthead .iwb-hero-slogan,
    #masthead .iwb-hero-access + .iwb-hero-slogan,
    #masthead .iwb-hero-access + p,
    .iwb-hero-slogan {
        margin-top: 14px !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    body:has([class*="com-users"]) #contentwrap,
    body:has(form[id*="com-users"]) #contentwrap,
    body:has(.profile) #contentwrap,
    body:has(.login) #contentwrap,
    body:has(.reset) #contentwrap,
    body:has(.remind) #contentwrap,
    body:has([class*="com-users"]) main,
    body:has(form[id*="com-users"]) main,
    body:has(.profile) main,
    body:has(.login) main,
    body:has(.reset) main,
    body:has(.remind) main {
        padding-top: calc(var(--iwb-bar-h-mobile) + 16px) !important;
    }
}

@media screen and (max-width: 390px) {
    #navcontainer {
        padding: 0 10px !important;
    }

    #logo h2,
    #logo .h2 {
        font-size: 16px !important;
    }

    #soci {
        gap: 10px !important;
    }

    #soci a.mytwitter,
    #soci a.myfacebook,
    #soci a.mycontact {
        width: 20px !important;
        font-size: 16px !important;
    }

    #masthead {
        width: 90vw !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    #masthead h2.fullpageheader,
    #masthead .h2.fullpageheader {
        font-size: 29px !important;
    }

    #masthead h3.fullpageheader,
    #masthead .h3.fullpageheader {
        font-size: 10px !important;
        letter-spacing: .16em !important;
    }
}

/* ==========================================================
   iWineBook — PAGINE ATTIVITÀ / PRODUTTORI / APPASSIONATI
   Versione consolidata 2026-09-10
   ========================================================== */

body.iwb-info-page #allwrap {
    background: #f4f2ed;
    min-height: calc(100vh - 70px);
}

body.iwb-info-page #wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 58px 30px 58px;
}

body.iwb-info-page #content60,
body.iwb-info-page #content {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
}

/* Nasconde elementi Joomla non utili nelle pagine informative */
body.iwb-info-page .article-info,
body.iwb-info-page .article-info-term,
body.iwb-info-page .icons,
body.iwb-info-page .pagenavigation,
body.iwb-info-page .pager,
body.iwb-info-page .pagination,
body.iwb-info-page .page-header {
    display: none !important;
}


/* ==========================================================
   PRESENTAZIONE
   ========================================================== */

.iwb-presentation {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 6px 24px 48px;
    box-sizing: border-box;
    text-align: center;
}

.iwb-presentation-kicker {
    margin: 0 0 4px;
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #8f8f8f;
}

.iwb-presentation h1 {
    max-width: 760px;
    margin: 0 auto 14px;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: clamp(44px, 5vw, 62px);
    line-height: .95;
    font-weight: 700;
    letter-spacing: -1.8px;
    color: #111;
}

.iwb-presentation-intro {
    max-width: 720px;
    margin: 0 auto 5px;
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    line-height: 1.55;
    font-weight: 400;
    color: #666;
}

.iwb-presentation-intro + .iwb-presentation-intro {
    margin-top: 4px;
}


/* ==========================================================
   BLOCCO FOTO + FASI
   ========================================================== */

.iwb-fast {
    width: 100%;
    max-width: 1000px;
    margin: 24px auto 0;
    display: grid;
    grid-template-columns: .90fr 1.10fr;
    gap: 34px;
    align-items: center;
    padding: 28px;
    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 26px;
    box-shadow:
        0 18px 45px rgba(0, 0, 0, .045),
        0 2px 8px rgba(0, 0, 0, .025);
    box-sizing: border-box;
}

.iwb-fast-photo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    width: 100%;
    height: auto;
    padding: 6px;
    background: #fff;
    border: 1px solid #ededed;
    border-radius: 21px;
    box-sizing: border-box;
}

.iwb-fast-photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    max-height: none;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .11);
    transition:
        transform .45s cubic-bezier(.2,.8,.2,1),
        box-shadow .45s cubic-bezier(.2,.8,.2,1);
}

.iwb-fast-photo:hover img {
    transform: scale(1.012);
    box-shadow: 0 20px 40px rgba(0, 0, 0, .15);
}

.iwb-fast-caption {
    display: none;
}


/* ==========================================================
   FASE 1 / FASE 2 / FASE 3
   ========================================================== */

.iwb-fast-steps {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
}

.iwb-phase {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 104px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px 26px;
    text-align: left;
    background:
        linear-gradient(120deg, #ffffff 0%, #ffffff 45%, #fafafa 55%, #ffffff 100%);
    background-size: 240% 100%;
    background-position: 100% 0;
    border: 1px solid #e5e5e5;
    border-radius: 18px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 4px 14px rgba(0,0,0,.025);
    cursor: default;
    box-sizing: border-box;
    transform: translateZ(0);
    transition:
        transform .38s cubic-bezier(.2,.8,.2,1),
        box-shadow .38s cubic-bezier(.2,.8,.2,1),
        border-color .38s ease,
        background-position .65s cubic-bezier(.2,.8,.2,1),
        background .38s ease;
}

/* NUMERO GIGANTE — design moderno, monocromatico */
.iwb-phase::before {
    position: absolute;
    z-index: 0;

    right: 14px;
    bottom: -30px;

    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: 132px;
    line-height: .82;
    font-weight: 700;
    letter-spacing: -8px;

    /* sfumatura del numero: più presente in basso, quasi evanescente in alto */
    background: linear-gradient(
        180deg,
        rgba(0,0,0,.012) 0%,
        rgba(0,0,0,.042) 46%,
        rgba(0,0,0,.095) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;

    /* bordo sottilissimo per dare carattere senza appesantire */
    -webkit-text-stroke: 1px rgba(0,0,0,.028);

    pointer-events: none;
    user-select: none;

    transform: rotate(-2deg) translateY(0) scale(1);
    transform-origin: 70% 80%;

    transition:
        transform .48s cubic-bezier(.2,.8,.2,1),
        opacity .35s ease,
        -webkit-text-stroke-color .35s ease;

    opacity: .9;
}

.iwb-phase:nth-child(1)::before { content: "01"; }
.iwb-phase:nth-child(2)::before { content: "02"; }
.iwb-phase:nth-child(3)::before { content: "03"; }
.iwb-phase:nth-child(4)::before { content: "04"; }

/* linea laterale animata */
.iwb-phase::after {
    content: "";
    position: absolute;
    left: 0;
    top: 18%;
    width: 3px;
    height: 64%;
    border-radius: 3px;
    background: #111;
    transform: scaleY(0);
    transform-origin: center;
    transition: transform .38s cubic-bezier(.2,.8,.2,1);
}

.iwb-phase:hover {
    transform: translateX(9px) translateY(-3px);
    border-color: #d2d2d2;
    background-position: 0 0;
    box-shadow:
        0 18px 36px rgba(0,0,0,.09),
        0 4px 10px rgba(0,0,0,.04);
}

.iwb-phase:hover::before {
    opacity: 1;
    -webkit-text-stroke-color: rgba(0,0,0,.055);
    transform: rotate(0deg) translateY(-8px) scale(1.055);
}

.iwb-phase:hover::after {
    transform: scaleY(1);
}

.iwb-phase-number {
    position: relative;
    z-index: 3;
    margin-bottom: 5px;
    font-family: 'Open Sans', sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 2.2px;
    color: #aaa;
    transition:
        transform .38s cubic-bezier(.2,.8,.2,1),
        letter-spacing .38s ease,
        color .38s ease;
}

.iwb-phase-title {
    position: relative;
    z-index: 3;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 35px;
    line-height: .95;
    font-weight: 700;
    letter-spacing: -1px;
    color: #111;
    transition:
        transform .38s cubic-bezier(.2,.8,.2,1),
        letter-spacing .38s ease;
}

.iwb-phase-text {
    position: relative;
    z-index: 3;
    margin-top: 6px;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: #666;
    transition:
        transform .38s cubic-bezier(.2,.8,.2,1),
        color .38s ease;
}

.iwb-phase:hover .iwb-phase-number {
    transform: translateX(5px);
    letter-spacing: 3px;
    color: #777;
}

.iwb-phase:hover .iwb-phase-title {
    transform: translateX(7px);
    letter-spacing: -.35px;
}

.iwb-phase:hover .iwb-phase-text {
    transform: translateX(7px);
    color: #333;
}


/* ==========================================================
   CLAIM FINALE
   ========================================================== */

.iwb-fast-claim {
    position: relative;
    margin: 38px auto 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    text-align: center;
}

.iwb-fast-claim::before,
.iwb-fast-claim::after {
    content: "";
    display: block;
    width: 62px;
    height: 1px;
    background: #e1e1e1;
}

.iwb-fast-claim strong {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -.8px;
    color: #111;
}


/* ==========================================================
   PULSANTI AZIONE
   ========================================================== */

.iwb-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 11px;
    margin: 0 auto;
    flex-wrap: wrap;
}

.iwb-action {
    display: inline-flex;
    min-width: 150px;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    box-sizing: border-box;
    border-radius: 11px;
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1.25px;
    text-transform: uppercase;
    text-decoration: none !important;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        background .22s ease,
        border-color .22s ease;
}

.iwb-action-primary {
    background: #111;
    border: 1px solid #111;
    color: #fff !important;
}

.iwb-action-demo {
    background: #5f5f5f;
    border: 1px solid #5f5f5f;
    color: #fff !important;
}

.iwb-action-secondary {
    background: #fff;
    border: 1px solid #d4d4d4;
    color: #111 !important;
}

.iwb-action:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0,0,0,.10);
    text-decoration: none !important;
}

.iwb-action-primary:hover {
    background: #272727;
}

.iwb-action-demo:hover {
    background: #474747;
    border-color: #474747;
}

.iwb-action-secondary:hover {
    background: #f7f7f7;
    border-color: #bdbdbd;
}


/* ==========================================================
   VECCHI BOX BENEFIT
   Rimangono disponibili per PRODUTTORI / APPASSIONATI
   ========================================================== */

.iwb-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 34px auto 28px;
}

.iwb-benefit {
    min-height: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 18px 20px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 12px;
    text-align: center;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: .02em;
    color: #555;
}

.iwb-benefit strong {
    display: block;
    margin-bottom: 6px;
    color: #222;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .02em;
}


/* ==========================================================
   TABLET / IPAD
   ========================================================== */

@media screen and (max-width: 900px) {

    .iwb-presentation {
        max-width: 780px;
        padding: 8px 24px 42px;
    }

    .iwb-presentation h1 {
        max-width: 650px;
        font-size: clamp(42px, 7vw, 56px);
        margin-bottom: 14px;
    }

    .iwb-presentation-intro {
        max-width: 650px;
        font-size: 15px;
    }

    .iwb-fast {
        max-width: 700px;
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 22px;
        padding: 22px;
        border-radius: 24px;
    }

    .iwb-fast-photo img {
        height: auto;
        max-height: none;
        aspect-ratio: 4 / 5;
    }

    .iwb-fast-steps {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

    .iwb-phase {
        min-height: 172px;
        padding: 22px 16px;
        text-align: center;
    }

    .iwb-phase::before {
        right: 8px;
        bottom: -10px;
        font-size: 96px;
        letter-spacing: -5px;
    }

    .iwb-phase:hover {
        transform: translateY(-6px);
    }

    .iwb-phase::after {
        left: 18%;
        top: 0;
        width: 64%;
        height: 3px;
        transform: scaleX(0);
        transform-origin: center;
    }

    .iwb-phase:hover::after {
        transform: scaleX(1);
    }

    .iwb-phase-title {
        font-size: 29px;
    }

    .iwb-phase:hover .iwb-phase-number,
    .iwb-phase:hover .iwb-phase-title,
    .iwb-phase:hover .iwb-phase-text {
        transform: none;
    }

    .iwb-benefits {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}


/* ==========================================================
   SMARTPHONE
   ========================================================== */

@media screen and (max-width: 600px) {

    body.iwb-info-page #wrap {
        padding: 46px 16px 36px;
    }

    .iwb-presentation {
        padding: 4px 14px 36px;
    }

    .iwb-presentation h1 {
        font-size: 39px;
        line-height: .98;
        letter-spacing: -1.3px;
        margin-bottom: 12px;
    }

    .iwb-presentation-intro {
        font-size: 14px;
        line-height: 1.55;
    }

    .iwb-fast {
        margin-top: 18px;
        padding: 14px;
        gap: 14px;
        border-radius: 20px;
    }

    .iwb-fast-photo {
        padding: 4px;
        border-radius: 17px;
    }

    .iwb-fast-photo img {
        border-radius: 13px;
    }

    .iwb-fast-steps {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .iwb-phase {
        min-height: 105px;
        padding: 18px 22px;
        text-align: left;
    }

    .iwb-phase::before {
        right: 10px;
        bottom: -16px;
        font-size: 88px;
        letter-spacing: -4px;
        color: rgba(0,0,0,.04);
    }

    .iwb-phase:hover {
        transform: translateY(-3px);
    }

    .iwb-phase::after {
        left: 0;
        top: 18%;
        width: 3px;
        height: 64%;
        transform: scaleY(0);
    }

    .iwb-phase:hover::after {
        transform: scaleY(1);
    }

    .iwb-phase-title {
        font-size: 30px;
    }

    .iwb-phase:hover .iwb-phase-number,
    .iwb-phase:hover .iwb-phase-title,
    .iwb-phase:hover .iwb-phase-text {
        transform: translateX(4px);
    }

    .iwb-fast-claim {
        margin: 29px auto 22px;
        gap: 10px;
    }

    .iwb-fast-claim::before,
    .iwb-fast-claim::after {
        width: 22px;
    }

    .iwb-fast-claim strong {
        font-size: 27px;
    }

    .iwb-actions {
        flex-direction: column;
        max-width: 310px;
        margin-left: auto;
        margin-right: auto;
        gap: 9px;
    }

    .iwb-action {
        width: 100%;
        min-height: 48px;
        border-radius: 10px;
    }

    .iwb-benefits {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 30px;
    }

    .iwb-benefit {
        min-height: 64px;
    }
}


/* ==========================================================
   SCHERMI MOLTO PICCOLI
   ========================================================== */

@media screen and (max-width: 390px) {

    .iwb-presentation h1 {
        font-size: 35px;
    }

    .iwb-phase-title {
        font-size: 27px;
    }

    .iwb-fast-claim strong {
        font-size: 24px;
    }
}


/* ==========================================================
   ACCESSIBILITÀ — RIDUZIONE MOVIMENTO
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .iwb-fast-photo img,
    .iwb-phase,
    .iwb-phase::before,
    .iwb-phase::after,
    .iwb-phase-number,
    .iwb-phase-title,
    .iwb-phase-text,
    .iwb-action {
        transition: none !important;
    }

    .iwb-phase:hover,
    .iwb-action:hover,
    .iwb-fast-photo:hover img {
        transform: none !important;
    }
}


/* ==========================================================
   FASI — NUMERI 01/02/03/04 DESIGN V2
   Override finale, valido per tutte le pagine iWineBook
   ========================================================== */

@media screen and (min-width: 901px) {
    .iwb-phase::before {
        right: 12px;
        bottom: -31px;
        font-size: 132px;
    }
}

@media screen and (max-width: 900px) {
    .iwb-phase::before {
        right: 8px !important;
        bottom: -18px !important;
        font-size: 104px !important;
        letter-spacing: -7px !important;
    }
}

@media screen and (max-width: 600px) {
    .iwb-phase::before {
        right: 10px !important;
        bottom: -19px !important;
        font-size: 94px !important;
        letter-spacing: -6px !important;
    }
}


/* ==========================================================
   FOTO iWineBook — STANDARD DEFINITIVO 1000 × 1250 px (4:5)
   Valido per ATTIVITÀ / APPASSIONATI / PRODUTTORI
   ========================================================== */

.iwb-fast {
    align-items: center !important;
}

.iwb-fast-photo {
    width: 100% !important;
    height: auto !important;
    align-self: center !important;
}

.iwb-fast-photo img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Desktop: foto verticale elegante accanto alle quattro fasi */
@media screen and (min-width: 901px) {
    .iwb-fast {
        grid-template-columns: minmax(330px, .90fr) minmax(420px, 1.10fr) !important;
    }

    .iwb-fast-photo {
        max-width: 430px !important;
        margin: 0 auto !important;
    }
}

/* iPad / tablet: resta verticale, mai più 16:9 */
@media screen and (max-width: 900px) {
    .iwb-fast-photo {
        width: min(100%, 500px) !important;
        margin: 0 auto !important;
    }

    .iwb-fast-photo img {
        aspect-ratio: 4 / 5 !important;
    }
}

/* Smartphone: verticale 4:5, con larghezza controllata */
@media screen and (max-width: 600px) {
    .iwb-fast-photo {
        width: min(100%, 390px) !important;
        margin: 0 auto !important;
    }

    .iwb-fast-photo img {
        aspect-ratio: 4 / 5 !important;
    }
}
/* ==========================================================
   iWineBook — PATCH FINALE PROFILI + DEMO + REGISTRAZIONE
   Versione: 2026-09-10
   Da mantenere IN FONDO al USER.CSS.
   Compatibile con:
   - ATTIVITÀ
   - APPASSIONATI
   - PRODUTTORI
   - foto 1000 × 1250
   - barra/menu già esistenti
   ========================================================== */


/* ----------------------------------------------------------
   TESTATA PROFILO COMPATTA
   Titolo a sinistra / Guarda la demo a destra
   ---------------------------------------------------------- */

.iwb-presentation-hero {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 0 18px;

    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;

    align-items: end;

    border-bottom: 1px solid rgba(0,0,0,.09);
    box-sizing: border-box;
}

.iwb-presentation-hero > div {
    min-width: 0;
}

.iwb-presentation-hero .iwb-presentation-kicker {
    margin: 0 0 6px !important;
    text-align: left;
}

.iwb-presentation-hero h1,
.iwb-presentation .iwb-presentation-hero h1 {
    max-width: 760px;
    margin: 0 !important;

    text-align: left;

    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: clamp(44px, 5vw, 62px);
    line-height: .95;
    font-weight: 700;
    letter-spacing: -1.8px;
    color: #111;
}


/* ----------------------------------------------------------
   PULSANTE GUARDA LA DEMO
   Solo ATTIVITÀ / APPASSIONATI
   ---------------------------------------------------------- */

.iwb-hero-demo {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-width: 150px;
    min-height: 46px;

    margin: 0 0 2px;
    padding: 0 22px;

    border: 1px solid #111;
    border-radius: 11px;

    background: #111;
    color: #fff !important;

    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1.25px;
    text-transform: uppercase;

    text-decoration: none !important;

    box-shadow: none;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        background .22s ease;
}

.iwb-hero-demo:hover,
.iwb-hero-demo:focus {
    background: #292929;
    color: #fff !important;
    text-decoration: none !important;

    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0,0,0,.10);
}


/* ----------------------------------------------------------
   INTRO — DUE TESTI PIÙ COMPATTI
   ---------------------------------------------------------- */

.iwb-intro-wrap {
    width: 100%;
    max-width: 1000px;

    margin: 18px auto 0;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;

    box-sizing: border-box;
}

.iwb-intro-wrap .iwb-presentation-intro {
    max-width: none;
    margin: 0 !important;

    text-align: left;
}


/* ----------------------------------------------------------
   BLOCCO FOTO + 4 FASI
   Mantiene lo stile già presente nel USER.CSS
   ---------------------------------------------------------- */

.iwb-presentation-hero + .iwb-intro-wrap + .iwb-fast {
    margin-top: 22px;
}

/* Con quattro fasi, su desktop restano una sotto l'altra */
@media screen and (min-width: 901px) {
    .iwb-fast-steps {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 14px !important;
    }
}


/* ----------------------------------------------------------
   REGISTRAZIONE UNICA
   Attività / Appassionato / Produttore
   ---------------------------------------------------------- */

.iwb-register-box {
    width: 100%;
    max-width: 1000px;

    margin: 28px auto 0;
    padding: 22px 24px;

    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 20px;

    align-items: center;

    background: #111;
    color: #fff;

    border: 1px solid #111;
    border-radius: 18px;

    box-shadow: 0 12px 30px rgba(0,0,0,.08);

    box-sizing: border-box;
}

.iwb-register-num {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50%;

    color: #fff;

    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
}

.iwb-register-copy {
    min-width: 0;
    text-align: left;
}

.iwb-register-copy strong {
    display: block;

    margin: 0 0 4px;

    color: #fff;

    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: 25px;
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -.45px;
}

.iwb-register-copy span {
    display: block;

    color: rgba(255,255,255,.68);

    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 400;
}

.iwb-register-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-width: 154px;
    min-height: 46px;

    padding: 0 21px;

    background: #fff;
    color: #111 !important;

    border: 1px solid #fff;
    border-radius: 11px;

    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1.15px;
    text-transform: uppercase;

    text-decoration: none !important;

    transition:
        transform .22s ease,
        background .22s ease,
        box-shadow .22s ease;
}

.iwb-register-link:hover,
.iwb-register-link:focus {
    background: #f1f1f1;
    color: #111 !important;
    text-decoration: none !important;

    transform: translateY(-2px);
    box-shadow: 0 7px 16px rgba(0,0,0,.18);
}


/* ----------------------------------------------------------
   VECCHI PULSANTI DENTRO LE PAGINE PROFILO
   ACCEDI ora è nel Main Menu.
   Se resta un vecchio blocco .iwb-actions negli HTML precedenti,
   viene nascosto nelle pagine che usano il nuovo blocco.
   ---------------------------------------------------------- */

.iwb-presentation:has(.iwb-register-box) > .iwb-actions {
    display: none !important;
}


/* ----------------------------------------------------------
   TABLET / iPAD
   4 fasi = griglia 2 × 2
   ---------------------------------------------------------- */

@media screen and (max-width: 900px) {

    .iwb-presentation-hero {
        max-width: 700px;

        grid-template-columns: minmax(0, 1fr) auto;
        gap: 18px;

        padding-bottom: 16px;
    }

    .iwb-presentation-hero h1,
    .iwb-presentation .iwb-presentation-hero h1 {
        font-size: clamp(40px, 6vw, 54px);
    }

    .iwb-hero-demo {
        min-width: 138px;
        padding-left: 18px;
        padding-right: 18px;
    }

    .iwb-intro-wrap {
        max-width: 700px;

        grid-template-columns: 1fr;
        gap: 7px;

        margin-top: 15px;
    }

    .iwb-intro-wrap .iwb-presentation-intro {
        text-align: center;
    }

    /* Correzione definitiva: sono QUATTRO fasi */
    .iwb-fast-steps {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .iwb-register-box {
        max-width: 700px;
    }
}


/* ----------------------------------------------------------
   SMARTPHONE
   ---------------------------------------------------------- */

@media screen and (max-width: 600px) {

    .iwb-presentation-hero {
        display: flex;
        flex-direction: column;
        align-items: center;

        gap: 14px;

        max-width: 100%;

        padding-bottom: 18px;

        text-align: center;
    }

    .iwb-presentation-hero .iwb-presentation-kicker {
        text-align: center;
    }

    .iwb-presentation-hero h1,
    .iwb-presentation .iwb-presentation-hero h1 {
        max-width: 100%;

        font-size: 39px;
        line-height: .98;
        letter-spacing: -1.3px;

        text-align: center;
    }

    .iwb-hero-demo {
        width: min(100%, 310px);
        min-height: 48px;
        margin: 0 auto;
    }

    .iwb-intro-wrap {
        max-width: 100%;
        gap: 7px;
        margin-top: 15px;
    }

    .iwb-intro-wrap .iwb-presentation-intro {
        text-align: center;
    }

    .iwb-presentation-hero + .iwb-intro-wrap + .iwb-fast {
        margin-top: 18px;
    }

    .iwb-fast-steps {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .iwb-register-box {
        max-width: 390px;

        grid-template-columns: auto minmax(0, 1fr);
        gap: 14px;

        margin-top: 24px;
        padding: 19px;

        border-radius: 16px;
    }

    .iwb-register-copy strong {
        font-size: 23px;
    }

    .iwb-register-copy span {
        font-size: 11px;
    }

    .iwb-register-link {
        grid-column: 1 / -1;

        width: 100%;
        min-height: 48px;
    }
}


/* ----------------------------------------------------------
   SCHERMI MOLTO PICCOLI
   ---------------------------------------------------------- */

@media screen and (max-width: 390px) {

    .iwb-presentation-hero h1,
    .iwb-presentation .iwb-presentation-hero h1 {
        font-size: 35px;
    }

    .iwb-register-box {
        padding: 17px;
    }

    .iwb-register-num {
        width: 40px;
        height: 40px;
    }
}


/* ----------------------------------------------------------
   ACCESSIBILITÀ
   ---------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .iwb-hero-demo,
    .iwb-register-link {
        transition: none !important;
    }

    .iwb-hero-demo:hover,
    .iwb-register-link:hover {
        transform: none !important;
    }
}


/* ==========================================================
   FINE PATCH FINALE PROFILI + DEMO + REGISTRAZIONE
   ========================================================== */
/* ==========================================================
   iWineBook — FIX SPAZIO SOTTO BARRA MENU
   Versione: 2026-09-10 20:30
   Abbassa il contenuto di ATTIVITÀ / APPASSIONATI / PRODUTTORI
   senza modificare la barra superiore.
   ========================================================== */

/* DESKTOP */
body.iwb-info-page #wrap {
    padding-top: calc(var(--iwb-bar-h) + 34px) !important;
}

/* Se il template applica padding direttamente al contenuto */
body.iwb-info-page #contentwrap,
body.iwb-info-page main {
    scroll-margin-top: calc(var(--iwb-bar-h) + 34px) !important;
}

/* TABLET / iPAD */
@media screen and (max-width: 900px) {
    body.iwb-info-page #wrap {
        padding-top: calc(var(--iwb-bar-h-mobile) + 30px) !important;
    }
}

/* SMARTPHONE */
@media screen and (max-width: 600px) {
    body.iwb-info-page #wrap {
        padding-top: calc(var(--iwb-bar-h-mobile) + 24px) !important;
    }
}

/* ==========================================================
   FINE FIX SPAZIO SOTTO BARRA MENU
   ========================================================== */
/* ==========================================================
   iWineBook — FIX DEFINITIVO DISTANZA DALLA BARRA
   Versione: 2026-09-10 20:35
   Non dipende da classi BODY Joomla.
   Agisce direttamente sulle pagine iWineBook.
   ========================================================== */

/* DESKTOP */
.iwb-presentation {
    padding-top: 42px !important;
}

/* Garantisce spazio anche se il template comprime il contenitore */
#contentwrap:has(.iwb-presentation),
main:has(.iwb-presentation),
#wrap:has(.iwb-presentation) {
    overflow: visible !important;
}

/* TABLET / IPAD */
@media screen and (max-width: 900px) {
    .iwb-presentation {
        padding-top: 34px !important;
    }
}

/* SMARTPHONE */
@media screen and (max-width: 600px) {
    .iwb-presentation {
        padding-top: 28px !important;
    }
}

/* ==========================================================
   FINE FIX DEFINITIVO DISTANZA DALLA BARRA
   ========================================================== */

/* ==========================================================
   iWineBook — REGISTRAZIONE UNICA
   PATCH GRAFICA PULITA
   ========================================================== */

.iwb-registration,
.iwb-registration * {
    box-sizing: border-box;
}

.iwb-registration {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    padding: 34px 24px 64px;
    color: #111;
}

.iwb-registration-head {
    max-width: 760px;
    margin: 0 auto 28px;
    text-align: center;
}

.iwb-registration-kicker {
    margin: 0 0 8px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: #8d8d8d;
}

.iwb-registration h1 {
    margin: 0 0 12px;
    font-family: 'Roboto Condensed', Arial, sans-serif;
    font-size: clamp(42px, 5vw, 62px);
    line-height: .96;
    font-weight: 700;
    letter-spacing: -1.6px;
    color: #111;
}

.iwb-registration-lead {
    max-width: 700px;
    margin: 0 auto;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
    color: #666;
}

/* ----------------------------------------------------------
   SCELTA PROFILO
   ---------------------------------------------------------- */

.iwb-profile-choice {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    max-width: 920px;
    margin: 30px auto 28px;
}

.iwb-profile-card {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    border: 1px solid #e3e3e3;
    border-radius: 18px;
    background: #fff;
    padding: 22px;
    margin: 0;
    text-align: left;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 160px;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.iwb-profile-card:hover {
    transform: translateY(-3px);
    border-color: #bdbdbd;
    box-shadow: 0 12px 28px rgba(0,0,0,.07);
}

.iwb-profile-card.is-active {
    background: #111;
    border-color: #111;
    color: #fff;
    box-shadow: 0 14px 30px rgba(0,0,0,.11);
}

.iwb-profile-index {
    display: block;
    margin-bottom: 18px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #aaa;
}

.iwb-profile-card.is-active .iwb-profile-index {
    color: rgba(255,255,255,.48);
}

.iwb-profile-title {
    display: block;
    margin-bottom: 6px;
    font-family: 'Roboto Condensed', Arial, sans-serif;
    font-size: 28px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -.5px;
}

.iwb-profile-text {
    display: block;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 12px;
    line-height: 1.45;
    color: #666;
}

.iwb-profile-card.is-active .iwb-profile-text {
    color: rgba(255,255,255,.68);
}

/* ----------------------------------------------------------
   FORM CONTAINER
   ---------------------------------------------------------- */

.iwb-registration-form {
    max-width: 920px;
    margin: 0 auto;
    padding: 30px;
    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 24px;
    box-shadow: 0 16px 38px rgba(0,0,0,.045);
}

.iwb-form-section {
    margin-bottom: 30px;
}

.iwb-form-section:last-child {
    margin-bottom: 0;
}

.iwb-form-section-title {
    margin: 0 0 16px;
    font-family: 'Roboto Condensed', Arial, sans-serif;
    font-size: 28px;
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -.4px;
    color: #111;
}

.iwb-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.iwb-form-field {
    min-width: 0;
}

.iwb-form-field.iwb-span-2 {
    grid-column: 1 / -1;
}

.iwb-form-field label {
    display: block;
    margin-bottom: 7px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 1.15px;
    text-transform: uppercase;
    color: #777;
}

.iwb-form-field input,
.iwb-form-field select,
.iwb-form-field textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    background: #fff;
    color: #111;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.4;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.iwb-form-field textarea {
    min-height: 110px;
    resize: vertical;
}

.iwb-form-field input:focus,
.iwb-form-field select:focus,
.iwb-form-field textarea:focus {
    border-color: #111;
    box-shadow: 0 0 0 3px rgba(0,0,0,.055);
}

/* ----------------------------------------------------------
   MOSTRA / NASCONDI PROFILI
   ---------------------------------------------------------- */

.iwb-form-profile {
    display: none;
}

.iwb-form-profile.is-visible {
    display: block;
}

/* ----------------------------------------------------------
   PRIVACY
   ---------------------------------------------------------- */

.iwb-privacy {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #ededed;
}

.iwb-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 0 0 12px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 12px;
    line-height: 1.45;
    color: #555;
}

.iwb-check input {
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    flex: 0 0 auto;
}

/* ----------------------------------------------------------
   SUBMIT
   ---------------------------------------------------------- */

.iwb-registration-submit {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
}

.iwb-registration-submit button {
    appearance: none;
    -webkit-appearance: none;
    min-width: 190px;
    min-height: 48px;
    padding: 0 24px;
    border: 1px solid #111;
    border-radius: 11px;
    background: #111;
    color: #fff;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.iwb-registration-submit button:hover {
    background: #292929;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0,0,0,.10);
}

.iwb-registration-note {
    max-width: 920px;
    margin: 14px auto 0;
    text-align: center;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 11px;
    line-height: 1.45;
    color: #888;
}

/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media screen and (max-width: 900px) {
    .iwb-registration {
        padding: 28px 20px 56px;
    }

    .iwb-profile-choice {
        grid-template-columns: 1fr;
        max-width: 700px;
    }

    .iwb-profile-card {
        min-height: 118px;
    }

    .iwb-registration-form {
        max-width: 700px;
        padding: 24px;
    }
}

/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media screen and (max-width: 600px) {
    .iwb-registration {
        padding: 24px 16px 44px;
    }

    .iwb-registration h1 {
        font-size: 38px;
        line-height: .98;
    }

    .iwb-profile-card {
        min-height: 104px;
        padding: 18px;
    }

    .iwb-profile-title {
        font-size: 24px;
    }

    .iwb-registration-form {
        padding: 20px 16px;
        border-radius: 18px;
    }

    .iwb-form-grid {
        grid-template-columns: 1fr;
    }

    .iwb-form-field.iwb-span-2 {
        grid-column: auto;
    }

    .iwb-registration-submit {
        justify-content: stretch;
    }

    .iwb-registration-submit button {
        width: 100%;
    }
}
#masthead .iwb-hero-slogan {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: relative !important;
    z-index: 10 !important;

    width: 100% !important;
    margin: 20px 0 0 !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    letter-spacing: .03em !important;

    text-align: center !important;
}
/* ==========================================================
   FIX DEFINITIVO HERO HOME + SLOGAN
   ========================================================== */

body.itemid-101 #masthead {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    overflow: visible !important;
}

body.itemid-101 #masthead .iwb-hero-access {
    flex: 0 0 auto !important;
    width: 100% !important;
}

body.itemid-101 #masthead .iwb-hero-slogan {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: static !important;
    float: none !important;
    clear: both !important;

    flex: 0 0 auto !important;
    order: 10 !important;

    width: 100% !important;
    height: auto !important;
    min-height: 22px !important;
    max-height: none !important;

    margin: 18px 0 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    clip: auto !important;
    clip-path: none !important;

    transform: none !important;

    color: #ffffff !important;
    background: transparent !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: .02em !important;

    text-align: center !important;
    text-indent: 0 !important;
    white-space: normal !important;

    z-index: 999999 !important;
}

/* ==========================================================
   iWineBook — FIX FINALE EMAIL BARRA
   2026-09-11
   ========================================================== */
#soci a.mycontact,
#soci a.iwb-contact-mail {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: .76 !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--iwb-social, #333333) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    order: 3 !important;
}

#soci a.mycontact svg,
#soci a.iwb-contact-mail svg {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
}

#soci a.mycontact:hover,
#soci a.iwb-contact-mail:hover {
    color: #000 !important;
    opacity: 1 !important;
    transform: translateY(-1px) !important;
}

@media screen and (max-width: 600px) {
    #soci a.mycontact,
    #soci a.iwb-contact-mail {
        width: 22px !important;
        height: 30px !important;
    }
}

@media screen and (max-width: 390px) {
    #soci a.mycontact,
    #soci a.iwb-contact-mail {
        width: 20px !important;
    }
}

/* ==========================================================
   iWineBook — ORDINE PROFILI HOME DEFINITIVO
   ATTIVITÀ → DISTRIBUTORI → PRODUTTORI → APPASSIONATI
   2026-09-12
   ========================================================== */

body.itemid-101 #masthead .iwb-hero-access .iwb-hero-choice--attivita {
    order: 1 !important;
}

body.itemid-101 #masthead .iwb-hero-access .iwb-hero-choice--distributori {
    order: 2 !important;
}

body.itemid-101 #masthead .iwb-hero-access .iwb-hero-choice--produttori {
    order: 3 !important;
}

body.itemid-101 #masthead .iwb-hero-access .iwb-hero-choice--appassionati {
    order: 4 !important;
}

/* ==========================================================
   iWineBook — DISTRIBUTORI / BUSSOLA N E S O — VERSIONE FINALE COMPATTA
   Versione: 2026-09-12
   Sezione consolidata: sostituisce le precedenti patch Distributori
   ========================================================== */

.iwb-presentation--compass {
    --iwb-c-bg: #f4f2ed;
    --iwb-c-surface: #ffffff;
    --iwb-c-border: rgba(17,17,17,.09);
    --iwb-c-text: #111111;
    --iwb-c-muted: #666666;
    --iwb-c-soft: #8a8a8a;
    --iwb-c-accent: #111111;
    --iwb-c-accent-2: #7f7465;
    --iwb-c-shadow: 0 18px 38px rgba(0,0,0,.055), 0 2px 8px rgba(0,0,0,.025);

    padding-bottom: 26px !important;
}

/* TESTATA */
.iwb-presentation--compass .iwb-presentation-hero {
    max-width: 980px !important;
    gap: 22px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(17,17,17,.08) !important;
}

.iwb-presentation--compass .iwb-presentation-kicker {
    color: #8d8477 !important;
    letter-spacing: .22em !important;
}

.iwb-presentation--compass .iwb-presentation-hero h1 {
    font-size: clamp(36px,4.1vw,52px) !important;
    line-height: .96 !important;
    letter-spacing: -1.4px !important;
}

.iwb-presentation--compass .iwb-hero-demo {
    min-width: 152px !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: var(--iwb-c-accent) !important;
    border-color: var(--iwb-c-accent) !important;
    color: #fff !important;
    font-size: 10px !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.08) !important;
}

/* INTRO */
.iwb-presentation--compass .iwb-intro-wrap {
    max-width: 980px !important;
    margin-top: 14px !important;
    gap: 22px !important;
}

.iwb-presentation--compass .iwb-presentation-intro {
    font-size: 14px !important;
    line-height: 1.48 !important;
}

/* BLOCCO FOTO + 4 DIREZIONI */
.iwb-presentation--compass .iwb-fast {
    max-width: 980px !important;
    margin-top: 18px !important;
    display: grid !important;
    grid-template-columns: minmax(260px,.82fr) minmax(0,1fr) !important;
    gap: 22px !important;
    align-items: center !important;
    padding: 20px !important;
    background:
        radial-gradient(circle at top right, rgba(0,0,0,.022), transparent 28%),
        linear-gradient(180deg,#fff 0%,#fcfcfb 100%) !important;
    border: 1px solid rgba(17,17,17,.08) !important;
    border-radius: 22px !important;
    box-shadow: var(--iwb-c-shadow) !important;
}

.iwb-presentation--compass .iwb-fast-photo {
    width: 100% !important;
    max-width: 320px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 6px !important;
    border: 1px solid rgba(17,17,17,.08) !important;
    border-radius: 18px !important;
    background: #fff !important;
}

.iwb-presentation--compass .iwb-fast-photo img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 4/5 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 26px rgba(0,0,0,.10) !important;
}

/* LE 4 DIREZIONI */
.iwb-presentation--compass .iwb-fast-steps {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
}

.iwb-presentation--compass .iwb-phase {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    min-height: 138px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 16px 16px 16px 18px !important;
    text-align: left !important;
    background: linear-gradient(180deg,#fff 0%,#fafaf8 100%) !important;
    border: 1px solid rgba(17,17,17,.09) !important;
    border-radius: 18px !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.96),
        0 8px 20px rgba(0,0,0,.035) !important;
    transform: none !important;
    transition:
        transform .24s ease,
        box-shadow .24s ease,
        border-color .24s ease !important;
}

.iwb-presentation--compass .iwb-phase:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(17,17,17,.16) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.96),
        0 14px 28px rgba(0,0,0,.07) !important;
}

/* LETTERA CARDINALE GIGANTE */
.iwb-presentation--compass .iwb-phase::before {
    position: absolute !important;
    right: 10px !important;
    bottom: -12px !important;
    z-index: 0 !important;
    font-family: 'Roboto Condensed',Arial,Helvetica,sans-serif !important;
    font-size: 92px !important;
    line-height: .82 !important;
    font-weight: 700 !important;
    letter-spacing: -4px !important;
    color: rgba(17,17,17,.05) !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-stroke: 1px rgba(17,17,17,.025) !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: none !important;
}

.iwb-presentation--compass .iwb-phase:nth-child(1)::before { content: "N" !important; }
.iwb-presentation--compass .iwb-phase:nth-child(2)::before { content: "E" !important; }
.iwb-presentation--compass .iwb-phase:nth-child(3)::before { content: "S" !important; }
.iwb-presentation--compass .iwb-phase:nth-child(4)::before { content: "O" !important; }

/* BARRA DIREZIONE */
.iwb-presentation--compass .iwb-phase::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 4px !important;
    height: auto !important;
    border-radius: 0 4px 4px 0 !important;
    background: linear-gradient(180deg,#111 0%,#7f7465 100%) !important;
    opacity: .85 !important;
    transform: none !important;
}

/* TESTI CARD */
.iwb-presentation--compass .iwb-phase-number,
.iwb-presentation--compass .iwb-phase-title,
.iwb-presentation--compass .iwb-phase-text {
    position: relative !important;
    z-index: 2 !important;
}

.iwb-presentation--compass .iwb-phase-number {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    min-height: 22px !important;
    margin: 0 0 8px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: rgba(17,17,17,.06) !important;
    color: #7c7468 !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    transform: none !important;
}

.iwb-presentation--compass .iwb-phase-title {
    font-size: clamp(22px,1.8vw,28px) !important;
    line-height: .98 !important;
    letter-spacing: -.6px !important;
    color: var(--iwb-c-text) !important;
    transform: none !important;
}

.iwb-presentation--compass .iwb-phase-text {
    max-width: 26ch !important;
    margin-top: 6px !important;
    font-size: 12px !important;
    line-height: 1.38 !important;
    color: var(--iwb-c-muted) !important;
    transform: none !important;
}

/* CLAIM */
.iwb-presentation--compass .iwb-fast-claim {
    margin: 24px auto 16px !important;
    gap: 12px !important;
}

.iwb-presentation--compass .iwb-fast-claim::before,
.iwb-presentation--compass .iwb-fast-claim::after {
    width: 40px !important;
}

.iwb-presentation--compass .iwb-fast-claim strong {
    display: inline-block !important;
    max-width: 720px !important;
    font-size: clamp(24px,2.4vw,32px) !important;
    line-height: 1.04 !important;
}

/* BOX FINALE */
.iwb-presentation--compass .iwb-register-box {
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 16px 18px !important;
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) auto !important;
    gap: 14px !important;
    align-items: center !important;
    background: linear-gradient(180deg,#fff 0%,#fbfaf8 100%) !important;
    border: 1px solid rgba(17,17,17,.08) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.035) !important;
}

.iwb-presentation--compass .iwb-register-num {
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #111 !important;
    color: #fff !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

.iwb-presentation--compass .iwb-register-copy {
    text-align: left !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
    color: #555 !important;
}

.iwb-presentation--compass .iwb-register-copy strong {
    color: #111 !important;
}

.iwb-presentation--compass .iwb-register-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 156px !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    border: 1px solid #111 !important;
    background: #111 !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.07) !important;
}

.iwb-presentation--compass .iwb-register-link:hover,
.iwb-presentation--compass .iwb-register-link:focus {
    background: #2b2b2b !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}

/* TABLET */
@media screen and (max-width:900px) {
    .iwb-presentation--compass .iwb-fast {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding: 18px !important;
    }

    .iwb-presentation--compass .iwb-fast-photo {
        max-width: 300px !important;
    }

    .iwb-presentation--compass .iwb-fast-steps {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 10px !important;
    }

    .iwb-presentation--compass .iwb-phase {
        min-height: 126px !important;
        padding: 15px 14px 15px 16px !important;
    }

    .iwb-presentation--compass .iwb-phase::before {
        font-size: 78px !important;
        bottom: -8px !important;
    }

    .iwb-presentation--compass .iwb-register-box {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }

    .iwb-presentation--compass .iwb-register-num,
    .iwb-presentation--compass .iwb-register-link {
        margin: 0 auto !important;
    }

    .iwb-presentation--compass .iwb-register-copy {
        text-align: center !important;
    }
}

/* SMARTPHONE */
@media screen and (max-width:600px) {
    .iwb-presentation--compass .iwb-presentation-hero {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .iwb-presentation--compass .iwb-presentation-hero h1 {
        font-size: 34px !important;
    }

    .iwb-presentation--compass .iwb-hero-demo {
        width: 100% !important;
        max-width: 260px !important;
    }

    .iwb-presentation--compass .iwb-intro-wrap {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .iwb-presentation--compass .iwb-fast {
        padding: 14px !important;
        gap: 14px !important;
    }

    .iwb-presentation--compass .iwb-fast-steps {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .iwb-presentation--compass .iwb-phase {
        min-height: 112px !important;
    }

    .iwb-presentation--compass .iwb-phase::before {
        font-size: 70px !important;
        right: 8px !important;
        bottom: -6px !important;
    }

    .iwb-presentation--compass .iwb-fast-claim strong {
        font-size: 25px !important;
    }
}

/* ==========================================================
   iWineBook — DISTRIBUTORI / MODULO FOTO + 4 DIREZIONI
   PATCH COMPATTA ELEGANTE — 2026-09-12 14:10
   Modifica SOLO il blocco .iwb-fast della pagina Distributori.
   ========================================================== */

/* Contenitore: meno aria, più presenza */
.iwb-presentation--compass .iwb-fast {
    max-width: 980px !important;
    margin-top: 14px !important;
    grid-template-columns: minmax(290px, .94fr) minmax(0, 1.06fr) !important;
    gap: 14px !important;
    padding: 14px !important;
    align-items: stretch !important;
    background: linear-gradient(180deg, #fff 0%, #fcfbf9 100%) !important;
    border: 1px solid rgba(17,17,17,.075) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.045), 0 2px 7px rgba(0,0,0,.022) !important;
}

/* Foto: più importante, cornice più sottile */
.iwb-presentation--compass .iwb-fast-photo {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 3px !important;
    align-self: stretch !important;
    background: #fff !important;
    border: 1px solid rgba(17,17,17,.07) !important;
    border-radius: 15px !important;
    overflow: hidden !important;
}

.iwb-presentation--compass .iwb-fast-photo img {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

/* Griglia 2×2 più compatta */
.iwb-presentation--compass .iwb-fast-steps {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
}

/* Tasti/card: più pieni, eleganti e meno alti */
.iwb-presentation--compass .iwb-phase {
    min-height: 122px !important;
    height: 100% !important;
    padding: 13px 14px 12px 16px !important;
    justify-content: center !important;
    background: linear-gradient(145deg, #ffffff 0%, #fbfaf8 100%) !important;
    border: 1px solid rgba(17,17,17,.085) !important;
    border-radius: 14px !important;
    box-shadow: 0 5px 14px rgba(0,0,0,.026) !important;
}

.iwb-presentation--compass .iwb-phase:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(17,17,17,.14) !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.055) !important;
}

/* Barra laterale più discreta */
.iwb-presentation--compass .iwb-phase::after {
    top: 11px !important;
    bottom: 11px !important;
    width: 3px !important;
    opacity: .68 !important;
}

/* Lettera N/E/S/O: presente ma raffinata */
.iwb-presentation--compass .iwb-phase::before {
    right: 8px !important;
    bottom: -8px !important;
    font-size: 78px !important;
    line-height: .82 !important;
    color: rgba(17,17,17,.045) !important;
    -webkit-text-stroke: 1px rgba(17,17,17,.018) !important;
}

/* Etichetta direzione */
.iwb-presentation--compass .iwb-phase-number {
    min-height: 19px !important;
    margin: 0 0 6px !important;
    padding: 0 7px !important;
    font-size: 8px !important;
    letter-spacing: .15em !important;
    background: rgba(17,17,17,.052) !important;
}

/* Titolo e testo: gerarchia più netta */
.iwb-presentation--compass .iwb-phase-title {
    font-size: clamp(21px, 1.65vw, 25px) !important;
    line-height: .96 !important;
    letter-spacing: -.5px !important;
}

.iwb-presentation--compass .iwb-phase-text {
    max-width: 24ch !important;
    margin-top: 4px !important;
    font-size: 11px !important;
    line-height: 1.31 !important;
    color: #656565 !important;
}

/* Tablet: immagine sopra, quattro card 2×2 */
@media screen and (max-width: 900px) {
    .iwb-presentation--compass .iwb-fast {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 12px !important;
    }

    .iwb-presentation--compass .iwb-fast-photo {
        width: min(100%, 330px) !important;
        height: auto !important;
        aspect-ratio: 4 / 5 !important;
        margin: 0 auto !important;
    }

    .iwb-presentation--compass .iwb-fast-photo img {
        height: 100% !important;
    }

    .iwb-presentation--compass .iwb-fast-steps {
        gap: 9px !important;
    }

    .iwb-presentation--compass .iwb-phase {
        min-height: 116px !important;
        padding: 12px 13px 11px 15px !important;
    }
}

/* Smartphone: card singole, ma senza spazi inutili */
@media screen and (max-width: 600px) {
    .iwb-presentation--compass .iwb-fast {
        padding: 10px !important;
        gap: 10px !important;
        border-radius: 16px !important;
    }

    .iwb-presentation--compass .iwb-fast-steps {
        grid-template-columns: 1fr !important;
        grid-template-rows: none !important;
        gap: 8px !important;
    }

    .iwb-presentation--compass .iwb-phase {
        min-height: 100px !important;
        padding: 11px 13px 10px 15px !important;
        border-radius: 13px !important;
    }

    .iwb-presentation--compass .iwb-phase::before {
        font-size: 64px !important;
        bottom: -5px !important;
    }
}

/* ==========================================================
   FINE PATCH MODULO FOTO + 4 DIREZIONI
   ========================================================== */

/* ==========================================================
   10. TEAM / DIETRO iWineBook — DEFINITIVO V3
   Versione: 2026-09-13 V4
   HTML: .iwb-team-page / .iwb-team-profile
   - unico blocco Team, senza duplicati/override successivi
   - PNG trasparenti appoggiati al fondo delle card
   - percorso centrale di design, senza frecce
   - footer compatto e centrato
   - responsive desktop / iPad / smartphone
   ========================================================== */

.iwb-team-page {
    --team-text: #151515;
    --team-muted: #74706a;
    --team-bg: #f7f5f1;
    --team-card: #ffffff;
    --team-border: rgba(17,17,17,.13);

    --team-maury: #851d30;
    --team-veronique: #67277b;
    --team-maria: #a46b1b;
    --team-pietro: #17659d;
    --team-sofia: #14715e;

    width: min(100% - 40px, 920px);
    margin: 0 auto;
    color: var(--team-text);
    box-sizing: border-box;
}

.iwb-team-page,
.iwb-team-page * {
    box-sizing: border-box;
}

/* ----------------------------------------------------------
   HERO
   ---------------------------------------------------------- */

.iwb-team-page .iwb-team-hero {
    max-width: 760px;
    margin: 0 auto;
    padding: 42px 24px 46px;

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;
}

.iwb-team-page .iwb-team-kicker {
    margin: 0 0 12px;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: var(--team-muted);
    text-align: center;
}

.iwb-team-page .iwb-team-hero h1 {
    max-width: 700px;
    margin: 0 auto;
    font-size: clamp(40px,4.5vw,58px);
    line-height: .96;
    font-weight: 500;
    letter-spacing: -.045em;
    color: var(--team-text);
    text-align: center;
}

.iwb-team-page .iwb-team-hero h1 em {
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 400;
}

/* Primo testo: frase guida, centrata e più leggibile */
.iwb-team-page .iwb-team-hero > p:not(.iwb-team-hero-note) {
    width: 100%;
    max-width: 540px;
    margin: 18px auto 0 !important;
    padding: 0;

    font-size: 14px;
    line-height: 1.55;
    font-weight: 400;
    color: #615d57;
    text-align: center !important;
}

/* Nota finale dell'introduzione */
.iwb-team-page .iwb-team-hero-note {
    position: relative;
    width: 100%;
    max-width: 620px;
    margin: 11px auto 0 !important;
    padding: 15px 0 0;

    font-size: 12px !important;
    line-height: 1.5 !important;
    color: rgba(116,112,106,.88) !important;
    text-align: center !important;
}

.iwb-team-page .iwb-team-hero-note::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 38px;
    height: 1px;
    transform: translateX(-50%);
    background: rgba(21,21,21,.22);
}

/* ----------------------------------------------------------
   CARD PROFILO
   ---------------------------------------------------------- */

.iwb-team-page .iwb-team-profile {
    --profile-color: #222;

    position: relative;
    display: grid;
    grid-template-columns: 210px minmax(0,1fr);
    align-items: stretch;

    max-width: 820px;
    min-height: 252px;
    margin: 0 auto 16px;

    background: var(--team-card);
    border: 1px solid var(--team-border);
    border-radius: 12px;
    overflow: hidden;

    box-shadow:
        0 8px 22px rgba(0,0,0,.035),
        0 2px 5px rgba(0,0,0,.018);
}

.iwb-team-page .iwb-team-profile::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: var(--profile-color);
    opacity: .22;
}

.iwb-team-page .iwb-team-profile--maury { --profile-color: var(--team-maury); }
.iwb-team-page .iwb-team-profile--veronique { --profile-color: var(--team-veronique); }
.iwb-team-page .iwb-team-profile--maria { --profile-color: var(--team-maria); }
.iwb-team-page .iwb-team-profile--pietro { --profile-color: var(--team-pietro); }
.iwb-team-page .iwb-team-profile--sofia { --profile-color: var(--team-sofia); }

/* ----------------------------------------------------------
   FOTO PNG — APPOGGIATE AL FONDO
   ---------------------------------------------------------- */

.iwb-team-page .iwb-team-photo {
    position: relative;
    width: 210px;
    height: 252px;

    display: flex;
    align-items: flex-end;
    justify-content: center;

    /* La figura resta appoggiata al fondo ma respira sopra la testa */
    padding: 28px 10px 0;
    background: var(--team-bg);
    overflow: hidden;
}

.iwb-team-page .iwb-team-photo img {
    position: relative;
    z-index: 2;

    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 220px;

    margin: 0 auto;
    object-fit: contain;
    object-position: center bottom;
    background: transparent !important;

    transform-origin: center bottom;
    transition: transform .35s cubic-bezier(.2,.8,.2,1);
}

.iwb-team-page .iwb-team-profile:hover .iwb-team-photo img {
    transform: scale(1.025);
}

/* divisore verticale colorato */
.iwb-team-page .iwb-team-photo::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 16px;
    right: 0;
    bottom: 16px;
    width: 2px;
    border-radius: 2px;
    background: var(--profile-color);
    opacity: .58;
}

/* numero grande */
.iwb-team-page .iwb-team-number {
    position: absolute;
    z-index: 1;
    top: 10px;
    left: 13px;

    font-family: Georgia,"Times New Roman",serif;
    font-size: 48px;
    line-height: 1;
    font-weight: 700;

    color: var(--profile-color);
    opacity: .09;
    pointer-events: none;
}

/* ----------------------------------------------------------
   TESTO PROFILO
   ---------------------------------------------------------- */

.iwb-team-page .iwb-team-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 25px 34px;
}

.iwb-team-page .iwb-team-label {
    margin: 0 0 8px;
    font-size: 8px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--team-muted);
}

.iwb-team-page .iwb-team-copy h2 {
    margin: 0;
    font-size: clamp(31px,3vw,40px);
    line-height: .95;
    font-weight: 500;
    letter-spacing: -.04em;
    color: var(--team-text);
}

.iwb-team-page .iwb-team-role {
    position: relative;
    margin: 6px 0 17px;
    padding-bottom: 10px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    color: #404040 !important;
}

.iwb-team-page .iwb-team-role::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 28px;
    height: 2px;
    background: var(--profile-color);
}

.iwb-team-page .iwb-team-main {
    margin: 0;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 19px;
    line-height: 1.18;
    color: var(--team-text);
}

.iwb-team-page .iwb-team-note {
    max-width: 430px;
    margin: 8px 0 0;
    font-size: 12px;
    line-height: 1.45;
    color: var(--team-muted);
}

/* ----------------------------------------------------------
   ALTERNANZA
   ---------------------------------------------------------- */

.iwb-team-page .iwb-team-profile--reverse {
    grid-template-columns: minmax(0,1fr) 210px;
}

.iwb-team-page .iwb-team-profile--reverse .iwb-team-photo {
    order: 2;
}

.iwb-team-page .iwb-team-profile--reverse .iwb-team-copy {
    order: 1;
}

.iwb-team-page .iwb-team-profile--reverse .iwb-team-photo::after {
    right: auto;
    left: 0;
}

.iwb-team-page .iwb-team-profile--reverse .iwb-team-number {
    left: auto;
    right: 13px;
}

/* ----------------------------------------------------------
   PERCORSO: VISIONE / DIREZIONE / DATI / STRUTTURA / DESIGN
   Nessuna freccia. Rail centrale con 5 segni colore.
   ---------------------------------------------------------- */

.iwb-team-page .iwb-team-flow {
    position: relative;
    width: min(100%, 760px);
    margin: 25px auto 34px;
    padding: 13px 18px 12px;

    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    align-items: stretch;
    gap: 8px;

    background: #faf9f6;
    border: 1px solid rgba(17,17,17,.09);
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(0,0,0,.025);
    overflow: hidden;
}

.iwb-team-page .iwb-team-flow::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 170px;
    height: 3px;
    transform: translateX(-50%);
    border-radius: 0 0 4px 4px;
    background: linear-gradient(
        90deg,
        var(--team-maury) 0%,
        var(--team-maury) 20%,
        var(--team-veronique) 20%,
        var(--team-veronique) 40%,
        var(--team-maria) 40%,
        var(--team-maria) 60%,
        var(--team-pietro) 60%,
        var(--team-pietro) 80%,
        var(--team-sofia) 80%,
        var(--team-sofia) 100%
    );
}

.iwb-team-page .iwb-flow-step {
    --flow-color: #555;

    position: relative;
    min-width: 0;
    min-height: 50px;
    padding: 8px 7px 7px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;

    border-radius: 11px;
    background: transparent;
    text-align: center;
    transition: background .22s ease, transform .22s ease;
}

.iwb-team-page .iwb-flow-step::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--flow-color);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--flow-color) 10%, transparent);
}

.iwb-team-page .iwb-flow-step b {
    display: none;
}

.iwb-team-page .iwb-flow-step strong {
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: #3f3c38;
    white-space: nowrap;
}

.iwb-team-page .iwb-flow-step:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,.72);
}

.iwb-team-page .iwb-flow-step--vision { --flow-color: var(--team-maury); }
.iwb-team-page .iwb-flow-step--direction { --flow-color: var(--team-veronique); }
.iwb-team-page .iwb-flow-step--data { --flow-color: var(--team-maria); }
.iwb-team-page .iwb-flow-step--structure { --flow-color: var(--team-pietro); }
.iwb-team-page .iwb-flow-step--design { --flow-color: var(--team-sofia); }

/* compatibilità temporanea: se nel vecchio HTML sono rimaste le frecce */
.iwb-team-page .iwb-team-flow > i {
    display: none !important;
}

.iwb-team-page .iwb-team-flow > span:not(.iwb-flow-step) {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 6px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #3f3c38;
}

/* ----------------------------------------------------------
   FOOTER / MANIFESTO
   ---------------------------------------------------------- */

.iwb-team-page .iwb-team-footer {
    position: relative;
    max-width: 820px;
    margin: 0 auto 45px;
    padding: 31px 38px 30px;

    text-align: center;
    background: linear-gradient(145deg,#faf9f6 0%,#f4f1ec 100%);
    border: 1px solid rgba(17,17,17,.10);
    border-radius: 18px;
    box-shadow:
        0 14px 35px rgba(0,0,0,.035),
        0 3px 8px rgba(0,0,0,.02);
    overflow: hidden;
}

.iwb-team-page .iwb-team-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 150px;
    height: 3px;
    transform: translateX(-50%);
    border-radius: 0 0 4px 4px;
    background: linear-gradient(
        90deg,
        var(--team-maury) 0%,
        var(--team-maury) 20%,
        var(--team-veronique) 20%,
        var(--team-veronique) 40%,
        var(--team-maria) 40%,
        var(--team-maria) 60%,
        var(--team-pietro) 60%,
        var(--team-pietro) 80%,
        var(--team-sofia) 80%,
        var(--team-sofia) 100%
    );
}

.iwb-team-page .iwb-team-footer-label {
    margin: 0 0 14px;
    font-size: 8px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--team-muted);
}

.iwb-team-page .iwb-team-footer h2 {
    max-width: 650px;
    margin: 0 auto;
    font-size: clamp(30px,3.4vw,43px);
    line-height: 1.02;
    font-weight: 500;
    letter-spacing: -.035em;
    color: var(--team-text);
}

.iwb-team-page .iwb-team-footer h2 em {
    display: block;
    margin-top: 2px;
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 400;
}

.iwb-team-page .iwb-team-footer-line {
    width: 32px;
    height: 1px;
    margin: 18px auto 13px;
    background: var(--team-text);
    opacity: .40;
}

.iwb-team-page .iwb-team-footer p {
    margin: 0 auto;
    text-align: center;
    font-size: 12px;
    line-height: 1.45;
    color: var(--team-muted);
}

/* ----------------------------------------------------------
   TABLET / iPAD
   ---------------------------------------------------------- */

@media screen and (max-width:900px) {
    .iwb-team-page {
        width: min(100% - 30px,720px);
    }

    .iwb-team-page .iwb-team-profile {
        grid-template-columns: 185px minmax(0,1fr);
        min-height: 235px;
    }

    .iwb-team-page .iwb-team-profile--reverse {
        grid-template-columns: minmax(0,1fr) 185px;
    }

    .iwb-team-page .iwb-team-photo {
        width: 185px;
        height: 235px;
        padding: 24px 8px 0;
    }

    .iwb-team-page .iwb-team-photo img {
        max-height: 205px;
    }

    .iwb-team-page .iwb-team-copy {
        padding: 22px 28px;
    }

    .iwb-team-page .iwb-team-flow {
        width: min(100%,680px);
        gap: 5px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .iwb-team-page .iwb-flow-step strong {
        font-size: 9px;
        letter-spacing: .07em;
    }
}

/* ----------------------------------------------------------
   SMARTPHONE
   ---------------------------------------------------------- */

@media screen and (max-width:620px) {
    .iwb-team-page {
        width: calc(100% - 24px);
    }

    .iwb-team-page .iwb-team-hero {
        padding: 36px 10px 40px;
    }

    .iwb-team-page .iwb-team-hero h1 {
        font-size: clamp(38px,12vw,52px);
    }

    .iwb-team-page .iwb-team-hero > p:not(.iwb-team-hero-note) {
        max-width: 330px;
        margin-top: 16px !important;
        font-size: 13px;
        line-height: 1.5;
    }

    .iwb-team-page .iwb-team-hero-note {
        max-width: 340px;
        margin-top: 10px !important;
        padding-top: 13px;
        font-size: 11px !important;
    }

    .iwb-team-page .iwb-team-profile,
    .iwb-team-page .iwb-team-profile--reverse {
        grid-template-columns: 112px minmax(0,1fr);
        min-height: 190px;
        margin-bottom: 12px;
    }

    .iwb-team-page .iwb-team-photo,
    .iwb-team-page .iwb-team-profile--reverse .iwb-team-photo {
        order: 1;
        width: 112px;
        height: 190px;
        padding: 17px 5px 0;
    }

    .iwb-team-page .iwb-team-photo img {
        max-height: 168px;
    }

    .iwb-team-page .iwb-team-copy,
    .iwb-team-page .iwb-team-profile--reverse .iwb-team-copy {
        order: 2;
        padding: 16px 15px;
    }

    .iwb-team-page .iwb-team-profile--reverse .iwb-team-photo::after {
        left: auto;
        right: 0;
    }

    .iwb-team-page .iwb-team-profile--reverse .iwb-team-number {
        left: 9px;
        right: auto;
    }

    .iwb-team-page .iwb-team-number {
        top: 8px;
        left: 9px;
        font-size: 34px;
    }

    .iwb-team-page .iwb-team-label {
        margin-bottom: 5px;
        font-size: 7px;
    }

    .iwb-team-page .iwb-team-copy h2 {
        font-size: 26px;
    }

    .iwb-team-page .iwb-team-role {
        margin: 4px 0 11px;
        padding-bottom: 7px;
        font-size: 9px;
    }

    .iwb-team-page .iwb-team-main {
        font-size: 15px;
    }

    .iwb-team-page .iwb-team-note {
        margin-top: 5px;
        font-size: 10px;
        line-height: 1.38;
    }

    .iwb-team-page .iwb-team-flow {
        grid-template-columns: repeat(5, minmax(54px,1fr));
        width: 100%;
        margin: 20px auto 26px;
        padding: 11px 6px 9px;
        gap: 2px;
        border-radius: 13px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .iwb-team-page .iwb-team-flow::before {
        width: 110px;
    }

    .iwb-team-page .iwb-flow-step {
        min-height: 45px;
        padding: 6px 3px;
    }

    .iwb-team-page .iwb-flow-step::before {
        width: 6px;
        height: 6px;
        box-shadow: none;
    }

    .iwb-team-page .iwb-flow-step strong {
        font-size: 8px;
        letter-spacing: .035em;
    }

    .iwb-team-page .iwb-team-footer {
        margin: 0 auto 40px;
        padding: 28px 20px 27px;
        border-radius: 14px;
    }

    .iwb-team-page .iwb-team-footer::before {
        width: 110px;
    }

    .iwb-team-page .iwb-team-footer h2 {
        font-size: clamp(29px,9vw,38px);
    }

    .iwb-team-page .iwb-team-footer p {
        font-size: 11px;
    }
}

/* ----------------------------------------------------------
   ACCESSIBILITÀ — RIDUZIONE MOVIMENTO
   ---------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .iwb-team-page .iwb-team-photo img,
    .iwb-team-page .iwb-flow-step {
        transition: none !important;
    }

    .iwb-team-page .iwb-team-profile:hover .iwb-team-photo img,
    .iwb-team-page .iwb-flow-step:hover {
        transform: none !important;
    }
}

/* ==========================================================
   FINE TEAM V4
   ========================================================== */


.iwb-team-footer {
    text-align: center !important;
}

.iwb-team-footer p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;

    margin: 16px auto 0 !important;
    padding: 0 !important;

    text-align: center !important;

    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #777 !important;
}


/* ==========================================================
   iWineBook — HOME STYLE OVERRIDE
   Versione: 2026-09-14
   Obiettivo:
   - pagine interne coerenti con la HOME
   - palette solo nero / bianco / grigi
   - nessun accento beige, rosso, viola, blu, verde
   - Vision e Team uniformate
   ========================================================== */

/* ----------------------------------------------------------
   SFONDI GENERALI PAGINE INTERNE
   ---------------------------------------------------------- */

html:has(.iwb-team-page),
body:has(.iwb-team-page) {
    background: #f3f3f3 !important;
}

body:has(.iwb-team-page) #allwrap {
    background: #f3f3f3 !important;
}

body:has(.iwb-team-page) #wrap {
    background: transparent !important;
}


/* ----------------------------------------------------------
   TEAM — HOME STYLE FINALE
   ---------------------------------------------------------- */

.iwb-team-page {
    --team-text: #151515 !important;
    --team-muted: #757575 !important;
    --team-bg: #f2f2f2 !important;
    --team-card: #ffffff !important;
    --team-border: rgba(0,0,0,.10) !important;

    --team-maury: #5d5d5d !important;
    --team-veronique: #737373 !important;
    --team-maria: #898989 !important;
    --team-pietro: #5f5f5f !important;
    --team-sofia: #7c7c7c !important;

    color: #151515 !important;
}

.iwb-team-page .iwb-team-kicker,
.iwb-team-page .iwb-team-label,
.iwb-team-page .iwb-team-footer-label {
    color: #7a7a7a !important;
}

.iwb-team-page .iwb-team-hero h1,
.iwb-team-page .iwb-team-copy h2,
.iwb-team-page .iwb-team-main,
.iwb-team-page .iwb-team-footer h2 {
    color: #151515 !important;
}

.iwb-team-page .iwb-team-hero h1 em,
.iwb-team-page .iwb-team-footer h2 em {
    color: #6d6d6d !important;
}

.iwb-team-page .iwb-team-hero > p:not(.iwb-team-hero-note),
.iwb-team-page .iwb-team-hero-note,
.iwb-team-page .iwb-team-note,
.iwb-team-page .iwb-team-footer p,
.iwb-team-page .iwb-flow-step strong,
.iwb-team-page .iwb-team-flow > span:not(.iwb-flow-step) {
    color: #5f5f5f !important;
}

.iwb-team-page .iwb-team-profile,
.iwb-team-page .iwb-team-flow,
.iwb-team-page .iwb-team-footer {
    background: #ffffff !important;
    border-color: rgba(0,0,0,.10) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.03) !important;
}

.iwb-team-page .iwb-team-photo {
    background: #f3f3f3 !important;
}

.iwb-team-page .iwb-team-photo img {
    filter: grayscale(100%) contrast(1.05) brightness(.95) !important;
}

.iwb-team-page .iwb-team-role {
    color: #3e3e3e !important;
}

.iwb-team-page .iwb-team-role::after,
.iwb-team-page .iwb-team-photo::after {
    background: #8c8c8c !important;
    opacity: .55 !important;
}

.iwb-team-page .iwb-team-number {
    color: rgba(0,0,0,.12) !important;
    opacity: 1 !important;
}

.iwb-team-page .iwb-team-profile::after {
    background: rgba(0,0,0,.10) !important;
    opacity: 1 !important;
}

.iwb-team-page .iwb-team-flow {
    background: #f8f8f8 !important;
}

.iwb-team-page .iwb-team-flow::before {
    background: linear-gradient(
        90deg,
        #565656 0%,
        #565656 20%,
        #6b6b6b 20%,
        #6b6b6b 40%,
        #818181 40%,
        #818181 60%,
        #6a6a6a 60%,
        #6a6a6a 80%,
        #7a7a7a 80%,
        #7a7a7a 100%
    ) !important;
}

.iwb-team-page .iwb-flow-step {
    background: transparent !important;
}

.iwb-team-page .iwb-flow-step:hover {
    background: rgba(255,255,255,.92) !important;
}

.iwb-team-page .iwb-flow-step--vision { --flow-color: #565656 !important; }
.iwb-team-page .iwb-flow-step--direction { --flow-color: #6b6b6b !important; }
.iwb-team-page .iwb-flow-step--data { --flow-color: #818181 !important; }
.iwb-team-page .iwb-flow-step--structure { --flow-color: #6a6a6a !important; }
.iwb-team-page .iwb-flow-step--design { --flow-color: #7a7a7a !important; }

.iwb-team-page .iwb-team-footer::before,
.iwb-team-page .iwb-team-hero-note::before {
    background: rgba(0,0,0,.18) !important;
}

.iwb-team-page .iwb-team-footer-line {
    background: #d9d9d9 !important;
}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media screen and (max-width: 620px) {
    body:has(.iwb-team-page) #wrap {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* ==========================================================
   FINE HOME STYLE OVERRIDE
   ========================================================== */

/* ==========================================================
   iWineBook — COLD MONOCHROME PATCH
   Versione: 2026-09-14
   Obiettivo:
   - eliminare ogni dominante crema/beige
   - aumentare bianco e grigio freddo
   - rendere realmente monocromatiche le immagini Team
   - mantenere coerenza con la HOME
   ========================================================== */

/* ----------------------------------------------------------
   FONDI PAGINA — BIANCO / GRIGIO FREDDO
   ---------------------------------------------------------- */

html:has(.iwb-team-page),
body:has(.iwb-team-page) {
    background: #ffffff !important;
}

body:has(.iwb-team-page) #allwrap {
    background: #ffffff !important;
}

body:has(.iwb-team-page) #wrap,
body:has(.iwb-team-page) #contentwrap {
    background: #ffffff !important;
}

/* ----------------------------------------------------------
   TEAM — PALETTE FREDDA DEFINITIVA
   ---------------------------------------------------------- */

.iwb-team-page {
    --team-text: #151515 !important;
    --team-muted: #6f6f6f !important;
    --team-bg: #f1f1f1 !important;
    --team-card: #ffffff !important;
    --team-border: rgba(0,0,0,.11) !important;

    --team-maury: #5f5f5f !important;
    --team-veronique: #6f6f6f !important;
    --team-maria: #7d7d7d !important;
    --team-pietro: #686868 !important;
    --team-sofia: #747474 !important;

    background: #ffffff !important;
}

.iwb-team-page .iwb-team-hero,
.iwb-team-page .iwb-team-profile,
.iwb-team-page .iwb-team-flow,
.iwb-team-page .iwb-team-footer {
    background-color: #ffffff !important;
}

.iwb-team-page .iwb-team-profile {
    border-color: #dddddd !important;
    box-shadow:
        0 10px 24px rgba(0,0,0,.035),
        0 2px 5px rgba(0,0,0,.018) !important;
}

/* pannello foto: grigio freddo, non crema */
.iwb-team-page .iwb-team-photo {
    background: #efefef !important;
}

/* vera monocromia delle sagome */
.iwb-team-page .iwb-team-photo img,
.iwb-team-page .iwb-team-profile img {
    filter:
        grayscale(100%)
        saturate(0%)
        contrast(1.08)
        brightness(.92) !important;
}

/* elimina ogni residuo cromatico nei divisori e ruoli */
.iwb-team-page .iwb-team-photo::after,
.iwb-team-page .iwb-team-role::after {
    background: #8a8a8a !important;
}

.iwb-team-page .iwb-team-role {
    color: #3f3f3f !important;
}

.iwb-team-page .iwb-team-number {
    color: #c7c7c7 !important;
    opacity: 1 !important;
}

.iwb-team-page .iwb-team-profile::after {
    background: #d7d7d7 !important;
    opacity: 1 !important;
}

/* percorso team: solo grigi */
.iwb-team-page .iwb-team-flow {
    background: #f5f5f5 !important;
    border-color: #dedede !important;
}

.iwb-team-page .iwb-team-flow::before {
    background: linear-gradient(
        90deg,
        #555555 0%,
        #555555 20%,
        #666666 20%,
        #666666 40%,
        #777777 40%,
        #777777 60%,
        #666666 60%,
        #666666 80%,
        #707070 80%,
        #707070 100%
    ) !important;
}

.iwb-team-page .iwb-flow-step--vision { --flow-color: #555555 !important; }
.iwb-team-page .iwb-flow-step--direction { --flow-color: #666666 !important; }
.iwb-team-page .iwb-flow-step--data { --flow-color: #777777 !important; }
.iwb-team-page .iwb-flow-step--structure { --flow-color: #666666 !important; }
.iwb-team-page .iwb-flow-step--design { --flow-color: #707070 !important; }

.iwb-team-page .iwb-flow-step strong,
.iwb-team-page .iwb-team-flow > span:not(.iwb-flow-step) {
    color: #474747 !important;
}

/* ----------------------------------------------------------
   GARANZIA: NESSUN TONO CALDO RESIDUO
   ---------------------------------------------------------- */

.iwb-team-page,
.iwb-team-page * {
    --iwb-warm-1: #ffffff;
    --iwb-warm-2: #f2f2f2;
}

/* ==========================================================
   FINE COLD MONOCHROME PATCH
   ========================================================== */

/* ==========================================================
   TEAM — SFONDO SAGOME GRIGIO DEFINITIVO
   Versione: 2026-09-14 / HOME STYLE
   ========================================================== */

.iwb-team-page .iwb-team-photo,
.iwb-team-page .iwb-team-profile .iwb-team-photo,
.iwb-team-page .iwb-team-profile--reverse .iwb-team-photo {
    background: #e3e3e3 !important;
    background-color: #e3e3e3 !important;
    background-image: none !important;
}

.iwb-team-page .iwb-team-photo img,
.iwb-team-page .iwb-team-profile .iwb-team-photo img {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    filter:
        grayscale(100%)
        saturate(0%)
        contrast(1.08)
        brightness(.92) !important;
}

.iwb-team-page .iwb-team-photo::before {
    background: transparent !important;
    background-image: none !important;
}

/* Ruoli e divisori: solo grigi */
.iwb-team-page .iwb-team-role {
    color: #404040 !important;
}

.iwb-team-page .iwb-team-role::after,
.iwb-team-page .iwb-team-photo::after {
    background: #8a8a8a !important;
}

/* ==========================================================
   FINE TEAM — SFONDO SAGOME GRIGIO
   ========================================================== */

/* ==========================================================
   iWineBook — GEOMETRIA HOME STYLE DEFINITIVA
   HOME = riferimento
   CONTENITORI = angoli vivi
   PULSANTI = 2px
   ========================================================== */


/* TEAM — schede rettangolari */
.iwb-team-page .iwb-team-profile,
.iwb-team-page .iwb-team-flow,
.iwb-team-page .iwb-team-footer,
.iwb-team-page .iwb-team-photo {
    border-radius: 0 !important;
}

/* ATTIVITÀ / PRODUTTORI / APPASSIONATI */
.iwb-presentation .iwb-fast,
.iwb-presentation .iwb-fast-photo,
.iwb-presentation .iwb-fast-photo img,
.iwb-presentation .iwb-phase,
.iwb-presentation .iwb-benefit,
.iwb-presentation .iwb-profile-card,
.iwb-presentation .iwb-profile-choice {
    border-radius: 0 !important;
}

/* DISTRIBUTORI / BUSSOLA */
.iwb-presentation--compass .iwb-compass-item,
.iwb-presentation--compass .iwb-compass-card,
.iwb-presentation--compass .iwb-profile-card {
    border-radius: 0 !important;
}

/* Pulsanti e CTA: quasi rettangolari come HOME */
#masthead .iwb-hero-choice,
.iwb-hero-choice,
.iwb-action,
.iwb-hero-demo,
.iwb-register-link,
.iwb-presentation .btn,
.iwb-presentation button,
.iwb-team-page .btn,
.iwb-team-page button,
.iwb-vision-page .btn,
.iwb-vision-page button {
    border-radius: 2px !important;
}

/* ==========================================================
   FINE GEOMETRIA HOME STYLE DEFINITIVA
   ========================================================== */

/* ==========================================================
   iWineBook — NAVIGAZIONE MOBILE AUTONOMA
   REV 12
   Il menu smartphone NON usa più SIDR.
   ========================================================== */

/* ---------- struttura desktop ---------- */

#navcontainer.iwb-site-nav {
    padding: 0 !important;
    overflow: visible !important;
}

#navflex.iwb-site-nav__primary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 28px !important;
    box-sizing: border-box !important;
}

.iwb-site-nav__left,
.iwb-site-nav__right {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    height: 100% !important;
}

.iwb-site-nav__left {
    grid-column: 1 !important;
    justify-content: flex-start !important;
}

#logo.iwb-site-nav__brand {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;

    position: static !important;
    display: block !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
    text-align: center !important;
}

#navright.iwb-site-nav__right {
    grid-column: 3 !important;
    justify-self: stretch !important;
    justify-content: flex-end !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Desktop: menu orizzontale visibile. */
#iwb-mainmenu {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

/* Il nuovo hamburger è solo mobile. */
#iwb-mobile-menu-button {
    display: none !important;
}

/* Social desktop */
#navright.iwb-site-nav__right #soci {
    position: static !important;

    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    align-items: center !important;
    justify-content: flex-end !important;

    width: auto !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* ---------- vecchio menu del template spento definitivamente ---------- */

#topmenu,
#topnav,
#menu-button,
#myoverlay,
#myclosebtn,
#sidr,
.sidr,
.sidr-inner,
#soci2 {
    display: none !important;
}

/* ---------- nuovo hamburger ---------- */

.iwb-mobile-menu-button {
    appearance: none !important;
    -webkit-appearance: none !important;

    align-items: center !important;
    justify-content: flex-start !important;

    width: 48px !important;
    height: 56px !important;
    min-width: 48px !important;
    min-height: 56px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #222 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;

    cursor: pointer !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
}

.iwb-mobile-menu-button__icon {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;

    width: 21px !important;
    height: 15px !important;

    margin: 0 !important;
    padding: 0 !important;
}

.iwb-mobile-menu-button__icon > span {
    display: block !important;

    width: 21px !important;
    height: 1.5px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #222 !important;
    border: 0 !important;
}

.iwb-mobile-menu-button__label {
    display: none !important;
}

/* ---------- overlay ---------- */

.iwb-mobile-overlay {
    position: fixed !important;
    z-index: 200000 !important;
    inset: 0 !important;

    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: rgba(0,0,0,.42) !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transition:
        opacity .22s ease,
        visibility .22s ease !important;
}

/* ---------- drawer ---------- */

.iwb-mobile-drawer {
    position: fixed !important;
    z-index: 200010 !important;

    top: 0 !important;
    left: 0 !important;

    display: flex !important;
    flex-direction: column !important;

    width: min(84vw, 320px) !important;
    height: 100vh !important;
    height: 100dvh !important;

    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;

    color: #fff !important;
    background: #171717 !important;
    border: 0 !important;
    box-shadow: 18px 0 44px rgba(0,0,0,.24) !important;

    transform: translate3d(-105%,0,0) !important;
    -webkit-transform: translate3d(-105%,0,0) !important;

    visibility: hidden !important;
    pointer-events: none !important;

    transition:
        transform .24s ease,
        visibility .24s ease !important;
}

.iwb-mobile-drawer__head {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    min-height: 66px !important;

    margin: 0 !important;
    padding: 0 14px 0 22px !important;

    border-bottom: 1px solid rgba(255,255,255,.13) !important;
}

.iwb-mobile-drawer__brand {
    color: #fff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
}

.iwb-mobile-menu-close {
    appearance: none !important;
    -webkit-appearance: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 44px !important;
    height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: rgba(255,255,255,.92) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 30px !important;
    font-weight: 300 !important;
    line-height: 1 !important;

    cursor: pointer !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* ---------- menu Joomla dentro il drawer ---------- */

.iwb-mobile-drawer__menu {
    display: block !important;
    width: 100% !important;

    margin: 0 !important;
    padding: 14px 22px 0 !important;
    box-sizing: border-box !important;
}

.iwb-mobile-drawer__menu > div,
.iwb-mobile-drawer__menu nav,
.iwb-mobile-drawer__menu .mod-menu,
.iwb-mobile-drawer__menu .nav,
.iwb-mobile-drawer__menu ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
    background: transparent !important;
    border: 0 !important;
}

.iwb-mobile-drawer__menu li {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.13) !important;
}

/* La prima voce tecnica Home resta nascosta. */
.iwb-mobile-drawer__menu li:first-child {
    display: none !important;
}

.iwb-mobile-drawer__menu a,
.iwb-mobile-drawer__menu a:link,
.iwb-mobile-drawer__menu a:visited {
    position: static !important;

    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    align-items: center !important;

    width: 100% !important;
    min-height: 56px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: rgba(255,255,255,.94) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: normal !important;
}

.iwb-mobile-drawer__menu li.active > a,
.iwb-mobile-drawer__menu li.current > a,
.iwb-mobile-drawer__menu a:hover,
.iwb-mobile-drawer__menu a:focus {
    color: #fff !important;
    opacity: .58 !important;
}

/* ---------- social nel drawer ---------- */

.iwb-mobile-drawer__social {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;

    margin: auto 0 0 !important;
    padding: 24px 22px 28px !important;

    border-top: 1px solid rgba(255,255,255,.13) !important;
}

.iwb-mobile-drawer__social a,
.iwb-mobile-drawer__social a:link,
.iwb-mobile-drawer__social a:visited {
    position: static !important;

    display: inline-flex !important;
    visibility: visible !important;
    opacity: .80 !important;
    pointer-events: auto !important;

    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.iwb-mobile-drawer__social a:hover,
.iwb-mobile-drawer__social a:focus {
    opacity: 1 !important;
}

.iwb-mobile-drawer__social .iwb-contact-mail svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
}

/* ---------- stato aperto ---------- */

body.iwb-mobile-menu-open {
    overflow: hidden !important;
    touch-action: none !important;
}

body.iwb-mobile-menu-open .iwb-mobile-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

body.iwb-mobile-menu-open .iwb-mobile-drawer {
    transform: translate3d(0,0,0) !important;
    -webkit-transform: translate3d(0,0,0) !important;

    visibility: visible !important;
    pointer-events: auto !important;
}

/* ---------- smartphone ---------- */

@media screen and (max-width: 760px) {

    #navwrap,
    #navcontainer.iwb-site-nav {
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;

        overflow: visible !important;
    }

    #navcontainer.iwb-site-nav {
        padding: 0 !important;
    }

    #navflex.iwb-site-nav__primary {
        grid-template-columns: 1fr auto 1fr !important;

        height: 56px !important;
        min-height: 56px !important;

        padding: 0 14px !important;
    }

    /* Desktop menu off. */
    #iwb-mainmenu {
        display: none !important;
    }

    /* Hamburger vero nella colonna sinistra. */
    #iwb-mobile-menu-button {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* Logo al centro. */
    #logo.iwb-site-nav__brand {
        grid-column: 2 !important;
        justify-self: center !important;
    }

    #logo.iwb-site-nav__brand h2,
    #logo.iwb-site-nav__brand .h2 {
        font-size: 16px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    /* DESTRA VUOTA: i social NON devono creare la seconda riga. */
    #navright.iwb-site-nav__right {
        min-width: 1px !important;
        width: 100% !important;
        height: 56px !important;

        overflow: visible !important;
    }

    #navright.iwb-site-nav__right #soci,
    #soci {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        position: static !important;

        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;
    }
}

@media screen and (max-width: 390px) {
    #navflex.iwb-site-nav__primary {
        padding: 0 10px !important;
    }

    #logo.iwb-site-nav__brand h2,
    #logo.iwb-site-nav__brand .h2 {
        font-size: 15px !important;
    }

    .iwb-mobile-drawer {
        width: min(88vw, 310px) !important;
    }
}

/* ==========================================================
   FINE NAVIGAZIONE MOBILE AUTONOMA
   ========================================================== */

/* ==========================================================
   iWineBook — SAFARI / iOS LINK RESET
   Evita i link azzurri di default nel drawer mobile.
   ========================================================== */

@media screen and (max-width: 760px) {

    .iwb-mobile-drawer,
    .iwb-mobile-drawer * {
        -webkit-text-size-adjust: 100% !important;
    }

    .iwb-mobile-drawer__menu a,
    .iwb-mobile-drawer__menu a:link,
    .iwb-mobile-drawer__menu a:visited,
    .iwb-mobile-drawer__menu a:hover,
    .iwb-mobile-drawer__menu a:focus,
    .iwb-mobile-drawer__menu a:active,
    .iwb-mobile-drawer__menu a *,
    .iwb-mobile-drawer__menu span,
    .iwb-mobile-drawer__menu li,
    .iwb-mobile-drawer__menu li > a {
        color: rgba(255,255,255,.94) !important;
        -webkit-text-fill-color: rgba(255,255,255,.94) !important;

        text-decoration: none !important;
        text-decoration-color: transparent !important;
        text-shadow: none !important;

        background-color: transparent !important;
        border-color: transparent !important;

        -webkit-appearance: none !important;
        appearance: none !important;

        -webkit-tap-highlight-color: transparent !important;
    }

    .iwb-mobile-drawer__menu li.active > a,
    .iwb-mobile-drawer__menu li.current > a,
    .iwb-mobile-drawer__menu a:hover,
    .iwb-mobile-drawer__menu a:focus,
    .iwb-mobile-drawer__menu a:active {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    .iwb-mobile-drawer__social a,
    .iwb-mobile-drawer__social a:link,
    .iwb-mobile-drawer__social a:visited,
    .iwb-mobile-drawer__social a:hover,
    .iwb-mobile-drawer__social a:focus,
    .iwb-mobile-drawer__social a:active,
    .iwb-mobile-drawer__social a *,
    .iwb-mobile-drawer__social svg,
    .iwb-mobile-drawer__social path {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        fill: currentColor !important;
        text-decoration: none !important;
    }

    .iwb-mobile-drawer__brand,
    .iwb-mobile-menu-close,
    .iwb-mobile-menu-close span {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }
}

/* ==========================================================
   FINE SAFARI / iOS LINK RESET
   ========================================================== */

/* ==========================================================
   11. VISION — VERSIONE DEFINITIVA UNIFORMATA
   Versione: 2026.09.15-0635 · REV 20
   Riferimento: larghezze e ritmo della pagina ATTIVITÀ
   HTML: nessuno stile inline; immagine images/iwinebook/vision.jpeg
   ========================================================== */

body:has(.iwb-vision-page) #allwrap {
    min-height: calc(100vh - var(--iwb-bar-h));
    background: #ffffff !important;
}

body:has(.iwb-vision-page) #wrap {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 58px 30px 58px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

body:has(.iwb-vision-page) #contentwrap,
body:has(.iwb-vision-page) #content60,
body:has(.iwb-vision-page) #content {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body:has(.iwb-vision-page) .article-info,
body:has(.iwb-vision-page) .article-info-term,
body:has(.iwb-vision-page) .icons,
body:has(.iwb-vision-page) .pagenavigation,
body:has(.iwb-vision-page) .pager,
body:has(.iwb-vision-page) .pagination,
body:has(.iwb-vision-page) .page-header {
    display: none !important;
}

.iwb-vision-page,
.iwb-vision-page * {
    box-sizing: border-box;
}

.iwb-vision-page.iwb-page-shell,
.iwb-vision-page {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 6px 24px 48px;
    color: #111111;
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
}

/* HERO: stessa scala visiva di ATTIVITÀ */
.iwb-vision-page .iwb-page-hero {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 30px;
}

.iwb-vision-page .iwb-page-hero--split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 42px;
    align-items: start;
}

.iwb-vision-page .iwb-page-hero__content {
    min-width: 0;
    padding-top: 2px;
}

.iwb-vision-page .iwb-page-kicker {
    margin: 0 0 7px;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #8f8f8f;
}

.iwb-vision-page .iwb-page-hero h1 {
    max-width: 640px;
    margin: 0 0 16px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: clamp(46px, 5vw, 62px);
    line-height: .95;
    font-weight: 700;
    letter-spacing: -1.8px;
    color: #111111;
}

.iwb-vision-page .iwb-page-hero h1 em,
.iwb-vision-page .iwb-vision-final blockquote em {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-weight: 400;
    color: #707070;
}

.iwb-vision-page .iwb-page-lead {
    max-width: 610px;
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    color: #666666;
}

.iwb-vision-page .iwb-page-lead strong {
    color: #111111;
    font-weight: 700;
}

.iwb-vision-page .iwb-page-hero__media {
    width: 100%;
    max-width: 340px;
    justify-self: end;
}

.iwb-vision-page .iwb-page-hero__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center;
    border: 1px solid #e1e1e1;
    border-radius: 0;
    box-shadow: 0 14px 30px rgba(0,0,0,.10);
}

/* IERI / OGGI */
.iwb-vision-page .iwb-page-panel {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.iwb-vision-page .iwb-vision-contrast {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
    padding: 0;
    background: transparent;
    border: 0;
}

.iwb-vision-page .iwb-vision-card {
    position: relative;
    min-height: 156px;
    padding: 23px 25px 24px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e2e2e2;
    border-radius: 0;
    box-shadow: 0 8px 20px rgba(0,0,0,.025);
}

.iwb-vision-page .iwb-vision-card--today {
    background: linear-gradient(145deg, #ffffff 0%, #f4f4f4 100%);
}

.iwb-vision-page .iwb-vision-card::before {
    content: '';
    position: absolute;
    left: 25px;
    top: 0;
    width: 40px;
    height: 2px;
    background: #d0d0d0;
}

.iwb-vision-page .iwb-vision-card-label,
.iwb-vision-page .iwb-vision-choice-label,
.iwb-vision-page .iwb-vision-manifesto-label {
    display: block;
    margin: 0 0 10px;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #7a7a7a;
}

.iwb-vision-page .iwb-vision-card h2 {
    position: relative;
    z-index: 2;
    margin: 0 0 9px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: clamp(28px, 3vw, 34px);
    line-height: .98;
    font-weight: 700;
    letter-spacing: -.8px;
    color: #111111;
}

.iwb-vision-page .iwb-vision-card p {
    position: relative;
    z-index: 2;
    max-width: 410px;
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: #626262;
}

.iwb-vision-page .iwb-vision-card-mark {
    position: absolute;
    z-index: 0;
    right: 12px;
    bottom: -14px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: 88px;
    line-height: .82;
    font-weight: 700;
    letter-spacing: -5px;
    color: rgba(0,0,0,.04);
    pointer-events: none;
    user-select: none;
}

/* BLOCCO NERO */
.iwb-vision-page .iwb-vision-choice {
    position: relative;
    max-width: 1000px;
    margin: 0 auto 28px;
    padding: 30px 30px 29px;
    background: #191919;
    border: 1px solid #191919;
    border-radius: 0;
    box-shadow: 0 16px 34px rgba(0,0,0,.12);
    text-align: center;
    color: #ffffff;
}

.iwb-vision-page .iwb-vision-choice::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 90px;
    height: 1px;
    transform: translateX(-50%);
    background: rgba(255,255,255,.48);
}

.iwb-vision-page .iwb-vision-choice-label {
    margin-bottom: 8px;
    color: rgba(255,255,255,.52);
}

.iwb-vision-page .iwb-vision-choice h2 {
    max-width: 650px;
    margin: 0 auto 10px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: clamp(34px, 4vw, 44px);
    line-height: .96;
    font-weight: 700;
    letter-spacing: -1.1px;
    color: #ffffff;
}

.iwb-vision-page .iwb-vision-choice h2 em {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-weight: 400;
    color: rgba(255,255,255,.76);
}

.iwb-vision-page .iwb-vision-choice p {
    max-width: 690px;
    margin: 0 auto;
    font-size: 13px;
    line-height: 1.58;
    color: rgba(255,255,255,.74);
}

.iwb-vision-page .iwb-vision-choice p strong {
    color: #ffffff;
}

/* DIREZIONE */
.iwb-vision-page .iwb-vision-manifesto {
    max-width: 1000px;
    display: grid;
    grid-template-columns: minmax(250px, .82fr) minmax(0, 1.18fr);
    gap: 46px;
    align-items: start;
    margin: 0 auto;
    padding: 31px 0;
    border-top: 1px solid #e1e1e1;
    border-bottom: 1px solid #e1e1e1;
}

.iwb-vision-page .iwb-vision-manifesto h2 {
    max-width: 330px;
    margin: 0;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: clamp(30px, 3.2vw, 38px);
    line-height: .98;
    font-weight: 700;
    letter-spacing: -.9px;
    color: #111111;
}

.iwb-vision-page .iwb-vision-manifesto-copy {
    padding-top: 14px;
}

.iwb-vision-page .iwb-vision-manifesto-copy p {
    margin: 0 0 11px;
    font-size: 13px;
    line-height: 1.62;
    color: #626262;
}

.iwb-vision-page .iwb-vision-manifesto-copy p:last-child {
    margin-bottom: 0;
}

.iwb-vision-page .iwb-vision-manifesto-copy strong {
    color: #111111;
}

/* CHIUSURA */
.iwb-vision-page .iwb-vision-final {
    max-width: 820px;
    margin: 0 auto;
    padding: 36px 10px 0;
    text-align: center;
    border: 0;
}

.iwb-vision-page .iwb-vision-final blockquote {
    max-width: 760px;
    margin: 0 auto 10px;
    padding: 0;
    border: 0;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: clamp(31px, 3.6vw, 40px);
    line-height: .99;
    font-weight: 700;
    letter-spacing: -1px;
    color: #111111;
    text-align: center;
}

.iwb-vision-page .iwb-vision-final > p {
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.55;
    color: #666666;
}

.iwb-vision-page .iwb-vision-signature {
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 720px;
    margin: 20px auto 0;
    padding: 14px 16px;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 0;
    text-align: left;
}

.iwb-vision-page .iwb-vision-signature-brand {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.iwb-vision-page .iwb-vision-signature-brand strong {
    display: block;
    margin: 0 0 2px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    color: #111111;
}

.iwb-vision-page .iwb-vision-signature-brand span {
    display: block;
    font-size: 9px;
    line-height: 1.4;
    color: #666666;
}

.iwb-vision-page .iwb-vision-signature-line {
    flex: 1 1 auto;
    height: 1px;
    background: #dddddd;
}

/* TABLET */
@media screen and (max-width: 900px) {
    body:has(.iwb-vision-page) #wrap {
        padding: 48px 20px 44px !important;
    }

    .iwb-vision-page.iwb-page-shell,
    .iwb-vision-page {
        max-width: 820px;
        padding: 6px 18px 42px;
    }

    .iwb-vision-page .iwb-page-hero--split {
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 28px;
    }

    .iwb-vision-page .iwb-page-hero h1 {
        font-size: clamp(42px, 6vw, 52px);
    }

    .iwb-vision-page .iwb-page-hero__media {
        max-width: 280px;
    }

    .iwb-vision-page .iwb-vision-manifesto {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .iwb-vision-page .iwb-vision-manifesto h2 {
        max-width: 560px;
    }

    .iwb-vision-page .iwb-vision-manifesto-copy {
        padding-top: 0;
    }
}

/* SMARTPHONE / TABLET STRETTO */
@media screen and (max-width: 700px) {
    .iwb-vision-page .iwb-page-hero--split {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .iwb-vision-page .iwb-page-hero__media {
        width: min(100%, 420px);
        max-width: 420px;
        justify-self: center;
    }

    .iwb-vision-page .iwb-vision-contrast {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 600px) {
    body:has(.iwb-vision-page) #wrap {
        padding: 46px 16px 36px !important;
    }

    .iwb-vision-page.iwb-page-shell,
    .iwb-vision-page {
        padding: 4px 14px 36px;
    }

    .iwb-vision-page .iwb-page-hero {
        margin-bottom: 22px;
    }

    .iwb-vision-page .iwb-page-hero h1 {
        font-size: 39px;
        line-height: .98;
        letter-spacing: -1.3px;
        margin-bottom: 12px;
    }

    .iwb-vision-page .iwb-page-lead {
        font-size: 14px;
        line-height: 1.55;
    }

    .iwb-vision-page .iwb-page-hero__media {
        width: min(100%, 390px);
    }

    .iwb-vision-page .iwb-vision-card {
        min-height: 0;
        padding: 20px;
    }

    .iwb-vision-page .iwb-vision-card::before {
        left: 20px;
    }

    .iwb-vision-page .iwb-vision-card h2 {
        font-size: 29px;
    }

    .iwb-vision-page .iwb-vision-card p,
    .iwb-vision-page .iwb-vision-choice p,
    .iwb-vision-page .iwb-vision-manifesto-copy p {
        font-size: 13px;
    }

    .iwb-vision-page .iwb-vision-choice {
        margin-bottom: 24px;
        padding: 26px 18px 25px;
    }

    .iwb-vision-page .iwb-vision-choice h2 {
        font-size: 32px;
    }

    .iwb-vision-page .iwb-vision-manifesto {
        padding: 25px 0;
    }

    .iwb-vision-page .iwb-vision-manifesto h2 {
        font-size: 31px;
    }

    .iwb-vision-page .iwb-vision-final {
        padding-top: 30px;
    }

    .iwb-vision-page .iwb-vision-final blockquote {
        font-size: 30px;
    }

    .iwb-vision-page .iwb-vision-signature {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 13px;
    }

    .iwb-vision-page .iwb-vision-signature-line {
        width: 100%;
        flex: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .iwb-vision-page * {
        scroll-behavior: auto !important;
    }
}

/* ==========================================================
   FINE VISION REV 20
   ========================================================== */

/* ==========================================================
   12. PRINCIPI — VERSIONE DEFINITIVA UNIFORMATA A VISION
   Versione: 2026.09.15-0700 · REV 22
   HTML: IWINEBOOK_PRINCIPI_REV21_2026-09-15.html
   Immagine: images/iwinebook/principi.jpeg
   ========================================================== */

body:has(.iwb-principi-page) #allwrap {
    min-height: calc(100vh - var(--iwb-bar-h));
    background: #ffffff !important;
}

body:has(.iwb-principi-page) #wrap {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 58px 30px 58px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

body:has(.iwb-principi-page) #contentwrap,
body:has(.iwb-principi-page) #content60,
body:has(.iwb-principi-page) #content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body:has(.iwb-principi-page) .article-info,
body:has(.iwb-principi-page) .article-info-term,
body:has(.iwb-principi-page) .icons,
body:has(.iwb-principi-page) .pagenavigation,
body:has(.iwb-principi-page) .pager,
body:has(.iwb-principi-page) .pagination,
body:has(.iwb-principi-page) .page-header {
    display: none !important;
}

.iwb-principi-page,
.iwb-principi-page * {
    box-sizing: border-box;
}

.iwb-principi-page.iwb-page-shell,
.iwb-principi-page {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 6px 24px 40px;
    color: #111111;
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
}

/* HERO — stessa famiglia di Vision, ma più compatta */
.iwb-principi-page .iwb-page-hero {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 20px;
}

.iwb-principi-page .iwb-page-hero--split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 28px;
    align-items: start;
}

.iwb-principi-page .iwb-page-hero__content {
    min-width: 0;
    padding-top: 2px;
}

.iwb-principi-page .iwb-page-kicker,
.iwb-principi-page .iwb-principi-label,
.iwb-principi-page .iwb-principi-choice-label,
.iwb-principi-page .iwb-principi-card-kicker {
    display: block;
    margin: 0 0 10px;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #7a7a7a;
}

.iwb-principi-page .iwb-page-kicker {
    margin-bottom: 7px;
    font-size: 11px;
    letter-spacing: 2.5px;
    color: #8f8f8f;
}

.iwb-principi-page .iwb-page-hero h1 {
    max-width: 680px;
    margin: 0 0 14px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: clamp(46px, 5vw, 62px);
    line-height: .95;
    font-weight: 700;
    letter-spacing: -1.8px;
    color: #111111;
}

.iwb-principi-page .iwb-page-hero h1 em,
.iwb-principi-page .iwb-principi-final blockquote em {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-weight: 400;
    color: #707070;
}

.iwb-principi-page .iwb-page-lead {
    max-width: 620px;
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    color: #666666;
}

.iwb-principi-page .iwb-page-lead strong,
.iwb-principi-page .iwb-principi-intro-copy strong,
.iwb-principi-page .iwb-principi-data-copy strong,
.iwb-principi-page .iwb-principi-hero-copy strong {
    color: #111111;
    font-weight: 700;
}

.iwb-principi-page .iwb-page-hero__media {
    width: 100%;
    max-width: 300px;
    justify-self: end;
}

.iwb-principi-page .iwb-page-hero__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center;
    border: 1px solid #e1e1e1;
    border-radius: 0;
    box-shadow: 0 14px 30px rgba(0,0,0,.10);
}

.iwb-principi-page .iwb-principi-hero-note {
    margin-top: 26px;
    padding-top: 18px;
    border-top: 1px solid #e1e1e1;
    max-width: 620px;
}

.iwb-principi-page .iwb-principi-hero-note h2 {
    margin: 0 0 10px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: clamp(30px, 3.2vw, 38px);
    line-height: .98;
    font-weight: 700;
    letter-spacing: -.9px;
    color: #111111;
}

.iwb-principi-page .iwb-principi-hero-copy p {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.62;
    color: #626262;
}

.iwb-principi-page .iwb-principi-hero-copy p:last-child {
    margin-bottom: 0;
}

/* INTRO / CATALOGO */
.iwb-principi-page .iwb-principi-data {
    max-width: 1000px;
    display: grid;
    grid-template-columns: minmax(250px, .82fr) minmax(0, 1.18fr);
    gap: 40px;
    align-items: start;
    margin: 0 auto;
    padding: 28px 0;
    border-top: 1px solid #e1e1e1;
    border-bottom: 1px solid #e1e1e1;
}

.iwb-principi-page .iwb-principi-data h2,
.iwb-principi-page .iwb-principi-section-head h2 {
    margin: 0;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: clamp(30px, 3.2vw, 38px);
    line-height: .98;
    font-weight: 700;
    letter-spacing: -.9px;
    color: #111111;
}

.iwb-principi-page .iwb-principi-data-copy {
    padding-top: 14px;
}

.iwb-principi-page .iwb-principi-data-copy p {
    margin: 0 0 11px;
    font-size: 13px;
    line-height: 1.62;
    color: #626262;
}

.iwb-principi-page .iwb-principi-data-copy p:last-child {
    margin-bottom: 0;
}

/* BLOCCO NERO */
.iwb-principi-page .iwb-principi-choice,
.iwb-principi-page .iwb-principi-promise {
    position: relative;
    max-width: 1000px;
    margin: 10px auto 24px;
    padding: 26px 26px 25px;
    background: #191919;
    border: 1px solid #191919;
    box-shadow: 0 16px 34px rgba(0,0,0,.12);
    text-align: center;
    color: #ffffff;
}

.iwb-principi-page .iwb-principi-choice::before,
.iwb-principi-page .iwb-principi-promise::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 90px;
    height: 1px;
    transform: translateX(-50%);
    background: rgba(255,255,255,.48);
}

.iwb-principi-page .iwb-principi-choice-label {
    margin-bottom: 8px;
    color: rgba(255,255,255,.52);
}

.iwb-principi-page .iwb-principi-choice h2,
.iwb-principi-page .iwb-principi-promise h2 {
    max-width: 760px;
    margin: 0 auto 8px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: clamp(34px, 4vw, 44px);
    line-height: .96;
    font-weight: 700;
    letter-spacing: -1.1px;
    color: #ffffff;
}

.iwb-principi-page .iwb-principi-choice p,
.iwb-principi-page .iwb-principi-promise > p {
    max-width: 720px;
    margin: 0 auto;
    font-size: 13px;
    line-height: 1.58;
    color: rgba(255,255,255,.74);
}

/* SEZIONI */
.iwb-principi-page .iwb-principi-problem,
.iwb-principi-page .iwb-principi-rules,
.iwb-principi-page .iwb-principi-ecosystem {
    max-width: 1000px;
    margin: 0 auto;
    padding: 26px 0;
}

.iwb-principi-page .iwb-principi-section-head {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(280px, 1.05fr);
    gap: 40px;
    align-items: end;
    margin-bottom: 18px;
}

.iwb-principi-page .iwb-principi-section-head > p {
    margin: 0 0 2px;
    font-size: 13px;
    line-height: 1.58;
    color: #626262;
}

.iwb-principi-page .iwb-principi-section-head--center {
    display: block;
    text-align: center;
}

.iwb-principi-page .iwb-principi-section-head--center h2 {
    max-width: 620px;
    margin: 0 auto;
}

/* TRE CARD */
.iwb-principi-page .iwb-principi-three {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.iwb-principi-page .iwb-principi-card {
    position: relative;
    min-height: 156px;
    padding: 21px 24px 22px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e2e2e2;
    box-shadow: 0 8px 20px rgba(0,0,0,.025);
}

.iwb-principi-page .iwb-principi-card::before {
    content: '';
    position: absolute;
    left: 24px;
    top: 0;
    width: 52px;
    height: 2px;
    background: #111111;
}

.iwb-principi-page .iwb-principi-card-number {
    display: block;
    margin: 0 0 12px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: 42px;
    line-height: .9;
    font-weight: 700;
    letter-spacing: -2px;
    color: #ededed;
}

.iwb-principi-page .iwb-principi-card h3 {
    margin: 0 0 7px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: 26px;
    line-height: .96;
    font-weight: 700;
    letter-spacing: -.8px;
    color: #111111;
}

.iwb-principi-page .iwb-principi-card p {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: #666666;
}

/* OTTO REGOLE */
.iwb-principi-page .iwb-principi-rules-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.iwb-principi-page .iwb-principi-rules-grid article {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #e2e2e2;
}

.iwb-principi-page .iwb-principi-rules-grid article > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid #dadada;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #111111;
}

.iwb-principi-page .iwb-principi-rules-grid h3 {
    margin: 0 0 6px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: 23px;
    line-height: 1;
    letter-spacing: -.4px;
    color: #111111;
}

.iwb-principi-page .iwb-principi-rules-grid p {
    margin: 0;
    font-size: 13px;
    line-height: 1.56;
    color: #666666;
}

/* DATA */
.iwb-principi-page .iwb-principi-data {
    margin-top: 4px;
}

/* ECOSISTEMA */
.iwb-principi-page .iwb-principi-roles {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.iwb-principi-page .iwb-principi-roles article {
    padding: 20px 18px;
    background: #ffffff;
    border: 1px solid #e2e2e2;
    text-align: center;
}

.iwb-principi-page .iwb-principi-roles article span {
    display: block;
    margin: 0 0 10px;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #7a7a7a;
}

.iwb-principi-page .iwb-principi-roles article strong {
    display: block;
    margin: 0 0 6px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: 28px;
    line-height: .96;
    font-weight: 700;
    color: #111111;
}

.iwb-principi-page .iwb-principi-roles article p,
.iwb-principi-page .iwb-principi-ecosystem-note {
    margin: 0;
    font-size: 13px;
    line-height: 1.56;
    color: #666666;
}

.iwb-principi-page .iwb-principi-ecosystem-note {
    max-width: 760px;
    margin: 16px auto 0;
    text-align: center;
}

/* PROMESSA */
.iwb-principi-page .iwb-principi-promise blockquote {
    max-width: 760px;
    margin: 16px auto 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(23px, 2.5vw, 29px);
    line-height: 1.2;
    font-style: italic;
    color: #ffffff;
}

/* FINALE */
.iwb-principi-page .iwb-principi-final {
    max-width: 1000px;
    margin: 0 auto;
    padding: 34px 0 0;
    border-top: 1px solid #e1e1e1;
}

.iwb-principi-page .iwb-principi-final blockquote {
    max-width: 820px;
    margin: 0 0 16px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: clamp(34px, 4vw, 44px);
    line-height: .99;
    font-weight: 700;
    letter-spacing: -1px;
    color: #111111;
}

.iwb-principi-page .iwb-principi-signature {
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 720px;
    margin: 20px 0 0;
    padding: 14px 16px;
    background: #ffffff;
    border: 1px solid #dddddd;
    text-align: left;
}

.iwb-principi-page .iwb-principi-signature-brand {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.iwb-principi-page .iwb-principi-signature-brand strong {
    display: block;
    margin: 0 0 2px;
    font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1;
    color: #111111;
}

.iwb-principi-page .iwb-principi-signature-brand span {
    display: block;
    font-size: 9px;
    line-height: 1.4;
    color: #666666;
}

.iwb-principi-page .iwb-principi-signature-line {
    flex: 1 1 auto;
    height: 1px;
    background: #dddddd;
}

/* TABLET */
@media screen and (max-width: 900px) {
    body:has(.iwb-principi-page) #wrap {
        padding: 48px 20px 44px !important;
    }

    .iwb-principi-page.iwb-page-shell,
    .iwb-principi-page {
        max-width: 820px;
        padding: 6px 18px 42px;
    }

    .iwb-principi-page .iwb-page-hero--split {
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 22px;
    }

    .iwb-principi-page .iwb-page-hero h1 {
        font-size: clamp(42px, 6vw, 52px);
    }

    .iwb-principi-page .iwb-page-hero__media {
        max-width: 260px;
    }

    .iwb-principi-page .iwb-principi-data,
    .iwb-principi-page .iwb-principi-section-head {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .iwb-principi-page .iwb-principi-three {
        grid-template-columns: 1fr;
    }

    .iwb-principi-page .iwb-principi-rules-grid {
        grid-template-columns: 1fr;
    }

    .iwb-principi-page .iwb-principi-roles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 700px) {
    .iwb-principi-page .iwb-page-hero--split {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .iwb-principi-page .iwb-page-hero__media {
        width: min(100%, 420px);
        max-width: 420px;
        justify-self: center;
    }
}

@media screen and (max-width: 600px) {
    body:has(.iwb-principi-page) #wrap {
        padding: 46px 16px 36px !important;
    }

    .iwb-principi-page.iwb-page-shell,
    .iwb-principi-page {
        padding: 4px 14px 36px;
    }

    .iwb-principi-page .iwb-page-hero {
        margin-bottom: 20px;
    }

    .iwb-principi-page .iwb-page-hero h1 {
        font-size: 39px;
        line-height: .98;
        letter-spacing: -1.3px;
        margin-bottom: 12px;
    }

    .iwb-principi-page .iwb-page-lead {
        font-size: 14px;
        line-height: 1.55;
    }

    .iwb-principi-page .iwb-principi-hero-note {
        margin-top: 20px;
        padding-top: 16px;
    }

    .iwb-principi-page .iwb-page-hero__media {
        width: min(100%, 390px);
    }

    .iwb-principi-page .iwb-principi-data {
        padding: 25px 0;
    }

    .iwb-principi-page .iwb-principi-data h2,
    .iwb-principi-page .iwb-principi-section-head h2,
    .iwb-principi-page .iwb-principi-hero-note h2 {
        font-size: 31px;
    }

    .iwb-principi-page .iwb-principi-choice,
    .iwb-principi-page .iwb-principi-promise {
        padding: 24px 18px 23px;
    }

    .iwb-principi-page .iwb-principi-choice h2,
    .iwb-principi-page .iwb-principi-promise h2 {
        font-size: 32px;
    }

    .iwb-principi-page .iwb-principi-card {
        min-height: 0;
        padding: 20px;
    }

    .iwb-principi-page .iwb-principi-rules-grid article {
        grid-template-columns: 36px minmax(0, 1fr);
        padding: 18px;
    }

    .iwb-principi-page .iwb-principi-roles {
        grid-template-columns: 1fr;
    }

    .iwb-principi-page .iwb-principi-promise blockquote {
        font-size: 21px;
    }

    .iwb-principi-page .iwb-principi-final {
        padding-top: 30px;
    }

    .iwb-principi-page .iwb-principi-final blockquote {
        font-size: 30px;
    }

    .iwb-principi-page .iwb-principi-signature {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 13px;
    }

    .iwb-principi-page .iwb-principi-signature-line {
        width: 100%;
        flex: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .iwb-principi-page * {
        scroll-behavior: auto !important;
    }
}
/* ==========================================================
   FINE PRINCIPI REV 22
   ========================================================== */

/* ==========================================================
   iWineBook — PROFILI DROPDOWN
   Versione: 2026.09.15-0820 · REV 21
   Obiettivo:
   - PROFILI resta una sola voce nella barra desktop
   - ATTIVITÀ / DISTRIBUTORI / PRODUTTORI / APPASSIONATI
     diventano il secondo livello a discesa
   - ripristina ATTIVITÀ, che veniva nascosta dalla regola
     globale li:first-child
   - nel drawer mobile i quattro profili restano raggruppati
     e leggibili sotto PROFILI
   ========================================================== */

/* ---------- DESKTOP / TABLET LARGO ---------- */
@media screen and (min-width: 761px) {

    #iwb-mainmenu,
    #iwb-mainmenu > div,
    #iwb-mainmenu nav,
    #iwb-mainmenu .mod-menu,
    #iwb-mainmenu .nav {
        overflow: visible !important;
    }

    /* Ogni voce di primo livello può ancorare il proprio sottomenu. */
    #iwb-mainmenu li {
        position: relative !important;
    }

    /* Titolo separatore Joomla: PROFILI */
    #iwb-mainmenu li > .nav-header,
    #iwb-mainmenu li > .mod-menu__heading,
    #iwb-mainmenu li > span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 7px !important;

        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;

        color: var(--iwb-text) !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;

        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        letter-spacing: .08em !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;

        cursor: default !important;
    }

    /* Freccia solo sulla voce che contiene il secondo livello. */
    #iwb-mainmenu li.parent > .nav-header::after,
    #iwb-mainmenu li.parent > .mod-menu__heading::after,
    #iwb-mainmenu li.parent > span::after,
    #iwb-mainmenu li:has(> ul) > .nav-header::after,
    #iwb-mainmenu li:has(> ul) > .mod-menu__heading::after,
    #iwb-mainmenu li:has(> ul) > span::after {
        content: "▾" !important;
        display: inline-block !important;
        margin-top: -1px !important;

        font-size: 10px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;

        opacity: .62 !important;
    }

    /* Il secondo livello non deve più comportarsi come menu orizzontale. */
    #iwb-mainmenu ul ul {
        position: absolute !important;
        z-index: 250000 !important;

        top: 100% !important;
        left: -18px !important;

        display: block !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        width: 230px !important;
        min-width: 230px !important;
        height: auto !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 8px 0 !important;

        list-style: none !important;
        background: rgba(255,255,255,.985) !important;
        border: 1px solid rgba(0,0,0,.10) !important;
        border-top: 0 !important;
        border-radius: 0 !important;
        box-shadow: 0 16px 34px rgba(0,0,0,.12) !important;

        transform: translateY(8px) !important;

        transition:
            opacity .18s ease,
            transform .18s ease,
            visibility .18s ease !important;
    }

    /* Apertura dropdown. */
    #iwb-mainmenu li:hover > ul,
    #iwb-mainmenu li:focus-within > ul {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    /* Le voci figlie tornano verticali. */
    #iwb-mainmenu ul ul > li {
        position: relative !important;

        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
    }

    /* IMPORTANTE: ATTIVITÀ è la prima figlia e non deve essere nascosta. */
    #iwb-mainmenu ul ul > li:first-child {
        display: block !important;
    }

    #iwb-mainmenu ul ul > li + li {
        border-top: 1px solid rgba(0,0,0,.065) !important;
    }

    #iwb-mainmenu ul ul a,
    #iwb-mainmenu ul ul a:link,
    #iwb-mainmenu ul ul a:visited {
        display: flex !important;
        align-items: center !important;

        width: 100% !important;
        height: auto !important;
        min-height: 42px !important;

        margin: 0 !important;
        padding: 0 18px !important;
        box-sizing: border-box !important;

        color: #222 !important;
        background: transparent !important;

        font-size: 11.5px !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        letter-spacing: .09em !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;

        transition:
            background .16s ease,
            padding-left .16s ease,
            opacity .16s ease !important;
    }

    #iwb-mainmenu ul ul a:hover,
    #iwb-mainmenu ul ul a:focus,
    #iwb-mainmenu ul ul .active > a,
    #iwb-mainmenu ul ul .current > a {
        opacity: 1 !important;
        color: #111 !important;
        background: #f4f4f4 !important;
        padding-left: 22px !important;
    }
}

/* Tablet: conserva le dimensioni compatte della barra. */
@media screen and (min-width: 761px) and (max-width: 1280px) {
    #iwb-mainmenu li > .nav-header,
    #iwb-mainmenu li > .mod-menu__heading,
    #iwb-mainmenu li > span {
        font-size: 11px !important;
        letter-spacing: .05em !important;
    }

    #iwb-mainmenu ul ul {
        width: 210px !important;
        min-width: 210px !important;
        left: -14px !important;
    }
}

/* ---------- DRAWER MOBILE ---------- */
@media screen and (max-width: 760px) {

    /* Il titolo PROFILI diventa intestazione del gruppo. */
    .iwb-mobile-drawer__menu li > .nav-header,
    .iwb-mobile-drawer__menu li > .mod-menu__heading,
    .iwb-mobile-drawer__menu li > span {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        min-height: 52px !important;

        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;

        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        background: transparent !important;

        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        letter-spacing: .12em !important;
        text-transform: uppercase !important;
    }

    .iwb-mobile-drawer__menu li:has(> ul) > .nav-header::after,
    .iwb-mobile-drawer__menu li:has(> ul) > .mod-menu__heading::after,
    .iwb-mobile-drawer__menu li:has(> ul) > span::after {
        content: "—" !important;
        display: inline-block !important;
        opacity: .45 !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        letter-spacing: 0 !important;
    }

    /* Secondo livello sempre visibile nel drawer:
       più robusto del click/hover su smartphone. */
    .iwb-mobile-drawer__menu ul ul {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 0 9px !important;
        padding: 0 0 5px 13px !important;
        box-sizing: border-box !important;

        background: transparent !important;
        border: 0 !important;
        border-left: 1px solid rgba(255,255,255,.16) !important;
    }

    .iwb-mobile-drawer__menu ul ul > li {
        display: block !important;
        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
    }

    /* IMPORTANTE: ripristina ATTIVITÀ anche nel menu mobile. */
    .iwb-mobile-drawer__menu ul ul > li:first-child {
        display: block !important;
    }

    .iwb-mobile-drawer__menu ul ul a,
    .iwb-mobile-drawer__menu ul ul a:link,
    .iwb-mobile-drawer__menu ul ul a:visited {
        display: flex !important;
        align-items: center !important;

        width: 100% !important;
        min-height: 42px !important;

        margin: 0 !important;
        padding: 0 0 0 14px !important;
        box-sizing: border-box !important;

        color: rgba(255,255,255,.78) !important;
        -webkit-text-fill-color: rgba(255,255,255,.78) !important;

        font-size: 11px !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        letter-spacing: .10em !important;
        text-transform: uppercase !important;
    }

    .iwb-mobile-drawer__menu ul ul a:hover,
    .iwb-mobile-drawer__menu ul ul a:focus,
    .iwb-mobile-drawer__menu ul ul .active > a,
    .iwb-mobile-drawer__menu ul ul .current > a {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        opacity: 1 !important;
    }
}

/* ==========================================================
   FINE PROFILI DROPDOWN · REV 21
   ========================================================== */
