
/* MOBILE V4 HARD OVERRIDE - loaded after style.css */
@media (max-width: 680px){
  html, body { width:100% !important; max-width:100% !important; overflow-x:hidden !important; }
  body { font-family:"Quicksand","Century Gothic","Avenir Next","Segoe UI",Arial,sans-serif !important; font-size:14px !important; line-height:1.55 !important; padding-bottom:82px !important; }
  .page-wrap { overflow:hidden !important; }
  .container { width:auto !important; max-width:calc(100% - 24px) !important; margin-left:auto !important; margin-right:auto !important; }

  /* Header: no overlap */
  .header,
  .home .header,
  .header.is-fixed,
  .home .header.is-fixed{
    position:sticky !important;
    top:0 !important; left:auto !important; right:auto !important;
    width:100% !important;
    height:72px !important; min-height:72px !important;
    background:#f1edda !important;
    border-bottom:1px solid rgba(0,0,0,.10) !important;
    z-index:9999 !important;
    box-shadow:none !important;
  }
  .header .inner{height:72px !important; min-height:72px !important; display:flex !important; align-items:center !important; justify-content:space-between !important; padding:0 !important;}
  .brand{display:block !important; width:220px !important; flex:0 0 220px !important; max-width:calc(100vw - 100px) !important;}
  .brand img{width:220px !important; max-width:100% !important; height:auto !important; display:block !important;}
  .menu-toggle{display:block !important; border:0 !important; background:transparent !important; color:#0d4a68 !important; font-size:38px !important; line-height:1 !important; padding:0 4px !important; margin:0 !important;}
  .nav{position:absolute !important; top:72px !important; left:0 !important; right:0 !important; display:none !important; background:#f1edda !important; border-top:1px solid #ded7c4 !important; max-height:calc(100vh - 72px) !important; overflow-y:auto !important; box-shadow:0 8px 18px rgba(0,0,0,.14) !important; z-index:9998 !important;}
  .nav.open{display:block !important;}
  .nav>ul{display:block !important; height:auto !important; margin:0 !important; padding:0 !important;}
  .nav a{display:block !important; height:auto !important; line-height:1.25 !important; padding:13px 22px !important; font-size:13px !important; color:#202a35 !important;}
  .dropdown{position:static !important; display:none !important; opacity:1 !important; visibility:visible !important; transform:none !important; border:0 !important; box-shadow:none !important; background:#fff !important; min-width:0 !important;}
  .dropdown:before{display:none !important;}
  .nav li.open>.dropdown{display:block !important;}
  .dropdown a{padding:11px 34px !important; font-size:13px !important;}

  /* Home hero: keep text and image inside viewport, below header */
  .home .hero{height:auto !important; min-height:0 !important; padding:18px 0 28px !important; background-position:center top !important; background-size:cover !important; overflow:hidden !important;}
  .home .hero .container{height:auto !important; min-height:0 !important; display:block !important; position:relative !important;}
  .home .hero-copy{position:relative !important; z-index:2 !important; width:100% !important; padding:0 !important; margin:0 !important;}
  .home .hero h1{font-size:20px !important; line-height:1.24 !important; letter-spacing:-.2px !important; margin:0 0 14px !important; max-width:94% !important;}
  .home .hero p{font-size:13px !important; line-height:1.45 !important; margin:0 0 10px !important; max-width:92% !important;}
  .home .hero strong{display:block !important; font-size:12px !important; line-height:1.25 !important; width:auto !important; max-width:200px !important; margin:0 !important; text-align:left !important;}
  .home .hero-body{position:relative !important; z-index:1 !important; display:block !important; width:72% !important; max-width:260px !important; height:auto !important; top:auto !important; right:auto !important; margin:8px 0 0 auto !important;}

  /* Doctor profile page: remove problematic huge background and avoid overlaps */
  body.doctor-page .doctor-profile{
    background:#fff !important;
    background-image:none !important;
    padding:18px 0 18px !important;
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
  }
  body.doctor-page .doctor-top{
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    gap:0 !important;
  }
  body.doctor-page .doctor-card{
    display:grid !important;
    grid-template-columns:78px minmax(0,1fr) !important;
    column-gap:14px !important;
    align-items:center !important;
    text-align:left !important;
    padding:0 0 16px !important;
    margin:0 !important;
    border-bottom:1px solid #eee7d6 !important;
  }
  body.doctor-page .doctor-card img{
    grid-row:1 / span 3 !important;
    width:78px !important;
    max-width:78px !important;
    height:auto !important;
    margin:0 !important;
    display:block !important;
  }
  body.doctor-page .doctor-card h3{font-size:15px !important; line-height:1.25 !important; margin:0 0 3px !important; color:#283748 !important;}
  body.doctor-page .doctor-card p{font-size:13px !important; line-height:1.35 !important; margin:0 0 5px !important; color:#555a68 !important;}
  body.doctor-page .socials{display:flex !important; gap:10px !important; font-size:13px !important; line-height:1 !important; margin:0 !important; color:#999 !important;}
  body.doctor-page .qual{
    display:block !important;
    background:#fff !important;
    padding:16px 0 2px !important;
    margin:0 !important;
  }
  body.doctor-page .qual h2{
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:300 !important;
    margin:18px 0 8px !important;
    color:#35445a !important;
  }
  body.doctor-page .qual h2:first-child{margin-top:0 !important;}
  body.doctor-page .qual h2:after{width:44px !important; height:3px !important; margin:8px 0 15px !important; background:#82d2e7 !important;}
  body.doctor-page .qual p,
  body.doctor-page .qual li{
    font-size:13px !important;
    line-height:1.55 !important;
    color:#575d6f !important;
    margin-bottom:10px !important;
  }
  body.doctor-page .qual ul{list-style:none !important; margin:0 0 16px !important; padding:0 !important;}
  body.doctor-page .qual li{position:relative !important; padding-left:20px !important;}
  body.doctor-page .qual li:before{width:7px !important; height:7px !important; left:0 !important; top:.68em !important;}

  body.doctor-page .tabs{
    position:relative !important;
    z-index:1 !important;
    display:flex !important;
    max-width:calc(100% - 24px) !important;
    margin:0 auto !important;
    background:#f1edda !important;
    overflow:hidden !important;
  }
  body.doctor-page .tab{
    flex:1 1 50% !important;
    min-width:0 !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    padding:9px 6px !important;
    font-size:12px !important;
    line-height:1.15 !important;
    white-space:normal !important;
    border:1px solid #d8d1be !important;
  }
  body.doctor-page .doctor-bio{padding:18px 0 28px !important; background:#f1edda !important;}
  body.doctor-page .bio-grid{display:block !important;}
  body.doctor-page .bio-grid>div,
  body.doctor-page .bio-grid>aside{display:block !important; width:100% !important;}
  body.doctor-page .bio-grid p,
  body.doctor-page .bullet-list li{font-size:13px !important; line-height:1.6 !important; margin:0 0 12px !important;}
  body.doctor-page .bio-grid aside{margin-top:18px !important;}
  body.doctor-page .bullet-list{margin:0 !important; padding:0 !important;}
  body.doctor-page .bullet-list li{position:relative !important; padding-left:20px !important;}
  body.doctor-page .bullet-list li:before{width:7px !important; height:7px !important; left:0 !important; top:.68em !important;}

  /* Home doctor/trattamenti band */
  .doctor-band{min-height:0 !important; height:auto !important; background-color:#111 !important; background-position:center top !important; background-size:cover !important; overflow:hidden !important;}
  .doctor-band:after{display:none !important;}
  .doctor-band .container{display:block !important; max-width:100% !important; width:100% !important;}
  .quote-card,.quote-card.heading-line,.home .quote-card,.home .quote-card.heading-line{width:auto !important; min-height:0 !important; margin:0 !important; padding:24px 22px 20px !important;}
  .quote-card h2,.home .quote-card h2{font-size:18px !important; line-height:1.25 !important; margin:10px 0 14px !important;}
  .quote,.home .quote{width:auto !important; max-width:none !important; margin:0 !important; font-size:13px !important; line-height:1.6 !important;}
  .quote:before{display:none !important;}
  .quote-logo,.home .quote-logo{position:static !important; width:72px !important; height:auto !important; margin:18px 0 0 auto !important; transform:none !important;}
  .treatments,.home .treatments{padding:22px 22px 20px !important; max-width:none !important; background:rgba(0,0,0,.78) !important;}
  .treatments h2,.home .treatments h2{font-size:20px !important; line-height:1.2 !important; margin:0 0 14px !important;}
  .treatments ul,.home .treatments ul{columns:1 !important; column-gap:0 !important;}
  .treatments li,.home .treatments li{font-size:13px !important; line-height:1.55 !important; margin:0 0 8px !important; padding-left:20px !important;}
  .treatments li:before,.home .treatments li:before{width:7px !important; height:7px !important; top:.65em !important;}

  .info-bar .container{height:auto !important; display:flex !important; flex-direction:column !important; gap:8px !important; padding:12px 6px !important; font-size:13px !important; line-height:1.35 !important;}
  .info-bar .info-item{white-space:normal !important; justify-content:center !important; text-align:center !important; word-break:break-word !important; margin:0 !important;}
  .info-bar .sep{display:none !important;}
  .map-wide iframe,.map-wide .fake-map,.contact-grid iframe{height:260px !important;}

  .appointment-bar{height:74px !important; min-height:74px !important; position:fixed !important; z-index:10000 !important;}
  .appointment-bar .container{height:74px !important; display:grid !important; grid-template-columns:1fr !important; gap:0 !important;}
  .appointment-bar h3,.appointment-bar .whats{display:none !important;}
  .appointment-bar .btn{height:42px !important; margin:0 2px !important; font-size:12px !important;}

  .section{padding:38px 0 !important;}
  .interventi-grid{grid-template-columns:1fr !important;}
  .intervento-card{min-height:230px !important; padding:26px 20px !important;}
  .intervento-card figure{width:130px !important; height:130px !important; margin-bottom:16px !important;}
  .intervento-card h3{font-size:18px !important;}
}
