/* Medium29 enhancements · AUTO153 · 09.11.2026 */
/* An intentional two-mode booking widget: an estimate is never a booking. */
.quick-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:0 0 7px;border:1px solid #dae3ef;background:#eef2f7;border-radius:15px}
.quick-mode-btn{display:flex;justify-content:center;align-items:center;min-height:42px;padding:8px 12px;border:0;border-radius:11px;background:transparent;color:#496179;font-weight:700;font-size:.82rem;line-height:1.25;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.quick-mode-btn.is-active{background:#142f50;color:#fff;box-shadow:0 3px 11px rgba(9,32,57,.17)}
.quick-mode-btn:focus-visible,.auto153-contact-action:focus-visible{outline:3px solid #77aaff;outline-offset:3px}
.quick-mode-note{margin:0 0 13px!important;text-align:center;font-size:.73rem!important;line-height:1.4;color:#596c7f!important}
.quick-mode-note[hidden]{display:none!important}
.quick-booking.is-quote-mode .quick-progress{visibility:hidden}
.quick-booking.is-quote-mode .is-quote-hidden{display:none!important}
.quick-booking.is-quote-mode [data-quick-next],.quick-booking:not(.is-quote-mode) [data-quick-quote-check]{display:none!important}
.quick-booking.is-quote-mode .quick-grid{margin-top:6px}
.quick-booking.is-quote-mode .quick-price-preview{padding:18px 17px;border:1px solid #bfd4eb;background:linear-gradient(130deg,#eaf4ff,#f7fbff)}
.quick-booking.is-quote-mode .quick-price-preview strong{font-size:2.8rem;letter-spacing:-.03em}
.quick-quote-check{background:#173b65!important;color:#fff!important}
.quick-quote-check:hover{box-shadow:0 12px 28px rgba(23,59,101,.24)}
.quick-quote-action[hidden]{display:none!important}
.quick-quote-action{display:grid;gap:12px;margin:0 0 12px}
.quick-quote-action p{margin:0!important;color:#536880!important;font-size:.72rem!important;line-height:1.55!important;text-align:center}
.quick-quote-convert{background:#142f50!important;color:#fff!important;min-height:52px;font-size:.86rem}
.quick-booking:not(.is-quote-mode) .quick-quote-action{display:none!important}
/* The actual Google reviews are prominent directly below the hero on all five homepages. */
.reviews-section{padding-top:72px!important;padding-bottom:75px!important;background:linear-gradient(180deg,#f7fafd 0%,#f0f4fa 100%)}
.reviews-section .reviews-head{display:flex;flex-direction:column;align-items:center;gap:19px;text-align:center;margin-bottom:30px}
.reviews-section .reviews-head>div:first-child{max-width:680px}
.reviews-section .reviews-head .eyebrow{justify-content:center}
.reviews-section .reviews-head h2{margin-top:8px;margin-bottom:10px}
.reviews-section .reviews-head p{max-width:600px}
.reviews-section .reviews-score{display:flex;align-items:center;justify-content:center;gap:18px;min-width:295px;max-width:100%;margin:0 auto;padding:20px 30px;border:1px solid rgba(31,72,118,.16);border-radius:23px;box-shadow:0 15px 48px rgba(28,58,92,.12)}
.reviews-section .reviews-google-mark{width:58px;height:58px;font-size:1.55rem}
.reviews-section .reviews-score strong{font-size:4.45rem;line-height:.87;letter-spacing:-.04em;color:#17375b}
.reviews-section .reviews-score .review-stars{font-size:1.05rem;letter-spacing:.1em;margin:10px 0 5px}
.reviews-section .reviews-score span{font-size:.83rem}
.reviews-section .review-card{min-height:0}
/* Always-available contact actions, sized for safe-area and small screens. */
body{padding-bottom:90px}
.auto153-contact-bar{position:fixed;z-index:65;left:50%;bottom:max(14px, env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(460px,calc(100% - 28px));padding:7px;border-radius:19px;background:rgba(13,29,48,.96);border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 48px rgba(7,18,31,.36);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.auto153-contact-action{display:flex;align-items:center;justify-content:center;gap:9px;min-height:49px;padding:8px 10px;border-radius:13px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.86rem;font-weight:750;letter-spacing:0;line-height:1.25;text-align:center;text-decoration:none;transition:filter .2s ease,transform .2s ease}
.auto153-contact-action:hover{filter:brightness(1.08);transform:translateY(-1px)}
.auto153-contact-action svg{display:block;flex:none;width:19px;height:19px}
.auto153-contact-whatsapp{background:#1d9d65;color:#fff}
.auto153-contact-call{background:#f7faff;color:#142f50}
body.menu-open .auto153-contact-bar,body.auto153-contact-consent .auto153-contact-bar{visibility:hidden;pointer-events:none}
/* Leave room for the existing dismissible Android app banner. */
@media(max-width:700px){
  body{padding-bottom:calc(99px + env(safe-area-inset-bottom))}
  .auto153-contact-bar{left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;border-radius:19px 19px 0 0;border-bottom:none;padding:9px 12px calc(10px + env(safe-area-inset-bottom));gap:9px}
  .auto153-contact-action{min-height:48px;font-size:.85rem}
  .app-mobile-banner{bottom:calc(84px + env(safe-area-inset-bottom))!important}
  .reviews-section{padding:62px 0!important}
  .reviews-section .reviews-head{gap:20px}
  .reviews-section .reviews-score{padding:18px 24px}
  .reviews-section .reviews-score strong{font-size:3.85rem}
  .reviews-section .review-card{padding:22px}
  .quick-mode-btn{font-size:.78rem}
}
@media(max-width:360px){.auto153-contact-action{font-size:.76rem;gap:6px}.auto153-contact-bar{padding-left:7px;padding-right:7px}.quick-mode-btn{font-size:.72rem;padding:8px 5px}.reviews-section .reviews-score{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.quick-mode-btn,.auto153-contact-action{transition:none}}
@media print{.auto153-contact-bar{display:none!important}body{padding-bottom:0}}
