/* ==========================================================================
   Ocean — Style custom (Scame Plastics Technologies)
   Restyling visivo — concept "acciaio / titanio spazzolato"
   --------------------------------------------------------------------------
   File di override di progetto. Ridefinisce tipografia, ritmo delle sezioni,
   header/footer e componenti mantenendo classi, markup e funzionalità esistenti.
   I colori di divisione (medical / promotional / industrial) sono disponibili
   sia come accenti (variabile --division: bordi, linee, underline, indicatori)
   sia come sfondo di sezione: pieno (.bg-medical/.bg-promotional/.bg-industrial)
   oppure in tinta chiara (.bg-medical-light/.bg-promotional-light/.bg-industrial-light).
   ========================================================================== */

/* ==========================================================================
   2) Base e tipografia
   ========================================================================== */
body {font-family:var(--font-primary);font-size:17px;line-height:1.68;color:var(--color-text);background-color:var(--color-paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
h1, h2, h3, h4, h5, h6 {color:var(--color-ink);font-weight:700;line-height:1.14;letter-spacing:-0.4px;margin-top:0;}
p {margin-bottom:18px;}
p:last-child {margin-bottom:0;}
strong {font-weight:700;color:var(--color-ink);}
a {color:var(--color-primary);text-decoration:none;transition:color .25s ease-in-out;}
a:hover, a:focus {color:var(--color-ink);text-decoration:none;}
::selection {background:var(--color-ink);color:var(--color-off-white);}
:focus-visible {outline:2px solid currentColor;outline-offset:3px;}

/* Testi leggibili: larghezza controllata */
.section .text {max-width:74ch;}
.section .text p {font-size:17px;line-height:1.78;color:var(--color-muted);}
.section .text ul, .section .text ol {line-height:1.7;}
/* Allineamento centro (layout): il testo resta 74ch ma si posiziona al centro della sezione */
.section.text-center .text {margin-left:auto;margin-right:auto;}
.section.text-center .buttons-group {justify-content:center;}
.bg-video-section::after {background-color:rgba(0,0,0,.6);}

/* ==========================================================================
   3) Sezioni, sfondi, ritmo
   ========================================================================== */
.section {padding-top:var(--section-padding-y);padding-bottom:var(--section-padding-y);}
.section .row {--bs-gutter-x:36px;--bs-gutter-y:36px;}
.content-container {margin-top:56px;}

/* ==========================================================================
   4) Titoli di sezione
   ========================================================================== */
.section-title {position:relative;}
.section-title .pre-title {display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:2.6px;text-transform:uppercase;color:var(--division);margin-bottom:20px;line-height:1;}
.section-title .pre-title::before {content:"";display:inline-block;width:36px;height:2px;background:linear-gradient(90deg,var(--division),var(--division-light));}
.section-title h1 {font-size:64px;font-weight:700;line-height:1.04;letter-spacing:-1.8px;margin-bottom:24px;}
.section-title h2 {font-size:46px;font-weight:700;line-height:1.09;letter-spacing:-1.2px;margin-bottom:20px;color:var(--color-ink);}
.section-title h3 {font-size:40px;font-weight:600;line-height:1.12;letter-spacing:-0.8px;margin-bottom:16px;}
.section-title h4 {font-size:18px;font-weight:600;letter-spacing:-0.2px;}
.section-title + .text {margin-top:0;}

/* ==========================================================================
   5) Header — navbar, top actions, affix, mobile
   ========================================================================== */
.navbar.navbar-default {background-color:rgba(245,246,247,.92);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border:0;border-bottom:1px solid var(--color-line);padding:0;transition:background-color .3s ease-in-out,box-shadow .3s ease-in-out;}
.navbar.navbar-default .navbar-header {border-bottom:1px solid var(--color-line) !important;padding:0 !important;margin-bottom:0 !important;min-height:52px;}
.navbar.navbar-default .navbar-brand {padding:0;display:inline-flex;align-items:center;}
.navbar.navbar-default .navbar-brand > img {height:40px;width:auto;transition:height .3s ease-in-out,opacity .3s ease-in-out;}
.navbar.navbar-default .navbar-collapse { padding: 5px 0; }

/* Voci header (lingua + CTA): dentro l'header fisso, gestite da .navbar-top-actions */

/* Toggler: hamburger custom (3 linee dritte), senza focus ring */
.navbar.navbar-default .navbar-toggler {width:40px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;margin:0 0 0 auto;border:0;border-radius:0;background-color:transparent;}
.navbar.navbar-default .navbar-toggler:focus, .navbar.navbar-default .navbar-toggler:focus-visible, .navbar.navbar-default .navbar-toggler:hover {background-color:transparent;box-shadow:none;outline:none;}
.navbar.navbar-default .navbar-toggler__bar {display:block;width:24px;height:2px;border-radius:0;background-color:var(--color-ink);transition:transform .25s ease-in-out,opacity .25s ease-in-out;}
.navbar.navbar-default .navbar-toggler[aria-expanded="true"] .navbar-toggler__bar:nth-child(1) {transform:translateY(7px) rotate(45deg);}
.navbar.navbar-default .navbar-toggler[aria-expanded="true"] .navbar-toggler__bar:nth-child(2) {opacity:0;}
.navbar.navbar-default .navbar-toggler[aria-expanded="true"] .navbar-toggler__bar:nth-child(3) {transform:translateY(-7px) rotate(-45deg);}

/* Voce di menu */
.navbar.navbar-default .navbar-nav > li {margin:0;}
.navbar.navbar-default .navbar-nav > li > a {position:relative;padding:16px 12px;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--color-ink);}
.navbar.navbar-default .navbar-nav > li > a::after {content:"";position:absolute;left:12px;right:12px;bottom:9px;height:2px;background:var(--division);transform:scaleX(0);transform-origin:left center;transition:transform .28s ease-in-out;}
.navbar.navbar-default .navbar-nav > li > a:hover, .navbar.navbar-default .navbar-nav > li > a:focus {color:var(--color-ink);}
.navbar.navbar-default .navbar-nav > li > a:hover::after, .navbar.navbar-default .navbar-nav > li > a:focus::after,
.navbar.navbar-default .navbar-nav > .active > a::after, .navbar.navbar-default .navbar-nav > .current-menu-parent > a::after {transform:scaleX(1);}
.navbar.navbar-default .navbar-nav > .active > a, .navbar.navbar-default .navbar-nav > .current-menu-parent > a {color:var(--color-ink);}
.navbar.navbar-default .dropdown-menu {border:1px solid var(--color-line);box-shadow:0 20px 45px rgba(var(--color-ink-rgb),.12);padding:10px 0;}
.navbar.navbar-default .dropdown-menu > li > a {padding:10px 22px;font-size:14px;color:var(--color-ink);}
.navbar.navbar-default .dropdown-menu > li > a:hover, .navbar.navbar-default .dropdown-menu > li > a:focus {background-color:var(--color-paper);color:var(--division);}

/* Top actions (riga sopra la nav): lingua + CTA */
.navbar.navbar-default .navbar-top-actions {gap:12px;}
/* Allineamento lingua/CTA: il selettore è una lista inline, senza baseline extra né margini del li */
.navbar.navbar-default .navbar-top-actions .language-switcher {display:flex;align-items:center;}
.navbar.navbar-default .navbar-top-actions .language-switcher__list {display:flex;align-items:center;margin:0;}
.navbar.navbar-default .navbar-top-actions .language-switcher__item {display:inline-flex;margin:0;}
.navbar.navbar-default .navbar-top-actions .language-switcher__link {vertical-align:middle;}
/* Top actions (riga sopra la nav): lingua + CTA — dimensioni uniformi */
.navbar.navbar-default .navbar-top-actions .language-switcher__link,
.navbar.navbar-default .navbar-top-actions .navbar-top-cta {display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 14px;font-size:11px;font-weight:700;line-height:1;letter-spacing:1px;color:var(--color-ink);}
.navbar.navbar-default .navbar-top-actions .language-switcher__link {border:1px solid var(--color-line-strong);}
.navbar.navbar-default .navbar-top-actions .language-switcher__link:hover, .navbar.navbar-default .navbar-top-actions .language-switcher__link:focus {border-color:var(--color-ink);color:var(--color-ink);}
.navbar.navbar-default .navbar-top-actions .navbar-top-cta {gap:10px;border:1px solid var(--color-ink);text-transform:uppercase;transition:background-color .28s ease-in-out,color .28s ease-in-out,border-color .28s ease-in-out;}
.navbar.navbar-default .navbar-top-cta::after {content:"";width:16px;height:1px;background:currentColor;transition:width .28s ease-in-out;}
.navbar.navbar-default .navbar-top-cta:hover, .navbar.navbar-default .navbar-top-cta:focus {background-color:var(--color-ink);border-color:var(--color-ink);color:var(--color-off-white);}
.navbar.navbar-default .navbar-top-cta:hover::after, .navbar.navbar-default .navbar-top-cta:focus::after {width:26px;}

/* Header collassato (<1200): bordo tra i link e la navbar, link compatti, respiro attorno al logo */
@media only screen and (max-width:1199px) {
  .navbar.navbar-default .navbar-header {border-bottom:0 !important;}
  .navbar.navbar-default .navbar-brand {padding:6px 0;}
  .navbar.navbar-default .navbar-header .navbar-top-actions {padding:4px 0;border-bottom:1px solid var(--color-line);}
  .navbar.navbar-default .navbar-header .navbar-top-actions .language-switcher__link,
  .navbar.navbar-default .navbar-header .navbar-top-actions .navbar-top-cta {height:24px;padding:0 8px;font-size:9px;}
}

/* Affix: header piu compatto allo scroll */
.navbar.navbar-default.is--affix {background-color:rgba(245,246,247,.98);box-shadow:0 14px 40px rgba(var(--color-ink-rgb),.08);}
.navbar.navbar-default.is--affix .navbar-header {min-height:42px;}
.navbar.navbar-default.is--affix .navbar-brand > img {height:32px;}
.navbar.navbar-default.is--affix .navbar-nav > li > a {padding-top:12px;padding-bottom:12px;}
.navbar.navbar-default.is--affix .navbar-top-actions {padding-top:2px;padding-bottom:2px;}

/* Navbar sempre chiara: annulla lo stato scuro di body.no-header (pagina senza hero) */
body.no-header .navbar.navbar-default {background-color:rgba(245,246,247,.92);box-shadow:none;}
body.no-header .navbar.navbar-default .navbar-brand > .img-base {opacity:1;}
body.no-header .navbar.navbar-default .navbar-brand > .img-alt {opacity:0;}
body.no-header .navbar.navbar-default .navbar-nav > li > a {color:var(--color-ink);}
body.no-header .navbar.navbar-default .navbar-nav > li > a.active {color:var(--color-ink);}
body.no-header .navbar.navbar-default .language-switcher__link {color:var(--color-ink);}

/* Landing: header minimale con solo il logo centrale (altezza max 80px) */
body.landing {--body-offset:80px;}
body.landing .navbar.navbar-default.navbar-landing {height:80px;padding:0;background-color:var(--color-paper);border-bottom:1px solid var(--color-line);box-shadow:none;}
body.landing .navbar.navbar-default.navbar-landing .container {display:flex;align-items:center;justify-content:center;height:100%;}
body.landing .navbar.navbar-default.navbar-landing .navbar-brand--center {display:inline-flex;align-items:center;padding:0;}
body.landing .navbar.navbar-default.navbar-landing .navbar-brand--center > img {height:48px;max-height:80px;width:auto;}
/* Navbar landing: annulla l'affix applicato allo scroll dal JS */
body.landing .navbar.navbar-default.navbar-landing.is--affix {background-color:var(--color-paper);box-shadow:none;}
body.landing .navbar.navbar-default.navbar-landing.is--affix .navbar-brand--center > img {height:48px;}

/* Banner fiera */
.topheader {background-color:var(--color-ink);color:var(--color-off-white);font-size:13px;letter-spacing:0.3px;padding:11px 15px;}
.topheader a {color:var(--color-promotional-light);font-weight:600;}
.topheader a:hover, .topheader a:focus {color:var(--color-off-white);}

/* ==========================================================================
   6) Page header + breadcrumbs
   ========================================================================== */
.section.section-header {display:flex;align-items:center;min-height:420px;background-color:var(--color-graphite);color:var(--color-off-white);}
.section.section-header .bg-overlay {background:linear-gradient(180deg,rgba(15,17,19,.74) 0%,rgba(15,17,19,.5) 100%);}
.section.section-header::after {content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,var(--division) 0%,var(--division-light) 50%,var(--division) 100%);z-index:2;}
.section.section-header .content-overlay {width:100%;}
/* Header con video di sfondo: alza il video (z-index -1) sopra il colore di sezione; l'overlay
   del video (.bg-video-section::after) basta per il contrasto, quindi si nasconde il gradiente extra */
