/*
    Theme Name:   Hospa Child
    Description:  Hospa Child Theme
    Author:       HiBootstrap
    Author URI:   https://hibootstrap.com
    Template:     hospa
    Version:      2.1
    Text Domain:  hospa-child
*/
/* === Diagnosticare custom overrides === */

/* Ricerca disattivata sul front-end (richiesta cliente).
   2026-05-18: nascosta solo la search-bar dell'header.
   2026-08-31: estesa a TUTTI i punti d'ingresso rimasti (popup, widget
   sidebar, form del template ricerca). Per riattivarla: rimuovere questo blocco. */
.search-bar.main-menu__search,
.search-toggler,
.option-item:has(.search-toggler),
.search-popup,
.search-popup-overlay,
.search-popup-content,
.search-popup-form,
.widget_search,
.widget.widget_search,
.search-form,
.search-field,
.search-submit,
form[role="search"] {
    display: none !important;
}

/* Footer: limita dimensione logo (il widget non ha un'impostazione nativa) */
.widget-logo img {
    width: 200px !important;
    height: auto !important;
}

/* Hero banner home: testo descrizione bianco (sopra background scuro) */
.medical-center-banner-content > p:not(:empty) {
    color: #ffffff !important;
}

/* Hero banner home: solo titolo H1 principale (non il .title dentro .banner-bottom) */
.medical-center-banner-content > .title,
.medical-center-banner-content > .title * {
    color: #ffffff !important;
}

/* Hero banner home: riquadro scuro arrotondato dietro al paragrafo descrizione */
.medical-center-banner-content > p:not(:empty) {
    background: rgba(0, 0, 0, 0.55);
    padding: 18px 24px;
    border-radius: 14px;
    margin-top: 10px;
    display: inline-block;
}

/* Card lab-test (carousel home): altezza minima uniforme, espandibile se contenuto più lungo */
.lab-test-card {
    min-height: 420px;
    display: flex;
    flex-direction: column;
}
.lab-test-card .default-btn {
    margin-top: auto;
    align-self: flex-start;
}
@media (max-width: 767px) {
    .lab-test-card {
        min-height: auto;
    }
}

/* === FIX widget HospaDoctorConInfo: rimuove trailing comma + spazio inutile dopo specializzazione === */
/* Bug template hospa-toolkit/widgets/parts/doctor-contact-info.php riga 447: stampa <span class="comma">,</span> dopo OGNI termine doctors_cat (incluso l'ultimo) */
.doctor-details-top-content .title span.comma:last-of-type {
    display: none !important;
}
.doctor-details-top-content .title span.comma {
    margin-left: -0.4em;
}

/* === FIX tema Hospa: rimuove spazio bianco 320px su pagine Elementor === */
/* page.php inietta <div class="hospa-single-blank-page"> quando post_content e vuoto */
/* (comune con Elementor che renderizza da _elementor_data, non da post_content) */
body.elementor-page .hospa-single-blank-page {
    display: none !important;
}

/* === CTA telefono flottante mobile-only (ticket cliente 2026-07-22) === */
/* Fisso in basso a destra, visibile solo mobile <=768px, sopra tutto */
.ssw-mobile-call-fab {
    display: none;
}
@media (max-width: 768px) {
    .ssw-mobile-call-fab {
        display: flex !important;
        position: fixed;
        bottom: 22px;
        right: 22px;
        z-index: 99998;                  /* sopra tutto, sotto banner cookie 99999 */
        align-items: center;
        gap: 8px;
        padding: 12px 20px 12px 16px;
        background: #0d9488;             /* teal medical, coerente brand */
        color: #ffffff !important;
        border-radius: 40px;
        box-shadow: 0 6px 24px rgba(13, 148, 136, .45), 0 2px 6px rgba(0,0,0,.15);
        text-decoration: none !important;
        font-size: 15px;
        font-weight: 600;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        line-height: 1;
        letter-spacing: .2px;
        transition: transform .15s ease, box-shadow .15s ease;
        animation: sswPulse 2.5s ease-in-out 1s 2;
    }
    .ssw-mobile-call-fab:hover,
    .ssw-mobile-call-fab:active {
        transform: scale(0.97);
        color: #ffffff !important;
        text-decoration: none !important;
    }
    .ssw-mobile-call-fab__icon {
        width: 22px;
        height: 22px;
        flex-shrink: 0;
    }
    /* Pulse gentile 2 volte al primo caricamento per attirare attenzione */
    @keyframes sswPulse {
        0%, 100% { box-shadow: 0 6px 24px rgba(13, 148, 136, .45), 0 2px 6px rgba(0,0,0,.15); }
        50%      { box-shadow: 0 6px 24px rgba(13, 148, 136, .75), 0 0 0 12px rgba(13, 148, 136, .12); }
    }
}

/* === FIX sidebar vuota profilo dottore (ticket cliente 2026-07-22) === */
/* Template Hospa clonato inserisce .doctor-details-sidebar.ml con struttura Elementor MA */
/* senza widget dentro (elementor-widget-wrap interno vuoto). Nasconde spazio bianco a lato bio */
/* :has() supportato Chrome 105+/Firefox 121+/Safari 15.4+ — se popolata in futuro torna visibile */
.doctor-details-sidebar:not(:has(.elementor-widget)) {
    display: none !important;
}
/* NOTE: NON espandere col adiacente a 100% - Elementor mantiene col fisso, il gap risultante e piu sicuro dell alternativa che rompe layout altrove */

