/* La Olla y el Mar | V16 ordering-first layout
   Separates the hero/nav from food shortcuts, preserves all product rows
   in the order summary and keeps all upsell items opt-in. */
.site-v5 {--v16-ink:#003641;--v16-red:#bc1128;--v16-cream:#fff8ec;}

/* Transparent desktop navigation over the hero, solid after scrolling. */
@media(min-width:991px){
 .site-v5 .site-header{
  position:fixed;
  inset:0 0 auto;
  z-index:1000;
  background:linear-gradient(to bottom,rgba(0,38,48,.79),rgba(0,38,48,.24));
  border:0;
  border-bottom:1px solid rgba(238,249,245,.19);
  box-shadow:none;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  transition:background .2s ease,box-shadow .2s ease;
 }
 .site-v5.nav-scrolled .site-header,
 .site-v5 .site-header:has(.mobile-nav[open]){
  background:rgba(0,51,61,.97);
  border-bottom:1px solid rgba(136,221,221,.4);
  box-shadow:0 7px 19px rgba(0,20,29,.29);
  backdrop-filter:blur(14px);
 }
 .site-v5.overlay-open .site-header{z-index:0}
 .site-v5 .site-header .nav-inner{max-width:1520px}
 .site-v5 .desktop-links a,.site-v5 .brand-lettering{color:#fff!important}
 .site-v5 .hero-section{
  height:min(56.25vw,calc(100svh - 70px));
  min-height:min(500px,calc(100svh - 70px));
  max-height:980px;
 }
 .site-v5 .hero-layout{
  padding-top:clamp(75px,7vh,110px);
  align-items:center;
 }
 .site-v5 .hero-copy{max-width:620px;width:min(44%,620px)}
 .site-v5 .hero-copy h1{
  font-size:clamp(46px,4.1vw,78px);
  line-height:1.09;
  text-wrap:balance;
 }
 .site-v5 .hero-section::before{
  background:linear-gradient(90deg,rgba(0,40,50,.84) 0,rgba(0,40,50,.64) 29%,rgba(0,40,50,.19) 58%,transparent 76%);
 }
}
@media(min-width:2200px){
 .site-v5 .site-header .nav-inner{max-width:2360px}
 .site-v5 .hero-section{height:min(56.25vw,calc(100svh - 85px),980px)}
 .site-v5 .hero-copy{max-width:760px;width:41%}
 .site-v5 .hero-copy h1{font-size:clamp(70px,3vw,94px)}
}
@media(max-width:990px){
 .site-v5 .site-header{
  position:sticky;
  z-index:1000;
  background:#003b47;
  border-bottom:1px solid #136a78;
  box-shadow:0 3px 15px #001d2528;
 }
 .site-v5.overlay-open .site-header{z-index:0}
}

/* Food photo shortcuts, always native 16:9.
   Their labels remain selectable HTML and the entire card is a link. */
.site-v5 .visual-shortcuts.reference-delivery-bar{
 margin-top:-46px;
 padding-bottom:clamp(28px,3.6vw,56px);
 background:linear-gradient(to bottom,transparent 0,transparent 46px,#fff8ec 46px);
}
.site-v5 .visual-shortcuts .reference-delivery-inner{
 gap:clamp(12px,1.4vw,23px);
 max-width:1550px;
}
.site-v5 .visual-shortcuts .reference-delivery-inner a{
 display:flex;
 position:relative;
 isolation:isolate;
 width:100%;
 min-height:0;
 height:auto;
 aspect-ratio:16/9;
 align-items:flex-end;
 justify-content:flex-end;
 overflow:hidden;
 border-radius:15px;
 border:2px solid #fff8e6;
 padding:clamp(12px,1.55vw,22px);
 background:#002f3c;
 box-shadow:0 9px 24px rgba(0,34,44,.24);
 transition:transform .15s ease,box-shadow .15s ease;
}
.site-v5 .visual-shortcuts .reference-delivery-inner a:hover{
 transform:translateY(-3px);
 box-shadow:0 14px 33px rgba(0,34,44,.3);
}
.site-v5 .visual-shortcuts .reference-delivery-inner a:focus-visible{
 outline:3px solid #edc56e;
 outline-offset:3px;
}
.site-v5 .visual-shortcuts .reference-delivery-inner a>img{
 display:block;
 position:absolute;
 inset:0;
 z-index:-2;
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center;
 transition:transform .28s ease;
}
.site-v5 .visual-shortcuts .reference-delivery-inner a:hover>img{
 transform:scale(1.045);
}
.site-v5 .visual-shortcuts .reference-delivery-inner a::before{
 content:'';
 display:block;
 position:absolute;
 inset:0;
 z-index:-1;
 background:linear-gradient(to top,rgba(0,31,40,.96) 0%,rgba(0,31,40,.7) 29%,rgba(0,31,40,.13) 62%,transparent 85%);
 pointer-events:none;
}
.site-v5 .visual-shortcuts .reference-delivery-inner a>span{
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 justify-content:flex-end;
 width:100%;
 max-width:none;
 margin:0;
 padding:0 27px 0 0;
 text-align:left;
 gap:5px;
 z-index:1;
}
.site-v5 .visual-shortcuts .reference-delivery-inner a strong{
 display:block;
 font-size:clamp(17px,1.33vw,23px);
 line-height:1.12;
 color:#fffdf7;
 font-weight:850;
 text-shadow:0 2px 8px #00191d8e;
}
.site-v5 .visual-shortcuts .reference-delivery-inner a small{
 display:block;
 font-size:clamp(12px,.91vw,15px);
 line-height:1.28;
 color:#fff0cf;
 text-shadow:0 2px 6px #00191d99;
 font-weight:650;
}
.site-v5 .visual-shortcuts .reference-delivery-inner a>.service-arr{
 position:absolute;
 z-index:2;
 right:clamp(12px,1.4vw,23px);
 bottom:clamp(14px,1.4vw,21px);
 display:grid;
 place-items:center;
 width:32px;height:32px;
 padding:0;
 font-size:19px;
 color:#fff;
 background:#d3162b;
 border-radius:50%;
 border:1px solid #ffffff44;
}
.site-v5 .product-card.shortcut-focus{
 outline:4px solid #f3b75a;
 outline-offset:3px;
 box-shadow:0 0 0 8px #bc11282b;
}

/* Typographic audit: give ordering details generous reading sizes.
   Keep display type expressive but body and controls readable. */
.site-v5 .hero-description,
.site-v5 .specials-intro>p,
.site-v5 .steps-lead,
.site-v5 .delivery-copy>p,
.site-v5 .faq-heading>p{font-size:clamp(16px,1.1vw,20px);line-height:1.55}
.site-v5 .product-card .product-name{
 font-size:clamp(16px,1.07vw,19px)!important;
 line-height:1.3!important;
 letter-spacing:-.015em;
}
.site-v5 .product-card .product-desc{font-size:14px;line-height:1.48}
.site-v5 .product-card .price{font-size:clamp(17px,1.1vw,20px);line-height:1.25;font-weight:850}
.site-v5 .product-card .add,
.site-v5 .featured-add,
.site-v5 .special-actions button{
 min-height:44px;
 font-size:14px;
 font-weight:800;
}
.site-v5 .category-info strong{font-size:clamp(19px,1.6vw,25px)}
.site-v5 .category-info small{font-size:14px}
.site-v5 .order-peek .order-peek-header h3{font-size:22px}
.site-v5 .order-peek-body .order-peek-note{font-size:13px!important;line-height:1.5!important}
.site-v5 .order-peek-body .order-peek-status{font-size:14px!important}
.site-v5 .peek-item-main strong{font-size:15px;line-height:1.35}
.site-v5 .peek-item-main small{font-size:13px;line-height:1.4}
.site-v5 .peek-line-total{font-size:15px}
.site-v5 .peek-subtotal>span{font-size:15px}
.site-v5 .peek-qty button{min-width:38px;min-height:38px;width:38px;height:38px}
.site-v5 .order-peek .button-primary{font-size:16px;line-height:1.35}

/* The key cart fix: no nested scrolling or clipping of the item list.
   When an order is long, let the whole page scroll naturally. */
.site-v5 .order-peek{
 max-height:none!important;
 overflow:visible!important;
 height:auto;
}
.site-v5 .order-peek.is-long-order{
 position:static!important;
 top:auto!important;
}
.site-v5 .order-peek-body{
 max-height:none!important;
 overflow:visible!important;
 height:auto;
}
.site-v5 .order-peek-items,
.site-v5 #order-peek-items{
 max-height:none!important;
 height:auto!important;
 overflow:visible!important;
 scrollbar-width:auto;
}
.site-v5 .peek-item{
 grid-template-columns:56px minmax(0,1fr) auto;
 padding:12px 0;
 align-items:center;
}
.site-v5 .peek-item img{width:56px;height:56px}
.site-v5 .order-peek .peek-subtotal{
 background:#fff7eb;
 padding-block:15px;
}
.site-v5 .cart-items-heading{
 display:flex;
 flex-direction:column;
 gap:3px;
 background:#f3f8f3;
 color:#003b47;
 margin:2px 0 15px;
 padding:14px 13px;
 border-radius:11px;
 border:1px solid #dce9e3;
}
.site-v5 .cart-items-heading strong{font-size:17px;line-height:1.35}
.site-v5 .cart-items-heading span{font-size:13px;line-height:1.4}
.site-v5 #cart-drawer .drawer-body{overflow-y:auto;overflow-x:hidden}
.site-v5 #cart-drawer #cart-items{
 display:flex;
 flex-direction:column;
 overflow:visible;
 max-height:none;
}
.site-v5 #cart-drawer .line-title{font-size:16px;line-height:1.32}
.site-v5 #cart-drawer .line-variant{font-size:13px;line-height:1.4}
.site-v5 #cart-drawer .line-price{font-size:15px}
.site-v5 #cart-drawer .qty button{
 min-width:36px;
 min-height:36px;
 width:36px;height:36px;
}
.site-v5 #cart-drawer .fine{font-size:13px;line-height:1.5}
.site-v5 #cart-drawer .checkout-heading{font-size:21px}
.site-v5 #cart-drawer .field label{font-size:14px}
.site-v5 #cart-drawer .field input,
.site-v5 #cart-drawer .field select,
.site-v5 #cart-drawer .field textarea{font-size:16px;line-height:1.4}
.site-v5 #cart-drawer .checkout-disclaimer{font-size:13px;line-height:1.45}
.site-v5 #cart-drawer .submit{min-height:52px;font-size:16px}
.site-v5 #cart-drawer .copy{font-size:14px;min-height:44px}
.site-v5 #cart-drawer .drawer-total>span{font-size:16px}
.site-v5 #cart-drawer .drawer-total strong{font-size:25px}