.section.section-header.has--video-background .bg-video-section {z-index:0;}
.section.section-header.has--video-background .bg-overlay {display:none;}
.section.section-header.has--video-background .content-overlay {z-index:1;}
.section.section-header .page-title__title {display:block;font-size:58px;font-weight:700;letter-spacing:-1.8px;line-height:1.06;color:var(--color-off-white);}
.section.section-header .page-title__subtitle {display:block;font-size:24px;font-weight:400;line-height:1.2;color:rgba(247,248,249,.7);letter-spacing:0;max-width:74ch;margin-top:14px;}
/* Header senza immagine (featured image assente): sfondo chiaro, testi scuri */
.section.section-header.has--no-background {background-color:var(--color-paper);color:var(--color-text);}
.section.section-header.has--no-background .bg-overlay {display:none;}
.section.section-header.has--no-background .page-title__title {color:var(--color-ink);}
.section.section-header.has--no-background .page-title__subtitle {color:var(--color-muted);}
/* Pagine di area business: superfici primarie in titanio con riflesso lucido (acciaio spazzolato) */
body.division-medical .bg-primary,
body.division-promotional .bg-primary,
body.division-industrial .bg-primary {background-image:linear-gradient(135deg,rgba(255,255,255,.6) 0%,rgba(255,255,255,0) 46%),linear-gradient(315deg,rgba(var(--color-ink-rgb),.05) 0%,rgba(var(--color-ink-rgb),0) 55%);}
.section.section-breadcrumbs {background-color:var(--color-surface);border-bottom:1px solid var(--color-line);font-size:12px;letter-spacing:0.5px;}
.section.section-breadcrumbs .breadcrumb {background:transparent;padding:14px 0;text-transform:uppercase;}
.section.section-breadcrumbs a {color:var(--color-muted);}
.section.section-breadcrumbs a:hover, .section.section-breadcrumbs a:focus {color:var(--color-ink);}
.breadcrumb>span>span.breadcrumb_last {color:var(--color-ink);}

