/* The order flow shares Bonjour's new dark identity. Transaction surfaces stay light for legibility. */
body.storefront {
  --paper:#092f20; --white:#fff4e2; --ink:#fff4e2; --muted:#c4cbbd;
  --red:#d77743; --red-dark:#b85b2d; --line:rgba(255,244,226,.2); --soft:#164431;
  background:var(--paper); color:var(--ink); font-family:'Be Vietnam Pro',Arial,sans-serif;
}
.storefront h1,.storefront h2,.storefront h3 { font-family:'Playfair Display',Georgia,serif; }
.site-header { background:rgba(6,39,27,.97); border-color:var(--line); }
.wordmark { font-family:'Playfair Display',Georgia,serif; color:#fff4e2; letter-spacing:.09em; }
.wordmark span:last-child { color:#fff4e2; }
.wordmark small { font-family:'Be Vietnam Pro',sans-serif; }
.order-brand-icon { position:relative; display:block!important; flex:none; width:54px; height:45px; overflow:hidden; }
.order-brand-icon img { position:absolute; width:130px; max-width:none; height:130px; left:-38px; top:-14px; }
.order-page .site-nav a { color:#fff4e2; }
.storefront .header-order { color:#092f20; background:#fff4e2; border-color:#fff4e2; }
.storefront .header-order:hover { color:#092f20; background:#fff; }
.order-bell { color:#fff4e2; border-color:rgba(255,244,226,.4); }
.order-page .header-actions #session { color:#fff4e2; }
.order-page .header-actions #session .secondary { color:#fff4e2; }
.store-hero { background:#092f20; border-bottom:1px solid var(--line); }
.store-hero .hero-image { overflow:hidden; }
.store-hero .hero-image::after { content:''; position:absolute; z-index:1; inset:clamp(12px,1.5vw,24px); border:1px solid rgba(255,244,226,.7); pointer-events:none; }
.store-hero .hero-image .image-note { z-index:2; }
.store-hero .hero-copy { color:#fff4e2; }
.store-hero .hero-copy h1 { color:#fff4e2; }
.store-hero .hero-copy h1 em { color:#d77743; }
.store-hero .hero-slogan { font-size:clamp(42px,4.9vw,80px); line-height:1.13; }
.store-hero .hero-slogan .slogan-line { display:block; overflow:hidden; padding-bottom:.1em; margin-bottom:-.1em; }
.store-hero .hero-slogan .slogan-line>span { display:inline-block; }
.store-hero .hero-slogan .slogan-line-accent { position:relative; width:fit-content; padding-bottom:.16em; }
.store-hero .hero-slogan .slogan-line-accent::after { content:''; position:absolute; left:1%; right:4%; bottom:.02em; height:2px; background:#d77743; transform-origin:left center; }
.store-hero .hero-copy>p:not(.overline),.hero-meta { color:#c4cbbd; }
.store-hero .hero-meta strong { color:#fff4e2; }
.storefront .primary,.storefront .cta { color:#092f20; background:#fff4e2; border-color:#fff4e2; }
.storefront .primary:hover { color:#092f20; background:#fff; }
.storefront .overline { color:#d77743; }
.store-alert { background:#f8e8d7; color:#704124; }
.intro-strip,.featured-section,.steps-section,.visit-section { background:#092f20; }
.intro-strip { border-color:var(--line); }
.featured-card { --ink:#092f20; --muted:#4e6254; --line:#d8cfbe; background:#fff4e2; color:#092f20; border-color:#d8cfbe; }
.order-page .featured-card:nth-child(2) { background:#eee2cf; }
.order-page .featured-card:nth-child(3) { background:#e4d7bd; }
.featured-card:has(img)>div { background:rgba(255,244,226,.94); }
.featured-card:has(img) .featured-number { background:#fff4e2; }
.order-section { --ink:#092f20; --muted:#566b5e; --line:#d3cab8; background:#fff4e2; color:#092f20; }
.order-section h2,.order-section h3 { color:#092f20; }
/* Order progress is a light transaction surface, so its inherited dark-theme text must switch too. */
.active-orders { --ink:#092f20; --muted:#4e6254; --line:#d3cab8; --paper:#fff4e2; color:var(--ink); background:#fff4e2; }
.active-orders h2,.active-orders h3 { color:var(--ink); }
.active-orders .tracking-card { color:var(--ink); background:#f7f1e6; }
.storefront .item h3 { font-family:'Be Vietnam Pro',sans-serif; }
.storefront .category.active { color:#a84926; }
.storefront .categories { gap:8px; }
.storefront .category { padding-inline:18px; }
.storefront .category.active:after { background:#a84926; }
.storefront .add { color:#092f20; border-color:#092f20; }
.storefront .add:hover { color:#fff4e2; background:#092f20; }
.storefront .cart { background:#eee8d9; }
.storefront .cart h2 { color:#092f20; }
.storefront .cart h2 span { color:#fff4e2; background:#092f20; }
.storefront .cart .primary { color:#fff4e2; background:#092f20; border-color:#092f20; }
.steps-grid>div { border-color:var(--line); }
.account-section { --ink:#092f20; --muted:#566b5e; --line:#d3cab8; background:#eee7d7; color:#092f20; }
.account-section h2,.account-section h3 { color:#092f20; }
.storefront .order-card { background:#fff4e2; border-color:#d3cab8; }
.storefront .secondary { color:inherit; border-color:currentColor; }
.storefront .secondary:hover { background:#092f20; color:#fff4e2; }
.reserve-section { background:#103b2a; color:#fff4e2; }
.reserve-section h2 { color:#fff4e2; }
.visit-section p,.visit-section a { color:#fff4e2; }
.visit-section a { border-color:#fff4e2; }
.site-footer { background:#06271b; color:#fff4e2; border-color:var(--line); }
.site-footer a,.site-footer strong { color:#fff4e2; }
.storefront .dialog-body { --ink:#092f20; --muted:#566b5e; --line:#d3cab8; background:#fff4e2; color:#092f20; }
.storefront .dialog-body h2,.storefront .dialog-body h3 { color:#092f20; }
.storefront .dialog-body .primary { color:#fff4e2; background:#092f20; border-color:#092f20; }
.storefront .dialog-body .secondary { color:#092f20; }
.storefront .mobile-cart:not(.hidden),.storefront .mobile-track:not(.hidden) { background:#d77743; color:#092f20; }
@media (prefers-reduced-motion:no-preference) {
  .store-hero .hero-copy .overline,.store-hero .hero-copy>p:not(.overline),.store-hero .hero-buttons { animation:order-enter .8s .55s both; }
  .store-hero .hero-slogan .slogan-line:first-child>span { animation:order-slogan-slide .85s .12s cubic-bezier(.2,.8,.2,1) both; }
  .store-hero .hero-slogan .slogan-line-accent>span { animation:order-slogan-slide .95s .34s cubic-bezier(.2,.8,.2,1) both; }
  .store-hero .hero-slogan .slogan-line-accent::after { animation:order-slogan-stroke .8s 1.05s ease-out both; }
  .store-hero .hero-image img { animation:order-image 1.25s both, order-camera-drift 18s 1.25s ease-in-out infinite alternate; }
  .featured-card img { transition:transform .65s cubic-bezier(.2,.8,.2,1); }
  .featured-card:hover img { transform:scale(1.04); }
  @keyframes order-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
  @keyframes order-slogan-slide { from { opacity:0; transform:translateY(105%); } to { opacity:1; transform:translateY(0); } }
  @keyframes order-slogan-stroke { from { transform:scaleX(0); } to { transform:scaleX(1); } }
  @keyframes order-image { from { opacity:.6; transform:scale(1.09) translate3d(2%,1%,0); } to { opacity:1; transform:scale(1.06) translate3d(1%,0,0); } }
  @keyframes order-camera-drift { from { transform:scale(1.06) translate3d(1%,0,0); } to { transform:scale(1.12) translate3d(-2%,-1.5%,0); } }
}
@media (max-width:600px) { .store-hero .hero-slogan { font-size:clamp(37px,9.1vw,50px); } }
@media (prefers-reduced-motion:reduce) { .store-hero .hero-slogan .slogan-line>span,.store-hero .hero-slogan .slogan-line-accent::after,.store-hero .hero-copy .overline,.store-hero .hero-copy>p:not(.overline),.store-hero .hero-buttons,.store-hero .hero-image img { animation:none!important; } }
@media (max-width:600px) {
  .order-brand-icon { width:39px; height:35px; }
  .order-brand-icon img { width:96px; height:96px; left:-28px; top:-10px; }
  .storefront .order-card { color:#092f20; }
}
