/* Fase 01: soltanto adattamenti tecnici per usare la grafica originale Appointment Pro senza WordPress. */
html{scroll-behavior:smooth}
body{font-family:"Open Sans",Arial,sans-serif}
a:focus-visible,button:focus-visible{outline:3px solid #123980;outline-offset:3px}
.skip-link{position:absolute;top:-80px;left:12px;z-index:2000;background:#fff;color:#123980;padding:10px 16px;font-weight:bold}
.skip-link:focus{top:12px}
.navbar .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}
.brand-header{float:none!important;width:100%;text-align:center}
.navbar-brand.custom-logo{display:block;float:none!important;width:100%;height:auto;margin:0 auto 0!important;padding:0!important}
.navbar-brand.custom-logo img{display:block;width:min(100%,1200px)!important;height:auto!important;margin:0 auto}
.navbar-collapse{width:100%;padding:0!important;max-height:none!important;box-shadow:none!important}
.navbar-nav.navbar-right{float:none!important;display:flex;justify-content:center;flex-wrap:wrap;padding:10px 0;margin:0!important}
.navbar-default .navbar-nav>.active>a{background:#395ca3!important;color:#fff!important}
.navbar-nav>li{position:relative}
.navbar-nav>li.dropdown>.dropdown-menu{top:100%;right:auto;left:0;min-width:235px}
.navbar-nav .dropdown-menu{display:none;position:absolute;z-index:1000;padding:0;margin:0;list-style:none}
.navbar-nav li:hover>.dropdown-menu,.navbar-nav li:focus-within>.dropdown-menu,.navbar-nav li.open>.dropdown-menu{display:block}
.navbar-nav .dropdown-menu>li{position:relative;list-style:none}
.navbar-nav .dropdown-menu>li>a,.navbar-nav .menu-label{display:block;padding:11px 15px;line-height:22px;color:#fff;background:#395ca3;font-size:13px}
.navbar-nav .dropdown-menu>li>a:hover,.navbar-nav .dropdown-menu>li>a:focus{background:#2a4987;color:#fff}
.navbar-nav .dropdown-menu .dropdown-menu{left:100%;top:0}
.submenu-toggle{position:absolute;right:0;top:6px;border:0;background:transparent;color:#395ca3;width:26px;height:30px;cursor:pointer;font-size:16px;display:none}
.navbar-nav .dropdown>a{padding-right:23px!important}
.homepage-mycarousel .carousel-inner>.item{display:none;position:relative}
.homepage-mycarousel .carousel-inner>.item.active{display:block}
.homepage-mycarousel .carousel-inner>.item>img{display:block;width:100%;height:auto;max-height:none;object-fit:cover}
.homepage-mycarousel .carousel.slide{position:relative}
.homepage-mycarousel .carousel-indicators{position:absolute;bottom:4px;left:50%;z-index:8;display:flex;justify-content:center;gap:0;padding:0;list-style:none;transform:translateX(-50%);margin:0}
.homepage-mycarousel .carousel-indicators li{display:block;float:none;margin:0;height:auto;width:auto;border:0;background:transparent}
/* Pallini invariati (12px), area cliccabile ingrandita (28px). */
.homepage-mycarousel .carousel-indicators button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:28px;height:28px;border:0;border-radius:50%;background:transparent;cursor:pointer;padding:0}
.homepage-mycarousel .carousel-indicators button::after{content:"";display:block;flex:0 0 12px;width:12px;height:12px;box-sizing:border-box;border:1px solid #fff;border-radius:50%;background:#333b4eaa}
.homepage-mycarousel .carousel-indicators button[aria-current=true]::after{background:#fff}
.homepage-mycarousel .carou-direction-nav button{position:absolute;top:50%;z-index:10;transform:translateY(-50%);border:0;background:rgba(0,0,0,.35);color:#fff;font-size:39px;line-height:1;width:42px;height:52px;cursor:pointer}
.homepage-mycarousel .carou-prev{left:9px}.homepage-mycarousel .carou-next{right:9px}
.homepage-mycarousel .slide-pause{position:absolute;right:12px;bottom:10px;z-index:11;padding:2px 8px;border-radius:3px;background:rgba(10,10,10,.6);color:#fff;border:1px solid #ccc;font-size:12px}
.homepage-mycarousel .slide-caption{pointer-events:none;max-width:100%;width:65%}
.homepage-mycarousel .slide-text-bg1{width:100%;margin:0}
.homepage-mycarousel .slide-text-bg1 h2{font-size:clamp(15px,2vw,28px);line-height:1.2;margin:0}
.service-section0 .service-icon{font-size:34px;line-height:1;color:#395ca3}
.callout-section{background-position:center;background-size:cover}.callout-section .overlay{background:rgba(0,0,0,.7)}
.footer-social{text-align:right;padding-top:29px}.footer-social a{color:#395ca3}
.blog-sm-box img{width:200px;height:145px;object-fit:contain}
@media(max-width:1099px){.submenu-toggle{display:block}.navbar-nav .dropdown-menu .dropdown-menu{left:auto;position:static}.navbar-nav .dropdown>a{padding-right:40px!important}}
@media(max-width:767px){.homepage-mycarousel .slide-caption{width:80%;padding:5px}.homepage-mycarousel .slide-text-bg1 h2{font-size:12px;padding:3px 5px}.homepage-mycarousel .carou-direction-nav button{width:27px;height:33px;font-size:26px}.homepage-mycarousel .slide-pause{display:none}.service-section0{padding:45px 0 25px}.footer-social{text-align:left;padding:0 0 24px}.blog-sm-box{width:130px!important;float:left}.blog-sm-box img{width:120px;height:95px}.slide-text-bg1 h2{word-break:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Fase 01 / testata: mantenere il logo e il tema originali. */
header{position:relative;z-index:1000}
.navbar.navbar-default.header-preset1{position:relative;z-index:1000;overflow:visible}
.navbar.navbar-default.header-preset1>.container{position:relative;overflow:visible}
.navbar.navbar-default.header-preset1 .navbar-collapse{display:flex!important;align-items:center;justify-content:flex-end;gap:10px;overflow:visible}
.navbar.navbar-default.header-preset1 .navbar-nav.navbar-right{float:none!important;display:flex;justify-content:flex-end;align-items:center;flex-wrap:nowrap;flex:0 1 auto;margin:0!important}
.navbar.navbar-default.header-preset1 .navbar-nav>li.dropdown>a::after{content:"";display:inline-block;width:7px;height:7px;margin-left:9px;margin-bottom:3px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);vertical-align:middle}
.navbar.navbar-default.header-preset1 .navbar-nav>li.dropdown>a{padding-right:15px!important}
.navbar.navbar-default.header-preset1 .navbar-nav>li.dropdown .submenu-toggle{display:none}
.navbar.navbar-default.header-preset1 .dropdown-menu{z-index:1100}
.navbar.navbar-default.header-preset1 .dropdown-menu .menu-label{display:block;width:100%;border:0;border-radius:0;text-align:left;cursor:pointer}
.navbar.navbar-default.header-preset1 .dropdown-menu .menu-label .nested-arrow{float:right;font-size:19px;line-height:21px}
.navbar.navbar-default.header-preset1 .header-actions{position:relative;display:flex;flex:none;align-items:center;gap:3px;margin-left:4px}
.navbar.navbar-default.header-preset1 .header-actions>a,
.navbar.navbar-default.header-preset1 .header-actions>button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:35px;height:40px;padding:6px;border:0;border-radius:2px;background:transparent;color:#273f84;cursor:pointer}
.navbar.navbar-default.header-preset1 .header-actions>a:hover,
.navbar.navbar-default.header-preset1 .header-actions>button:hover{background:#edf1f8;color:#23487d}
.navbar.navbar-default.header-preset1 .header-actions svg{display:block;width:20px;height:20px}
.navbar.navbar-default.header-preset1 .site-search-panel{position:absolute;top:100%;right:0;width:min(360px,90vw);z-index:1500;background:#fff;border:1px solid #ced4e1;border-top:3px solid #395ca3;box-shadow:0 8px 24px rgba(13,29,61,.18);padding:15px}
.navbar.navbar-default.header-preset1 .site-search-panel[hidden]{display:none!important}
.navbar.navbar-default.header-preset1 .site-search-panel label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:#293d68}
.navbar.navbar-default.header-preset1 .site-search-fields{display:flex;gap:7px}
.navbar.navbar-default.header-preset1 .site-search-fields input{min-width:0;flex:1;width:100%;border:1px solid #9daac3;border-radius:3px;background:#fff;color:#1d2c48;padding:8px 10px;font-size:15px}
.navbar.navbar-default.header-preset1 .site-search-fields button{border:0;border-radius:3px;padding:8px 12px;background:#395ca3;color:#fff;cursor:pointer;font-size:14px}
.navbar.navbar-default.header-preset1 .site-search-fields button:hover{background:#294985}
/* Slider: frecce geometriche centrate e didascalie in alto a sinistra. */
.homepage-mycarousel .carou-direction-nav button{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box;width:42px;height:52px;margin:0;padding:0;border-radius:0;background:rgba(0,0,0,.27);text-align:center;line-height:1}
.homepage-mycarousel .carou-direction-nav button svg{display:block;flex:none;width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.homepage-mycarousel .carou-direction-nav button:hover{background:rgba(0,0,0,.55)}
.homepage-mycarousel .slide-caption{top:15px!important;bottom:auto!important;left:14px!important;right:auto!important;transform:none!important;width:auto;max-width:85%;margin:0;padding:0;z-index:5}
.homepage-mycarousel .slide-text-bg1{width:auto;max-width:100%;margin:0}
.homepage-mycarousel .slide-text-bg1 h2{display:inline-block;font-size:clamp(14px,1.7vw,26px);line-height:1.4;padding:4px 12px}
@media(max-width:1099px){
  .navbar.navbar-default.header-preset1>.container{display:block}
  .navbar.navbar-default.header-preset1 .navbar-header.brand-header{position:relative;z-index:1001;display:grid;grid-template-columns:85% 15%;align-items:center;width:100%}
  .navbar.navbar-default.header-preset1 .navbar-header.brand-header::before,.navbar.navbar-default.header-preset1 .navbar-header.brand-header::after{content:none;display:none}
  .navbar.navbar-default.header-preset1 .navbar-brand.custom-logo{grid-column:1;width:100%;min-width:0;margin:0!important}
  .navbar.navbar-default.header-preset1 .navbar-toggle{display:block!important;grid-column:2;justify-self:center;position:relative;z-index:1100;float:none;cursor:pointer;margin:0!important}
  .navbar.navbar-default.header-preset1 .navbar-collapse{display:none!important;position:static!important;width:100%;background:#fff;border:1px solid #e1e5eb;box-shadow:0 14px 30px rgba(17,34,63,.22);padding:8px 12px 14px!important;max-height:calc(100dvh - 100px)!important;overflow-y:auto!important;overflow-x:hidden!important}
  .navbar.navbar-default.header-preset1 .navbar-collapse.open{display:block!important}
  .navbar.navbar-default.header-preset1 .navbar-nav.navbar-right{display:block!important;width:100%;padding:0;margin:0!important}
  .navbar.navbar-default.header-preset1 .navbar-nav>li{position:relative;float:none}
  .navbar.navbar-default.header-preset1 .navbar-nav>li>a{padding:13px 18px!important}
  .navbar.navbar-default.header-preset1 .navbar-nav .dropdown-menu .dropdown-menu{padding-left:16px}
  .navbar.navbar-default.header-preset1 .navbar-nav>li.dropdown>a::after{display:none}
  .navbar.navbar-default.header-preset1 .navbar-nav>li.dropdown>a{padding-right:48px!important}
  .navbar.navbar-default.header-preset1 .navbar-nav>li.dropdown .submenu-toggle{position:absolute;right:6px;top:4px;display:inline-flex!important;align-items:center;justify-content:center;width:40px;height:40px;background:#edf1f8;border:0;color:#274889;cursor:pointer}
  .navbar.navbar-default.header-preset1 .navbar-nav>li.dropdown .submenu-toggle[aria-expanded="true"]{background:#dbe4f4}
  .navbar.navbar-default.header-preset1 .navbar-nav li.dropdown>.dropdown-menu,
  .navbar.navbar-default.header-preset1 .navbar-nav li.dropdown-submenu>.dropdown-menu{display:none!important;position:static!important;box-shadow:none!important;width:100%;min-width:0}
  .navbar.navbar-default.header-preset1 .navbar-nav li.dropdown.open>.dropdown-menu,
  .navbar.navbar-default.header-preset1 .navbar-nav li.dropdown-submenu.open>.dropdown-menu{display:block!important}
  .navbar.navbar-default.header-preset1 .navbar-nav .dropdown-menu .menu-label{padding:12px 15px}
  .navbar.navbar-default.header-preset1 .header-actions{margin:9px 0 0;padding:10px 4px 1px;border-top:1px solid #dae0eb;gap:12px;flex-wrap:wrap}
  .navbar.navbar-default.header-preset1 .header-actions>a,
  .navbar.navbar-default.header-preset1 .header-actions>button{width:42px;height:42px}
  .navbar.navbar-default.header-preset1 .site-search-panel{position:static;width:100%;flex:0 0 100%;margin-top:8px;box-shadow:none}
}
@media(max-width:767px){
  .homepage-mycarousel .carou-direction-nav button{width:32px;height:38px}
  .homepage-mycarousel .carou-direction-nav button svg{width:18px;height:18px}
  .homepage-mycarousel .slide-caption{top:7px!important;left:7px!important;max-width:75%}
  .homepage-mycarousel .slide-text-bg1 h2{font-size:clamp(11px,3vw,17px);padding:2px 7px}
}

/* Correzione Bootstrap 3: .collapse nasconde anche con visibility:hidden. */
.navbar.navbar-default.header-preset1 .navbar-collapse{visibility:visible!important;height:auto!important}
@media(max-width:1099px){
  .navbar.navbar-default.header-preset1 .navbar-collapse{visibility:hidden!important;height:0!important}
  .navbar.navbar-default.header-preset1 .navbar-collapse.open{visibility:visible!important;height:auto!important}
}


/* Fase 03: News in due colonne x due righe come nella homepage WordPress. */
.blog-section .news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
/* Bootstrap 3 adds ::before and ::after to .row; disable them inside the grid. */
.blog-section .news-grid::before,.blog-section .news-grid::after{content:none;display:none}
.blog-section .news-grid>.col-md-6{width:auto;min-width:0;float:none}
.blog-section .news-grid .blog-sm-area{width:100%;padding-bottom:55px;overflow:visible}
.blog-section .news-grid .media{display:flex;align-items:flex-start;min-width:0}
.blog-section .news-grid .blog-sm-box{float:none;flex:0 0 200px;width:200px;margin:0 25px 0 0}
.blog-section .news-grid .blog-sm-box img{display:block;width:200px;height:145px;object-fit:contain;margin:0}
.blog-section .news-grid .media-body{display:block;flex:1 1 auto;width:auto;min-width:0}
.blog-section .news-grid .media-body p{text-align:justify;text-align-last:auto}
.blog-section .news-grid .blog-btn-area-sm{display:block;margin:30px 0 3px}
/* Footer: icone circolari in stile Appointment Pro, link originali. */
.footer-copyright-section .footer-social{display:flex;justify-content:flex-end;align-items:center;gap:7px;padding-top:24px}
.footer-copyright-section .footer-social>a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#929292;color:#fff;text-decoration:none;transition:background-color .15s ease}
.footer-copyright-section .footer-social>a:hover{background:#395ca3;color:#fff}
.footer-copyright-section .footer-social>a:focus-visible{outline:3px solid #173e8b;outline-offset:3px}
.footer-copyright-section .footer-social svg{display:block;width:19px;height:19px}
/* Footer tra 992 e 1199 px: social vicini al copyright e centrati in altezza. */
@media(min-width:992px) and (max-width:1199px){
  .footer-copyright-section .row{display:flex;align-items:center;justify-content:flex-start}
  .footer-copyright-section .row::before,.footer-copyright-section .row::after{display:none;content:none}
  .footer-copyright-section .row>.col-md-9{float:none;flex:0 1 auto;width:auto;min-width:0}
  .footer-copyright-section .row>.col-md-3{float:none;flex:0 0 auto;width:auto}
  .footer-copyright-section .footer-social{justify-content:flex-start;padding:0 0 0 14px}
}
@media(max-width:991px){
  .blog-section .news-grid{grid-template-columns:1fr}
}
@media(max-width:991px){
  .footer-copyright-section .footer-social{justify-content:center;padding:0 0 24px}
}
@media(max-width:480px){
  .blog-section .news-grid .blog-sm-box{flex-basis:120px;width:120px;margin-right:15px}
  .blog-section .news-grid .blog-sm-box img{width:120px;height:95px}
  .blog-section .news-grid .blog-sm-area h3{font-size:18px;line-height:1.3}
  .blog-section .news-grid .blog-btn-area-sm{margin-top:16px}
}
@media(prefers-reduced-motion:reduce){.footer-copyright-section .footer-social>a{transition:none}}

/* Indice Prodotti: il testo Ricambi/Componenti apre la sezione, la freccia espande il menu. */
.navbar.navbar-default.header-preset1 .dropdown-submenu>.menu-label{padding-right:44px}
.navbar.navbar-default.header-preset1 .dropdown-submenu>.nested-toggle{position:absolute;top:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:0;background:#395ca3;color:#fff;cursor:pointer}
.navbar.navbar-default.header-preset1 .dropdown-submenu>.nested-toggle:hover,.navbar.navbar-default.header-preset1 .dropdown-submenu>.nested-toggle:focus{background:#2a4987}
.navbar.navbar-default.header-preset1 .dropdown-submenu>.nested-toggle .nested-arrow{display:block;width:16px;height:16px;fill:currentColor;transition:transform .15s ease}
.navbar.navbar-default.header-preset1 .dropdown-submenu>.nested-toggle[aria-expanded="true"] .nested-arrow{transform:rotate(90deg)}
.navbar.navbar-default.header-preset1 .dropdown-submenu>.nested-toggle:focus-visible{outline:3px solid #fff;outline-offset:-4px;box-shadow:0 0 0 2px #142b4f}
@media(prefers-reduced-motion:reduce){.navbar.navbar-default.header-preset1 .dropdown-submenu>.nested-toggle .nested-arrow{transition:none}}
@media(max-width:1099px){.navbar.navbar-default.header-preset1 .dropdown-submenu>.nested-toggle{top:0;height:46px}}

/* Altezza delle fasce blu: contatti in homepage e titoli con breadcrumb. */
.wrapper-header-preset1 .page-title-section .overlay{padding:35px 0}
/* Fasce titolo/breadcrumb compatte sui dispositivi, senza modificare desktop o home. */
@media(max-width:1099px){
  .wrapper-header-preset1 .page-title-section .overlay{padding:14px 0}
  .wrapper-header-preset1 .page-title-section .page-title h1{font-size:28px;line-height:1.2}
  .wrapper-header-preset1 .page-title-section .page-breadcrumb{padding:3px 0;margin:0;font-size:14px;line-height:1.4}
}
@media(max-width:767px){
  .wrapper-header-preset1 .page-title-section .overlay{padding:10px 0}
  .wrapper-header-preset1 .page-title-section .page-title h1{font-size:25px;line-height:1.2}
  .wrapper-header-preset1 .page-title-section .page-breadcrumb{padding:2px 0;font-size:13px;line-height:1.4}
}
.top-contact-detail-section{padding:12px 0}

/* Homepage: tre colonne da un terzo, due righe comuni come nel riferimento WordPress. */
.top-contact-detail-section .home-contact-table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
}
.top-contact-detail-section .home-contact-table th,
.top-contact-detail-section .home-contact-table td{
  width:33.333%;
  padding:0 1%;
  border:0;
  background:transparent;
  color:#fff;
  text-align:center;
  vertical-align:top;
}
.top-contact-detail-section .home-contact-table thead th{padding-bottom:7px}
.top-contact-detail-section .home-contact-table .contact-heading{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  min-width:0;
}
.top-contact-detail-section .home-contact-table .contact-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none;
  float:none;
  margin:0;
  width:clamp(28px,2.4vw,39px);
  height:clamp(28px,2.4vw,39px);
  line-height:1;
  color:#fff;
}
.top-contact-detail-section .home-contact-table .contact-icon svg{
  display:block;
  width:100%;
  height:100%;
}
.top-contact-detail-section .home-contact-table .contact-label{
  font-family:"Open Sans",Arial,sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:1px;
  line-height:1.4;
}
.top-contact-detail-section .home-contact-table tbody td{
  font-family:"Open Sans",Arial,sans-serif;
  font-size:clamp(13px,1.4vw,20px);
  font-weight:600;
  letter-spacing:.5px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.top-contact-detail-section .home-contact-table tbody td a{color:#fff}

/* Compatibilità con l'HTML precedente eventualmente ancora in cache su Safari:
   anche le tre .col-md-4 devono occupare sempre un terzo della larghezza. */
@media(max-width:1099px){
  .top-contact-detail-section .home-contact-table .contact-heading{gap:5px}
  .top-contact-detail-section .home-contact-table .contact-label{
    font-size:clamp(11px,1.3vw,14px);
    letter-spacing:0;
  }
  .top-contact-detail-section .home-contact-table tbody td{
    font-size:clamp(11px,1.55vw,16px);
    letter-spacing:0;
  }
  .top-contact-detail-section>.container>.row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:0;
  }
  .top-contact-detail-section>.container>.row::before,
  .top-contact-detail-section>.container>.row::after{display:none!important;content:none!important}
  .top-contact-detail-section>.container>.row>.col-md-4{
    float:none!important;
    width:100%!important;
    min-width:0;
    padding:0 1%;
  }
  .top-contact-detail-section>.container>.row .contact-area{
    display:grid!important;
    grid-template-columns:clamp(28px,3vw,36px) minmax(0,max-content);
    grid-template-rows:40px auto;
    justify-content:center;
    align-items:center;
    column-gap:6px;
    padding:0;
    margin:0;
  }
  .top-contact-detail-section>.container>.row .contact-icon{
    grid-column:1;
    grid-row:1;
    float:none;
    margin:0;
    font-size:clamp(28px,3vw,36px);
    line-height:1;
    filter:grayscale(1) brightness(0) invert(1);
  }
  .top-contact-detail-section>.container>.row .contact-icon span{
    display:block;
    font-size:inherit;
    line-height:1;
    color:#fff;
  }
  .top-contact-detail-section>.container>.row .contact-area h6{
    grid-column:2;
    grid-row:1;
    min-width:0;
    font-size:clamp(11px,1.3vw,14px);
    letter-spacing:0;
    line-height:1.25;
    margin:0;
  }
  .top-contact-detail-section>.container>.row .contact-area h4{
    grid-column:1/-1;
    grid-row:2;
    align-self:start;
    text-align:center;
    font-size:clamp(11px,1.55vw,16px);
    letter-spacing:0;
    line-height:1.4;
    overflow-wrap:anywhere;
    margin:0;
  }
}
@media(max-width:599px){
  .top-contact-detail-section{padding:6px 0}
  .top-contact-detail-section .home-contact-table th,
  .top-contact-detail-section .home-contact-table td{padding:0 .35%}
  .top-contact-detail-section .home-contact-table .contact-heading{gap:3px}
  .top-contact-detail-section .home-contact-table .contact-icon{width:22px;height:22px}
  .top-contact-detail-section .home-contact-table .contact-label{font-size:clamp(11px,3vw,12px);line-height:1.3}
  .top-contact-detail-section .home-contact-table tbody td{
    font-size:clamp(11px,3.05vw,13px);
    line-height:1.4;
  }
  .top-contact-detail-section>.container>.row>.col-md-4{padding:0 .35%}
  .top-contact-detail-section>.container>.row .contact-area{
    grid-template-columns:22px minmax(0,max-content);
    grid-template-rows:36px auto;
    column-gap:3px;
  }
  .top-contact-detail-section>.container>.row .contact-icon{font-size:22px}
  .top-contact-detail-section>.container>.row .contact-area h6{font-size:11px}
  .top-contact-detail-section>.container>.row .contact-area h4{
    font-size:clamp(10px,2.7vw,12px);
  }
}

/* Barra laterale: il tema Appointment Pro usa il layout contenuto 8/12 + sidebar 4/12. */
.prodotti-sidebar{background:#fbfbfb;border:1px solid #e9e9e9;padding:30px 20px;margin-bottom:80px}
.prodotti-sidebar .sidebar-widget{margin-bottom:60px}
.prodotti-sidebar .sidebar-widget:last-child{margin-bottom:0}
.prodotti-sidebar-search{display:flex;width:100%;align-items:stretch}
.prodotti-sidebar-search .form-control{min-width:0;flex:1;height:45px}
.prodotti-sidebar-search .input-group-addon{height:45px;border:1px solid #395ca3;background:#395ca3;color:#fff;cursor:pointer}
.prodotti-sidebar-search .input-group-addon:hover,.prodotti-sidebar-search .input-group-addon:focus{background:#2a4987}
.prodotti-sidebar .tagcloud{margin-bottom:0}
@media(max-width:991px){.prodotti-sidebar-col{clear:both}.prodotti-sidebar{margin-top:10px;margin-bottom:40px}.prodotti-sidebar .sidebar-widget{margin-bottom:35px}}

/* Modulo originale E-Commerce (318px): scala in modo proporzionale, senza scrollbar. */
.prodotti-sidebar .site-sidebar-ecommerce-shell{position:relative;width:100%;max-width:100%;overflow:hidden!important}
.prodotti-sidebar .site-sidebar-ecommerce-form{display:block;width:318px;max-width:none;margin:0!important;transform-origin:top left}

/* Sigillo SiteLock: nel flusso della pagina su tablet e telefono, senza sovrapposizioni. */
@media(max-width:1099px){
  .sitelock-seal{
    position:static!important;
    left:auto!important;
    bottom:auto!important;
    z-index:auto!important;
    max-width:164px!important;
    margin:12px 15px 18px!important;
    text-align:left!important;
  }
  .sitelock-seal img{margin:0}
}

/* Punte bianche per il bottone News in homepage: stesso SVG dei Prodotti. */
.blog-section .news-grid .blog-btn-sm{display:inline-flex;align-items:center;gap:9px;min-height:44px}
.blog-section .news-grid .blog-btn-sm .news-freccia{display:block;flex:none;width:15px;height:15px;fill:#fff}
.blog-section .news-grid .blog-btn-sm:focus-visible{outline:3px solid #142b4f;outline-offset:3px}
