/* Only public customer documents opt in. The package-creation app owns its own tokens, type, form sizing, focus and modal surface in moveka-package-creation.css. Merchant booking retains its own presentation. */
body.public-booking:not(.package-creation-app) { --express-primary: #006653; --express-primary-strong: #004F41; --express-primary-subtle: #EAF5F1; --express-heading: #212B36; --express-text: #52606D; --express-muted: #52606D; --express-border: #E6EAED; --express-surface: #FEFEFE; font-size: 16px; }
.public-booking:not(.package-creation-app) .express-brand { color: #212B36 !important; font-family: "Bricolage Grotesque", "Nunito", sans-serif; letter-spacing: -.04em; font-size: 1.875rem; font-weight: 800; }
.public-booking:not(.package-creation-app) h1, .public-booking:not(.package-creation-app) h2, .public-booking:not(.package-creation-app) h3 { font-family: "Bricolage Grotesque", "Nunito", sans-serif; }
.public-booking .express-journey__task { box-shadow: none; }
.public-booking .express-service-task { border: 0; padding: 0; background: transparent; }
.public-booking .express-service-option { border: 1px solid #E6EAED; border-radius: 12px; background: white; box-shadow: none; }
.public-booking .express-service-option:hover, .public-booking .express-service-option:focus-visible { border-color: #006653; background: #F6FAF8; }
.public-booking .express-service-option__icon { color: #006653; background: #EAF5F1; }
.public-booking .express-service-option__heading strong { font-family: "Bricolage Grotesque", "Nunito", sans-serif; }
.public-booking .express-service-option__action { color: #006653; background:transparent; border:1px solid #D9E3DE; }
.public-booking:not(.package-creation-app) .form-control, .public-booking:not(.package-creation-app) .form-select { font-size: 1rem; }
.public-booking:not(.package-creation-app) .form-text { font-size: 1rem; color: #52606D; }
.public-booking:not(.package-creation-app) :focus-visible, .public-tracking :focus-visible { outline: 3px solid #006653; outline-offset: 3px; }
.public-booking:not(.package-creation-app) .modal-content, .public-booking:not(.package-creation-app) .modal-header, .public-booking:not(.package-creation-app) .modal-body, .public-booking:not(.package-creation-app) .modal-footer { background: #F9FAFB; }
body.public-tracking { --tracking-primary: #006653; --tracking-primary-strong: #004F41; --tracking-success: #006653; font-family: "Nunito", sans-serif; font-size: 16px; color: #212B36; }
.public-tracking h1, .public-tracking h2, .public-tracking .tracking-hero { font-family: "Bricolage Grotesque", "Nunito", sans-serif; }
.public-tracking .public-tracking-header { position: fixed; top: 0; left: 0; right: 0; height: 64px; padding: 0 24px; background: white; border-bottom: 1px solid #E6EAED; display: flex; align-items: center; z-index: 1050; }
.public-tracking .public-tracking-header .homepage-brand { color: #212B36; }
.public-tracking .tracking-shell { top: 64px; min-height: calc(100dvh - 64px); }
.public-tracking .tracking-recenter { top: calc(76px + env(safe-area-inset-top)); }
.public-tracking .tracking-eta { background: #EAF5F1 !important; }
.public-tracking .tracking-sheet { background: white; }
.public-tracking .modal-content, .public-tracking .modal-header, .public-tracking .modal-body, .public-tracking .modal-footer { background: #F9FAFB; }
.public-tracking .moveka-code-input { min-height: 56px; font-size: 1.5rem; }
@media (max-width: 767.98px) {
 .public-booking .express-service-option { padding: 20px 16px; }
 .public-booking .express-service-option__description, .public-booking .express-service-option__area, .public-booking .express-service-option__features { font-size: 1rem; }
 .public-booking .express-header__identity > strong { font-size: 1rem; }
 .public-tracking .public-tracking-header { padding: 0 16px; }
}
/* Replace the supplied map frame's bright action and purple help accents. */
[data-color="chromeyellow"] .public-tracking .btn.btn-primary,
[data-color="chromeyellow"] .public-tracking .avatar.bg-primary,
[data-color="chromeyellow"] .public-tracking .avatar.bg-success { background: #006653 !important; border-color: #006653 !important; color: white !important; }
[data-color="chromeyellow"] .public-tracking .btn.btn-primary:hover { background: #004F41 !important; border-color: #004F41 !important; }
.public-tracking .tracking-eta { border-color: #D8E9E2 !important; box-shadow: none; }
.public-tracking .form-text { color: #52606D !important; font-size: 1rem; }
[data-color="chromeyellow"] .public-tracking .btn-outline-primary { border-color: #006653 !important; color: #006653 !important; }
[data-color="chromeyellow"] .public-tracking .btn-outline-primary:hover { background: #006653 !important; color: white !important; }
.public-tracking .btn { min-height: 44px; }

/* E2's current-stage summary replaces the seven cramped labels on mobile. */
.public-booking-progress { display:none; }
.public-booking .public-booking-help { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:#006653; }
.public-booking .public-booking-help i { font-size:1.5rem; }
.public-booking .express-header__help-icon,.public-booking .express-header__help { display:none; }
@media (max-width:767.98px) {
 .public-booking .express-service-journey .express-journey__progress { padding:20px 24px 28px; background:white; border:0; }
 .public-booking-progress { display:block; margin:0 0 14px; color:#52606D; }
 .public-booking-progress strong { color:#212B36; }
 .public-booking .express-service-journey .express-journey__progress ol { display:flex; justify-content:space-between; gap:0; }
 .public-booking .express-service-journey .express-progress-step { flex:1; min-width:0; position:relative; display:block; }
 .public-booking .express-service-journey .express-progress-step:last-child { flex:0 0 18px; }
 .public-booking .express-service-journey .express-progress-step>span,
 .public-booking .express-service-journey .express-progress-step.is-current>span,
 .public-booking .express-service-journey .express-progress-step.is-future:has(.express-progress-step__content>small)>span { padding:0; min-height:18px; display:block; }
 .public-booking .express-service-journey .express-progress-step__content { display:none; }
 .public-booking .express-service-journey .express-progress-step__marker { display:block; width:16px; height:16px; min-width:16px; font-size:0; background:#DAE1E6; border:0; position:relative; z-index:1; margin:0; }
 .public-booking .express-service-journey .express-progress-step.is-current .express-progress-step__marker { background:#006653; }
 .public-booking .express-service-journey .express-progress-step:not(:last-child)::after { content:""; position:absolute; left:20px; right:4px; width:auto; height:1px; border:0; top:8px; background:#DAE1E6; }
 .public-booking .express-service-journey .express-progress-step::before { display:none; }
 .public-booking .express-header__identity { gap:14px; }
 .public-booking .express-header__identity>.express-brand { font-size:1.5rem; }
 .public-booking .express-header__identity>strong { font-size:.875rem; }
 .public-booking .public-booking-help i { display:none; }
 .public-booking .express-header__inner { gap:10px; }
 .public-booking .express-header[data-active-stage="service"] .express-header__actions { display:flex; }
 .public-booking .express-header[data-active-stage="service"] .express-header__identity { flex:1; justify-content:flex-start; }
 .public-booking .express-service-option__action { margin-top:12px; }
}

/* H: keep the area map visible and the status sheet flat. */
.public-tracking .tracking-sheet { border-radius:24px 24px 0 0; bottom:0; width:min(100%,600px); }
.public-tracking .tracking-sheet__scroll { padding:12px 28px 24px; }
.public-tracking .tracking-sheet.is-minimum .tracking-sheet__scroll { overflow-y:auto; padding-bottom:16px; }
.public-tracking .tracking-sheet.is-minimum .tracking-details { display:none; }
.public-tracking .tracking-status { font-size:1.5rem; line-height:1.2; margin-bottom:8px; }
.public-tracking .public-tracking-state { color:#006653; font-size:1.0625rem; margin:0 0 4px; }
.public-tracking .public-tracking-eta { color:#52606D; margin:0 0 24px; }
.public-tracking-timeline { list-style:none; padding:0; margin:20px 0; }
.public-tracking-timeline li { position:relative; display:flex; gap:18px; padding:0 0 24px; }
.public-tracking-timeline li:not(:last-child)::after { content:""; position:absolute; left:14px; top:34px; bottom:6px; width:1px; background:#CADBD4; }
.public-tracking-timeline li:last-child { padding-bottom:0; }
.public-tracking-timeline__marker { display:grid; place-items:center; flex:0 0 30px; height:30px; border:2px solid #BECAD6; border-radius:50%; }
.public-tracking-timeline .is-done .public-tracking-timeline__marker { background:#006653; border-color:#006653; color:white; }
.public-tracking-timeline .is-current .public-tracking-timeline__marker { border-color:#006653; }
.public-tracking-timeline .is-current .public-tracking-timeline__marker::after { content:""; width:18px; height:18px; background:#006653; border-radius:50%; }
.public-tracking-timeline p { color:#52606D; margin:6px 0 0; }
.public-tracking .public-tracking-contact { display:flex; align-items:center; gap:14px; border-top:1px solid #E6EAED; padding:18px 0; color:#006653; }
.public-tracking .tracking-details-toggle { position:static; margin:0; padding:0; background:white; }
.public-tracking .tracking-details-toggle button { pointer-events:auto; min-height:48px; display:flex; align-items:center; justify-content:center; gap:24px; }
.public-tracking .tracking-details-toggle--less { padding:20px 0 0; }
@media (min-width:768px) { .public-tracking .tracking-sheet { left:32px; transform:none; bottom:24px; border-radius:16px; width:440px; } }
