@charset "UTF-8";
@font-face{font-family:Rye;src:url('assets/fonts/Rye-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--green:#075333;--green-dark:#063e2a;--green-bright:#148b45;--orange:#ff8a24;--orange-dark:#a93d04;--gold:#ffcc47;--paper:#f6f9ec;--ink:#173d2c;--muted:#4c6654;--line:#d4dfc9;--display:Rye,Georgia,serif;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:var(--paper);color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bd4200;outline-offset:4px}button:disabled{cursor:wait;opacity:.65}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}img{display:block;max-width:100%}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:24px}.skip-link{position:fixed;top:-60px;left:20px;background:var(--gold);z-index:20;padding:14px}.skip-link:focus{top:12px}
.announcement{display:flex;justify-content:center;gap:24px;background:var(--orange);color:var(--green-dark);font-size:.8rem;font-weight:800;letter-spacing:.06em;padding:12px 20px;text-align:center}.header{padding:24px max(28px,calc((100vw - 1456px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--green);color:white;gap:24px;position:relative}.header::after,.textile-band{content:"";display:block;height:12px;background:conic-gradient(from 45deg,var(--orange) 0deg 90deg,var(--green-dark) 90deg 180deg,var(--gold) 180deg 270deg,var(--green-dark) 270deg) 0 0/24px 24px}.header::after{position:absolute;left:0;bottom:-12px;width:100%}.brand{display:flex;align-items:center;gap:16px;text-decoration:none}.brand img{width:84px;height:68px;object-fit:contain;border-radius:14px;background:#2c0d04;border:2px solid var(--gold)}.brand>span{display:flex;flex-direction:column;gap:6px}.brand strong{font:400 1.9rem/1.2 var(--display);color:#fff7d7}.brand span span{font-size:.875rem;letter-spacing:.04em;color:#e3eed9}nav{display:flex;gap:30px;align-items:center;font-size:.95rem;font-weight:700}nav a{text-decoration:none}.nav-menu:hover{color:var(--gold)}.nav-cart{display:flex;gap:12px;align-items:center;border:1px solid #7db28a;padding:12px 16px;border-radius:100px}.nav-cart>span{background:var(--orange);color:var(--green-dark);min-width:28px;height:28px;border-radius:50%;display:grid;place-items:center}
.layout{max-width:1512px;margin:0 auto;padding:44px 28px 52px;display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:28px;align-items:start}.menu-section{min-width:0}.menu-heading{padding:0 0 23px}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.12em;color:var(--green);line-height:1.5;margin:0 0 13px}h1{font:400 clamp(2.35rem,4vw,3.8rem)/1.25 var(--display);letter-spacing:-.035em;margin:0 0 18px}h1 em{color:var(--orange-dark);font-style:normal}.intro{color:var(--muted);font-size:1.05rem;line-height:1.6;margin:0;max-width:48ch}.same-price{display:inline-block;background:#fce2b2;color:#743203;border-radius:50px;padding:10px 16px;margin:18px 0 0;font-size:.875rem;font-weight:700;line-height:1.4}.service-note{display:flex;gap:12px;align-items:center;padding:13px 16px;background:#e2efce;border:1px solid #bad1a2;margin-bottom:23px;border-radius:12px}.service-note svg{width:24px;height:24px;flex-shrink:0}.service-note p{margin:0;display:flex;flex-direction:column;gap:5px;font-size:.875rem;line-height:1.4}.service-note p strong{color:var(--green-dark)}.service-note p span{color:var(--muted)}
.menu-toolbar{margin:0 0 29px}.category-filters{display:flex;gap:8px;flex-wrap:wrap}.category-filters button{background:#fffef9;color:var(--green);border:1px solid #b8cdb0;border-radius:50px;padding:11px 14px;font-size:.875rem;font-weight:700;min-height:44px;white-space:nowrap}.category-filters button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.category-filters button:hover{border-color:var(--orange-dark)}.filter-summary{font-size:.8rem;color:var(--muted);margin:13px 0 0}.category-section{margin-bottom:38px;scroll-margin-top:24px}.category-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 18px;padding-bottom:15px;border-bottom:2px solid #d2dfc5}.category-heading h2{font:400 clamp(1.35rem,2vw,1.9rem)/1.35 var(--display);margin:0 0 7px;color:var(--green-dark);letter-spacing:-.02em}.category-heading p{font-size:.875rem;color:var(--muted);margin:0;line-height:1.5}.category-heading>span{font-size:.75rem;color:var(--green);white-space:nowrap;background:#e5efd8;padding:7px 9px;border-radius:50px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product{border:1px solid #b9cfab;border-radius:20px;overflow:hidden;background:#fffef9;box-shadow:0 5px 0 #0753330c;display:flex;flex-direction:column;min-width:0}.product-photo{position:relative;background:linear-gradient(180deg,#fff 20%,#eef4e6 100%);border-top:5px solid var(--orange);overflow:hidden}.dish-view{display:block;position:relative;width:100%;height:220px;perspective:850px;transform-style:preserve-3d;padding:12px 8px 4px;background:none;border:0;touch-action:pan-y;user-select:none;cursor:grab}.dish-view:active{cursor:grabbing}.dish-view:focus-visible{outline-color:var(--orange-dark);outline-offset:-6px;border-radius:15px}.dish-image{width:100%;height:100%;object-fit:contain;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(10px);filter:drop-shadow(0 10px 8px #102e2329);transition:transform .22s ease;pointer-events:none}.motion-hint{display:block;text-align:center;color:var(--muted);font-size:.7rem;letter-spacing:.02em;padding:0 8px 10px}.product-content{padding:18px 17px 17px;flex:1;display:flex;flex-direction:column}.product h3{font:400 1.2rem/1.45 var(--display);color:var(--green-dark);margin:0 0 9px;letter-spacing:-.025em;overflow-wrap:anywhere}.product-description{font-size:.85rem;color:var(--muted);line-height:1.55;margin:0 0 15px}.product-price{font-size:2rem;letter-spacing:-.045em;font-weight:800;line-height:1.2;color:var(--green);margin:0 0 5px;margin-top:auto}.price-detail{font-size:.7rem;line-height:1.45;color:var(--muted)}.product-price.pending-price{font-size:1.25rem;letter-spacing:-.02em;color:#8d3c08}.product-pending .product-content{background:#fff9ec}.photo-note{font-size:.75rem;color:var(--muted);line-height:1.5;margin:0 0 14px}.lunch-label{font-size:.8rem}.product-content select{font-size:.8rem;padding:9px;margin-bottom:16px}.product-action{padding-top:17px;min-height:63px}.add-button,.stepper{width:100%;min-height:46px;border:0;border-radius:10px;background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;font-weight:700;padding:0 13px;font-size:.875rem}.add-button:hover,.checkout-button:hover{background:var(--green-dark)}.add-button>span:last-child{font-size:1.6rem;font-weight:400}.stepper{padding:0;background:#e6efd7;color:var(--green);border:1px solid #b6cca3}.stepper button{border:0;background:none;color:inherit;min-width:44px;align-self:stretch;font-size:1.5rem;border-radius:10px}.stepper button:hover{background:#d6e6c3}.stepper output{font-size:1rem;font-weight:700}.menu-footnote{color:var(--muted);font-size:.875rem;line-height:1.65;margin:20px 0 28px}.delivery-info{background:var(--green);color:white;border-radius:15px;padding:23px;display:flex;gap:15px;align-items:flex-start}.delivery-icon{display:grid;place-items:center;flex-shrink:0;width:45px;height:45px;background:var(--orange);color:var(--green-dark);border-radius:50%}.delivery-icon svg{width:25px;height:25px}.delivery-info h2{font-size:1rem;margin:1px 0 8px;line-height:1.4}.delivery-info p{font-size:.875rem;color:#e2eedb;line-height:1.7;margin:0}
.order-panel{background:#fffef9;border:2px solid var(--green);border-radius:20px;position:sticky;top:22px;box-shadow:6px 6px 0 #ef8c202b;scroll-margin-top:24px;max-height:calc(100dvh - 44px);display:flex;flex-direction:column;min-width:0}.order-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--green);color:#fff8dc;padding:20px 22px;border-radius:17px 17px 0 0}.order-heading h2{font:400 1.55rem/1.3 var(--display);margin:0}.order-heading>span{font-size:.8rem;color:#e5efdd;white-space:nowrap}.order-body{padding:0 22px 22px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a3ba98 transparent}.empty-cart{text-align:center;padding:30px 0}.empty-cart svg{width:70px;height:70px;color:var(--green-bright);margin:auto}.empty-cart h3{font-size:1rem;margin:16px 0 10px}.empty-cart p{font-size:.9rem;color:var(--muted);line-height:1.7;margin:0}.order-contact{padding-top:19px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px;margin-top:16px}.order-contact span{font-size:.8rem;color:var(--muted)}.order-contact a{font-weight:800;text-decoration:none;font-size:1rem;color:var(--green)}.cart-items{list-style:none;margin:0;padding:0}.cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}.cart-item-name{font-size:.9rem;font-weight:700;margin:0 0 5px;line-height:1.4}.cart-item-unit{font-size:.8rem;color:var(--muted)}.cart-item-total{font-weight:800;font-size:.95rem;white-space:nowrap}.cart-item-total.pending{font-size:.75rem;color:#8d3c08;white-space:normal;max-width:65px;text-align:right;line-height:1.5}.cart-item .stepper{width:116px;min-height:38px;margin-top:10px}.cart-item .stepper button{min-width:36px;font-size:1.25rem}.totals{padding:20px 0 22px;display:grid;gap:13px}.totals>div{display:flex;justify-content:space-between;gap:10px;font-size:.875rem;align-items:center}.totals strong{color:var(--green);font-size:1.2rem;white-space:nowrap}.totals strong.pending{font-size:1rem;white-space:normal;text-align:right}.totals .shipping{font-size:.8rem;color:var(--muted);line-height:1.5}.shipping span:last-child{text-align:right}.pending-order{font-size:.8rem;line-height:1.55;margin:0;background:#fff0d6;color:#743203;padding:11px;border-radius:7px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:800;font-size:1.05rem;margin-bottom:17px}label{display:block;font-weight:700;font-size:.875rem;margin-bottom:8px;line-height:1.4}label span{color:var(--muted);font-weight:400}input,textarea,select{display:block;width:100%;border:1px solid #b8cbb0;border-radius:9px;padding:11px 12px;line-height:1.5;background:#fafcf4;color:var(--ink);margin:0 0 17px;resize:vertical;font-size:1rem}input::placeholder,textarea::placeholder{color:#657960;font-size:.875rem}.field-help{font-size:.8rem;line-height:1.55;color:var(--muted);margin:-7px 0 15px}.location-tools{border:1px solid #bfd0b3;background:#eef5e4;padding:13px;border-radius:10px;margin:0 0 21px}.location-button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--green);background:#fffef9;color:var(--green);border-radius:8px;padding:11px 9px;width:100%;font-size:.875rem;font-weight:800;min-height:46px}.location-button svg{width:20px;height:20px;flex-shrink:0}.location-button:hover{background:#dfebd1}.location-help{font-size:.75rem;line-height:1.6;color:var(--muted);margin:10px 0 0}.location-status{font-size:.8rem;color:var(--green);line-height:1.55;margin:0;overflow-wrap:anywhere}.location-status:not(:empty){margin-top:10px}.location-selection{margin-top:10px}.location-selection a{font-size:.8rem;font-weight:700;line-height:1.6;display:inline-block}.text-button{border:0;background:none;color:#9b3803;text-decoration:underline;font-size:.8rem;font-weight:700;min-height:40px;padding:7px 0}.checkout-note,.send-note,.privacy-note{font-size:.8rem;line-height:1.6;color:var(--muted);margin:4px 0 15px}.privacy-note{font-size:.75rem}.checkout-button{border:0;background:var(--green);color:white;border-radius:11px;padding:14px 10px;font-size:.95rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px}.checkout-button svg{width:23px;height:23px;flex-shrink:0}.send-note{margin-top:12px}.checkout-feedback{font-size:.875rem;line-height:1.6;background:#fff0d6;padding:12px;border-left:3px solid var(--orange);margin-bottom:20px;overflow-wrap:anywhere}.checkout-feedback a{font-weight:700}.textile-band{height:16px}.footer{padding:27px max(28px,calc((100vw - 1456px)/2));background:var(--green-dark);color:#e1ecd8;display:flex;gap:18px;align-items:center;font-size:.875rem}.footer strong{font:400 1.2rem var(--display);color:var(--gold)}.footer span:last-child{margin-left:auto}.mobile-cart{display:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.noscript{position:fixed;bottom:0;width:100%;padding:16px;background:var(--gold);z-index:20;text-align:center}
@media(min-width:1450px){.dish-view{height:245px}.product h3{font-size:1.3rem}.product-price{font-size:2.25rem}}
@media(max-width:1180px) and (min-width:761px){.layout{grid-template-columns:minmax(0,1fr) 318px;gap:22px;padding:38px 24px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dish-view{height:210px}.product-content{padding:17px 14px}.product h3{font-size:1.1rem}.product-price{font-size:1.8rem}.order-body{padding-left:18px;padding-right:18px}.order-heading{padding:20px 18px}.category-heading>span{display:none}}
@media(max-width:900px) and (min-width:761px){.product-grid{grid-template-columns:1fr}.product{display:grid;grid-template-columns:45% 1fr}.product-photo{display:flex;flex-direction:column;justify-content:center}.dish-view{height:220px}.motion-hint{font-size:.65rem}.category-heading h2{font-size:1.3rem}}
@media(max-width:760px){.announcement{font-size:.75rem;gap:10px;padding:11px 12px;letter-spacing:.03em}.header{padding:20px;gap:12px}.brand{gap:10px}.brand img{width:62px;height:51px;border-radius:10px}.brand strong{font-size:1.35rem}.brand span span{font-size:.75rem}.nav-menu{display:none}.nav-cart{font-size:.8rem;gap:7px;padding:9px 10px}.nav-cart>span{min-width:24px;height:24px}.layout{display:block;padding:38px 20px}.eyebrow{font-size:.7rem;letter-spacing:.09em;margin-bottom:12px}h1{font-size:clamp(2.2rem,9vw,3rem);line-height:1.3}.intro{font-size:1rem;max-width:34ch}.same-price{font-size:.8rem;padding:10px 13px}.service-note{padding:13px}.service-note p{font-size:.85rem}.menu-toolbar{position:sticky;top:0;z-index:3;background:var(--paper);padding:11px 0 10px;margin-top:-11px;border-bottom:1px solid #d4dfc9}.category-filters{flex-wrap:nowrap;overflow:auto;padding:3px 2px 9px;scrollbar-width:thin}.category-filters button{padding:10px 13px}.filter-summary{margin:2px 0 0;font-size:.75rem}.category-section{scroll-margin-top:100px;margin-bottom:33px}.category-heading{margin-bottom:18px}.category-heading h2{font-size:1.55rem}.category-heading p{font-size:.85rem}.category-heading>span{font-size:.7rem}.product-grid{grid-template-columns:1fr;gap:24px}.product{border-radius:20px}.dish-view{height:285px;padding:13px 12px 2px}.motion-hint{font-size:.75rem;padding-bottom:13px}.product-content{padding:21px}.product h3{font-size:1.5rem;margin-bottom:11px}.product-description{font-size:.95rem;margin-bottom:17px}.product-price{font-size:2.5rem}.price-detail{font-size:.8rem}.product-price.pending-price{font-size:1.6rem}.product-content select{font-size:1rem}.product-action{padding-top:18px}.add-button,.stepper{min-height:52px;font-size:1rem}.menu-footnote{font-size:.875rem;line-height:1.7}.delivery-info{padding:21px}.order-panel{position:static;max-height:none;margin-top:32px;scroll-margin-top:20px}.order-body{overflow:visible;padding:0 22px 22px}.order-heading h2{font-size:1.65rem}.footer{padding:25px 20px 30px;flex-wrap:wrap;gap:14px;font-size:.8rem}.footer span:last-child{width:100%;margin:0}.mobile-cart{position:fixed;z-index:5;bottom:calc(14px + env(safe-area-inset-bottom));left:14px;right:14px;border-radius:14px;background:var(--orange);border:2px solid var(--green-dark);color:var(--green-dark);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;text-decoration:none;box-shadow:0 5px 20px #062c2344;font-size:.9rem;min-height:64px}.mobile-cart>span{font-weight:800;display:flex;align-items:center;gap:9px}.mobile-cart #mobile-count{display:grid;place-items:center;background:var(--green);color:white;border-radius:50%;min-width:25px;height:25px;font-size:.8rem}.mobile-cart strong{font-size:1.1rem}.mobile-cart strong.pending{font-size:.85rem;text-align:right;max-width:115px}.has-cart{padding-bottom:102px}.checkout-note,.send-note,.field-help{font-size:.875rem}.location-help,.privacy-note{font-size:.8rem}.cart-item .stepper{min-height:44px}.cart-item .stepper button{min-width:39px}.location-button{font-size:1rem}}
@media(max-width:360px){.header{padding:18px 14px}.brand img{width:48px;height:44px}.brand strong{font-size:1.15rem}.layout{padding-left:14px;padding-right:14px}.product-content{padding:18px}.dish-view{height:252px}.nav-cart{padding:8px}.category-heading>span{display:none}.announcement{font-size:.65rem}.mobile-cart{padding:14px 12px}.mobile-cart>span{gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.dish-image{transform:none!important}.motion-hint{visibility:hidden}}

.option-label{font-size:.8rem}.cart-item-unit{display:block;line-height:1.55}.product-content select{margin-bottom:14px}

/* Oferta destacada al inicio de la carta. */
.menu-heading-compact h1{font-size:clamp(1.65rem,2.7vw,2.55rem);line-height:1.35;margin-bottom:12px}.menu-heading-compact .same-price{margin-top:12px}.menu-heading-compact{padding-bottom:24px}
.offers-section{margin-bottom:25px}.offers-section .category-heading{margin-bottom:14px;padding-bottom:11px}.offers-section .category-heading>span{display:none}.offers-section .product-grid{grid-template-columns:1fr}.featured-offer{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border:2px solid var(--green);background:#fff9e8;box-shadow:0 6px 0 #07533312}.featured-offer .product-photo{display:flex;flex-direction:column;justify-content:center;border-top:0;background:radial-gradient(ellipse at center,#fffef9 30%,#e7efce 100%)}.featured-offer .dish-view{height:310px;padding:18px 10px 0}.featured-offer .product-content{padding:24px;background:#fff5d9}.offer-badge{align-self:flex-start;margin:0 0 13px;border-radius:50px;background:var(--orange);color:var(--green-dark);font-size:.7rem;font-weight:800;letter-spacing:.07em;padding:8px 12px}.featured-offer h3{font-size:clamp(1.6rem,2.8vw,2.35rem);margin-bottom:10px}.featured-offer .product-description{font-size:.95rem}.featured-offer .product-price{font-size:3.1rem;margin-top:6px}.featured-offer .product-action{margin-top:auto;padding-top:18px}
@media(max-width:1180px) and (min-width:761px){.featured-offer{grid-template-columns:1fr}.featured-offer .dish-view{height:250px}.featured-offer .product-content{padding:20px}.featured-offer .product-price{font-size:2.8rem}.featured-offer h3{font-size:1.9rem}}
@media(max-width:760px){.menu-heading-compact h1{font-size:1.85rem;line-height:1.4}.menu-heading-compact .intro{font-size:.95rem}.offers-section .category-heading p{max-width:32ch}.featured-offer{grid-template-columns:1fr}.featured-offer .dish-view{height:300px}.featured-offer .product-content{padding:23px}.featured-offer h3{font-size:2rem}.featured-offer .product-price{font-size:3.2rem}.featured-offer .product-description{font-size:1rem}.menu-toolbar{margin-top:0}}
