/* Shared rounded rectangular controls. Navigation menu shapes are unchanged. */
html body :is(#main,#main-content) :is(button,a.button,a.btn,a.ir-button,a.sr-button,a.cargo-enquiry,a.contact-channel,a.legal-print,a.city-path,a.fleet-cta,.quote-arrow):not(.finder-clear,.btn-remove-stop,.carousel-btn,.route-pause,.logo-pause,.faq-question,.service-row){border-radius:16px!important;padding:16px 22px!important;box-sizing:border-box!important;min-height:48px;transform:none!important}
html body :is(#main,#main-content) :is(button,a.button,a.btn,a.ir-button,a.sr-button,a.cargo-enquiry,a.contact-channel,a.legal-print):not(.faq-question,.service-row)::before,html body :is(#main,#main-content) :is(button,a.button,a.btn,a.ir-button,a.sr-button,a.cargo-enquiry,a.contact-channel,a.legal-print):not(.faq-question,.service-row)::after{border-radius:16px!important}
html body :is(#main,#main-content) :is(.cargo-tab-buttons,.rf-topics,.rf-popular,.ir-topic-list,.coverage-region,.ve-size-scale) :is(button,a){padding:13px 18px!important;min-height:46px;border-radius:14px!important;box-sizing:border-box!important}
html body :is(#main,#main-content) :is(.city-path,.cargo-service-links,.nearby-expansion,.page-path) a{padding:15px 20px!important;border-radius:16px!important;box-sizing:border-box!important}
html body :is(#main,#main-content) :is(.finder-clear,.btn-remove-stop,.carousel-btn,.route-pause,.logo-pause),html body :is(#main,#main-content) .review-controls button{border-radius:12px!important;padding:10px!important;box-sizing:border-box!important}
html body :is(#main,#main-content) .fleet-cta,html body :is(#main,#main-content) .quote-arrow{border-radius:16px!important;padding:10px!important;box-sizing:border-box!important;clip-path:none!important}
html body .footer :is(.footer-enquiry,.footer-phone){border-radius:16px!important;padding:16px 22px!important;box-sizing:border-box!important}
html body .footer .footer-social a{border-radius:12px!important}
html body .cookie-notice button{border-radius:14px!important;padding:14px 20px!important;box-sizing:border-box!important}
html body .masthead>.button.compact,html body .masthead>.button.compact:hover,html body .masthead>.button.compact:active{border-radius:16px!important;padding:14px 22px!important;box-sizing:border-box!important;clip-path:inset(0 round 16px)!important}
html body .masthead>.button.compact::before,html body .masthead>.button.compact::after{border-radius:16px!important;clip-path:inset(0 round 16px)!important}
/* The hover surface inherits these same corners and spacing; it never grows over neighbours. */
@media(max-width:700px){html body :is(#main,#main-content) :is(button,a.button,a.btn,a.ir-button,a.sr-button,a.cargo-enquiry,a.contact-channel,a.legal-print):not(.finder-clear,.btn-remove-stop,.carousel-btn,.route-pause,.logo-pause,.faq-question,.service-row){padding:16px 20px!important}html body :is(#main,#main-content) :is(.cargo-tab-buttons,.rf-topics,.rf-popular,.ir-topic-list,.coverage-region,.ve-size-scale) :is(button,a){padding:12px 16px!important}}

/* Header quote CTA: no border or outline in either theme or interaction state. */
html body .masthead>.button.compact,html body .masthead>.button.compact:hover,html body .masthead>.button.compact:active,html body .masthead>.button.compact:focus,html body .masthead>.button.compact:focus-visible{border:0!important;border-width:0!important;outline:none!important;outline-width:0!important;outline-offset:0!important}
html body .masthead>.button.compact::before,html body .masthead>.button.compact::after{display:none!important;content:none!important;border:0!important;outline:none!important}
html body .masthead>.button.compact:focus-visible{text-decoration:underline!important;text-underline-offset:4px!important;text-decoration-thickness:2px!important}