/* Restore the image-backed meal customizer on EVERY savory dish, not just
   hot dishes. Extras use real opt-in checkboxes and visible prices. */
.site-v5 #choice-upsells[hidden]{display:none!important}
.site-v5 .choice-addon-group{
 display:block;
 min-width:0;
 padding:0;
 margin:0;
 border:0;
}
.site-v5 .choice-addon-group legend{
 display:block;
 width:100%;
 margin-bottom:6px;
 color:#003b47;
 font-size:16px;
 font-weight:850;
}
.site-v5 .choice-addon-intro{
 margin:0 0 10px!important;
 font-size:14px!important;
 line-height:1.45!important;
}
.site-v5 .choice-addon-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:10px;
}
.site-v5 .choice-addon-card{
 position:relative;
 display:grid;
 grid-template-columns:82px minmax(0,1fr);
 align-items:center;
 gap:9px;
 min-width:0;
 padding:8px;
 border:2px solid #e4dacc;
 border-radius:13px;
 background:white;
 cursor:pointer;
}
.site-v5 .choice-addon-card:has(input:checked){
 border-color:#b80f26;
 background:#fff8f4;
 box-shadow:0 0 0 2px #b80f2630;
}
.site-v5 .choice-addon-card:has(input:focus-visible){
 outline:3px solid #edb959;
 outline-offset:2px;
}
.site-v5 .choice-addon-card>input{
 position:absolute;
 opacity:0;
 width:1px;height:1px;
 top:0;left:0;
}
.site-v5 .choice-addon-image{
 display:block;
 width:82px;
 aspect-ratio:16/11;
 overflow:hidden;
 border-radius:8px;
 background:#f5eadc;
}
.site-v5 .choice-addon-image img{
 width:100%;height:100%;
 object-fit:cover;
}
.site-v5 .choice-addon-text{
 display:flex;
 flex-direction:column;
 gap:4px;
 min-width:0;
 padding-right:16px;
}
.site-v5 .choice-addon-text strong{
 font-size:14px;
 line-height:1.24;
 color:#003b47;
 font-weight:850;
}
.site-v5 .choice-addon-text small{
 font-size:14px;
 font-weight:850;
 color:#ba1027;
}
.site-v5 .choice-addon-check{
 position:absolute;
 right:9px;top:8px;
 display:grid;
 place-items:center;
 width:23px;height:23px;
 border-radius:50%;
 background:#ba1027;color:white;
 opacity:0;
}
.site-v5 .choice-addon-card:has(input:checked) .choice-addon-check{opacity:1}
.site-v5 .choice-addon-skip{
 display:block;
 color:#526b6f;
 font-size:13px;
 padding-top:8px;
}
.site-v5 .choice-group legend{font-size:16px;line-height:1.35}
.site-v5 .choice-name{font-size:14px;line-height:1.3}
.site-v5 #confirm-choice{font-size:16px;min-height:52px}

