/* Shared interaction finish for all public pages. */
:is(.site-header nav a:not(.nav-taxi-cta),footer .footer-taxi-link){position:relative;transition:color .2s ease;text-decoration:none}
:is(.site-header nav a:not(.nav-taxi-cta),footer .footer-taxi-link)::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:3px;border-radius:2px;background:repeating-linear-gradient(to right,#16756f 0 8px,transparent 8px 13px);opacity:0;transform:scaleX(.35);transform-origin:left;transition:opacity .2s ease,transform .25s ease;pointer-events:none}
.site-header nav a.is-section-active::after{opacity:1;transform:scaleX(1)}
:is(.site-header nav a:not(.nav-taxi-cta),footer .footer-taxi-link):focus-visible{color:#176b61;text-decoration:none}
:is(.site-header nav a:not(.nav-taxi-cta),footer .footer-taxi-link):focus-visible::after{opacity:1;transform:scaleX(1)}

/* A soft highlight crosses the surface, without covering the label. */
:is(.button,.membership-button,.site-header nav .nav-taxi-cta,.taxi-card .directory-contact,.map-button,.map-pin-controls button,.new-trip,.directory-filters>button,.saved-estimate button){background-image:linear-gradient(110deg,transparent 20%,#ffffff28 46%,#ffffff28 54%,transparent 80%);background-size:250% 100%;background-position:130% 0;transition:background-color .2s ease,background-position .45s ease,box-shadow .2s ease,transform .2s ease;text-decoration:none}
:is(.button,.membership-button,.site-header nav .nav-taxi-cta,.taxi-card .directory-contact,.map-button,.map-pin-controls button,.new-trip,.directory-filters>button,.saved-estimate button):focus-visible{background-image:linear-gradient(110deg,transparent 20%,#ffffff28 46%,#ffffff28 54%,transparent 80%);background-position:-30% 0;box-shadow:0 0 0 2px #fff,0 0 0 5px #e8ae43,0 7px 18px #153b3d24;text-decoration:none;outline:3px solid transparent;outline-offset:3px}

:is(.text-link,footer .membership-footer-link:not(.footer-taxi-link),footer .feedback-footer-link,footer .footer-inner>a,.directory-calculator-link a,.map-directions,.map-return,.footer-credit a,.taxi-card .directory-contact.email:not(.email-main),.additional-contacts a:not(.phone):not(.email-main)){text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:#176b6155;transition:color .2s ease,text-decoration-color .2s ease,text-underline-offset .2s ease}
:is(.text-link,footer .membership-footer-link:not(.footer-taxi-link),footer .feedback-footer-link,footer .footer-inner>a,.directory-calculator-link a,.map-directions,.map-return,.footer-credit a,.taxi-card .directory-contact.email:not(.email-main),.additional-contacts a:not(.phone):not(.email-main)):focus-visible{color:#0c5a51;text-decoration-color:currentColor;text-decoration-thickness:2px;text-underline-offset:7px}
:is(.manual-distance,.pickup-options,.taxi-details,.estimate-notice,.membership-details)>summary{transition:color .2s ease,text-decoration-color .2s ease;text-underline-offset:5px;text-decoration-color:transparent}
:is(.manual-distance,.pickup-options,.taxi-details,.estimate-notice,.membership-details)>summary:focus-visible{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:5px}
.help-trigger{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.help-trigger:focus-visible{box-shadow:0 0 0 5px #176b6118}

@media(hover:hover) and (pointer:fine){
 .membership-button:not(:disabled):not([aria-disabled=true]):hover{background-color:#10574f}
 :is(.site-header nav a:not(.nav-taxi-cta),footer .footer-taxi-link):hover{color:#176b61;text-decoration:none}
 :is(.site-header nav a:not(.nav-taxi-cta),footer .footer-taxi-link):hover::after{opacity:1;transform:scaleX(1);animation:road-glide .55s ease-out}
 :is(.button,.membership-button,.site-header nav .nav-taxi-cta,.taxi-card .directory-contact,.map-button,.map-pin-controls button,.new-trip,.directory-filters>button,.saved-estimate button):not(:disabled):not([aria-disabled=true]):hover{background-image:linear-gradient(110deg,transparent 20%,#ffffff28 46%,#ffffff28 54%,transparent 80%);background-position:-30% 0;transform:translateY(-2px);box-shadow:0 7px 18px #153b3d28,0 0 0 1px #d99e3655;text-decoration:none}
 :is(.map-pin-controls button,.new-trip,.directory-filters>button,.saved-estimate button):hover{background-color:#e7f3ed}
 .map-pin-controls button[aria-pressed=true]:hover{background-color:#114f48}
 :is(.text-link,footer .membership-footer-link:not(.footer-taxi-link),footer .feedback-footer-link,footer .footer-inner>a,.directory-calculator-link a,.map-directions,.map-return,.footer-credit a,.taxi-card .directory-contact.email:not(.email-main),.additional-contacts a:not(.phone):not(.email-main)):hover{color:#0c5a51;text-decoration-color:currentColor;text-decoration-thickness:2px;text-underline-offset:7px}
 :is(.manual-distance,.pickup-options,.taxi-details,.estimate-notice,.membership-details)>summary:hover{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:5px}
 .help-trigger:hover{box-shadow:0 0 0 5px #176b6118}
}
@keyframes road-glide{from{background-position:-26px 0}to{background-position:0 0}}
:is(.button,.membership-button,.nav-taxi-cta,.directory-contact,.map-button,.map-pin-controls button,.new-trip,.directory-filters>button,.saved-estimate button):not(:disabled):not([aria-disabled=true]):active{transform:translateY(0);box-shadow:inset 0 2px 5px #153b3d24}
@media(max-width:560px){:is(.site-header nav a:not(.nav-taxi-cta),footer .footer-taxi-link)::after{bottom:5px}}
@media(min-width:561px){:is(.site-header nav a:not(.nav-taxi-cta),footer .footer-taxi-link).footer-taxi-link::after{bottom:4.67px}}
@media(max-width:560px){:is(.site-header nav a:not(.nav-taxi-cta),footer .footer-taxi-link).footer-taxi-link::after{bottom:3px}}
@media(prefers-reduced-motion:reduce){
 .site-header nav a,.site-header nav a::after,footer .footer-taxi-link,footer .footer-taxi-link::after,.button,.membership-button,.taxi-card .directory-contact,.map-button,.map-pin-controls button,.new-trip,.directory-filters>button,.saved-estimate button,.text-link,footer .membership-footer-link:not(.footer-taxi-link),footer .feedback-footer-link,footer .footer-inner>a,.directory-calculator-link a,.map-directions,.map-return,.footer-credit a,.additional-contacts a,summary,.help-trigger{transition:none!important;animation:none!important}
 :is(.button,.membership-button,.site-header nav .nav-taxi-cta,.taxi-card .directory-contact,.map-button,.map-pin-controls button,.new-trip,.directory-filters>button,.saved-estimate button):hover{transform:none}
}

@media(forced-colors:active){:is(.button,.membership-button,.site-header nav .nav-taxi-cta,.taxi-card .directory-contact,.map-button,.map-pin-controls button,.new-trip,.directory-filters>button,.saved-estimate button):focus-visible{outline:3px solid Highlight;box-shadow:none}}

/* Disabled actions keep their static disabled appearance. */
:is(.button,.membership-button,.map-button,.map-pin-controls button,.new-trip,.directory-filters>button,.saved-estimate button):is(:disabled,[aria-disabled=true]){background-image:none;transform:none;box-shadow:none;transition:none}


footer .footer-taxi-link::after{bottom:5px}
