/* Responsive refinements shared with the cPanel package. */
.hero-grid>*,.split>*,.care-layout>*,.video-layout>*,.contact-grid>*{min-width:0}
img,video{max-width:100%}
.mobile-contact{display:none}
.whatsapp-contact{margin-bottom:18px}
.cookie-notice{max-height:calc(100dvh - 36px);overflow:auto}
.languages button{min-width:44px;min-height:44px}
@media(max-width:640px){
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .wrap{width:calc(100% - 36px)}
 .nav{flex-wrap:nowrap;gap:5px;min-height:78px}
 .brand{gap:7px;font-size:17px;white-space:normal;line-height:1.15}
 .brand img{width:38px;height:38px;flex-shrink:0}
 .languages{gap:0;flex-shrink:0}
 .languages button{padding:6px;min-width:40px}
 h1{font-size:clamp(35px,9.8vw,48px)}
 .hero-copy>p{font-size:18px}
 .hero-photo{height:clamp(250px,80vw,340px)}
 .actions{gap:10px}
 .actions .button{flex:1 1 155px;padding:12px 14px}
 .phone{font-size:28px;overflow-wrap:anywhere}
 .form{padding:20px}
 input,select{font-size:16px}
 .mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;gap:10px;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:white;border-top:1px solid #aec3cf}
 .mobile-contact a{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:46px;padding:8px;border-radius:6px;border:1px solid var(--blue);color:var(--blue);font-size:14px;font-weight:600;line-height:1.2;text-align:center}
 .mobile-contact a:last-child{background:var(--blue);color:white}
 .cookie-notice{left:12px;bottom:calc(88px + env(safe-area-inset-bottom));width:calc(100% - 24px);max-height:calc(100dvh - 190px);padding:18px}
 .cookie-notice .privacy-links{gap:12px;align-items:center}
 .cookie-notice a,.cookie-notice button{min-height:44px;display:inline-flex;align-items:center}
 .privacy-links{gap:18px}
 .privacy-links a,.privacy-links button{min-height:44px;display:inline-flex;align-items:center}
 .legal main{padding-left:18px;padding-right:18px;overflow-wrap:anywhere}
 .legal h1{font-size:32px}
}
@media(max-width:350px){.brand span{max-width:90px}.languages button{min-width:36px}.brand{font-size:15px}}
/* The professional profile stays cardless and readable in all three languages. */
#chi-siamo{background:#f5f9fb;padding-block:60px}
#chi-siamo .wrap{max-width:900px}
#chi-siamo li{margin-bottom:12px;max-width:68ch;color:var(--slate)}
#chi-siamo summary{cursor:pointer;font-weight:600;padding:16px 0}
#chi-siamo details{border-top:1px solid #cfdee7;margin-top:28px}
footer a{text-decoration:underline;text-underline-offset:4px}
footer p{overflow-wrap:anywhere}