/* Delivery should feel as substantial as the adjacent editorial sections,
   with a full-height photo rather than an undersized boxed image. */
@media(min-width:991px){
 .site-v5 .delivery-section{
  display:block;
  aspect-ratio:auto;
  min-height:clamp(740px,55vw,1080px);
  padding:0;
  background:#e2f1ec;
 }
 .site-v5 .delivery-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  width:100%;
  max-width:2360px;
  min-height:inherit;
  height:100%;
  gap:0;
  margin:0 auto;
  align-items:stretch;
 }
 .site-v5 .delivery-photo{
  position:relative;
  grid-row:1;
  grid-column:1;
  display:block;
  height:100%;
  min-height:inherit;
  width:100%;
  aspect-ratio:auto;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:hidden;
 }
 .site-v5 .delivery-photo img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:50% 47%;
 }
 .site-v5 .delivery-copy{
  grid-row:1;
  grid-column:2;
  width:100%;
  max-width:760px;
  padding:clamp(45px,5vw,105px);
  justify-self:center;
  align-self:center;
 }
 .site-v5 .delivery-copy h2{
  font-size:clamp(49px,4.3vw,81px)!important;
  line-height:1.09;
 }
 .site-v5 .delivery-copy>p{font-size:clamp(17px,1.12vw,20px)}
 .site-v5 .delivery-facts span{font-size:clamp(14px,.94vw,17px)}
 .site-v5 .delivery-contact{font-size:16px}
}
@media(min-width:2200px){
 .site-v5 .visual-shortcuts .reference-delivery-inner{max-width:2320px}
 .site-v5 .delivery-section{min-height:clamp(850px,73svh,1110px)}
}
@media(max-width:990px){
 .site-v5 .delivery-section{aspect-ratio:auto}
}

