/* V175 functional corrections; existing page palette and structure are retained. */
.mann-messenger-icon{width:32px;height:32px;display:block;fill:currentColor}
.mann-svc-vehicle{text-decoration:none;color:inherit;display:block}
.mann-svc-vehicle:focus-visible,button:focus-visible,[role="button"]:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #1676cb;outline-offset:3px}
.mann-svc-callback__form input:not([type="checkbox"]):not([type="hidden"]){min-height:48px;width:100%;font:inherit;font-size:16px}
.mann-svc-callback__form .mann-primary-button{min-height:48px;font:inherit}
.server-quote-state{position:fixed;top:20px;right:20px;z-index:100210;width:min(380px,calc(100vw - 24px));padding:14px 16px;border:1px solid #dfb9b2;border-radius:12px;background:#fff8f6;box-shadow:0 8px 24px rgba(15,23,42,.14);line-height:1.45;font-size:13px;color:#7e2d23}
.server-quote-state p{margin:0 0 5px}
.server-quote-state p[data-state="error"]{color:#a23224}
#retryServerQuote{border:0;background:transparent;color:#1268a5;padding:5px 0;min-height:32px;font:inherit;text-decoration:underline;cursor:pointer}
.server-quote-state[hidden],#serverQuoteStatus[hidden],#retryServerQuote[hidden]{display:none}
.rental-time-tooltip .server-price-explanation{margin-top:8px}
.rental-time-tooltip .server-price-explanation:first-child{margin-top:0}
.date-selection-error{margin:6px 0 0;color:#a23224;font-size:13px;line-height:1.4;text-align:left}
.total-price-label-default .rental-time-info-wrap{margin-left:6px}
body.home-landing #calculator .calculator-mode-loaders .total-price-label{display:inline-flex;font-size:0;line-height:1;flex:0 0 auto}
body.home-landing #calculator .calculator-mode-loaders .total-price-label-default .rental-time-info-wrap{margin:0;transform:none}
.date-time-modal .info-cards:empty,.date-time-modal .info-note:empty{display:none}
button.transport-selection-box,button.date-selection-box{font:inherit;color:inherit;text-align:left;width:100%;cursor:pointer}
button.time-slot,button.calendar-day{font:inherit}
@media(max-width:820px){
  html body.service-detail nav.mann-shared-nav.mann-mobile-service-actions{position:fixed;inset:auto 0 0;z-index:100200;display:flex;align-items:stretch;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));min-height:64px;width:100%;max-width:none;margin:0;border-radius:16px 16px 0 0}
  .mann-mobile-service-actions .mann-mobile-return-link{order:0;flex:0 0 auto;width:auto;min-width:76px}
  .mann-mobile-service-actions #mannNavCta{order:1;flex:1;min-height:44px;white-space:normal;text-align:center;justify-content:center;font-size:14px}
  body.service-detail.mann-has-mobile-back-nav{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
}

button.transport-box,button.transport-selection-box,button.date-selection-box{border:1px solid var(--mann-line,#dde3e8);background:inherit;font:inherit;color:inherit;text-align:left}

/* Composite fields expose one focus boundary; the inner input stays borderless. */
html body.home-landing .text-input-box .input-box-field,
html body.home-landing .intermediate-address-box .input-box-field,
html body.home-landing .phone-input-box .phone-box-field{
  border:0;outline:none;box-shadow:none;background:transparent;
}
html body.home-landing .text-input-box:focus-within,
html body.home-landing .intermediate-address-box:focus-within{
  border-color:var(--primary-blue,#2563eb);
  box-shadow:0 0 0 2px rgba(37,99,235,.14);
}
/* The intermediate row also contains method controls; only its address field
   gets a focus boundary, rather than a second ring around the whole row. */
html body.home-landing .intermediate-address-item:focus-within{
  border-color:var(--gray-200,#e2e8f0);box-shadow:none;
}
html body.home-landing .text-input-box.field-error-state:focus-within,
html body.home-landing .intermediate-address-box.field-error-state:focus-within{
  border-color:#dc2626;box-shadow:0 0 0 2px rgba(239,68,68,.14);
}
html body.home-landing .mobile-route-card__field{border:1.5px solid #cbd5e1;border-radius:13px;background:#fff}
html body.home-landing .mobile-route-card__field .mobile-route-card__input{border:0;outline:none;box-shadow:none;background:transparent}
html body.home-landing .mobile-route-card__field:focus-within{
  border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.14);
}
html body.home-landing .mobile-route-card.is-invalid .mobile-route-card__field,
html body.home-landing .mobile-route-card__field:has(.mobile-route-card__input.is-invalid){
  border-color:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.14);
}
