/* Shared interaction states, loaded after native component styles. */
.getride-site a[href]:focus-visible,.getride-site :is(button,[role="button"],summary):focus-visible{outline:2px solid #ff7b29;outline-offset:4px}
.getride-site main a[href]:not(:where(.gr-logo,.gr-btn,.gr-service-card,.gr-guide-grid>a,.gr-region-grid>a,.gr-route-card,.gr-approved-extra,.gr-why-card,.gr-channel,.gr-contact-strip a,.gr-pickup-help a,.chbs-main a,.woocommerce-Button,.button,.elementor-button,.gr-group-quote-link)):is(:hover,:focus-visible),
.getride-site :is(.gr-contact-bar,.gr-footer,.gr-booking-numbers) a[href]:not(.gr-logo):is(:hover,:focus-visible){color:#ff7b29!important;text-decoration:underline;text-decoration-color:#ff7b29;text-underline-offset:5px;text-decoration-thickness:2px}
.getride-site :is(.gr-contact-hero-call,.gr-contact-hero-whatsapp,.gr-contact-form-note a,.gr-policy-jump a,.gr-policy-related a,.gr-booking-policy a,.gr-channel-copy a):is(:hover,:focus-visible){color:#ff7b29!important;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.getride-site a.gr-btn:not(.gr-btn-outline),.getride-site .woocommerce :is(a.button,button.button,input.button),.getride-site .gr-enquiry-form .elementor-button{background:#ff7b29!important;border:1px solid #ff7b29!important;border-radius:6px;color:#152d39!important;line-height:1.4;text-decoration:none}
.getride-site a.gr-btn.gr-btn-outline{background:transparent!important;border:1px solid #152d39!important;border-radius:6px;color:#152d39!important}
.getride-site a.gr-btn:is(:hover,:focus-visible),.getride-site .woocommerce :is(a.button,button.button,input.button):is(:hover,:focus-visible),.getride-site .gr-enquiry-form .elementor-button:is(:hover,:focus-visible){background:#152d39!important;border-color:#152d39!important;color:#fff!important;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:5px;text-decoration-thickness:2px}
.getride-site a.gr-btn span,.getride-site .gr-enquiry-form .elementor-button span{color:inherit!important}
.getride-site :is(.gr-service-card,.gr-guide-grid>a,.gr-region-grid>a,.gr-route-card,.gr-approved-extra,.gr-why-card,.gr-channel,.gr-contact-strip>a):is(:hover,:focus-visible){border-color:#ff7b29!important;text-decoration:none;box-shadow:0 4px 16px #152d3914}
.getride-site :is(.gr-service-card,.gr-guide-grid>a,.gr-region-grid>a,.gr-route-card,.gr-approved-extra,.gr-why-card,.gr-channel,.gr-contact-strip>a):is(:hover,:focus-visible) :is(h2,h3,strong,.gr-channel-label){text-decoration:underline;text-decoration-color:#ff7b29;text-underline-offset:5px;text-decoration-thickness:2px}
.getride-site .gr-booking-shell .chbs-main a.chbs-button:not(.chbs-state-disable):not([aria-disabled="true"]):is(:hover,:focus-visible){background:#152d39!important;border-color:#ff7b29!important;color:#fff!important;text-decoration:underline;text-decoration-color:#ff7b29;text-underline-offset:5px}
.getride-site .gr-booking-shell .chbs-main :is(.chbs-summary-header a,.chbs-main-navigation-default a):is(:hover,:focus-visible){text-decoration:underline;text-decoration-color:#ff7b29;text-underline-offset:5px}
.getride-site :is(input,textarea)::placeholder{color:#63727b;opacity:1}
.getride-site :is(.gr-enquiry-form,.woocommerce,.gr-booking-shell) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select):focus-visible{outline:2px solid #ff7b29;outline-offset:2px;border-color:#ff7b29!important}
@media(prefers-reduced-motion:reduce){.getride-site a,.getride-site button{transition:none!important}}
.getride-site .gr-booking-shell .chbs-main :is(.chbs-summary-header,.chbs-agreement) a[href]:is(:hover,:focus-visible){color:#ff7b29!important;text-decoration:underline;text-decoration-color:#ff7b29;text-underline-offset:5px;text-decoration-thickness:2px}
/* Repeated content shares columns and top edges, independent of text length. */
.getride-site .gr-pickup-help .gr-number-links{display:grid;grid-template-columns:max-content max-content;justify-content:start;justify-items:start;align-items:center;gap:8px 20px}
.getride-site .gr-pickup-help .gr-number-pair{display:contents}
.getride-site .gr-approved-extra,.getride-site .gr-contact-strip>a{align-items:flex-start}
.getride-site .gr-approved-extra>svg{margin-top:1px}
@media(max-width:1050px){.getride-site .gr-approved-extra strong{line-height:1.4;min-height:2.8em}}
@media(max-width:380px){.getride-site .gr-pickup-help{padding-inline:16px}.getride-site .gr-pickup-help .gr-number-links{column-gap:12px}.getride-site .gr-pickup-help .gr-number-call{font-size:14px}.getride-site .gr-pickup-help .gr-number-whatsapp{font-size:12px;padding-inline:8px}}
/* Native custom-request controls live in step one; suppress their empty shell. */
.getride-site .gr-booking-shell .chbs-main-content-step-3 .chbs-panel:has(>.chbs-panel-section-gr_journey_requests):not(:has(input,textarea,select)){display:none!important}
/* Whole-page layout corrections: account rails, reading space and responsive cards. */
.getride-site:is(.woocommerce-account,.woocommerce-cart,.woocommerce-shop) #main-content>:not(.gr-breadcrumbs){width:calc(100% - 48px);max-width:1160px;margin:36px auto 56px;box-sizing:border-box}
.getride-site.woocommerce-account .woocommerce :is(form.login,form.woocommerce-ResetPassword){max-width:560px;margin:18px 0 0;padding:24px;border:1px solid #dce2e4;border-radius:10px;background:#fff}
.getride-site.woocommerce-account .woocommerce :is(form.login,form.woocommerce-ResetPassword) .form-row{margin:0 0 18px}
.getride-site.woocommerce-account .woocommerce :is(form.login,form.woocommerce-ResetPassword) .form-row>label:not(.woocommerce-form-login__rememberme){display:block;margin-bottom:7px;font-weight:600}
.getride-site.woocommerce-account .woocommerce :is(form.login,form.woocommerce-ResetPassword) input.input-text{width:100%;min-height:46px;padding:10px 12px;border:1px solid #a1b0b8;border-radius:6px;box-sizing:border-box}
.getride-site.woocommerce-account .password-input{display:block;position:relative}
.getride-site.woocommerce-account .password-input input{padding-right:44px!important}
.getride-site.woocommerce-account .password-input .show-password-input{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-height:30px;padding:4px;border:0;background:transparent;color:#152d39}
.getride-site.woocommerce-account .woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:8px;margin-right:14px}
.getride-site.woocommerce-account .woocommerce button.button{min-height:44px;padding:10px 20px}
.getride-site .gr-visual-cards :is(h3,p){overflow-wrap:break-word;hyphens:auto}
.getride-site .gr-visual-cards+h2{margin-top:32px!important;margin-bottom:18px}
.getride-site .gr-visual-section .elementor-widget-html:has(.gr-faq-list)+.elementor-widget-html{margin-top:28px}
.getride-site .gr-sitemap-grid>section:last-child:nth-child(odd){grid-column:1/-1}
@media(min-width:768px){.getride-site .gr-sitemap-grid>section:last-child:nth-child(odd)>ul{columns:2;column-gap:32px}.getride-site .gr-sitemap-grid li{break-inside:avoid}}
@media(min-width:768px) and (max-width:900px){.getride-site .gr-visual-cards:not(.gr-mini-cards){grid-template-columns:1fr}}
@media(max-width:767px){.getride-site:is(.woocommerce-account,.woocommerce-cart,.woocommerce-shop) #main-content>:not(.gr-breadcrumbs){width:calc(100% - 36px);margin-block:28px 40px}.getride-site.woocommerce-account .woocommerce :is(form.login,form.woocommerce-ResetPassword){padding:20px}.getride-site .gr-analytics-choice{bottom:calc(80px + env(safe-area-inset-bottom));max-height:calc(100dvh - 110px);overflow-y:auto}}
.getride-site .gr-card h3{overflow-wrap:break-word;hyphens:auto}
@media(min-width:768px) and (max-width:1050px){.getride-site .gr-approved-home-services .gr-card h3{line-height:1.35;min-height:2.7em}}
/* The former one-sided rail gutter shifted every page at tablet/laptop widths. */
@media(min-width:768px) and (max-width:1280px){
 body.getride-site{padding-right:0;padding-bottom:calc(66px + env(safe-area-inset-bottom))}
 .getride-site .gr-quick-contact{top:auto;bottom:0;left:0;right:0;transform:none;display:flex;flex-direction:row;justify-content:center;gap:8px;background:#fff;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #d4dce0}
 .getride-site .gr-quick-contact>:is(.gr-quick-top,.gr-quick-email,.gr-quick-maps){display:none}
 .getride-site .gr-quick-contact>a:is(.gr-quick-book,.gr-quick-phone,.gr-quick-whatsapp){display:flex;align-items:center;justify-content:center;flex:1;max-width:180px;width:auto;height:50px;gap:7px;padding:8px;font-size:12px}
 .getride-site .gr-quick-contact a span,.getride-site .gr-quick-contact a:is(:hover,:focus-visible) span{display:block;position:static;padding:0;background:transparent;color:inherit;font-size:12px;white-space:normal}
 .getride-site .gr-analytics-choice{bottom:calc(80px + env(safe-area-inset-bottom));max-height:calc(100dvh - 110px);overflow-y:auto}
}
@media(max-width:1280px){.getride-site .gr-quick-contact>a:is(:hover,:focus-visible){transform:none}}
/* When the footer utility row wraps, both rows retain the same centre line. */
@media(max-width:1100px){.getride-site .gr-footer .gr-footer-utility{justify-content:center}.getride-site .gr-footer .gr-footer-utility .gr-footer-legal{width:100%;margin:0;padding:0;border:0;justify-content:center;text-align:center}.getride-site .gr-footer .gr-footer-utility .gr-payment-label{white-space:nowrap;font-size:9px;line-height:1.5}}
@media(max-width:1280px){.getride-site .gr-footer{padding-bottom:24px}}

/* Keep fleet dividers level when German capacity labels wrap. */
html[lang^="de"] .gr-fleet-capacity{min-height:calc(3.1em + 17px)}
