/* BioCare 5.1: bounded mobile layouts and accessible booking states. */
html{scroll-padding-top:100px}
main,.container,.contact-grid>*,.lead-form>*,.nav-wrap>*{min-width:0}
.lead-form [hidden],.service-selection-note[hidden]{display:none!important}
.lead-form input,.lead-form select,.lead-form textarea{max-width:100%;min-width:0;box-sizing:border-box}
.lead-form input[type=tel]{text-align:left;direction:ltr}
.lead-form .field-error{color:#b42337;font-size:12px;line-height:1.6;font-weight:600}
.lead-form .consent-field{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;grid-column:1/-1}
.lead-form .consent-field input{flex:0 0 20px;width:20px;height:20px;min-height:20px;padding:0;margin:3px 0 0;accent-color:var(--blue)}
.lead-form .consent-field>span{flex:1;min-width:0}.lead-form .consent-field .field-error{flex:0 0 100%}
.home-area-field{padding:15px;background:#f1f8ff;border:1px solid #cfe5f5;border-radius:14px}
.service-selection-note{margin:0;padding:12px;color:#77520c;background:#fff8e8;border-radius:12px;font-size:13px}
.form-message{color:#a5273d;overflow-wrap:anywhere;scroll-margin-block:100px}
.form-message.is-success{color:#136b40}.form-message:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.chatbot{visibility:hidden;display:flex;flex-direction:column;max-height:calc(100dvh - 115px);width:min(390px,calc(100vw - 32px))}
.chatbot.open{visibility:visible}.chatbot header,.chat-form,.chat-direct-actions,.chat-disclaimer{flex-shrink:0}
.chat-body{flex:1 1 auto;min-height:0;overscroll-behavior:contain}.chatbot .chat-form input{font-size:16px}
.chatbot .bot-msg,.chatbot .user-msg,.chat-package{overflow-wrap:anywhere}
.chat-header-actions button,.nav-toggle{min-width:44px;min-height:44px}
body.nav-open .sticky-actions,body.nav-open .chat-launch{visibility:hidden;pointer-events:none}
@media(max-width:950px){
 .main-nav{max-height:calc(100dvh - 105px);overscroll-behavior:contain}
 .main-nav:not(.open){visibility:hidden}.main-nav.open{visibility:visible}
 .main-nav a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:600px){
 html{scroll-padding-top:85px}.page-hero{padding:38px 0}.page-hero h1{font-size:30px;line-height:1.45}.page-hero p{font-size:15px}
 .contact-grid{gap:22px}.booking-card{margin-inline:0}.booking-card-head{padding:24px 18px 18px}.lead-form{padding:20px 16px 24px}
 .lead-form input,.lead-form select,.lead-form textarea{font-size:16px;min-height:48px}
 .lead-form label{font-size:14px}.lead-form .field-wide{grid-column:1/-1}.lead-form label>small,.submit-note{font-size:12px}
 .lead-form .consent-field input{min-height:20px}.lead-form .consent-field>span{font-size:12px;line-height:1.8}
 .sticky-actions{bottom:calc(8px + env(safe-area-inset-bottom,0px));height:58px}.sticky-actions a{min-height:48px}
 .chat-launch{bottom:calc(82px + env(safe-area-inset-bottom,0px));width:52px;height:52px}
 body{padding-bottom:env(safe-area-inset-bottom,0px)}
 body.booking-editing .sticky-actions,body.booking-editing .chat-launch,body.chat-open .sticky-actions,body.chat-open .chat-launch{visibility:hidden;pointer-events:none}
 .chatbot{top:var(--biocare-view-top,0px)!important;bottom:auto!important;height:var(--biocare-view-height,100dvh)!important;max-height:var(--biocare-view-height,100dvh)!important;width:100%!important;border-radius:0}
 .chatbot header{padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top,0px))}.chat-body{padding:12px}
 .chat-form{padding:9px 12px}.chat-disclaimer{padding-bottom:max(9px,env(safe-area-inset-bottom,0px))}
 .chat-direct-actions a{font-size:12px;min-height:42px;display:flex;align-items:center;justify-content:center}
 .branch-actions{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important}
 .site-header .brand{min-width:76px;max-width:96px}.site-header .nav-wrap{gap:8px}.nav-actions{gap:6px}
 .header-contact-actions{gap:4px}.header-contact-icon,.lang-switch{min-width:36px}
}
@media(max-width:360px){.header-contact-actions .header-phone{display:none}.site-header .brand{max-width:86px}.hero h1{font-size:31px}.quick-replies{gap:6px}}
@media(prefers-reduced-motion:reduce){.chatbot{transition:none}.booking-submit.is-loading:after{animation:none}}

/* BioCare Lab 5.2: catalog accessibility */
.test-card[hidden],.test-empty[hidden]{display:none!important}
.test-filters .chip{min-height:44px}
.test-filters .chip:focus-visible{outline:3px solid #126e67;outline-offset:3px}
.test-result-status{min-height:1.5em}

/* 5.5: viewport space, focus visibility and long bilingual content. */
.lead-form input,.lead-form select,.lead-form textarea,.lead-form button{scroll-margin-top:calc(var(--biocare-header-height,80px) + 18px);scroll-margin-bottom:100px}
.package-card,.test-card,.booking-card,.branch-card{min-width:0;overflow-wrap:anywhere}
.package-actions{flex-wrap:wrap}.package-actions>a{min-height:44px}
.chatbot .chat-form input{min-width:0;flex:1 1 0}.chatbot .chat-form button{flex-shrink:0;min-width:44px;min-height:44px}
@media(max-width:950px){
 .main-nav{max-height:calc(100dvh - var(--biocare-header-height,80px) - 20px);overflow-y:auto}
 body.nav-open .back-to-top{visibility:hidden;pointer-events:none}
}
@media(max-width:600px){
 html{scroll-padding-bottom:100px}
 body.booking-editing .back-to-top{visibility:hidden;pointer-events:none}
 .lead-form select{width:100%;text-overflow:ellipsis}
 .chatbot{inset-inline:0!important}
 .chat-direct-actions{flex-wrap:wrap}.chat-direct-actions a{min-width:0;overflow-wrap:anywhere}
 .quick-replies button{min-height:44px}.chatbot header>div{min-width:0}
 .booking-card-head h2{font-size:clamp(23px,6vw,30px);line-height:1.5}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep the English header booking label on one line. */
.site-header .nav-actions{flex-shrink:0}.site-header .nav-actions>.btn{white-space:nowrap}
@media(min-width:951px){body.lang-en .main-nav{gap:clamp(8px,1.2vw,18px);font-size:13px}}