/* Mobile ordering: keep the photo shortcuts legible, the popup naturally
   scrollable, and the itemized cart list above the checkout form. */
@media(max-width:680px){
 .site-v5 .visual-shortcuts.reference-delivery-bar{
  margin-top:0;
  padding:15px 0 28px;
  background:#fff8ec;
 }
 .site-v5 .visual-shortcuts .reference-delivery-inner{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:calc(100% - 24px);
 }
 .site-v5 .visual-shortcuts .reference-delivery-inner a{
  min-height:0;
  aspect-ratio:16/9;
  padding:9px;
  border-radius:10px;
 }
 .site-v5 .visual-shortcuts .reference-delivery-inner a strong{
  font-size:clamp(13px,3.5vw,16px);
  line-height:1.12;
 }
 .site-v5 .visual-shortcuts .reference-delivery-inner a small{display:none}
 .site-v5 .visual-shortcuts .reference-delivery-inner a>span{padding-right:21px}
 .site-v5 .visual-shortcuts .reference-delivery-inner a>.service-arr{
  width:25px;height:25px;
  right:8px;bottom:8px;
  font-size:16px;
 }
 .site-v5 .product-card .product-name{font-size:clamp(15px,3.8vw,17px)!important}
 .site-v5 .product-card .price{font-size:17px}
 .site-v5 .product-card .add{min-height:44px}
 .site-v5 .modal-content{gap:9px}
 .site-v5 .choice-group legend{font-size:15px}
 .site-v5 .choice-name{font-size:12px}
 .site-v5 .choice-addon-grid{gap:8px}
 .site-v5 .choice-addon-card{
  grid-template-columns:1fr;
  padding:6px;
  gap:4px;
  align-items:stretch;
 }
 .site-v5 .choice-addon-image{width:100%;aspect-ratio:16/7}
 .site-v5 .choice-addon-image img{object-fit:contain}
 .site-v5 .choice-addon-text{
  flex-direction:row;
  justify-content:space-between;
  gap:5px;
  padding-right:0;
 }
 .site-v5 .choice-addon-text strong{font-size:11.5px}
 .site-v5 .choice-addon-text small{font-size:12px;white-space:nowrap}
 .site-v5 .choice-addon-group legend{font-size:14px}
 .site-v5 .choice-addon-intro{font-size:12.5px!important}
 .site-v5 .choice-addon-check{right:7px;top:7px;width:20px;height:20px}
 .site-v5 .choice-addon-skip{font-size:12px}
 .site-v5 .choice-group .choice-tile{min-height:0}
 .site-v5 #confirm-choice{min-height:50px;font-size:14px}
 .site-v5 #cart-drawer .line-title{font-size:15px}
 .site-v5 #cart-drawer .line-variant{font-size:13px}
}
@media(max-width:360px){
 .site-v5 .visual-shortcuts .reference-delivery-inner a strong{font-size:12px}
 .site-v5 .choice-addon-text strong{font-size:11px}
 .site-v5 .choice-addon-text small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 .site-v5 .site-header,.site-v5 .visual-shortcuts .reference-delivery-inner a,
 .site-v5 .visual-shortcuts .reference-delivery-inner a>img{transition:none}
}