/* ==========================================================================
   7) Blocchi
   ========================================================================== */

/* 7.1 CTA / Hero --------------------------------------------------------- */
.block-cta .section-title {margin-bottom:4px;}
.block-cta .text {max-width:64ch;font-size:18px;line-height:1.7;}
.block-cta .buttons-group {gap:16px;margin-top:44px;}
.block-cta__note {margin-top:44px;padding-top:28px;border-top:1px solid rgba(247,248,249,.16);max-width:74ch;display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;}

/* 7.2 Certificazioni ----------------------------------------------------- */
.block-certifications .content-container {margin-top:60px;}
.block-certifications .content-container > .row {counter-reset:cert;}
.block-certifications .content-container > .row > [class*="col-"] {counter-increment:cert;}
.block-certifications .certification__item {position:relative;height:100%;padding:34px 10px 26px 0;border-top:2px solid var(--color-line-strong);transition:border-color .3s ease-in-out,transform .3s ease-in-out;}
.block-certifications .certification__item::before {content:counter(cert,decimal-leading-zero);position:absolute;top:30px;right:0;font-size:12px;font-weight:700;letter-spacing:1.9px;color:var(--color-steel-light);}
.block-certifications .certification__item:hover {border-top-color:var(--division);transform:translateY(-3px);}
.block-certifications .certification__icon {margin-bottom:20px;min-height:38px;display:flex;align-items:center;}
.block-certifications .certification__icon img {max-height:38px;width:auto;filter:grayscale(1);opacity:.72;transition:filter .3s ease-in-out,opacity .3s ease-in-out;}
.block-certifications .certification__item:hover .certification__icon img {filter:none;opacity:1;}
.block-certifications .certification__title {font-size:23px;font-weight:700;letter-spacing:-0.4px;color:var(--color-ink);margin-bottom:8px;line-height:1.15;}
.block-certifications .certification__text {font-size:11.5px;font-weight:600;letter-spacing:1.9px;text-transform:uppercase;color:var(--color-muted);}
.block-certifications > .container > .row > .col-12 > .text {margin-top:40px;}

