/* Toni Naturale 3.5: tradução da paleta fornecida para CSS nativo.
   Tailwind @theme/@apply são diretivas de build e não são enviadas ao navegador. */
:root {
  --background: #fffdf8; --foreground: #061b13;
  --card: #f3f5ef; --card-foreground: #081d15;
  --popover: #f3f5ef; --popover-foreground: #0c2c20;
  --primary: #117d45; --primary-foreground: #fffdf8;
  --secondary: #e5ebda; --secondary-foreground: #1d553c;
  --muted: #f6f0e2; --muted-foreground: #68756e;
  --accent: #8ead52; --accent-foreground: #123d2b;
  --destructive: #b95727; --destructive-foreground: #fffdf8;
  --border: #d7e5b6; --input: #e5ecd9; --ring: #2e7d4b;
  --chart-1: #f28b22; --chart-2: #168a4c; --chart-3: #d9783d;
  --chart-4: #c85f31; --chart-5: #8ead52;
  --sidebar: #17211b; --sidebar-foreground: #f7f3e8;
  --sidebar-primary: #168a4c; --sidebar-primary-foreground: #fffdf8;
  --sidebar-accent: #1e5638; --sidebar-accent-foreground: #d8e6b6;
  --sidebar-border: #183026; --sidebar-ring: #2e7d4b;
  --font-sans: Inter, system-ui, sans-serif; --font-serif: Georgia, serif;
  --font-mono: monospace; --radius: .5rem;
  --shadow: 0 2px 10px rgba(6,27,19,.08);
  --shadow-sm: 0 2px 10px rgba(6,27,19,.08);
  --shadow-md: 0 2px 10px rgba(6,27,19,.08);
  --shadow-lg: 0 4px 15px rgba(6,27,19,.12);
  /* Compatibilidade com os componentes PHP/CSS existentes. */
  --green-950: #061b13; --green-900: #0c2c20;
  --green-800: #1d553c; --green-700: #168a4c; --green-600: #168a4c;
  --orange: #f28b22; --orange-dark: #b95727;
  --cream: var(--background); --cream-deep: var(--muted);
  --paper: var(--card); --white: #fffdf8;
  --ink: var(--foreground); --ink-soft: #506158;
  --line: var(--border); --shadow-soft: var(--shadow);
  --catalog-green-950: #061b13; --catalog-green-900: #0c2c20;
  --catalog-green-800: #1d553c; --catalog-leaf: #8ead52;
  --catalog-leaf-light: #d8e6b6; --catalog-orange: #d9783d;
  --catalog-orange-dark: #a74421; --catalog-cream: var(--background);
  --catalog-paper: var(--card); --catalog-ink: var(--foreground);
  --catalog-muted: #506158; --catalog-line: var(--border);
  --catalog-shadow: var(--shadow-lg);
}
html.dark, html[data-theme="dark"] {
  --background: #061b13; --foreground: #fffdf8;
  --card: #081d15; --card-foreground: #e5ebda;
  --popover: #0c2c20; --popover-foreground: #e5ecd9;
  --primary: #117d45; --primary-foreground: #fffdf8;
  --secondary: #123d2b; --secondary-foreground: #d7e5b6;
  --muted: #183026; --muted-foreground: #b7c8bc;
  --accent: #2e7d4b; --accent-foreground: #f7f3e8;
  --destructive: #c85f31; --destructive-foreground: #fffdf8;
  --border: #1d553c; --input: #1d553c; --ring: #8ead52;
  --chart-1: #168a4c; --chart-2: #f28b22; --chart-3: #d9783d;
  --chart-4: #b95727; --chart-5: #8ead52;
  --sidebar: #081d15; --sidebar-foreground: #f3f5ef;
  --sidebar-primary: #168a4c; --sidebar-primary-foreground: #fffdf8;
  --sidebar-accent: #17211b; --sidebar-accent-foreground: #d8e6b6;
  --sidebar-border: #1d553c; --sidebar-ring: #2e7d4b;
  --shadow: 0 4px 15px 2px rgba(0,0,0,.4);
  --shadow-sm: var(--shadow); --shadow-md: var(--shadow); --shadow-lg: var(--shadow);
  --green-950: #061b13; --green-900: #d7e5b6;
  --green-800: #b7d094; --green-700: #99c780; --green-600: #8ead52;
  --orange: #f28b22; --orange-dark: #ed9c67;
  --cream: var(--background); --cream-deep: var(--muted);
  --paper: var(--card); --white: #fffdf8;
  --ink: var(--foreground); --ink-soft: #b7c8bc;
  --line: var(--border); --shadow-soft: var(--shadow);
  --catalog-green-950: #061b13; --catalog-green-900: #d7e5b6;
  --catalog-green-800: #9fca97; --catalog-leaf-light: #2e7d4b;
  --catalog-orange-dark: #f3aa80; --catalog-cream: var(--background);
  --catalog-paper: var(--card); --catalog-ink: var(--foreground);
  --catalog-muted: #b7c8bc; --catalog-line: var(--border);
  --catalog-shadow: var(--shadow);
  color-scheme: dark;
}
body { background: var(--background); color: var(--foreground); font-family: var(--font-sans); letter-spacing: .01em; }
h1, h2, h3 { font-family: var(--font-serif); letter-spacing: -.025em; }
.admin-body h1, .admin-body h2, .admin-body h3, .admin-login h1 { font-family: var(--font-sans); }
:focus-visible { outline: 3px solid var(--ring); outline-offset: 3px; }
.button, .theme-toggle, .menu-toggle, .input, .catalog-add, .catalog-filters input, .catalog-filters select { border-radius: var(--radius); }
.button--primary, .catalog-add { background: var(--primary); color: var(--primary-foreground); }
.button--primary:hover, .catalog-add:hover { background: #116d3c; color: #fffdf8; }
.button--orange { background: #f28b22; color: #061b13; }
.button--outline { color: var(--foreground); border-color: var(--border); }
.input, .catalog-filters input, .catalog-filters select {
  background: var(--background); border-color: var(--input); color: var(--foreground);
}
.input:focus, .catalog-filters input:focus, .catalog-filters select:focus { outline: 3px solid var(--ring); outline-offset: 1px; }
.catalog-card, .category-showcase-card, .category-section, .account-form,
.form-section, .student-card, .admin-panel, .metric-card, .settings-card,
.login-card, .cart-item, .cart-summary, .cart-empty, .terms-box {
  border-color: var(--border); box-shadow: var(--shadow);
}
.category-showcase-card__body strong, .category-section__header h2,
.dish-list-item h3, .dish-list-item__action > strong { color: var(--catalog-green-900); }
.catalog-home, .catalog-page, .product-page, .catalog-fold--cream { background: var(--background); }
.catalog-fold--story, .catalog-contact { background: var(--card); }
.catalog-hero, .catalog-page-hero { background: radial-gradient(circle at 12% 20%, rgba(142,173,82,.18), transparent 30%), linear-gradient(125deg,#061b13,#1d553c); }
.catalog-hero::after { background: var(--background); }
.catalog-contact__box { background: linear-gradient(125deg,#0c2c20,#1d553c); }
.catalog-fold--dark { background: #061b13; }
.catalog-heading--light h2, .catalog-fold--dark h2, .catalog-fold--dark h3 { color: #fffdf8; }
.catalog-fold--dark p { color: #e5ebda; }
.site-header, .catalog-header.site-header--overlay { background: #0c2c20; color: #fffdf8; }
.site-header.is-scrolled, .catalog-header.site-header--overlay.is-scrolled {
  background: #0c2c20; color: #fffdf8; box-shadow: var(--shadow-lg);
  backdrop-filter: none;
}
.site-header .desktop-nav a, .site-header.is-scrolled .desktop-nav a,
.site-header .menu-toggle, .site-header.is-scrolled .menu-toggle { color: #fffdf8; }
.site-header .menu-toggle { border-color: rgba(255,253,248,.4); }
.site-header .mobile-menu { background: var(--card); color: var(--foreground); border: 1px solid var(--border); }
.site-header .mobile-menu a:hover, .site-header .mobile-menu a:focus-visible { background: var(--secondary); color: var(--secondary-foreground); }
.site-header .brand__fallback, .site-header.is-scrolled .brand__fallback { color: #fffdf8; }
.theme-toggle { border-color: rgba(255,253,248,.4); color: #fffdf8; }
.admin-topbar { background: var(--sidebar); color: var(--sidebar-foreground); }
.admin-topbar nav a { color: var(--sidebar-foreground); }
.admin-topbar nav a:hover, .admin-topbar nav a:focus-visible { color: #d8e6b6; }
.admin-body, .admin-login { background: var(--background); color: var(--foreground); }
.admin-table th { background: var(--secondary); color: var(--secondary-foreground); }
.admin-table td, .admin-table th { border-color: var(--border); }
.admin-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-action { background: var(--primary); color: #fffdf8; }
.table-action:hover { background: #116d3c; }
.theme-toggle--admin, .login-card .theme-toggle--admin { color: #fffdf8; background: #1d553c; }
html[data-theme="dark"] .catalog-fold--story, html[data-theme="dark"] .catalog-contact { background: var(--card); }
html[data-theme="dark"] .catalog-hero, html[data-theme="dark"] .catalog-page-hero,
html[data-theme="dark"] .catalog-contact__box { background: linear-gradient(125deg,#061b13,#1d553c); color: #fffdf8; }
html[data-theme="dark"] .catalog-add, html[data-theme="dark"] .button--primary,
html[data-theme="dark"] .table-action { background: var(--primary); color: #fffdf8; }
html[data-theme="dark"] .catalog-filters input, html[data-theme="dark"] .catalog-filters select,
html[data-theme="dark"] .input { background: #0c2c20; border-color: var(--input); color: var(--foreground); }
html[data-theme="dark"] .admin-table th { background: #123d2b; color: #e5ebda; }
html[data-theme="dark"] .detail-list > div, html[data-theme="dark"] .student-admin-card { background: var(--card); }
html[data-theme="dark"] .category-showcase-card__body strong,
html[data-theme="dark"] .dish-list-item h3 { color: #d7e5b6; }
html[data-theme="dark"] .account-home-card, html[data-theme="dark"] .feature-card--green,
html[data-theme="dark"] .form-section__heading > span,
html[data-theme="dark"] .admin-details > summary::after,
html[data-theme="dark"] .nutrition-table thead th { background: #1d553c; color: #fffdf8; }
html[data-theme="dark"] .account-home-card--orange { background: #b95727; }
html[data-theme="dark"] .form-section__heading h2,
html[data-theme="dark"] .form-section__title { color: #e5ebda; }
html[data-theme="dark"] .account-reports-link { background: var(--card); border-color: var(--border); color: #d7e5b6; }
html[data-theme="dark"] .account-home-checks li::before { background: #1d553c; }
html[data-theme="dark"] .site-header .mobile-menu { background: #081d15; color: #fffdf8; }
@media (max-width: 780px) {
  .site-header, .catalog-header.site-header--overlay, .site-header.is-scrolled { background: #0c2c20; }
  .mobile-menu.is-open { max-height: min(72vh, 600px); overflow-y: auto; }
  .catalog-filters { gap: 12px; }
  .admin-topbar nav { overflow-x: auto; max-width: 100%; scrollbar-width: thin; }
}
@media (max-width: 560px) {
  .category-section__header > div:last-child, .dish-list-item { padding: 18px; }
  .dish-list-item__action { justify-items: start; text-align: left; }
  .admin-table-wrap { margin-inline: -10px; }
  .site-footer__grid { gap: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Toni Naturale 3.6: legibilidade, contraste e uso por toque. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body { min-width: 320px; font-size: 1rem; line-height: 1.6; }
button, input, select, textarea { font: inherit; }
.button, .catalog-add, .cart-link, .theme-toggle, .menu-toggle, .table-action {
  min-height: 46px;
  font-size: .9375rem;
}
.button:not(.button--orange):not(.button--glass):not(.button--outline):not(.button--danger):not(.button--muted),
.catalog-add, .table-action { background: #117d45; color: #fffdf8; }
.button:not(.button--orange):not(.button--glass):not(.button--outline):not(.button--danger):not(.button--muted):hover,
.catalog-add:hover, .table-action:hover { background: #0f6e3c; color: #fffdf8; }
.button--whatsapp, .catalog-whatsapp-float { background: #117d45; color: #fffdf8; }
.button--whatsapp:hover, .catalog-whatsapp-float:hover { background: #0f6e3c; color: #fffdf8; }
.mobile-menu a, .admin-topbar nav a { min-height: 46px; }
.field > span:first-child, .admin-filters label > span,
.catalog-filters label, .product-purchase label, .cart-quantity,
.fulfillment-options legend, .consent-choice legend { font-size: .875rem; }
.field small, .form-section__description, .form-section__heading p,
.cart-minimum, .cart-consult-note, .cart-fineprint, .cart-notes p,
.admin-note, .order-events span, .nutrition-note { font-size: .875rem; }
.input, .field > input, .field > select, .field > textarea,
.filters input, .filters select, .catalog-filters input, .catalog-filters select,
.cart-quantity input { min-height: 50px; font-size: 1rem; }
.cart-remove, .text-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 9px 10px;
  font-size: .875rem;
}
.cart-whatsapp-ready {
  display: grid;
  gap: 10px;
  border: 1px solid #7fbd8c;
  border-radius: 14px;
  background: #edf8e8;
  color: #123d2b;
  padding: 16px;
}
.cart-whatsapp-ready[hidden] { display: none; }
.cart-whatsapp-ready span { font-size: .9375rem; line-height: 1.55; }
.cart-whatsapp-ready .button { justify-content: center; margin-top: 2px; }

/* O tema escuro usa superfícies distinguíveis e texto sempre claro. */
html.dark, html[data-theme="dark"] {
  --background: #10271e;
  --foreground: #fffdf8;
  --card: #173127;
  --card-foreground: #f3f5ef;
  --popover: #1b382c;
  --popover-foreground: #fffdf8;
  --secondary: #27483a;
  --secondary-foreground: #f0f5e8;
  --muted: #203b31;
  --muted-foreground: #c5d2ca;
  --accent: #4e9568;
  --accent-foreground: #fffdf8;
  --border: #426456;
  --input: #55786a;
  --ring: #a8cf73;
  --sidebar: #0b2017;
  --sidebar-foreground: #fffdf8;
  --cream: var(--background);
  --cream-deep: var(--muted);
  --paper: var(--card);
  --ink: var(--foreground);
  --ink-soft: #c5d2ca;
  --line: var(--border);
  --brown: #f0e7d9;
  --red: #ff9c8e;
  --orange-600: #ffad72;
  --catalog-cream: var(--background);
  --catalog-paper: var(--card);
  --catalog-ink: var(--foreground);
  --catalog-muted: #c5d2ca;
  --catalog-line: var(--border);
}
html[data-theme="dark"] body,
html[data-theme="dark"] .catalog-home,
html[data-theme="dark"] .catalog-page,
html[data-theme="dark"] .product-page,
html[data-theme="dark"] .admin-body,
html[data-theme="dark"] .admin-login { background: var(--background); color: var(--foreground); }
html[data-theme="dark"] p,
html[data-theme="dark"] .catalog-heading > p,
html[data-theme="dark"] .story-grid__content > p:not(.eyebrow),
html[data-theme="dark"] .dish-list-item__main > p,
html[data-theme="dark"] .product-detail__lead,
html[data-theme="dark"] .product-detail__hint,
html[data-theme="dark"] .cart-item__copy small,
html[data-theme="dark"] .cart-minimum,
html[data-theme="dark"] .cart-consult-note,
html[data-theme="dark"] .cart-fineprint,
html[data-theme="dark"] .cart-notes p,
html[data-theme="dark"] .field small,
html[data-theme="dark"] .form-section__description,
html[data-theme="dark"] .form-section__heading p { color: var(--muted-foreground); }
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] .field > span:first-child,
html[data-theme="dark"] .admin-filters label > span,
html[data-theme="dark"] .catalog-product-form h2,
html[data-theme="dark"] .choice-option strong,
html[data-theme="dark"] .terms-details summary { color: var(--foreground); }
html[data-theme="dark"] .catalog-card,
html[data-theme="dark"] .category-showcase-card,
html[data-theme="dark"] .category-section,
html[data-theme="dark"] .product-card,
html[data-theme="dark"] .product-detail--simple .product-detail__summary,
html[data-theme="dark"] .product-detail__meta span,
html[data-theme="dark"] .product-copy article,
html[data-theme="dark"] .nutrition-card,
html[data-theme="dark"] .policy-card,
html[data-theme="dark"] .cart-item,
html[data-theme="dark"] .cart-summary,
html[data-theme="dark"] .cart-empty,
html[data-theme="dark"] .account-form,
html[data-theme="dark"] .form-section,
html[data-theme="dark"] .student-card,
html[data-theme="dark"] .choice-option,
html[data-theme="dark"] .terms-box,
html[data-theme="dark"] .terms-details,
html[data-theme="dark"] .form-consent,
html[data-theme="dark"] .admin-panel,
html[data-theme="dark"] .metric-card,
html[data-theme="dark"] .settings-card,
html[data-theme="dark"] .login-card,
html[data-theme="dark"] .admin-details,
html[data-theme="dark"] .account-reports-box,
html[data-theme="dark"] .account-reports-link { background: var(--card); border-color: var(--border); color: var(--card-foreground); }
html[data-theme="dark"] .catalog-fold--accounts {
  background: linear-gradient(140deg, #10271e 0%, #173127 58%, #203b31 100%);
}
html[data-theme="dark"] .catalog-fold--story,
html[data-theme="dark"] .catalog-contact { background: var(--background); }
html[data-theme="dark"] .catalog-filters,
html[data-theme="dark"] .cart-notes,
html[data-theme="dark"] .catalog-checks label,
html[data-theme="dark"] .catalog-product-photo,
html[data-theme="dark"] .catalog-photo-preview,
html[data-theme="dark"] .student-admin-card,
html[data-theme="dark"] .detail-list > div { background: var(--muted); border-color: var(--border); color: var(--foreground); }
html[data-theme="dark"] .input,
html[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .money-field {
  background: #0d2118;
  border-color: var(--input);
  color: var(--foreground);
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #aabbb0; opacity: 1; }
html[data-theme="dark"] .choice-option:has(input:checked) { background: #27483a; border-color: #8ead52; }
html[data-theme="dark"] .catalog-card__media--empty,
html[data-theme="dark"] .cart-item__image,
html[data-theme="dark"] .category-section__photo,
html[data-theme="dark"] .catalog-admin-no-photo { background: #29483a; color: #f0f5e8; }
html[data-theme="dark"] .diet-tags span { background: #315d47; color: #fffdf8; }
html[data-theme="dark"] .product-warning { background: #4b3525; color: #ffe4bf !important; }
html[data-theme="dark"] .form-alert { background: #4a2520; border-color: #b96f61; color: #ffd9d2; }
html[data-theme="dark"] .form-alert--success,
html[data-theme="dark"] .cart-whatsapp-ready { background: #173d29; border-color: #4e9568; color: #e9f8e8; }
html[data-theme="dark"] .cart-remove,
html[data-theme="dark"] .text-button--danger,
html[data-theme="dark"] .catalog-remove-photo,
html[data-theme="dark"] .account-delete-zone summary { color: #ffad9f; }
html[data-theme="dark"] .account-delete-zone { background: #351f1d; border-color: #824d46; }
html[data-theme="dark"] .status-text--no { color: #ffb8aa; }
html[data-theme="dark"] .status-toggle { background: #443a31; color: #f4d7c6; }
html[data-theme="dark"] .status-toggle--on { background: #267d4e; color: #fff; }
html[data-theme="dark"] .password-field button { background: #315d47; color: #fffdf8; }
html[data-theme="dark"] .admin-table { color: var(--foreground); }
html[data-theme="dark"] .admin-table tbody tr:hover { background: #203b31; }
html[data-theme="dark"] .site-footer { background: #081b13; color: #f3f5ef; }

@media (max-width: 780px) {
  html { font-size: 17px; }
  .site-container, .container { width: min(100% - 32px, 1220px); }
  .site-header__inner { min-height: 76px; }
  .menu-toggle, .theme-toggle { min-width: 46px; min-height: 46px; }
  .mobile-menu { padding: 8px; }
  .mobile-menu a { min-height: 52px; display: flex; align-items: center; padding: 13px 15px; font-size: 1rem; }
  .catalog-hero { padding: 118px 0 82px; }
  .catalog-hero h1 { font-size: clamp(2.65rem, 12vw, 4rem); line-height: .98; }
  .catalog-hero__lead { margin-top: 22px; font-size: 1rem; line-height: 1.65; }
  .catalog-hero__visual, .catalog-hero__visual > img { min-height: 390px; height: 390px; }
  .catalog-page-hero { padding: 112px 0 52px; }
  .catalog-page-hero h1 { font-size: clamp(2.55rem, 11vw, 4rem); line-height: 1; }
  .catalog-fold { padding: 72px 0; }
  .catalog-heading h2, .story-grid__content h2, .account-home-copy h2 { font-size: clamp(2.2rem, 10vw, 3.35rem); }
  .button, .catalog-add, .cart-link { min-height: 50px; font-size: .9375rem; }
  .button--large { min-height: 54px; padding: 14px 20px; }
  .account-form, .form-section, .admin-panel, .settings-card, .login-card { padding: 22px 18px; }
  .form-grid { grid-template-columns: 1fr; }
  .field--wide { grid-column: auto; }
  .form-submit, .form-actions { align-items: stretch; flex-direction: column; }
  .form-submit .button, .form-actions .button { justify-content: center; width: 100%; }
  .cart-layout { gap: 22px; padding-top: 28px; padding-bottom: 88px; }
  .cart-summary { padding: 22px 18px; }
  .cart-item { grid-template-columns: 76px minmax(0, 1fr); gap: 12px 14px; padding: 14px; }
  .cart-item__image { width: 76px; height: 70px; }
  .cart-item__copy a { font-size: 1.15rem; line-height: 1.25; }
  .cart-quantity { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) 96px; align-items: center; }
  .cart-quantity input { width: 96px; text-align: center; }
  .cart-item > strong { grid-column: 1; align-self: center; }
  .cart-remove { grid-column: 2; justify-self: end; }
  .admin-topbar__inner { align-items: flex-start; flex-direction: column; gap: 10px; padding-block: 14px; padding-right: 58px; }
  .admin-topbar nav { width: 100%; gap: 4px; }
  .admin-topbar nav a { display: inline-flex; align-items: center; padding: 9px 11px; font-size: .875rem; }
  .admin-table th, .admin-table td { padding: 13px 12px; font-size: .875rem; }
  .catalog-whatsapp-float { bottom: calc(13px + env(safe-area-inset-bottom)); }
}

@media (max-width: 430px) {
  .site-container, .container { width: calc(100% - 24px); }
  .brand, .brand img { width: 50px; height: 50px; flex-basis: 50px; }
  .site-header__inner { gap: 6px; }
  .cart-link { min-height: 46px; padding: 9px 10px; font-size: .875rem; }
  .catalog-hero__visual, .catalog-hero__visual > img { min-height: 320px; height: 320px; }
  .catalog-hero__seal { width: 102px; }
  .catalog-hero__facts { display: grid; grid-template-columns: repeat(3, 1fr); }
  .catalog-hero__facts dd { max-width: none; font-size: .75rem; line-height: 1.35; }
  .catalog-page-hero h1 { font-size: clamp(2.35rem, 12vw, 3.2rem); }
  .product-detail__summary h1 { font-size: clamp(2.4rem, 12vw, 3.15rem); }
  .product-detail__media, .product-detail__media img { min-height: 290px; height: 290px; }
  .nutrition-card, .product-copy article, .policy-card { padding: 20px 16px; }
  .cart-total { align-items: center; }
  .cart-total strong { font-size: 1.3rem; white-space: nowrap; }
}

/* Toni Naturale 3.6.2: mobile em landing page e contraste reforçado. */
.catalog-heading > :only-child,
.catalog-page-hero__grid > :only-child { grid-column: 1 / -1; max-width: 900px; }

.site-footer__bottom { align-items: center; flex-wrap: wrap; }
.site-footer__versions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 16px; }
.site-footer__versions span { white-space: nowrap; }
.site-footer__credit { color: #fffdf8; font-weight: 800; text-decoration: none; }
.site-footer__credit:hover, .site-footer__credit:focus-visible { color: #f5a54d; }

html.dark, html[data-theme="dark"] {
  --background: #10271e;
  --foreground: #fffdf8;
  --card: #1a352a;
  --card-foreground: #fffdf8;
  --muted: #254438;
  --muted-foreground: #d6e0da;
  --secondary: #2b4d40;
  --secondary-foreground: #fffdf8;
  --border: #5c7d6f;
  --input: #6c8c7e;
  --catalog-paper: var(--card);
  --catalog-ink: var(--foreground);
  --catalog-muted: var(--muted-foreground);
  --catalog-line: var(--border);
}
html[data-theme="dark"] .catalog-fold--cream,
html[data-theme="dark"] .catalog-fold--story,
html[data-theme="dark"] .catalog-fold--accounts,
html[data-theme="dark"] .catalog-contact { background: var(--background); color: var(--foreground); }
html[data-theme="dark"] .catalog-heading h2,
html[data-theme="dark"] .story-grid__content h2,
html[data-theme="dark"] .account-home-copy h2,
html[data-theme="dark"] .category-showcase-card__body strong,
html[data-theme="dark"] .category-section__header h2,
html[data-theme="dark"] .dish-list-item h3,
html[data-theme="dark"] .dish-list-item__action > strong,
html[data-theme="dark"] .cart-total strong,
html[data-theme="dark"] .policy-card h2 { color: #fffdf8; }
html[data-theme="dark"] .catalog-heading > p,
html[data-theme="dark"] .story-grid__content > p:not(.eyebrow),
html[data-theme="dark"] .account-home-copy > p:not(.eyebrow),
html[data-theme="dark"] .category-showcase-card__body em,
html[data-theme="dark"] .category-section__header p:last-child,
html[data-theme="dark"] .dish-list-item__main > p,
html[data-theme="dark"] .dish-list-item__action small,
html[data-theme="dark"] .catalog-results-heading,
html[data-theme="dark"] .product-detail__lead,
html[data-theme="dark"] .product-copy article > p:last-child,
html[data-theme="dark"] .nutrition-note,
html[data-theme="dark"] .policy-card p { color: #d6e0da; }
html[data-theme="dark"] .catalog-card,
html[data-theme="dark"] .category-showcase-card,
html[data-theme="dark"] .category-section,
html[data-theme="dark"] .product-detail__summary,
html[data-theme="dark"] .product-detail__meta span,
html[data-theme="dark"] .product-copy article,
html[data-theme="dark"] .nutrition-card,
html[data-theme="dark"] .policy-card,
html[data-theme="dark"] .cart-item,
html[data-theme="dark"] .cart-summary,
html[data-theme="dark"] .cart-empty { background: var(--card); border-color: var(--border); color: var(--foreground); }
html[data-theme="dark"] .button--glass { border-color: rgba(255,253,248,.56); background: rgba(255,253,248,.1); color: #fffdf8; }
html[data-theme="dark"] .button--glass:hover { background: #fffdf8; color: #0c2c20; }
html[data-theme="dark"] .button--outline { border-color: #a8c7b8; background: transparent; color: #f3f5ef; }
html[data-theme="dark"] .button--outline:hover { background: #d8e6b6; color: #061b13; }
html[data-theme="dark"] .catalog-hero__seal,
html[data-theme="dark"] .order-step span,
html[data-theme="dark"] .cart-link { background: #d8e6b6; color: #061b13; }
html[data-theme="dark"] .availability--yes,
html[data-theme="dark"] .dish-status--yes { background: #176f43; color: #fffdf8; }
html[data-theme="dark"] .availability--no,
html[data-theme="dark"] .dish-status--no { background: #765247; color: #fffdf8; }
html[data-theme="dark"] .catalog-clear,
html[data-theme="dark"] .text-link,
html[data-theme="dark"] .product-breadcrumb a { color: #f3b28c; }
html[data-theme="dark"] .site-footer__versions,
html[data-theme="dark"] .site-footer__bottom { color: #d6e0da; }
html[data-theme="dark"] .site-footer__credit { color: #fffdf8; }

@media (max-width: 900px) {
  html { font-size: 18px; }
  body { font-size: 1rem; line-height: 1.7; }
  .site-container, .container { width: min(100% - 32px, 760px); }

  .catalog-hero__grid,
  .catalog-showcase,
  .catalog-grid,
  .category-showcase,
  .order-steps,
  .story-grid,
  .catalog-page-hero__grid,
  .catalog-filters,
  .catalog-filters--compact,
  .category-section__header,
  .dish-list-item,
  .dish-list-item__action,
  .product-detail,
  .product-information,
  .nutrition-card__header,
  .catalog-product-layout,
  .cart-layout,
  .account-home-grid,
  .account-home-actions,
  .form-grid,
  .choice-grid,
  .account-choice-grid,
  .feature-grid,
  .product-grid,
  .metrics-grid,
  .settings-grid,
  .detail-list,
  .student-admin-grid,
  .site-footer__grid { grid-template-columns: minmax(0, 1fr) !important; }

  .catalog-heading { grid-template-columns: 1fr; gap: 18px; }
  .catalog-heading > :only-child,
  .catalog-page-hero__grid > :only-child { max-width: none; }
  .category-showcase-card,
  .catalog-card,
  .order-step,
  .account-home-card { width: 100%; }
  .category-showcase-card__media { height: 230px; }
  .category-section__photo,
  .category-section__photo img { width: 100%; min-height: 230px; height: 230px; }

  .catalog-hero { padding: 116px 0 76px; }
  .catalog-hero h1 { font-size: clamp(2.65rem, 11vw, 4rem); line-height: 1; }
  .catalog-hero__lead,
  .catalog-page-hero__grid > p,
  .story-grid__content > p:not(.eyebrow),
  .account-home-copy > p:not(.eyebrow) { font-size: 1.0625rem; line-height: 1.72; }
  .catalog-hero__actions,
  .story-grid__actions { align-items: stretch; flex-direction: column; }
  .catalog-hero__actions .button,
  .story-grid__actions .button { width: 100%; }
  .catalog-hero__facts { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 32px; padding-top: 12px; }
  .catalog-hero__facts div { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid rgba(255,255,255,.14); }
  .catalog-hero__facts dt { font-size: 1.65rem; }
  .catalog-hero__facts dd { max-width: none; font-size: .9rem; line-height: 1.4; text-align: right; }
  .catalog-hero__visual,
  .catalog-hero__visual > img { min-height: 360px; height: 360px; }

  .catalog-kicker,
  .eyebrow,
  .availability,
  .dish-status,
  .category-showcase-card__body small,
  .catalog-card__body > p,
  .product-detail__meta small,
  .account-home-card span { font-size: .875rem; line-height: 1.45; }
  .category-showcase-card__body em,
  .dish-list-item__action small,
  .product-detail__hint,
  .nutrition-note,
  .cart-minimum,
  .cart-fineprint,
  .cart-notes p,
  .field small,
  .admin-note,
  .order-events span { font-size: .9375rem; line-height: 1.6; }
  .category-showcase-card__body strong,
  .dish-list-item h3 { font-size: 1.45rem; }
  .dish-list-item__main > p { font-size: 1rem; }
  .account-home-card strong { font-size: clamp(1.65rem, 7vw, 2.25rem); }
  .account-home-card small,
  .account-home-card b { font-size: 1rem; }
  .catalog-results-heading { font-size: 1rem; line-height: 1.6; }

  .button,
  .catalog-add,
  .cart-link,
  .table-action { min-height: 52px; font-size: 1rem; }
  .field > span:first-child,
  .admin-filters label > span,
  .catalog-filters label,
  .product-purchase label,
  .cart-quantity,
  .fulfillment-options legend,
  .consent-choice legend { font-size: 1rem; }
  .input,
  .field > input,
  .field > select,
  .field > textarea,
  .filters input,
  .filters select,
  .catalog-filters input,
  .catalog-filters select,
  .cart-quantity input { min-height: 54px; font-size: 1rem; }

  .dish-list-item__action { justify-items: stretch; text-align: left; }
  .dish-list-item__action .catalog-add,
  .dish-list-item__action .text-link { width: 100%; justify-content: center; }
  .site-footer { font-size: 1rem; }
  .site-footer__grid p,
  .site-footer__grid a,
  .site-footer__grid span { font-size: 1rem; line-height: 1.65; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 14px; font-size: .9rem; }
  .site-footer__versions { display: grid; justify-content: start; gap: 6px; }
  .site-footer__versions span { white-space: normal; }
}

@media (max-width: 600px) {
  .site-container, .container { width: calc(100% - 24px); }
  .cart-item { grid-template-columns: 1fr !important; }
  .cart-item__image { width: 100%; height: 190px; }
  .cart-quantity { grid-column: auto; grid-template-columns: 1fr; }
  .cart-quantity input { width: 100%; }
  .cart-item > strong,
  .cart-remove { grid-column: auto; justify-self: stretch; }
  .cart-remove { justify-content: center; border: 1px solid currentColor; border-radius: 10px; }
  .catalog-hero__visual,
  .catalog-hero__visual > img { min-height: 310px; height: 310px; }
}
