/* Bright Mexican palette: cobalt, hibiscus pink and marigold. */
:root { --mex-yellow:#ffce00; --mex-chile:#c72360; --mex-pink:#ef4385; --mex-turquoise:#167c9a; --mex-cream:#fff9ed; --mex-ink:#23234a; }
body { background:#364bc2; color:#fff9ed; }
.site-shell { background:#364bc2; }
.site-shell::before { color:rgba(255,206,0,.35); }
.site-shell::after { opacity:.2; }
.topline { background:#ffce00; border-color:#ef4385; color:#23234a; }
.hero-meta,.hero-rule { color:#fff4d2; }
.hero-rule { border-color:rgba(255,255,255,.45); }
.hero h1 { color:#fff9ed; text-shadow:3px 3px 0 #253594; }
.hero h1 em { color:#ffce00; }
.hero .kicker,.hero .brand-name small,.directions { color:#fff4d2; }
.live-open-status,.live-open-status.is-open { color:#ffef8b; }
.language-switch { color:#fff; }
.language-switch button { background:#283b9f; color:#fff; border-color:#8f9deb; }
.language-switch button.selected { background:#ffce00; color:#23234a; border-color:#ffce00; box-shadow:3px 3px 0 #ef4385; }
.hero::before,.hero::after,.hero .hero-couple { filter:sepia(.1) saturate(1.05) contrast(.96) brightness(1.1); }
.hero::before { opacity:.83; }.hero::after { opacity:.9; }.hero .hero-couple { opacity:.8; }
.search { color:#ffce00; border-color:#afbcff; }
.search input { color:white; }.search input::placeholder { color:#ecedff; }
.menu-nav-sticky { background:#ffce00; border-color:#e9b900; box-shadow:0 8px 20px #17206025; }
.menu-type-switch { background:#fff9ed; border-color:#23234a; box-shadow:4px 4px 0 #ef4385; }
.menu-type-switch button { color:#33386d; }
.menu-type-switch button.active { background:#364bc2; color:white; box-shadow:3px 3px 0 #ef4385; }
.menu-type-switch button:nth-child(2).active { background:#c72360; color:white; }
.menu-type-switch button:hover:not(.active) { color:#23234a; background:#e7eaff; }
.category-nav button,.dietary-filters button { color:#23234a; border-color:#9a751a; background:#fff9ed; }
.category-nav button:hover,.category-nav button.active { color:white; background:#364bc2; border-color:#364bc2; }
.dietary-filters button.active { color:white; background:#364bc2; border-color:#364bc2; }
.dietary-filters button:nth-child(2).active,.dietary-filters button:nth-child(3).active { color:white; background:#286b40; border-color:#286b40; }
.dietary-filters button:nth-child(4).active { color:white; background:#b21c54; border-color:#b21c54; }
.menu-section,.menu-section:nth-child(2n) { background:#fff9ed; color:#23234a; border:1px solid #f4dfc5; border-top:5px solid #ef4385; }
.menu-section:nth-child(2n) { background:#fff; border-top-color:#ffce00; }
.section-heading,.section-heading h3 { color:#293a9e; }
.menu-section .eyebrow { color:#a72152; }
.items,.menu-item { border-color:#dad6de; }
.item-top h4 { color:#23234a; }
.item-top strong { color:#a72152; }
.menu-item p { color:#52546a; font-size:14px; }
.dots { border-color:#a6a3b6; }
.menu-item:hover { background:linear-gradient(90deg,#ffce0024,transparent); }
.menu-item:hover .item-top h4 { color:#a72152; }
.menu-section:hover { border-color:#ef4385; box-shadow:0 10px 24px #17206024; }
.add-to-cart { color:#364bc2; border-color:#364bc2; background:#eef0ff; }
.add-to-cart:hover { color:white; background:#364bc2; }
.item-tag { color:#a72152; border-color:#c72360; }
.badge-veg,.badge-vegan { color:#205431; background:#e4f1df; border-color:#89aa83; }
.badge-spicy { color:#9c1843; background:#ffe3ed; border-color:#cf8ba1; }
.badge-allergen { color:#625018; background:#fff0ba; border-color:#c4af6e; }
.show-more,.empty { color:#fff9ed; }.empty { border-color:#adbbff; }
.review-callout { border-color:#ffce00; }.review-callout h3,.review-callout h3 em { color:#fff9ed; }
.review-callout a { color:#23234a; background:#ffce00; }
.footer { background:#ffce00; color:#23234a; }
.footer .brand-name small { color:#293a9e; }
.choice-prompt { background:#ff82b0; color:#23234a; box-shadow:6px 6px 0 #ffce00,0 14px 30px #17206030; }
.cart-drawer { background:#fff9ed; color:#23234a; border-left-color:#ef4385; }
.cart-header,.cart-item { border-color:#d1cbdc; }
.cart-close,.quantity button { color:#364bc2; border-color:#364bc2; }
.cart-item small,.cart-item em,.cart-swipe-hint,.cart-empty,.clear-cart { color:#59506a; }
.cart-swipe-hint span,.cart-total strong { color:#a72152; }
.waiter-cta { color:#293a9e; background:#e8edff; border-color:#364bc2; }
.cart-total { border-color:#364bc2; }
.variant-modal,.pinata-modal { background:#fff9ed; color:#23234a; }
.variant-modal h2,.pinata-modal h2 { color:#293a9e; }
.variant-modal p,.pinata-modal p { color:#59506a; }
.variant-options button { background:#e8edff; color:#23234a; border-color:#364bc2; }
.variant-options button strong { color:#a72152; }
.variant-close,.pinata-close { color:#364bc2; border-color:#364bc2; }
.pinata-mode button { color:#293a9e; background:#e8edff; border-color:#364bc2; }
.pinata-mode button.active { color:white; background:#364bc2; }

@font-face { font-family:'Rye'; src:url('/fonts/rye.ttf') format('truetype'); font-style:normal; font-weight:400; font-display:swap; }
/* Lettering inspired by painted cantina signs; body copy stays readable. */
.hero h1,.section-heading h3,.review-callout h3,.cart-header h2,
.variant-modal h2,.pinata-modal h2,.waiter-card > header h2,.choice-prompt strong {
  font-family:'Rye',Georgia,serif; font-weight:400; font-style:normal; letter-spacing:-.025em; line-height:1.15;
}
.hero h1 { font-size:clamp(54px,7.2vw,94px); }
.hero h1 em,.review-callout h3 em { font-family:inherit; font-style:normal; font-weight:400; }
.section-heading h3 { font-size:clamp(23px,2.6vw,32px); overflow-wrap:anywhere; }
.brand-name { font-family:'Rye',Georgia,serif; font-weight:400; letter-spacing:.025em; }
.brand-name small { font-family:'DM Sans',sans-serif; letter-spacing:.16em; }
.choice-prompt strong { font-size:18px; }
@media(max-width:700px) {
  .hero h1 { font-size:clamp(23px,6.5vw,42px); }
  .brand-name { font-size:11px; }
  .choice-prompt strong { font-size:17px; }
  .cart-header h2,.variant-modal h2,.pinata-modal h2 { font-size:26px; }
}
