.altin-cart-toggle {
  min-height: 42px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #ffc400;
  border-radius: 9px;
  color: #090909;
  background: #ffc400;
  font: 900 12px/1 Inter, ui-sans-serif, system-ui, sans-serif;
  cursor: pointer;
  white-space: nowrap;
}
.altin-cart-toggle:hover, .altin-cart-toggle:focus-visible { background: #ffdc3e; outline: 2px solid #fff2b0; outline-offset: 2px; }
.altin-cart-toggle b { min-width: 22px; height: 22px; padding: 0 5px; display: grid; place-items: center; border-radius: 999px; color: #ffc400; background: #090909; font-size: 11px; }
body.altin-cart-open { overflow: hidden; }
.altin-cart-overlay { position: fixed; inset: 0; z-index: 1000; }
.altin-cart-scrim { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(0,0,0,.7); opacity: 0; transition: opacity 180ms ease; cursor: default; }
.altin-cart-drawer {
  position: absolute;
  top: 0;
  right: 0;
  width: min(520px, 100%);
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto;
  color: #fff8df;
  background: #0b0b0a;
  border-left: 1px solid rgba(255,196,0,.55);
  box-shadow: -18px 0 60px rgba(0,0,0,.5);
  transform: translateX(102%);
  transition: transform 190ms ease;
}
.altin-cart-overlay.is-open .altin-cart-scrim { opacity: 1; }
.altin-cart-overlay.is-open .altin-cart-drawer { transform: translateX(0); }
.altin-cart-drawer > header { min-height: 88px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid rgba(255,255,255,.12); }
.altin-cart-drawer > header span { color: #ffc400; font-size: 10px; font-weight: 950; letter-spacing: .13em; }
.altin-cart-drawer > header h2 { margin: 5px 0 0; font-size: 27px; line-height: 1; }
.altin-cart-drawer > header h2 b { color: #ffc400; font-size: .7em; }
.altin-cart-drawer > header button { width: 44px; height: 44px; border: 1px solid #4d493e; border-radius: 50%; color: #fff8df; background: transparent; font-size: 26px; cursor: pointer; }
.altin-cart-list { overflow-y: auto; padding: 16px 18px 24px; }
.altin-cart-line { padding: 14px 0; display: grid; grid-template-columns: 78px minmax(0,1fr) auto; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.1); }
.altin-cart-image { width: 78px; height: 78px; overflow: hidden; display: grid; place-items: center; border: 1px solid #37342e; border-radius: 12px; background: #1b1a17; }
.altin-cart-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.altin-cart-placeholder { color: #ffc400; font-size: 30px; }
.altin-cart-copy { min-width: 0; }
.altin-cart-kind { color: #ffc400; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.altin-cart-copy h3 { margin: 5px 0 4px; color: #fff8df; font-size: 16px; line-height: 1.25; }
.altin-cart-copy p { margin: 0 0 7px; color: #aaa492; font-size: 12px; line-height: 1.45; }
.altin-cart-copy strong { color: #ffc400; font-size: 15px; }
.altin-cart-actions { min-width: 92px; display: flex; align-items: flex-end; flex-direction: column; gap: 8px; }
.altin-cart-actions > b { margin-top: auto; color: #fff8df; font-size: 14px; }
.altin-cart-quantity { display: grid; grid-template-columns: 30px 30px 30px; align-items: center; border: 1px solid #4a473f; border-radius: 8px; overflow: hidden; }
.altin-cart-quantity button { width: 30px; height: 32px; border: 0; color: #090909; background: #ffc400; font-size: 19px; font-weight: 900; cursor: pointer; }
.altin-cart-quantity span { text-align: center; font-size: 13px; font-weight: 900; }
.altin-cart-remove { padding: 3px 0; border: 0; color: #aaa492; background: transparent; font-size: 9px; font-weight: 900; text-decoration: underline; cursor: pointer; }
.altin-cart-empty { margin: auto; max-width: 310px; padding: 40px 24px; display: grid; justify-items: center; text-align: center; }
.altin-cart-empty > span { color: #ffc400; font-size: 46px; }
.altin-cart-empty strong { margin-top: 12px; font-size: 20px; }
.altin-cart-empty p { color: #aaa492; line-height: 1.5; }
.altin-cart-drawer > footer { padding: 16px 20px 20px; border-top: 1px solid rgba(255,255,255,.12); background: #11110f; }
.altin-cart-drawer > footer > div { padding: 5px 0; display: flex; justify-content: space-between; gap: 20px; color: #aaa492; font-size: 13px; }
.altin-cart-drawer > footer > div strong { color: #fff8df; font-size: 16px; }
.altin-cart-drawer > footer .altin-cart-grand-total { margin: 7px 0 14px; padding-top: 12px; border-top: 1px solid #38352f; color: #fff8df; font-weight: 900; }
.altin-cart-drawer > footer .altin-cart-grand-total strong { color: #ffc400; font-size: 25px; }
.altin-cart-checkout { width: 100%; min-height: 52px; border: 1px solid #ffc400; border-radius: 10px; color: #090909; background: #ffc400; font-weight: 950; cursor: pointer; }
.altin-cart-clear { width: 100%; margin-top: 9px; padding: 8px; border: 0; color: #aaa492; background: transparent; font-size: 10px; font-weight: 900; cursor: pointer; }
@media (max-width: 680px) {
  .altin-cart-toggle { min-height: 38px; padding-inline: 10px; font-size: 10px; }
  .altin-cart-drawer { width: 100%; }
  .altin-cart-line { grid-template-columns: 66px minmax(0,1fr); }
  .altin-cart-image { width: 66px; height: 66px; }
  .altin-cart-actions { grid-column: 2; width: 100%; flex-direction: row; align-items: center; justify-content: space-between; }
  .altin-cart-actions > b { margin: 0 0 0 auto; }
}
@media (max-width: 420px) {
  .altin-cart-toggle { gap: 4px; font-size: 0; }
  .altin-cart-toggle > span { font-size: 16px; }
  .altin-cart-toggle b { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .altin-cart-scrim, .altin-cart-drawer { transition: none; }
}

/* Shared customer atmosphere. This sheet is loaded by customer pages only;
   the explicit body class also keeps administration and login outside the theme. */
body.customer-theme {
  --customer-text: #332b23;
  --customer-muted: #665849;
  --customer-gold: #76531d;
  --customer-line: #d3c5ab;
  --customer-card: #fffdf8;
  --customer-stone: linear-gradient(125deg, #faf7f0b8, #f6f1e7cc 52%, #efe8daba), url('/assets/builder-warm-stone.webp');
  color: var(--customer-text);
  background-color: #eee7dc;
  background-image: var(--customer-stone);
  background-size: auto, 760px 760px;
  background-repeat: no-repeat, repeat;
}
body.customer-theme :is(.topbar, .menu-topbar, .account-topbar) {
  background: #14120e; border-bottom-color: #705a31;
  box-shadow: 0 0 0 12px #14120e;
}
body.customer-theme #builder.builder-section,
body.customer-theme :is(.hero, .add-ons-section, .grill-builder, .business-section, .menu-hero, .menu-list) {
  color: var(--customer-text); background: transparent; border-color: var(--customer-line);
}
body.customer-theme:not(.grill-view):not(.branch-view):not(.about-view) .hero-intro {
  background: transparent; box-shadow: none;
}
body.customer-theme :is(.hero-intro h1, .section-heading h2, .grill-heading h2, .category-heading h2, .closing-strip, .business-intro h1) { color: var(--customer-text); }
body.customer-theme :is(.hero-intro .eyebrow, .step-kicker, .grill-heading span, .kicker, .category-heading span, .business-kicker, .business-back-link) { color: var(--customer-gold); }
body.customer-theme :is(.hero-copy > p, .grill-heading p, .menu-hero p, .category-heading small, .business-intro > p, .branch-visit p, .about-story > p, .about-signature p) { color: var(--customer-muted); }
body.customer-theme .section-heading { border-color: var(--customer-line); }
body.customer-theme #builder-modes button:not(.is-active),
body.customer-theme #builder-modes [data-builder-mode="grill"]:not(.is-active) { color: var(--customer-text); background: #fffaf0; border-color: #bdab8b; }
body.customer-theme #builder-modes button.is-active { color: #17120c; background: #ffc400; border-color: #b38726; }
body.customer-theme :is(.add-on-card, .product-card, .menu-count-card, .branch-info-card, .branch-visit, .branch-follow, .about-story) {
  color: var(--customer-text); background: var(--customer-card); border-color: var(--customer-line); box-shadow: 0 8px 24px #4838220e;
}
/* About page uses a light stone card; override the former dark-card text colors. */
body.customer-theme .about-story { font-family: "Altin Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
body.customer-theme .about-story h2,
body.customer-theme .about-story .about-facts dd,
body.customer-theme .about-story .about-facts a { color: var(--customer-text); }
body.customer-theme .about-story .about-facts dt { color: var(--customer-gold); }
body.customer-theme .about-story .about-facts > div { background: #fffaf0; border-color: var(--customer-line); }
body.customer-theme .about-story .about-signature { border-top-color: var(--customer-line); }
body.customer-theme #builder-modes { gap: 12px; margin-top: 24px; }
body.customer-theme #builder-modes button {
  min-height: 66px; padding: 14px 18px; border-radius: 14px;
  font-family: "Altin Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(12px, 1.25vw, 15px); font-weight: 800; line-height: 1.3;
  letter-spacing: .045em; box-shadow: 0 5px 14px #48382212;
}
body.customer-theme #builder-modes button:not(.is-active) { color: var(--customer-text); background: #fffaf0; border-color: #bdab8b; }
body.customer-theme #builder-modes button.is-active { color: #21190c; background: #ffc400; border-color: #b38726; box-shadow: 0 6px 16px #b3872633; }
body.customer-theme .nutrition-summary {
  padding: 14px; border-color: #b99a59; background: #fffaf0; box-shadow: 0 5px 16px #48382212;
}
body.customer-theme .nutrition-summary > div span,
body.customer-theme .nutrition-summary > strong { color: var(--customer-gold); font-size: 12px; }
body.customer-theme .nutrition-summary > div strong { color: var(--customer-text); font-size: 20px; }
body.customer-theme .nutrition-summary small,
body.customer-theme .nutrition-summary .nutrition-incomplete { color: var(--customer-muted); font-size: 12px; }
body.customer-theme #mobile-burger-nutrition,
body.customer-theme .grill-nutrition-compact {
  display: block; margin-top: 4px; color: #ffe28a; font-size: 11px; font-weight: 900;
  line-height: 1.3; letter-spacing: .025em; white-space: normal;
}
body.customer-theme #mobile-burger-nutrition[hidden],
body.customer-theme .grill-nutrition-compact[hidden] { display: none; }
body.customer-theme :is(.add-on-copy strong, .product-copy h3, .branch-info-card a, .branch-follow p, .about-signature strong) { color: var(--customer-text); }
body.customer-theme :is(.add-on-copy small, .product-copy p, .menu-count-card span, .menu-state, .no-results) { color: var(--customer-muted); }
body.customer-theme :is(.add-on-price, .product-copy strong, .menu-count-card small, .branch-info-card h2, .about-signature > span) { color: var(--customer-gold); }
body.customer-theme .add-on-card[data-quantity]:not([data-quantity="0"]) { background: #fff0c9; border-color: #b38726; box-shadow: inset 0 0 0 1px #b38726; }
body.customer-theme :is(.add-on-suggestions button, .business-button:not(.business-button-gold)) { color: var(--customer-gold); background: #fff8e8; border-color: #c3a66d; }
body.customer-theme .add-on-card .quantity-control { background: #f5efe3; border-color: var(--customer-line); }
body.customer-theme .add-on-card .quantity-button { color: var(--customer-text); background: var(--customer-card); border-color: #bdab8b; }
body.customer-theme .add-on-card .quantity-button:is(:hover, :focus-visible) { background: #ffc400; color: #17120c; }
body.customer-theme .add-on-card .quantity-control output { color: var(--customer-text); }
body.customer-theme .product-media { background: #f0e9dc; }
body.customer-theme .product-media > span:not(.featured-badge) { color: var(--customer-gold); }
body.customer-theme .menu-toolbar { background: #faf6eeed; border-color: var(--customer-line); }
body.customer-theme :is(.search-box, .category-nav button) { color: var(--customer-text); background: var(--customer-card); border-color: #bdab8b; }
body.customer-theme .search-box :is(input, span) { color: var(--customer-text); }
body.customer-theme .search-box input::placeholder { color: var(--customer-muted); }
body.customer-theme .category-nav button:is(:hover, :focus-visible) { color: #17120c; background: #ffc400; border-color: #b38726; }
body.customer-theme .category-nav .category-sign {
  color: #f7e7c6;
  border-color: #321b0e;
  background:
    repeating-linear-gradient(177deg, transparent 0 14px, rgba(255,220,156,.055) 15px, transparent 17px 30px),
    repeating-linear-gradient(4deg, transparent 0 31px, rgba(15,7,3,.18) 32px, transparent 34px 50px),
    linear-gradient(112deg, #4a2814 0%, #70401f 20%, #3a1d10 52%, #5c3218 78%, #32190e 100%);
  box-shadow: inset 0 1px 0 rgba(255,232,187,.3), inset 0 -4px 0 rgba(13,7,3,.52), 0 10px 16px rgba(49,32,15,.24), 0 2px 0 #2a160c;
}
body.customer-theme .category-nav .category-sign:is(:hover, :focus-visible, .is-selected) {
  color: #f7e7c6;
  border-color: #321b0e;
  background:
    repeating-linear-gradient(177deg, transparent 0 14px, rgba(255,220,156,.065) 15px, transparent 17px 30px),
    repeating-linear-gradient(4deg, transparent 0 31px, rgba(15,7,3,.18) 32px, transparent 34px 50px),
    linear-gradient(112deg, #563018 0%, #7b4823 20%, #432315 52%, #683a1d 78%, #391d10 100%);
}
body.customer-theme .category-nav .category-sign .sign-title,
body.customer-theme .category-nav .category-sign .sign-arrow { color: #f8edda; }
body.customer-theme .menu-hero h1 { color: var(--customer-text); text-shadow: none; }
body.customer-theme .menu-state, body.customer-theme .no-results { border-color: var(--customer-line); }
body.customer-theme > footer { color: var(--customer-gold); border-color: var(--customer-line); }
body.customer-theme > footer a { color: var(--customer-text); }
body.customer-theme :is(.closing-strip small, .closing-strip p) { color: var(--customer-muted); }
/* Preserve the existing porcelain plate, slot positions, quantities and controls. */
body.customer-theme .grill-visual { color: var(--customer-text); background: #fcf9f2c7; border-color: #cbb99b; box-shadow: 0 12px 28px #48382212; }
body.customer-theme .grill-plate-base { filter: drop-shadow(0 10px 10px #59442c38); }
body.customer-theme :is(.grill-visual h3, .grill-desktop-total strong, .grill-unit-price) { color: var(--customer-gold); }
body.customer-theme .grill-summary li { border-color: var(--customer-line); }
body.customer-theme :is(.grill-summary-empty, .grill-image-notice, .grill-status, .grill-card-placeholder, .grill-product-copy small) { color: var(--customer-muted); }
body.customer-theme .grill-categories button { color: var(--customer-text); background: #fffaf0; border-color: #bdab8b; }
body.customer-theme .grill-categories button.is-active { color: #17120c; background: #ffc400; border-color: #b38726; }
body.customer-theme .grill-product { color: var(--customer-text); background: var(--customer-card); border-color: var(--customer-line); box-shadow: 0 6px 18px #4838220b; }
body.customer-theme .grill-product-image { background: #f2ecdf; }
body.customer-theme .grill-quantity { background: #f5efe3; border-color: #bdab8b; }
body.customer-theme .grill-quantity button { color: var(--customer-text); background: #eadfc9; }
body.customer-theme .grill-quantity button:disabled { color: #847561; background: #f2ecdf; }
body.customer-theme .grill-send:disabled { color: #665849; background: #ddd1bb; }
/* Customer overlays: light contents, dark header and checkout total summary. */
body.customer-theme :is(.altin-cart-drawer, .altin-wallet-drawer) {
  color: var(--customer-text); background-color: #eee7dc; background-image: var(--customer-stone); background-size: auto, 760px 760px;
  border-color: #b99a59; box-shadow: -18px 0 60px #332b2338;
}
body.customer-theme :is(.altin-cart-drawer, .altin-wallet-drawer) > header { color: #fff8df; background: #14120e; }
body.customer-theme .altin-cart-line { border-color: var(--customer-line); }
body.customer-theme .altin-cart-image { background: #fffaf0; border-color: var(--customer-line); }
body.customer-theme :is(.altin-cart-copy h3, .altin-cart-actions > b) { color: var(--customer-text); }
body.customer-theme :is(.altin-cart-copy p, .altin-cart-remove, .altin-cart-empty p) { color: var(--customer-muted); }
body.customer-theme :is(.altin-cart-kind, .altin-cart-copy strong, .altin-cart-placeholder, .altin-cart-empty > span) { color: var(--customer-gold); }
body.customer-theme .altin-cart-quantity { color: var(--customer-text); background: var(--customer-card); border-color: #bdab8b; }
body.customer-theme :is(.altin-wallet-balance-card, .altin-wallet-transaction, .altin-wallet-no-history) { color: var(--customer-text); background: var(--customer-card); border-color: var(--customer-line); }
body.customer-theme :is(.altin-wallet-balance-card > span, .altin-wallet-balance-card strong, .altin-wallet-transaction span, .altin-wallet-transaction > b) { color: var(--customer-gold); }
body.customer-theme :is(.altin-wallet-empty p, .altin-wallet-balance-card small, .altin-wallet-transaction small, .altin-wallet-no-history p, .altin-wallet-loading) { color: var(--customer-muted); }
body.customer-theme .altin-wallet-transaction > b.is-negative { color: #a53522; }
body.customer-theme :is(.name-dialog, .reservation-dialog, .checkout-dialog, .success-dialog, .address-dialog) { color: var(--customer-text); background: #fcf9f2; border-color: #b99a59; box-shadow: 0 24px 80px #332b2352; }
body.customer-theme :is(.name-shell h2, .success-shell h2) { color: var(--customer-text); }
body.customer-theme :is(.editor-kicker, .name-actions .text-button) { color: var(--customer-gold); }
body.customer-theme :is(.name-shell > p, .success-note, .checkout-shell header p, .reservation-shell header p, .consent-row, .form-field > span, .order-type-fieldset legend, .payment-fieldset legend) { color: var(--customer-muted); }
body.customer-theme :is(.checkout-shell, .reservation-shell) > header { color: var(--customer-text); background: #fcf9f2; border-color: var(--customer-line); }
body.customer-theme .form-field :is(input, select, textarea) { color: var(--customer-text); background-color: #fffdf8; border-color: #bdab8b; }
body.customer-theme .form-field :is(input, textarea)::placeholder { color: var(--customer-muted); }
body.customer-theme :is(.segmented-control, .payment-options) span { color: var(--customer-text); background: #f5efe3; border-color: #bdab8b; }
body.customer-theme :is(.segmented-control, .payment-options) input:checked + span { color: #17120c; background: #ffc400; border-color: #b38726; }
body.customer-theme .dialog-close { color: var(--customer-text); background: #f5efe3; border-color: #bdab8b; }
body.customer-theme .success-number-card { color: var(--customer-text); background: #fff0c9; border-color: #b38726; }
body.customer-theme .success-number-card :is(span, strong) { color: var(--customer-gold); }
/* Customer account contents use the same clean surfaces; authentication code is unchanged. */
body.customer-theme :is(.auth-intro > span, .dashboard-hero span, .dashboard-section header span, .account-stats strong, .order-group > h3, .history-card header span, .history-card strong, .address-actions button, .text-button, .back-button) { color: var(--customer-gold); }
body.customer-theme :is(.auth-intro p, .dashboard-hero p, .account-stats span, .account-stats small, .address-card p, .history-card p, .orders-refresh-note, .empty-state, .history-meta, .recovery-panel > p) { color: var(--customer-muted); }
body.customer-theme :is(.auth-card, .dashboard-hero, .account-stats article, .dashboard-section, .address-card, .history-card, .wallet-row, .empty-state) { color: var(--customer-text); background: var(--customer-card); border-color: var(--customer-line); box-shadow: 0 8px 24px #4838220e; }
body.customer-theme .auth-tabs button { color: var(--customer-muted); background: #f5efe3; border-color: #bdab8b; }
body.customer-theme .auth-tabs button.is-active { color: #17120c; background: #ffc400; border-color: #b38726; }
body.customer-theme :is(.auth-form, .address-form) :is(input, select) { color: var(--customer-text); background: #fffdf8; border-color: #bdab8b; }
body.customer-theme :is(.auth-form, .address-form) label span { color: var(--customer-muted); }
body.customer-theme .secondary-button { color: var(--customer-text); border-color: #bdab8b; }
body.customer-theme .hero-actions button { color: var(--customer-gold); }
body.customer-theme .address-actions .delete-address { color: #a53522; }
body.customer-theme .history-address { color: var(--customer-muted) !important; }
body.customer-theme .wallet-row b { color: #276637; }
body.customer-theme .wallet-row b.is-negative { color: #a53522; }
/* Bread stays close to the filling's width; stack growth from v79 is retained. */
body.customer-theme #builder .burger-photo-layer--top-bun { width: min(250px, 78%); }
body.customer-theme #builder .burger-photo-layer--bottom-bun { width: min(260px, 80%); }
@media (max-width: 640px) {
  body.customer-theme { --customer-stone: linear-gradient(125deg, #faf7f0d4, #f6f1e7e0), url('/assets/builder-warm-stone.webp'); }
}
/* Finish smaller supporting surfaces and status text without changing visibility. */
body.customer-theme .hero-slider { background: #eee7dc; border-color: #b99a59; box-shadow: 0 18px 48px #48382226; }
body.customer-theme .hero-slides, body.customer-theme .hero-slide-poster { background: #eee7dc; }
body.customer-theme .hero-slider-dots { background: #faf6ee; }
body.customer-theme .closing-strip > div { background: #fcf9f2b8; border-color: var(--customer-line); }
body.customer-theme :is(.closing-strip span, .closing-strip b, .page-loading, .address-form header > div > span) { color: var(--customer-gold); }
body.customer-theme :is(.auth-form > small, .wallet-row small, .success-shell > p, .success-number-card small) { color: var(--customer-muted); }
body.customer-theme .success-note { color: var(--customer-muted) !important; }
body.customer-theme .reservation-shell { color: var(--customer-text); background: #fcf9f2; border-color: #b99a59; }
body.customer-theme :is(.reservation-shell h2, .reservation-success strong) { color: var(--customer-text); }
body.customer-theme .reservation-success { background: #fff0c9; border-color: #b38726; }
body.customer-theme .reservation-success p { color: var(--customer-muted); }
body.customer-theme .delivery-minimum-notice { color: var(--customer-muted); background: #f5efe3; border-color: #bdab8b; }
body.customer-theme .delivery-minimum-notice[data-state="error"] { color: #8e3022; background: #fff0eb; border-color: #b84b37; }
body.customer-theme .delivery-minimum-notice[data-state="ready"] { color: #276637; background: #edf6ed; border-color: #56865e; }