/* 7.3 Counter "Il Gruppo in numeri" -------------------------------------- */
.block-counter .content-container {margin-top:70px;}
.block-counter .counter__item {height:100%;padding:30px 0 0;border-top:1px solid var(--color-line-strong);}
.block-counter .counter-head {display:flex;align-items:baseline;gap:3px;}
.block-counter .counter, .block-counter .counter-text {font-size:74px;font-weight:700;line-height:.95;letter-spacing:-3.3px;color:var(--color-ink);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;}
.block-counter .counter_text {margin-top:16px;font-size:12px;font-weight:600;letter-spacing:1.9px;text-transform:uppercase;color:var(--color-muted);}

/* 7.4 Card base (list cards, post) --------------------------------------- */
.card {border:1px solid var(--color-line);border-radius:0;background-color:var(--color-off-white);margin-bottom:0;}
a.d-block:hover > .card {opacity:1;}
.card .card-bg {height:220px;background-color:var(--color-anthracite);}
.card .card-bg::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,17,19,0) 40%,rgba(15,17,19,.32) 100%);}
.card .card-body {padding:30px 28px 32px;display:flex;flex-direction:column;height:100%;}
.card .card-title {font-size:21px;font-weight:700;letter-spacing:-0.4px;color:var(--color-ink);margin-bottom:12px;}
.card .card-body > .pre-title {display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--division);margin-bottom:10px;line-height:1;}
.card .card-body > .pre-title::before {content:"";display:inline-block;width:26px;height:2px;background:linear-gradient(90deg,var(--division),var(--division-light));}
.card .text {font-size:15px;color:var(--color-muted);}
.block-list-cards .card, .block-list-cards-link .card {height:100%;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out,border-color .3s ease-in-out;}
.block-list-cards .card:hover, .block-list-cards-link .card:hover {transform:translateY(-4px);box-shadow:0 26px 54px rgba(var(--color-ink-rgb),.1);border-color:var(--color-line-strong);}