/* Mobile food customization uses two explicit, short steps:
   1. choose pictured tortillas/soup, 2. opt in to a drink or side. */
.site-v5 #choice-options[hidden],
.site-v5 #choice-upsells[hidden],
.site-v5 #choice-back[hidden]{display:none!important}
.site-v5 .choice-back{
 display:inline-flex;
 align-items:center;
 justify-content:flex-start;
 width:max-content;
 max-width:100%;
 min-height:42px;
 padding:8px 3px;
 background:transparent;
 border:0;
 color:#bc1128;
 font-size:14px;
 font-weight:850;
 cursor:pointer;
}
.site-v5 .choice-back:focus-visible{outline:3px solid #e6b55a}
@media(min-width:991px){
 .site-v5:not(.nav-scrolled) .site-header{
  background:rgba(0,35,43,.17);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-bottom:1px solid #ffffff38;
 }
 .site-v5 .site-header .desktop-links a{text-shadow:0 1px 9px #001921}
}
@media(max-width:680px){
 .site-v5 .modal-visual{height:clamp(87px,12svh,108px)!important}
 .site-v5 .modal-content{padding:12px 14px 16px;gap:7px}
 .site-v5 .choice-grid{gap:7px}
 .site-v5 .choice-tile{padding:4px}
 .site-v5 .choice-media{aspect-ratio:16/7}
 .site-v5 .choice-name{
  min-height:23px;
  padding:3px 2px;
  font-size:11.5px;
 }
 .site-v5 .choice-addon-image{aspect-ratio:16/7}
 .site-v5 .modal #choice-desc{font-size:12px}
 .site-v5 #choice-modal[data-step="choices"] .choice-group{
  margin-bottom:3px;
 }
}

/* Fixed desktop navigation must never obscure targeted catalog/cart headings. */
html{scroll-padding-top:98px}
.site-v5 #menu-collection,
.site-v5 #especiales,
.site-v5 #como-pedir,
.site-v5 #entregas,
.site-v5 #preguntas,
.site-v5 .order-peek,
.site-v5 .product-card{scroll-margin-top:98px}
@media(max-width:680px){
 html{scroll-padding-top:82px}
 .site-v5 .choice-name{font-size:clamp(12px,3.05vw,13px)}
 .site-v5 .choice-addon-text strong{font-size:12px}
 .site-v5 .choice-addon-text small{font-size:12px}
}