/* ============================================================
   MENU MOBILE (drawer offcanvas) — restyle 2026-08-31
   Il tema Hospa rende il drawer con: pillola viola "Top Pages",
   lastra bianca ombreggiata sotto le tendine, voce attiva verde oliva.
   Tre colori estranei al logo e cinque margini sinistri diversi.

   Qui: due soli assi verticali — 20px (bordo primario) e 48px
   (rientro delle figlie) — e i colori del logo:
     #114981 blu   (54% del logo, 9,29:1 su bianco)
     #60A9BB turchese (solo filetti e icone: 2,7:1, non adatto al testo)

   Per tornare al default del tema: rimuovere l'intero blocco.
   Backup: backups/diagnosticaremilano.it/style.css_pre_drawer_20260831_103528
   ============================================================ */

/* -- intestazione del drawer sullo stesso margine del contenuto -- */
#navbarOffcanvas .offcanvas-header { padding-left: 20px !important; padding-right: 20px !important; }
#navbarOffcanvas .offcanvas-header .navbar-brand,
#navbarOffcanvas .offcanvas-header .close-btn { margin: 0 !important; padding: 0 !important; }
#navbarOffcanvas .close-btn i { color: #114981 !important; }
.burger-menu .top-bar,
.burger-menu .middle-bar,
.burger-menu .bottom-bar { background: #114981 !important; }

#navbarOffcanvas .offcanvas-body { padding-left: 20px !important; padding-right: 20px !important; }

/* -- contatti rapidi: era il pulsante a comparsa "Top Pages" -- */
#navbarOffcanvas .additional-pages,
#navbarOffcanvas .additional-pages * {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}
#navbarOffcanvas .additional-pages {
    margin: 0 0 6px !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid #E7EDF2 !important;
}
#navbarOffcanvas .top-navbar-btn { display: none !important; }
#navbarOffcanvas #topNavbar { display: block !important; height: auto !important; visibility: visible !important; }
#navbarOffcanvas #topNavbar .card,
#navbarOffcanvas #topNavbar .card-body { padding: 0 !important; margin: 0 !important; }
#navbarOffcanvas #topNavbar .top-navbar-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
#navbarOffcanvas #topNavbar .top-navbar-list li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
#navbarOffcanvas #topNavbar .top-navbar-list a {
    display: grid !important;
    grid-template-columns: 28px 1fr !important;   /* icona a 20px, testo a 48px */
    align-items: center !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    color: #114981 !important;
    text-decoration: none !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
#navbarOffcanvas #topNavbar .top-navbar-list a i {
    font-size: 16px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #60A9BB !important;
    justify-self: start !important;
}

/* -- voci di primo livello -- */
#navbarOffcanvas #menu-mobile-menu { margin: 0 !important; padding: 0 !important; list-style: none !important; }
#navbarOffcanvas #menu-mobile-menu > li {
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #EDF1F5 !important;
}
#navbarOffcanvas #menu-mobile-menu > li:last-child { border-bottom: 0 !important; }
#navbarOffcanvas #menu-mobile-menu > li > a {
    display: flex !important;
    align-items: center !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #12202F !important;
}
#navbarOffcanvas #menu-mobile-menu > li.active > a,
#navbarOffcanvas #menu-mobile-menu > li > a:hover { color: #114981 !important; }

/* -- voci di secondo livello: filetto solo sul sottomenu aperto -- */
#navbarOffcanvas ul.sub-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
#navbarOffcanvas #menu-mobile-menu > li.active > ul.sub-menu {
    margin: 2px 0 12px !important;
    border-left: 2px solid #60A9BB !important;
}
#navbarOffcanvas ul.sub-menu li { margin: 0 !important; padding: 0 !important; height: auto !important; min-height: 0 !important; border: 0 !important; }
#navbarOffcanvas ul.sub-menu li a {
    display: flex !important;
    align-items: center !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 0 0 26px !important;   /* 20 + filetto 2 + 26 = testo a 48px */
    font-size: 14.5px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    color: #3F5468 !important;
}
#navbarOffcanvas ul.sub-menu li a:hover { color: #114981 !important; }

/* -- CTA in coda al drawer -- */
#navbarOffcanvas .others-option { margin: 16px 0 0 !important; padding: 0 !important; }

/* ------------------------------------------------------------
   Logo header su telefono — 2026-08-31
   Il controllo Elementor `logomax_width` (.navbar .navbar-brand)
   NON e' responsive: un solo valore per tutti i viewport (150px).
   Su 390px il logo quadrato 1188x1188 rendeva 120x120 e la barra
   header occupava 140px, il 17% dello schermo. Qui lo riduco solo
   sotto i 768px; desktop e tablet restano come li ha impostati il tema.
   ------------------------------------------------------------ */
@media (max-width: 767px) {
    /* il max-width del contenitore vincerebbe sulla width dell'immagine:
       lo libero e vincolo direttamente l'img, cosi' la misura e' esatta */
    .navbar .navbar-brand { max-width: none !important; }
    .navbar .navbar-brand img {
        width: 72px !important;
        max-width: 72px !important;
        height: auto !important;
    }
}

/* SOLO AMBIENTE DEV — il FAB "Chiama" di luglio si sovrappone alla barra di
   Aida Prenota, che ha gia' un pulsante telefono. Qui lo togliamo per poter
   valutare la barra. In produzione va deciso quale dei due tenere. */
body.has-aida-prenota-barra .ssw-mobile-call-fab { display: none !important; }
