/* Persistent controls use physical left/right positions in the RTL layout. */
.floating-control{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));z-index:60;width:56px;height:56px;display:grid;place-items:center;flex:none;border:2px solid #fff;border-radius:50%;box-shadow:0 5px 22px #09294e26;transition:transform .2s,box-shadow .2s;padding:13px}
.floating-control:hover{transform:translateY(-3px);box-shadow:0 8px 25px #09294e38}
.floating-control:focus-visible{outline:3px solid #102b35;outline-offset:4px}
.floating-control svg{width:100%;height:100%;display:block}
.accessibility-toggle{left:max(22px,env(safe-area-inset-left));background:#09294e;color:#fff}
.whatsapp-float{right:max(22px,env(safe-area-inset-right));background:#25d366;color:#fff}
.footer{padding-bottom:72px}
.a11y-panel{position:fixed;top:auto;right:auto;left:max(22px,env(safe-area-inset-left));bottom:calc(max(18px,env(safe-area-inset-bottom)) + 68px);margin:0;width:min(355px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - max(18px,env(safe-area-inset-bottom)) - 92px);padding:22px;border:1px solid #dce5dc;border-radius:20px;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#102b35;box-shadow:0 15px 70px #09294e33;font-size:1rem}
.a11y-panel::backdrop{background:#102b351a;backdrop-filter:none}
.a11y-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:19px}
.a11y-heading h2{font-size:1.25rem;line-height:1.4;letter-spacing:-.3px}
.a11y-close{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:50%;background:#f0f4ef;font-size:1.75rem;line-height:1}
.a11y-close:hover{background:#e4ece1}
.a11y-text-size{padding:15px 0;border-top:1px solid #e3e9e1;border-bottom:1px solid #e3e9e1;display:flex;flex-direction:column;gap:12px;font-weight:600}
.a11y-size-controls{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;direction:ltr;gap:12px}
.a11y-size-controls button{height:44px;display:grid;place-items:center;border:1px solid #dce5d7;border-radius:10px;background:#f3f7f0;font-size:1.5rem;line-height:1}
.a11y-size-controls button:disabled{opacity:.4}
.a11y-size-controls output{text-align:center;font-size:1rem;font-weight:600}
.a11y-options{padding-block:8px}
.a11y-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;text-align:right;background:transparent;padding:10px 0;font-size:.9375rem;line-height:1.5}
.a11y-switch{width:38px;height:22px;border-radius:20px;background:#d8e1d3;position:relative;flex:none;border:1px solid #b5c3af}
.a11y-switch:after{content:'';position:absolute;width:16px;height:16px;right:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s}
.a11y-option[aria-pressed=true] .a11y-switch{background:#128244;border-color:#128244}
.a11y-option[aria-pressed=true] .a11y-switch:after{transform:translateX(-16px)}
.a11y-reset{width:100%;min-height:44px;background:#edf4e8;color:#184927;border:1px solid #d8e6cf;border-radius:10px;font-weight:600;font-size:.875rem;margin-block:9px 16px;padding:9px 12px}
.a11y-panel .a11y-statement{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.8125rem;line-height:1.6;min-height:36px;color:#285e36;text-decoration:underline;text-underline-offset:4px}
.a11y-links a{text-decoration:underline!important;text-underline-offset:.2em!important;text-decoration-thickness:2px!important}
.a11y-links a:has(img),.a11y-links .floating-control{outline:2px solid currentColor;outline-offset:3px}
.a11y-motion{scroll-behavior:auto!important}
.a11y-motion *,.a11y-motion *:before,.a11y-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.a11y-motion .reveal{opacity:1!important;transform:none!important}
.a11y-motion .moving-route-car{offset-distance:50%}
.a11y-text-enlarged :is(h1,h2,h3,p,a,button,summary,li,span){overflow-wrap:anywhere}
.a11y-text-enlarged .hero-price,.a11y-text-enlarged .footer-top{flex-wrap:wrap}
.a11y-text-enlarged .route-stages span{white-space:normal}
.a11y-text-enlarged .footer-bottom>span{flex-shrink:1}
.a11y-text-enlarged .service-strip>span{white-space:normal;min-width:0}
.a11y-text-enlarged .price-copy,.a11y-text-enlarged .price-card{min-width:0}
.a11y-contrast body,.a11y-contrast body :where(header,main,section,article,aside,nav,footer,div,figure,figcaption,dialog,h1,h2,h3,p,li,ul,span,strong,b,output,button,a,details,summary,th,td){background-color:#111!important;background-image:none!important;color:#fff!important;border-color:#ddd!important;box-shadow:none!important;text-shadow:none!important}
.a11y-contrast body :is(a,button,summary){color:#ffe56b!important}
.a11y-contrast body :is(a,button,summary):focus-visible{outline:3px solid #ffe56b!important}
.a11y-contrast body .brand,.a11y-contrast body .brand img{background:#fff!important;border-radius:6px}
.a11y-contrast body .whatsapp-float{background:#25d366!important;color:#fff!important}
.a11y-contrast body .a11y-switch{background:#333!important}
.a11y-contrast body .a11y-option[aria-pressed=true] .a11y-switch{background:#ffe56b!important;border-color:#ffe56b!important}
.a11y-contrast body .a11y-switch:after{background:#fff!important}
.a11y-contrast body .a11y-option[aria-pressed=true] .a11y-switch:after{background:#111!important}
.a11y-contrast .queue-photo:after{display:none}
.mobile-test-cta{display:none}
@media(max-width:680px){
  .floating-control{width:50px;height:50px;padding:11px;bottom:5px}
  .accessibility-toggle{left:max(14px,env(safe-area-inset-left))}
  .whatsapp-float{right:max(14px,env(safe-area-inset-right))}
  .a11y-panel{left:16px;bottom:67px;max-height:calc(100dvh - 85px);padding:18px}
  .mobile-test-cta{display:flex;position:fixed;z-index:55;bottom:40px;left:calc(max(14px,env(safe-area-inset-left)) + 64px);right:calc(max(14px,env(safe-area-inset-right)) + 64px);height:50px;min-height:50px;padding:8px 12px;gap:7px;border-radius:12px;font-size:.9375rem;line-height:1.5;box-shadow:0 5px 22px #09294e26;text-align:center;white-space:normal}
  .mobile-test-cta .icon{width:20px;height:20px}
  .mobile-test-cta:hover,.mobile-test-cta:active{transform:none}
  .a11y-text-enlarged .mobile-test-cta .icon{display:none}
  .a11y-text-enlarged .review-invitation{grid-template-columns:1fr}
  .a11y-text-enlarged .review-invitation .button{grid-column:1}
  .a11y-text-enlarged .price-card{padding-inline:18px}
  .a11y-text-enlarged .big-price{flex-wrap:wrap;column-gap:5px;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.floating-control,.a11y-switch:after{transition:none}}
