/* Owner-editable presentation. Only safe variables and visual selectors live here. */
:is(.staff-surface,.customer-surface).theme{--accent:var(--theme-accent);--primary:var(--theme-accent);--wine-plum:var(--theme-accent);--brand-plum:var(--theme-accent);--brand-mauve:var(--theme-page);--app-background:var(--theme-page);--surface-raised:var(--theme-section)}
.customer-surface.theme{color:var(--theme-body-text)}
.customer-surface.theme h1,.customer-surface.theme h2,.customer-surface.theme h3,.customer-surface.theme h4,.customer-surface.theme h5{color:var(--theme-heading-text)}
.customer-surface.theme .eyebrow,.customer-surface.theme .event-kicker,.customer-surface.theme .more-group-title,.customer-surface.theme label,.customer-surface.theme legend{color:var(--theme-label-text)!important}
.customer-surface.theme .account-greeting .eyebrow{color:#6e3f59!important}
:is(.staff-surface,.customer-surface).font-modern{--font-heading:'Poppins',system-ui,sans-serif;--font-body:'Inter',system-ui,sans-serif}
.customer-surface.theme{font-family:var(--font-body)}
.customer-surface.theme :is(h1,h2,h3,h4,h5,h6,button,.button-link,.primary-action,.form-button,.guest-button,.more-sign-in,.deal-link,.eyebrow,label,legend){font-family:var(--font-heading)}
.customer-surface.theme button,.customer-surface.theme .button-link,.customer-surface.theme .primary-action,.customer-surface.theme .form-button,.customer-surface.theme .more-sign-in,.customer-surface.theme .deal-link{color:var(--theme-button-text)}
.customer-surface.theme .main-sections a,.customer-surface.theme .mobile-bottom-nav a,.customer-surface.theme .organization-footer nav a,.customer-surface.theme .preview-navigation{color:var(--theme-navigation-text)}
.customer-surface.theme .cocoon{background:var(--theme-page)}
.customer-surface.theme .home-section,.customer-surface.theme .feature-card,.customer-surface.theme .panel,.customer-surface.theme .account-card{background-color:var(--theme-section)}
:is(.staff-surface,.customer-surface).font-classic{--font-heading:Georgia,serif;--font-body:Georgia,serif}
:is(.staff-surface,.customer-surface).font-clean{--font-heading:'Inter',Arial,sans-serif;--font-body:'Inter',Arial,sans-serif}
:is(.staff-surface,.customer-surface).font-friendly{--font-heading:'Nunito',system-ui,sans-serif;--font-body:'Nunito','Inter',system-ui,sans-serif}
:is(.staff-surface,.customer-surface).font-rounded{--font-heading:'Quicksand','Nunito',system-ui,sans-serif;--font-body:'Nunito','Inter',system-ui,sans-serif}
:is(.staff-surface,.customer-surface).font-serif{--font-heading:'Playfair Display',Georgia,serif;--font-body:'Lora',Georgia,serif}
:is(.staff-surface,.customer-surface).font-literary{--font-heading:'Merriweather',Georgia,serif;--font-body:'Merriweather',Georgia,serif}
:is(.staff-surface,.customer-surface).font-editorial{--font-heading:'Lora',Georgia,serif;--font-body:'Inter',system-ui,sans-serif}
:is(.staff-surface,.customer-surface).font-handwritten{--font-heading:'Caveat','Comic Sans MS',cursive;--font-body:'Inter',system-ui,sans-serif}
:is(.staff-surface,.customer-surface).font-script{--font-heading:'Pacifico','Brush Script MT',cursive;--font-body:'Inter',system-ui,sans-serif}
:is(.staff-surface,.customer-surface).font-display{--font-heading:'Bebas Neue','Arial Narrow',sans-serif;--font-body:'Inter',system-ui,sans-serif}
.customer-surface.font-handwritten button,.customer-surface.font-handwritten .button-link,.customer-surface.font-handwritten .primary-action,
.customer-surface.font-script button,.customer-surface.font-script .button-link,.customer-surface.font-script .primary-action,
.customer-surface.font-display button,.customer-surface.font-display .button-link,.customer-surface.font-display .primary-action{font-family:'Inter',system-ui,sans-serif}
.customer-surface.scale-compact{font-size:14px}.customer-surface.scale-large{font-size:18px}
.customer-surface.heading-soft h1,.customer-surface.heading-soft h2,.customer-surface.heading-soft h3{font-weight:600;letter-spacing:0}
.customer-surface.heading-editorial h1,.customer-surface.heading-editorial h2,.customer-surface.heading-editorial h3{font-family:Georgia,serif;font-style:italic}
.customer-surface.heading-uppercase h1,.customer-surface.heading-uppercase h2,.customer-surface.heading-uppercase h3{text-transform:uppercase;letter-spacing:.04em}
.customer-surface.buttons-rounded :is(button,.button-link,.primary-action,.form-button,.guest-button,.more-sign-in,.deal-link){border-radius:12px}
.customer-surface.buttons-square :is(button,.button-link,.primary-action,.form-button,.guest-button,.more-sign-in,.deal-link){border-radius:2px}
:is(.staff-surface,.customer-surface).radius-small{--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px}
:is(.staff-surface,.customer-surface).radius-large{--radius-xs:16px;--radius-sm:22px;--radius-md:30px;--radius-lg:42px}
:is(.staff-surface,.customer-surface).shadows-none{--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--box-shadow:none}
:is(.staff-surface,.customer-surface).shadows-strong{--shadow-sm:0 6px 18px rgba(49,77,90,.2);--shadow-md:0 18px 42px rgba(49,77,90,.28);--shadow-lg:0 28px 70px rgba(49,77,90,.34);--box-shadow:var(--shadow-md)}
.customer-surface.cards-outlined .home-destination-card,.customer-surface.cards-outlined .feature-card{box-shadow:none;border:2px solid var(--theme-accent)}
.customer-surface.cards-elevated .home-destination-card,.customer-surface.cards-elevated .feature-card{box-shadow:var(--shadow-lg)}
.customer-surface.cards-flat .home-destination-card,.customer-surface.cards-flat .feature-card{box-shadow:none;border:0}
:is(.staff-surface,.customer-surface).spacing-compact{--space-2:.4rem;--space-3:.7rem;--space-4:1rem;--space-5:1.4rem;--space-6:2rem}
:is(.staff-surface,.customer-surface).spacing-airy{--space-2:.85rem;--space-3:1.3rem;--space-4:1.8rem;--space-5:2.7rem;--space-6:4rem}
.customer-surface.spacing-compact :is(.home-section,.feature-card,.preview-content-box){margin-block:.9rem}
.customer-surface.spacing-airy :is(.home-section,.feature-card,.preview-content-box){margin-block:3.5rem}
.customer-surface.spacing-compact :is(.home-destination-grid,.feature-grid,.preview-grid){gap:.65rem}
.customer-surface.spacing-airy :is(.home-destination-grid,.feature-grid,.preview-grid){gap:1.8rem}
:is(.staff-surface,.customer-surface).season-spring{--season-accent:#6f3c5c;--season-highlight:#d7a6bc;--season-wash:rgba(215,166,188,.2);--season-border:#789b82}
:is(.staff-surface,.customer-surface).season-summer{--season-accent:#126b72;--season-highlight:#e5b83f;--season-wash:rgba(229,184,63,.2);--season-border:#4f8587}
:is(.staff-surface,.customer-surface).season-autumn{--season-accent:#93492f;--season-highlight:#d29a54;--season-wash:rgba(210,154,84,.2);--season-border:#a35e43}
:is(.staff-surface,.customer-surface).season-winter{--season-accent:#426f83;--season-highlight:#a8cbd8;--season-wash:rgba(168,203,216,.22);--season-border:#6f94a5}

::selection{background:var(--theme-highlight,var(--accent-soft))}

/* Frame settings never modify the uploaded asset. Shared by customer images and preview. */
.appearance-image-frame{position:relative;overflow:hidden;isolation:isolate}
.appearance-image-frame > img{position:absolute!important;display:block;width:var(--image-size,100%)!important;height:var(--image-size,100%)!important;max-width:none!important;max-height:none!important;left:var(--image-left,0%);top:var(--image-top,0%);object-fit:var(--image-fit,cover)!important;object-position:var(--image-x,50%) var(--image-y,50%)!important;transform:none!important;transition:none!important;border-radius:0!important;filter:none!important}
.customer-surface.theme .home-destination-card > .appearance-image-frame{position:absolute;inset:0}

/* Per-surface foregrounds retain contrast without discarding saved color choices. */
:is(.staff-surface,.customer-surface).theme{--border-color:var(--theme-border);--text-heading:var(--theme-on-page-heading);--text-body:var(--theme-on-page-body);--text-label:var(--theme-on-page-label);font-size:var(--theme-body-size,16px);color:var(--text-body)}
.customer-surface.theme :is(.home-section,.deal-card,.preview-deal,.preview-special,.preview-featured){--text-heading:var(--theme-on-section-heading);--text-body:var(--theme-on-section-body);--text-label:var(--theme-on-section-label);background:var(--theme-section);color:var(--text-body);border-color:var(--theme-border)}
.customer-surface.theme :is(.panel,.account-card,.content-box,.product-card,.event-card,.bar-info-card){--text-heading:var(--theme-on-content-heading);--text-body:var(--theme-on-content-body);--text-label:var(--theme-on-content-label);background:var(--theme-content-background);color:var(--text-body);border-color:var(--theme-border)}
.customer-surface.theme :is(.feature-card){--text-heading:var(--theme-on-feature-heading);--text-body:var(--theme-on-feature-body);--text-label:var(--theme-on-feature-label);background:var(--theme-feature-background);color:var(--text-body);border-color:var(--theme-border)}
.customer-surface.theme :is(h1,h2,h3,h4,h5,h6){color:var(--text-heading);overflow-wrap:anywhere;line-height:1.25}
.customer-surface.theme h1{font-size:calc(clamp(28px,4vw,36px) * var(--theme-heading-size,1))}
.customer-surface.theme h2{font-size:calc(clamp(22px,3vw,28px) * var(--theme-heading-size,1))}
.customer-surface.theme h3{font-size:calc(20px * var(--theme-heading-size,1))}
.customer-surface.theme :is(h4,h5,h6){font-size:calc(18px * var(--theme-heading-size,1))}
.customer-surface.theme :is(p,li,textarea,select,input:not([type=checkbox]):not([type=radio]):not([type=range])){font-size:var(--theme-body-size,16px);overflow-wrap:anywhere}
.customer-surface.theme :is(small,.eyebrow,.event-kicker,.more-group-title,label,legend,.safe-note){font-size:var(--theme-label-size,12px);line-height:1.45;overflow-wrap:anywhere}
.customer-surface.theme :is(.eyebrow,.event-kicker,.more-group-title,label,legend){color:var(--text-label)!important}
.customer-surface.theme :is(button:not(.wallet-button):not(.payment-method-tab):not(.tip-option),.button-link,.primary-action,.form-button,.more-sign-in,.deal-link){background:var(--theme-button-background);color:var(--theme-on-button);border-color:var(--theme-border);font-size:var(--theme-button-size,16px);white-space:normal;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box;height:auto;line-height:1.4}
.customer-surface.theme :is(.main-sections,.mobile-bottom-nav,.preview-navigation){background:var(--theme-navigation-background);border-color:var(--theme-border);color:var(--theme-on-navigation)}
.customer-surface.theme :is(.main-sections a,.mobile-bottom-nav a,.preview-navigation span){color:var(--theme-on-navigation);font-size:var(--theme-navigation-size,13px);white-space:normal;overflow-wrap:anywhere;min-width:0;line-height:1.3}
.customer-surface.theme :is(.main-sections a,.mobile-bottom-nav a,.preview-navigation span)[aria-current='page']{background:var(--theme-navigation-active);color:var(--theme-on-active-navigation)}
.customer-surface.theme :is(.main-sections a,.mobile-bottom-nav a) svg{color:inherit}
.customer-surface.theme :is(.home-destination-overlay strong,.preview-grid strong){font-size:calc(17px * var(--theme-heading-size,1));overflow-wrap:anywhere}
.customer-surface.theme .home-destination-overlay{color:#fff}
.customer-surface.theme .home-destination-overlay small{color:inherit}
.customer-surface.theme :is(.panel,.account-card,.hero-card,.feature-card,.home-destination-card,.preview-grid article) > *{min-width:0}
.customer-surface.theme :is(input,select,textarea){max-width:100%;box-sizing:border-box}
.customer-surface.theme :is(.home-destination-grid,.preview-grid){min-width:0}
@media(max-width:650px){
  .customer-surface.theme :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:max(16px,var(--theme-body-size,16px))}
  .customer-surface.theme .home-destination-card{max-height:none}
}

/* Allow long titles and larger labels to increase tile height instead of clipping. */
.customer-surface.theme .home-destination-card{display:grid;grid-template-columns:minmax(0,1fr);aspect-ratio:auto;max-height:none}
.customer-surface.theme .home-destination-overlay{position:relative;grid-area:1 / 1;align-self:end;margin-top:0}
.customer-surface.theme .home-destination-image-strip,.customer-surface.theme .home-destination-brand-art{position:absolute;inset:0}

.customer-surface.theme :is(.hero-card,.preview-hero){--text-heading:var(--theme-on-hero-heading);--text-body:var(--theme-on-hero-body);--text-label:var(--theme-on-hero-label);background:var(--theme-hero-background);color:var(--text-body);border-color:var(--theme-border)}
.customer-surface.theme :is(.home-destination-card,.preview-grid article){background:var(--theme-home-card-background);border-color:var(--theme-border)}
.customer-surface.theme .main-sections a:not([aria-current='page']){background:transparent;border-color:var(--theme-border)}
.customer-surface.theme :is(.hero-card,.feature-card,.panel,.account-card) > p{color:var(--text-body)}
.customer-surface.theme .feature-card .status-pill,
.customer-surface.theme .feature-card .safe-note{color:var(--text-body)!important}
.customer-surface.theme .offer-promo-image{width:100%;max-width:420px;margin:0 auto .75rem;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-md);background:var(--theme-feature-background)}
.customer-surface.theme .offer-promo-image img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain!important}
.customer-surface.theme .today-special-image{width:100%;aspect-ratio:16 / 9;min-height:0;background:var(--theme-section,var(--theme-page));overflow:hidden}
.customer-surface.theme .today-special-image > img{object-fit:contain!important;left:0;top:0;width:100%!important;height:100%!important}
.customer-surface.theme .today-special-carousel{display:grid;place-items:center;background:var(--theme-section,var(--theme-page));aspect-ratio:16 / 9;overflow:hidden}
.customer-surface.theme .today-special-carousel img{grid-area:1 / 1;display:block;width:100%;height:100%;object-fit:contain!important}
.customer-surface.theme .today-special-carousel img.is-hidden{display:none}
.customer-surface.theme :is(.today-special-image,.today-special-carousel){height:auto;aspect-ratio:auto;overflow:visible}
.customer-surface.theme .today-special-carousel{display:block}
.customer-surface.theme :is(.today-special-image,.today-special-carousel) img{position:static!important;display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
.customer-surface.theme .brews-offers .home-perk-card :is(strong,h3,p){color:var(--theme-feature-text)!important}
.customer-surface.theme .rewards-signin-card{background:var(--theme-rewards-signin-background,var(--theme-content-background))}
.customer-surface.theme :is(input,select,textarea,fieldset,.payment-method-tab){border-color:var(--theme-border)}
.customer-surface.theme .payment-method-tab{font-size:var(--theme-button-size,16px);white-space:normal;overflow-wrap:anywhere;height:auto;line-height:1.4;min-width:0}

/* Feature tiles keep artwork unobstructed and place copy below the image. */
.customer-surface.theme .home-destination-card{display:flex;flex-direction:column;aspect-ratio:auto;overflow:visible}
.customer-surface.theme .home-destination-card > .appearance-image-frame,
.customer-surface.theme .home-destination-card > .home-destination-image-strip,
.customer-surface.theme .home-destination-card > .home-destination-brand-art{position:relative;inset:auto;flex:none;width:100%;height:auto;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden}
.customer-surface.theme .home-destination-overlay{display:none!important}
.customer-surface.theme .home-destination-card--events::after{display:none!important}
.customer-surface.theme .home-destination-copy{display:block;padding:.75rem .25rem .5rem;color:var(--text-body);overflow-wrap:anywhere}
.customer-surface.theme .home-destination-copy strong,.customer-surface.theme .home-destination-copy small{display:block}
.customer-surface.theme .home-destination-copy strong{color:var(--text-heading);font-size:calc(17px * var(--theme-heading-size,1));line-height:1.25}
.customer-surface.theme .home-destination-copy small{margin-top:.2rem;color:var(--text-body);font-size:var(--theme-label-size,12px);line-height:1.35}
@media(max-width:650px){.customer-surface.theme .home-destination-grid{row-gap:2.5rem}.customer-surface.theme .home-destination-copy{padding:.75rem .25rem .5rem}}
.customer-surface.theme .home-destination-image img,
.customer-surface.theme .home-destination-image-strip img{filter:none!important;object-fit:contain!important;background:var(--theme-page);transform:none!important}
.customer-surface.theme .home-destination-card:hover img{transform:none!important}
.customer-surface.theme .home-destination-image-strip{height:auto!important}
.customer-surface.theme .home-destination-image,
.customer-surface.theme .home-destination-image-strip,
.customer-surface.theme .home-destination-image img,
.customer-surface.theme .home-destination-image-strip img{background:inherit!important}

/* Keep the signed-out welcome card readable across seasonal themes. */
.customer-surface.theme .welcome-card :is(.eyebrow,h1){color:#4b2638!important}
.customer-surface.theme .welcome-card .welcome-copy,
.customer-surface.theme .welcome-card .welcome-note{color:#314d5a!important}
.customer-surface.theme .welcome-card .form-button{background:#6e3f59!important;color:#f5f0ec!important;border-color:#6e3f59!important}
.customer-surface.theme .welcome-card .guest-button{background:#f5f0ec!important;color:#4b2638!important;border:2px solid #4b2638!important}

.customer-surface.theme .home-page .feature-grid,.customer-surface.theme .home-page .home-perks-grid{gap:1rem}
.customer-surface.theme .home-page .feature-card,.customer-surface.theme .home-page .home-perk-card{box-sizing:border-box;padding:1rem;border-radius:var(--radius-md)}
.customer-surface.theme .home-page .offer-promo-image{margin-bottom:.75rem}

/* The homepage special occupies one feature-grid tile; Coupons retains full flyer sizing. */
.customer-surface.theme .home-special-card{min-width:0;border-radius:var(--radius-md);background:var(--theme-home-card-background);box-shadow:var(--box-shadow)}
.customer-surface.theme .home-special-card .today-special-carousel{display:grid;width:100%;height:auto;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-md)}
.customer-surface.theme .home-special-card .today-special-carousel img{grid-area:1 / 1;min-width:0;min-height:0;width:100%!important;height:100%!important;object-fit:contain!important}
.customer-surface.theme .home-special-card .feature-card{margin:0;box-shadow:none}

/* Item details are content surfaces, independent of the page behind the modal. */
.customer-surface.theme .modal {
  --text-heading:var(--theme-on-content-heading);
  --text-body:var(--theme-on-content-body);
  --text-label:var(--theme-on-content-label);
  --surface:var(--theme-modal-background);
  --surface-soft:var(--theme-modal-info-background);
  background:var(--theme-modal-background);
  color:var(--theme-on-modal-body);
}
.customer-surface.theme .modal .allergen-information {
  --text-heading:var(--theme-on-section-heading);
  --text-body:var(--theme-on-section-body);
  --text-label:var(--theme-on-section-label);
  background:var(--theme-modal-info-background);
  color:var(--theme-on-modal-info-body);
}
.customer-surface.theme .modal :is(p,small,.product-description,.product-availability,.product-sold-out,.modifier-group-description,.modifier-group-rule,.modifier-group-error,.modifier-option-description,.modifier-option-price,.green) { color:var(--theme-on-modal-body); }
.customer-surface.theme .modal :is(.product-title,.productCost,.modifier-group-title,.allergen-information h3) { color:var(--theme-on-modal-heading); }
.customer-surface.theme .modal :is(select,input:not([type=radio]):not([type=checkbox]),.modifier-option,.variation-option) { background:var(--theme-modal-background);color:var(--theme-on-modal-body); }
.customer-surface.theme .modal :is(.modifier-option,.variation-option):has(input:checked) { background:var(--theme-modal-info-background); }
.customer-surface.theme .modal .close { background:var(--theme-modal-background);color:var(--theme-on-modal-body); }

.customer-surface.theme .modal :is(.variation-option.is-sold-out,.product-purchase:disabled) { opacity:1; }
.customer-surface.theme .modal .image-placeholder { color:var(--theme-on-section-body); }
.customer-surface.theme .modal .modifier-option :is(label,legend) { color:var(--theme-on-modal-body)!important; }

/* Rewards' dark purple surfaces share one fixed, readable foreground. */
.customer-surface.theme:has(.rewards-page){--rewards-surface-text:#ffffff}
.customer-surface.theme .rewards-page :is(.account-card,.hero-card){--text-heading:var(--rewards-surface-text);--text-body:var(--rewards-surface-text);--text-label:var(--rewards-surface-text);color:var(--rewards-surface-text)}
.customer-surface.theme .rewards-page :is(h1,h2,h3,.hero-card strong,.hero-card span,.hero-card p,.account-reward-row strong,.account-reward-row small,.account-reward-row a,.account-supporting-copy,.rewards-activity-list small,.rewards-activity-date,.account-nav a.active){color:var(--rewards-surface-text)}
.customer-surface.theme:has(.rewards-page) :is(.main-sections,.mobile-bottom-nav) a[href='/account/rewards'][aria-current='page']{color:var(--rewards-surface-text)}
.customer-surface.theme .rewards-page .account-reward-row{background:transparent}

/* Order surfaces bridge legacy slate tokens to one readable foreground. */
.customer-surface.theme{--order-flow-text:#ffffff;--order-flow-surface:var(--theme-content-background,#5a3b52);--order-flow-selected:#332334}
.customer-surface.theme .catalog-source{color:var(--order-flow-text)}
.customer-surface.theme :is(.customer-cart,.checkout-fulfillment-step,.pickup-details-step),
.customer-surface.theme :is(.checkout-fulfillment-step,.pickup-details-step) .panel{--neutral-gray:var(--order-flow-text);--dark-gray:var(--order-flow-text);--ink:var(--order-flow-text);--text-heading:var(--order-flow-text);--text-body:var(--order-flow-text);--text-label:var(--order-flow-text);color:var(--order-flow-text)}
.customer-surface.theme .order-layout .customer-cart,
.customer-surface.theme #customer-cart :is(.cart-toggle,.cart-line-actions button){background:var(--order-flow-surface);color:var(--order-flow-text)}
.customer-surface.theme .customer-cart :is(.cart-toggle-title,.cart-summary,.cart-toggle-icon,.cart-line-label,.cart-line-actions,.cart-total,#cart-empty,#cart-status){color:var(--order-flow-text)}
.customer-surface.theme .customer-cart .cart-line-actions button:disabled{color:var(--order-flow-text);opacity:.65}
.customer-surface.theme :is(.checkout-fulfillment-step,.pickup-details-step) :is(.panel-title,.panel-help,.pickup-choice-heading,.subtext,.safe-note,summary){color:var(--order-flow-text)}
.customer-surface.theme :is(.checkout-fulfillment-step,.pickup-details-step) :is(.dropdown,.dropdown option,.panel-input,.time-option,.vehicle-color-option){background:var(--order-flow-surface);color:var(--order-flow-text);-webkit-text-fill-color:var(--order-flow-text)}
.customer-surface.theme :is(.checkout-fulfillment-step,.pickup-details-step) .panel-input::placeholder{color:var(--order-flow-text);opacity:.8}
.customer-surface.theme .pickup-details-step input[type=radio]:checked + .time-option{background:var(--order-flow-selected);color:var(--order-flow-text);border-color:var(--order-flow-text);box-shadow:inset 0 0 0 1px var(--order-flow-text)}
.customer-surface.theme .checkout-fulfillment-step .caret-button{fill:var(--order-flow-text)}
.customer-surface.theme:has(.cafe-page,.checkout-fulfillment-step,.pickup-details-step) :is(.organization-footer,.brand-subtitle){background:var(--order-flow-surface);color:var(--order-flow-text)}
.customer-surface.theme:has(.cafe-page,.checkout-fulfillment-step,.pickup-details-step) .organization-footer :is(a,strong,span,address){color:var(--order-flow-text)}
.customer-surface.theme .pickup-details-step .account-secondary{background:var(--order-flow-surface)!important;color:var(--order-flow-text)!important;border:1px solid var(--order-flow-text)!important}

/* Native autofill highlights must not inherit the white-on-plum text fill. */
.customer-surface.theme :is(.checkout-step,.checkout-grid) :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),textarea,select):focus {
  background:#e8f0fe;color:#172b3a;-webkit-text-fill-color:#172b3a;caret-color:#172b3a;
  outline:2px solid #fff;outline-offset:2px;
}
.customer-surface.theme :is(.checkout-step,.checkout-grid) input:-webkit-autofill,
.customer-surface.theme :is(.checkout-step,.checkout-grid) input:-webkit-autofill:hover,
.customer-surface.theme :is(.checkout-step,.checkout-grid) input:-webkit-autofill:focus,
.customer-surface.theme :is(.checkout-step,.checkout-grid) textarea:-webkit-autofill,
.customer-surface.theme :is(.checkout-step,.checkout-grid) select:-webkit-autofill {
  color:#172b3a!important;-webkit-text-fill-color:#172b3a!important;caret-color:#172b3a!important;
  -webkit-box-shadow:0 0 0 1000px #e8f0fe inset!important;box-shadow:0 0 0 1000px #e8f0fe inset!important;
}
.customer-surface.theme :is(.checkout-step,.checkout-grid) :is(input,textarea,select):autofill {
  color:#172b3a!important;-webkit-text-fill-color:#172b3a!important;caret-color:#172b3a!important;
  box-shadow:0 0 0 1000px #e8f0fe inset!important;
}
.customer-surface.theme :is(.checkout-step,.checkout-grid) :is(input,textarea)::selection {
  background:#b7d7ff;color:#172b3a;-webkit-text-fill-color:#172b3a;
}
.customer-surface.theme .checkout-grid .tip-selector > p { color:#fff; }

/* Checkout panels use light content surfaces. The order-flow bridge above is
 * intentionally plum/white for the catalog and cart, but must not leak its
 * white foreground into checkout panels or Safari's populated form values. */
.customer-surface.theme :is(.checkout-grid,.checkout-fulfillment-step,.pickup-details-step) .panel {
  --order-flow-text:#314d5a;
  --order-flow-surface:#fffdfb;
  --neutral-gray:#44586c;
  --dark-gray:#314d5a;
  --ink:#314d5a;
  --text-heading:#314d5a;
  --text-body:#314d5a;
  --text-label:#314d5a;
  color:#314d5a!important;
}
.customer-surface.theme :is(.checkout-grid,.checkout-fulfillment-step,.pickup-details-step) .panel :is(p,div,span,strong,small,li,label,legend,h3,h4,h5,h6) {
  color:#314d5a;
}
.customer-surface.theme :is(.checkout-grid,.checkout-fulfillment-step,.pickup-details-step) .panel :is(input,select,textarea) {
  color:#314d5a!important;
  -webkit-text-fill-color:#314d5a!important;
  background:#fffdfb;
}
.customer-surface.theme .checkout-grid .tip-selector > p { color:#314d5a!important; }

/* Fulfillment controls retain clear contrast after the order-flow theme bridge.
 * Keep the selected time readable on plum and use a native-width pickup type
 * select so the control remains usable on narrow Safari viewports. */
.customer-surface.theme :is(.checkout-fulfillment-step,.pickup-details-step) .time-option {
  background:#fffdfb!important;
  color:#314d5a!important;
  -webkit-text-fill-color:#314d5a!important;
  border-color:#6e3f59!important;
}
.customer-surface.theme :is(.checkout-fulfillment-step,.pickup-details-step) input[type=radio]:checked + .time-option {
  background:#6e3f59!important;
  color:#fffdfb!important;
  -webkit-text-fill-color:#fffdfb!important;
  border-color:#fffdfb!important;
  box-shadow:inset 0 0 0 1px #fffdfb!important;
}
.customer-surface.theme :is(.checkout-fulfillment-step,.pickup-details-step) select#pickup-mode {
  display:block;
  width:100%;
  min-height:52px;
  padding:.75rem 2.75rem .75rem .9rem;
  background:#fffdfb!important;
  color:#314d5a!important;
  -webkit-text-fill-color:#314d5a!important;
  border:2px solid #6e3f59!important;
  border-radius:10px;
  font-size:16px;
  line-height:1.3;
  -webkit-appearance:menulist;
  appearance:auto;
}
.customer-surface.theme :is(.checkout-fulfillment-step,.pickup-details-step) select#pickup-mode option {
  background:#fffdfb;
  color:#314d5a;
}

.customer-surface.theme :is(.checkout-step,.checkout-grid) :is(input,textarea):focus::placeholder {
  color:#44586c;-webkit-text-fill-color:#44586c;opacity:1;
}