/* 7.5 Business Unit "Da dove volete partire" ----------------------------- */
.block-list-cards-link .content-container {margin-top:60px;}
.block-list-cards-link .content-container > .row {counter-reset:bu;}
.block-list-cards-link .content-container > .row > [class*="col-"] {counter-increment:bu;}
.block-list-cards-link .card-link {position:relative;display:flex;flex-direction:column;height:100%;padding:0;border:1px solid var(--color-line);border-top:3px solid var(--division);background-color:var(--color-off-white);overflow:hidden;}
.block-list-cards-link .content-container > .row > [class*="col-"]:nth-child(1) .card-link {--division:var(--color-medical);}
.block-list-cards-link .content-container > .row > [class*="col-"]:nth-child(2) .card-link {--division:var(--color-industrial);}
.block-list-cards-link .content-container > .row > [class*="col-"]:nth-child(3) .card-link {--division:var(--color-promotional);}
.block-list-cards-link .card-link::before {content:"0" counter(bu);position:absolute;top:15px;right:15px;font-size:12px;font-weight:700;letter-spacing:1.9px;color:var(--color-steel-light);}
.block-list-cards-link .card-link .card-bg {height:190px;}
.block-list-cards-link .card-link .card-body {flex:1;padding:34px 32px 30px;}
.block-list-cards-link .card-link .card-title {font-size:26px;margin-bottom:14px;}
.block-list-cards-link .card-link .card-cta {margin-top:auto;padding-top:26px;display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--color-ink);}
.block-list-cards-link .card-link .card-cta::after {content:"";display:inline-block;width:26px;height:1px;background:var(--division);transition:width .28s ease-in-out;}
.block-list-cards-link .card-link .card-cta:hover, .block-list-cards-link .card-link .card-cta:focus {color:var(--division);}
.block-list-cards-link .card-link .card-cta:hover::after, .block-list-cards-link .card-link .card-cta:focus::after {width:42px;}
.block-list-cards-link .card-link:hover {transform:translateY(-4px);box-shadow:0 26px 54px rgba(var(--color-ink-rgb),.1);}

/* 7.6 Elenchi a confronto ------------------------------------------------ */
.block-lists-compare .content-container {margin-top:60px;}
.list-compare {height:100%;padding:36px 32px;border:1px solid var(--color-line);background-color:var(--color-off-white);}
.list-compare--positive {border-top:3px solid var(--division);}
.list-compare--negative {border-top:3px solid var(--color-line-strong);}
.list-compare__title {font-size:18px;font-weight:700;letter-spacing:-0.2px;color:var(--color-ink);margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--color-line);}
.list-compare__list {margin:0;}
.list-compare__item {position:relative;padding:14px 0 14px 34px;border-top:1px solid var(--color-line);font-size:15px;line-height:1.6;color:var(--color-muted);}
.list-compare__item:first-child {border-top:0;}
.list-compare__item::before {position:absolute;left:0;top:14px;font-family:"Font Awesome 7 Free";font-weight:900;font-size:14px;}
.list-compare--positive .list-compare__item::before {content:"\f00c";color:var(--division);}
.list-compare--negative .list-compare__item::before {content:"\f00d";color:var(--color-steel-light);}

/* 7.7 Tabella ------------------------------------------------------------ */
.block-table .content-container {margin-top:52px;}
.block-table .table {border-color:var(--color-line);margin-bottom:0;}
.block-table .table > thead > tr > th {background-color:var(--division);background-image:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 60%);color:var(--color-off-white);border:0;padding:17px 20px;font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;vertical-align:middle;}
.block-table .table > tbody > tr > td {border-color:var(--color-line);color:var(--color-muted);vertical-align:middle;font-size:16px;}
.block-table .table > tbody > tr > th {font-weight:600;color:var(--color-ink);border-color:var(--color-line);}
.block-table .table > tbody > tr:hover > td {background-color:var(--color-paper);color:var(--color-ink);}
.block-table .table a {font-weight:600;color:var(--color-ink);border-bottom:1px solid var(--division);}
.block-table .table a:hover, .block-table .table a:focus {color:var(--division);}

