/* Rosa Care — phone layout, touch controls and quick actions. */
.mobile-dock{display:none}
@media(max-width:760px){
  html{scroll-padding-top:92px}
  body{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .wrap{padding-left:20px;padding-right:20px}
  header .header-row{min-height:76px;gap:10px}
  .brand img{width:180px}
  .header-actions{gap:8px}
  .menu-toggle{display:flex;flex:0 0 44px;width:44px;min-width:44px;min-height:44px;padding:10px;justify-content:center;align-items:center;gap:6px}
  .menu-toggle>span:not(.sr-only){width:24px}
  .language summary{min-height:44px;min-width:52px;padding:6px 0;gap:4px;justify-content:center}
  .language svg{width:18px;height:18px}
  .language-list a{display:flex;align-items:center;min-height:44px}
  .header-row>nav{top:100%;max-height:var(--mobile-nav-space,calc(100dvh - 76px));overflow-y:auto;overscroll-behavior:contain;padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px));-webkit-overflow-scrolling:touch}
  .header-row>nav>a{min-height:48px;display:flex;align-items:center;padding:12px 0;overflow-wrap:anywhere}
  .hero{padding-top:27px}
  .hero-grid{gap:28px}
  .hero h1{font-size:clamp(2.35rem,10.8vw,3.4rem);line-height:1.13}
  .hero-copy>.eyebrow{margin-bottom:16px}
  .hero-copy>p{margin-top:19px;line-height:1.8}
  .hero-actions{gap:12px 20px;margin-top:22px}
  .hero-actions>.underlined,.billing-hero-link{display:inline-flex;align-items:center;min-height:44px}
  .hero-photo{height:clamp(260px,80vw,380px)}
  .photo-caption{left:12px;right:12px;bottom:15px;padding:16px;gap:12px}
  .photo-caption img{flex-shrink:0}
  .hero-bottom{gap:18px;margin-top:26px}
  .hero-copy,.recruitment-hero-grid>div,.section-head>div,.guide-content,.billing-explanation,.billing-visual,.invoice-body{min-width:0}
  h1,h2,h3,h4,.guide-chapters a,.guide-quick strong,.resource-box a,.recruitment-preview strong,.profession-card p,.contact-box a,.candidate-direct a,.chapter-body a{overflow-wrap:anywhere;hyphens:auto}
  .button{min-height:48px}
  .dialog-close{width:44px;height:44px}
  .billing-switches{grid-template-columns:repeat(2,minmax(0,1fr))}
  .billing-choice{min-width:0;min-height:82px;font-size:.875rem;line-height:1.5}
  .billing-choice>span:last-child{min-width:0;overflow-wrap:anywhere}
  .billing-stage{padding:22px}
  .billing-visual{padding:23px}
  .guide-quick{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guide-quick>a{min-width:0}
  .guide-toc>details>summary{min-height:44px}
  .guide-chapters>a{min-height:44px;display:flex!important;align-items:center}
  .text-button{min-height:44px}
  .candidate-preview textarea{font-size:1rem;max-width:100%;line-height:1.75}
  .candidate-form,.candidate-preview{padding:22px}
  .resource-box,.contact-box{padding:24px}
  .resource-box a{min-height:44px}
  .email-address{font-size:clamp(1.05rem,5.4vw,1.45rem)}
  .footer-languages a{display:inline-flex;align-items:center;min-height:44px}
  .footer-grid>div>a:not(:first-child),.footer-grid button{min-height:44px;padding:8px 0;margin-bottom:0}
  .mobile-dock{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:35;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:#ffffffed;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid #d5e2e7;box-shadow:0 -7px 25px #1e3a470b}
  .mobile-dock a{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--blue);border-radius:7px;text-align:center;font-size:.8125rem;font-weight:600;line-height:1.35;touch-action:manipulation}
  .mobile-dock svg{width:20px;height:20px;flex-shrink:0}
  .mobile-dock span{min-width:0;overflow-wrap:anywhere}
  .mobile-dock-contact{background:var(--blue);color:white}
  .mobile-dock-careers{background:#f8fbfc;color:var(--blue)}
  .mobile-dock a:focus-visible{outline:3px solid var(--rose);outline-offset:2px}
  body.mobile-input-active .mobile-dock,body.mobile-menu-open .mobile-dock{display:none}
  .back-top{bottom:calc(100px + env(safe-area-inset-bottom,0px));width:44px;min-width:44px;height:44px}
}
@media(max-width:430px){
  .hero-actions>.button{width:100%}
  .steps{grid-template-columns:minmax(0,1fr);gap:26px}
  .steps>li{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:16px;align-items:start}
  .steps .step-number{grid-row:1/3;grid-column:1;width:42px;height:42px;margin:2px 0 0}
  .steps h3{grid-column:2;font-size:1rem;margin-bottom:8px}
  .steps p{grid-column:2;font-size:.9375rem;line-height:1.8}
  .steps li:before{display:none}
  .guide-quick{grid-template-columns:minmax(0,1fr)}
  .guide-quick>a{padding:20px}
  .guide-quick span{margin-bottom:8px}
  .guide-quick small{margin-top:7px}
  .guide-search-tools,.guide-checklist{padding:20px}
  .recruitment-actions>.button{width:100%}
}
@media(max-width:360px){
  .wrap{padding-left:16px;padding-right:16px}
  header .header-row{gap:8px}
  .brand img{width:145px}
  .header-actions{gap:6px}
  .billing-switches{grid-template-columns:minmax(0,1fr)}
  .billing-choice{min-height:58px;padding:12px 14px}
  .billing-stage,.billing-visual,.invoice-explorer,.resource-box,.contact-box{padding:20px}
  .candidate-form,.candidate-preview{padding:18px}
  .profession-card{padding:22px 20px 0}
  .chapter-body{padding:18px}
  .chapter-details>summary{padding:16px;gap:9px}
  .chapter-details>summary h2{font-size:.9375rem}
  .recruitment-caption{padding:14px;gap:10px}
  .mobile-dock{gap:8px;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
  .mobile-dock a{font-size:.75rem;padding:10px 8px;gap:6px}
}
@media(max-width:760px) and (hover:none){
  .button:hover,.service:hover,.guide-quick>a:hover{transform:none}
}
@media print{
  .mobile-dock{display:none!important}
  body{padding-bottom:0!important}
}
/* Tablet and landscape menus use the same generous touch targets. */
@media(min-width:761px) and (max-width:1250px){
 .menu-toggle{width:44px;min-width:44px;min-height:44px;align-items:center;padding:10px}
 .language summary{min-height:44px}
 .header-row>nav{top:100%;max-height:var(--mobile-nav-space,calc(100dvh - 90px));overflow-y:auto;overscroll-behavior:contain}
 .header-row>nav>a{min-height:48px}
}
@media(max-width:760px){
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-grid>div{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:360px){.footer-grid{grid-template-columns:minmax(0,1fr)}}