/* 7.8 Caso studio -------------------------------------------------------- */
.block-case-study .block-case-study__image {position:relative;padding:16px;}
.block-case-study .block-case-study__image img {border:1px solid var(--color-line);width:100%;height:auto;}
.block-case-study .block-case-study__image::before {content:"";position:absolute;left:0;top:0;width:80px;height:80px;border-left:3px solid var(--division);border-top:3px solid var(--division);}
.block-case-study .block-case-study__note {margin-top:44px;padding-top:26px;border-top:1px solid var(--color-line);font-size:14px;line-height:1.7;color:var(--color-muted);max-width:86ch;}

/* 7.9 Colonne multiple --------------------------------------------------- */
.block-multiple-columns .content-container {margin-top:60px;}
.block-multiple-columns .content-container > .row > [class*="col-"] .section-title {border-top:2px solid var(--color-line-strong);padding-top:26px;transition:border-color .3s ease-in-out;}
.block-multiple-columns .content-container > .row > [class*="col-"]:hover .section-title {border-top-color:var(--division);}

/* 7.10 Form preventivo --------------------------------------------------- */
.block-form-quotation .content-container {margin-top:56px;}
.block-form-quotation__form {background-color:var(--color-off-white);border:1px solid var(--color-line);padding:44px 42px;}
.block-form-quotation__note {margin-top:30px;font-size:14px;color:var(--color-muted);max-width:80ch;}

/* 7.11 Gallery / caroselli ----------------------------------------------- */
.block-carousel-gallery .content-container {margin-top:56px;}
.block-carousel-gallery .carousel-container .card {border:0;background-color:transparent;}
.block-carousel-gallery .carousel-container .card-bg {height:440px;background-color:var(--color-anthracite);}
.block-carousel-gallery .carousel-container .card-bg::after {display:none;}
.block-carousel-gallery .swiper-button-next, .block-carousel-gallery .swiper-button-prev {width:46px;height:46px;background-color:var(--color-ink);color:var(--color-off-white);border-radius:0;transition:background-color .28s ease-in-out;}
.block-carousel-gallery .swiper-button-next:after, .block-carousel-gallery .swiper-button-prev:after {font-size:14px;font-weight:700;}
.block-carousel-gallery .swiper-button-next:hover, .block-carousel-gallery .swiper-button-prev:hover {background-color:var(--division);}

/* 7.12 Google Maps ------------------------------------------------------- */
.block-gmap iframe, .block-gmap .gmap {filter:grayscale(1) contrast(1.05);}

/* ==========================================================================
   8) Pulsanti e form
   ========================================================================== */
.btn {padding:16px 34px;font-size:12.5px;font-weight:700;letter-spacing:1.25px;text-transform:uppercase;border-radius:0;line-height:1.2;transition:background-color .28s ease-in-out,color .28s ease-in-out,border-color .28s ease-in-out;}
.btn.btn-primary {background-color:var(--color-ink);border-color:var(--color-ink);color:var(--color-off-white);}
.btn.btn-primary:hover, .btn.btn-primary:focus {background-color:var(--color-steel-dark) !important;border-color:var(--color-steel-dark) !important;color:var(--color-off-white) !important;}
.btn.btn-secondary {background-color:transparent;border-color:var(--color-ink);color:var(--color-ink);}
.btn.btn-secondary:hover, .btn.btn-secondary:focus {background-color:var(--color-ink) !important;border-color:var(--color-ink) !important;color:var(--color-off-white) !important;}
.btn.btn-link {padding:0;font-size:12.5px;letter-spacing:1.25px;color:var(--color-ink);}
.btn.btn-link:hover, .btn.btn-link:focus {color:var(--division);}

/* Form */
/* Spaziatura verticale ridotta tra le sezioni dei campi (vince su .section .row) */
.section .wpcf7-form .row {--bs-gutter-y:8px;}
.form-control, .form-select {border:1px solid var(--color-line-strong);border-radius:0;background-color:var(--color-white);color:var(--color-ink);padding:16px 16px;font-size:15px;line-height:20px;margin-bottom:12px;box-shadow:none;}
.form-control::placeholder {color:var(--color-steel);}
.form-control:focus, .form-select:focus {border-color:var(--color-ink) !important;box-shadow:0 0 0 3px rgba(var(--color-ink-rgb),.08) !important;}
.form-check .form-check-input:checked {background-color:var(--color-ink);border-color:var(--color-ink);}
.form-check .form-check-input:focus {border-color:var(--color-ink);box-shadow:0 0 0 3px rgba(var(--color-ink-rgb),.08) !important;}

/* ==========================================================================
   9) Footer
   ========================================================================== */
.section.section-footer {background:linear-gradient(180deg,var(--color-anthracite) 0%,var(--color-graphite) 100%);padding-top:100px;padding-bottom:76px;}
.section.section-footer .block-footer-columns-content .accordion-header {margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--division);}
.section.section-footer .block-footer-columns-content .lead {color:var(--color-off-white);font-size:12.5px;font-weight:700;letter-spacing:1.75px;text-transform:uppercase;padding-bottom:14px;margin-bottom:20px;border-bottom:2px solid var(--division);}
.section.section-footer .block-footer-columns-content .text {color:rgba(247,248,249,.66);font-size:15px;line-height:1.7;}
.section.section-footer .block-footer-columns-content .text h1,
.section.section-footer .block-footer-columns-content .text h2,
.section.section-footer .block-footer-columns-content .text h3,
.section.section-footer .block-footer-columns-content .text h4,
.section.section-footer .block-footer-columns-content .text h5,
.section.section-footer .block-footer-columns-content .text h6 {color:var(--color-off-white);font-weight:600;letter-spacing:-0.2px;line-height:1.45;}
.section.section-footer .block-footer-columns-content .text h4 {font-size:17px;margin-bottom:0;}
.section.section-footer .block-footer-columns-content .text a {color:rgba(247,248,249,.66);}
.section.section-footer .block-footer-columns-content .text a:hover, .section.section-footer .block-footer-columns-content .text a:focus {color:var(--color-off-white);}
.section.section-footer .block-footer-columns-content .accordion-button {color:var(--color-off-white);font-size:12.5px;font-weight:700;letter-spacing:1.75px;text-transform:uppercase;padding:0 0 14px;background-color:transparent;border:0;border-bottom:2px solid var(--division);}
.section.section-footer .block-footer-columns-content .accordion-button::after {display:none;}
.section.section-copy {background-color:var(--color-graphite);border-top:1px solid rgba(247,248,249,.09);font-size:13px;color:rgba(247,248,249,.6);}
.section.section-copy a {color:rgba(247,248,249,.6);}
.section.section-copy a:hover, .section.section-copy a:focus {color:var(--color-off-white);}

/* ==========================================================================
   10) Responsive
   ========================================================================== */

/* Smartphone */
@media only screen and (max-width:767px) and (min-width:320px) {
  :root {--section-padding-y:64px;--body-offset:80px;}

  /* Base */
  body {font-size:16px;line-height:1.62;}
  .section .row {--bs-gutter-x:24px;--bs-gutter-y:24px;}
  .content-container {margin-top:38px;}

  /* Header */
  .navbar.navbar-default .navbar-header {min-height:58px;border-bottom:0 !important;}
  .navbar.navbar-default .navbar-brand > img {height:34px;}
  .navbar.navbar-default .navbar-nav > li > a {padding:15px 0;font-size:14px;}
  .navbar.navbar-default .navbar-nav > li > a::after {left:0;right:auto;width:38px;bottom:8px;}
  .navbar.navbar-default .navbar-cta {width:100%;}
  /* Header collassato: lingua + CTA in alto, logo + toggle sulla riga di navigazione */
  .navbar.navbar-default .navbar-header {flex-wrap:wrap;}
  .navbar.navbar-default .navbar-top-actions {order:-1;flex:0 0 100%;justify-content:flex-end;padding:8px 0;}

  /* Titoli */
  .section-title .pre-title {font-size:11px;letter-spacing:2px;margin-bottom:16px;}
  .section-title h1 {font-size:36px;}
  .section-title h2 {font-size:28px;}
  .section-title h3 {font-size:24px;}
  .section .text p {font-size:16px;}

  /* Page header */
  .section.section-header {min-height:250px;}
  .section.section-header .page-title__title {font-size:34px;text-align:left;}

  /* CTA / Hero */
  .block-cta .text {font-size:16px;}
  .block-cta .buttons-group {flex-direction:column;align-items:stretch;margin-top:34px;}
  .block-cta .buttons-group .btn {width:100%;}

  /* Certificazioni */
  .block-certifications .content-container {margin-top:40px;}
  .block-certifications .certification__item {padding:26px 0 22px;}
  .block-certifications .certification__item::before {top:24px;}
  .block-certifications .certification__title {font-size:20px;}

  /* Counter */
  .block-counter .content-container {margin-top:46px;}
  .block-counter .counter, .block-counter .counter-text {font-size:46px;}
  .block-counter .counter__item {padding-top:22px;}

  /* Card e BU */
  .card .card-body {padding:26px 22px 28px;}
  .block-list-cards-link .card-link .card-body {padding:28px 24px 26px;}
  .block-list-cards-link .card-link .card-title {font-size:22px;}
  .card .card-bg, .block-list-cards-link .card-link .card-bg {height:200px;}

  /* Lists compare */
  .list-compare {padding:28px 22px;}

  /* Case study */
  .block-case-study .block-case-study__image {padding:10px;}
  .block-case-study .block-case-study__image::before {width:52px;height:52px;}

  /* Form */
  .block-form-quotation__form {padding:28px 22px;}

  /* Gallery */
  .block-carousel-gallery .carousel-container .card-bg {height:260px;}

  /* Footer */
  .section.section-footer {padding-top:64px;padding-bottom:48px;}
  .section.section-footer .block-footer-columns-content .accordion-item {border-bottom:1px solid rgba(247,248,249,.16);padding-bottom:12px;margin-bottom:12px;}
  .section.section-footer .block-footer-columns-content .accordion-button {border-bottom:0;padding-bottom:0;}
  .section.section-footer .block-footer-columns-content .accordion-button::after {display:block;font-family:"Font Awesome 7 Free";content:"\f067";color:var(--color-off-white);font-weight:900;font-size:12px;position:absolute;right:0;top:auto;}
  .section.section-footer .block-footer-columns-content .accordion-button:not(.collapsed)::after {content:"\f068";}
  .section.section-copy {text-align:center;}
}

/* Tablet */
@media only screen and (min-width:768px) and (max-width:991px) {
  :root {--section-padding-y:88px;--body-offset:85px;}
  body {font-size:16.5px;}
  .section-title h1 {font-size:46px;}
  .section-title h2 {font-size:36px;}
  .section-title h3 {font-size:32px;}
  .section.section-header .page-title__title {font-size:44px;}
  .navbar.navbar-default .navbar-header {min-height:56px;}
  .navbar.navbar-default .navbar-nav > li > a {padding:15px 0;font-size:14px;}
  .navbar.navbar-default .navbar-nav > li > a::after {left:0;right:auto;width:38px;bottom:8px;}
  .section.section-footer {padding-top:80px;padding-bottom:60px;}
  .block-counter .counter, .block-counter .counter-text {font-size:54px;}
  /* Header collassato: lingua + CTA in alto, logo + toggle sulla riga di navigazione */
  .navbar.navbar-default .navbar-header {flex-wrap:wrap;}
  .navbar.navbar-default .navbar-top-actions {order:-1;flex:0 0 100%;justify-content:flex-end;padding:8px 0;}
}

/* Tablet Landscape */
@media only screen and (min-width:992px) and (max-width:1199px) {
  :root {--section-padding-y:104px;--body-offset:85px;}
  .section-title h1 {font-size:54px;}
  .section-title h2 {font-size:40px;}
  .section-title h3 {font-size:35px;}
  .section.section-header .page-title__title {font-size:50px;}
  .block-counter .counter, .block-counter .counter-text {font-size:62px;}
  /* Header collassato: lingua + CTA in alto, logo + toggle sulla riga di navigazione */
  .navbar.navbar-default .navbar-header {flex-wrap:wrap;}
  .navbar.navbar-default .navbar-top-actions {order:-1;flex:0 0 100%;justify-content:flex-end;padding:8px 0;}
  .navbar.navbar-default .navbar-nav > li > a {padding:15px 0;font-size:14px;}
  .navbar.navbar-default .navbar-nav > li > a::after {left:0;right:auto;width:38px;bottom:8px;}
}

/* Laptop 13' - 1366x768 Non-Retina */
@media only screen and (min-width:1200px) and (max-width:1366px) {
  :root {--section-padding-y:116px;}
}

/* Laptop 4:3 - 1440x1080 */
@media only screen and (min-width:1367px) and (max-width:1440px) {
  :root {--section-padding-y:124px;}
}

/* Desktop (navbar espansa da >=1200px): offset per l'header fixed */
@media only screen and (min-width:1200px) {
  :root {--body-offset:104px;}
}
