.skip-link{position:fixed;left:12px;top:8px;z-index:250;transform:translateY(-160%);background:var(--cream);color:var(--brown);padding:10px 12px;border:2px solid var(--brown);border-radius:6px;font-size:12px;font-weight:700;text-decoration:none}.skip-link:focus{transform:translateY(0)}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid #241A17;outline-offset:3px}
:root{--brown:#241A17;--brown2:#241A17;--cream:#F1E2CC;--surface:#F1E2CC;--muted:rgba(36,26,23,.68);--line:rgba(36,26,23,.16);--green:#241A17;--red:#8f241c;--shadow:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#241A17}body{margin:0;background:var(--surface);color:var(--brown);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.drawer-open{overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{height:60svh;min-height:500px;max-height:680px;position:relative;overflow:hidden;background:var(--brown);color:var(--cream)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,26,23,.56) 0%,rgba(36,26,23,.24) 34%,rgba(36,26,23,.03) 62%,rgba(36,26,23,.32) 100%)}.hero-copy{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(58px,7vw,86px) clamp(18px,5vw,76px) 24px}.hero-logo{width:min(70vw,900px);height:auto;}.hero-descriptor{margin:14px 0 6px;font-family:Inter,Arial,sans-serif;font-size:clamp(24px,3.7vw,50px);letter-spacing:-.045em;line-height:.95}.hero-claim{margin:0 0 10px;font-size:clamp(11px,1.3vw,16px);font-weight:700;letter-spacing:.16em}.hero-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:7px 18px;padding-top:0;border-top:0;font-size:10px;letter-spacing:.16em}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#F1E2CC}.live-dot.closed{background:#F1E2CC}.hero-menu-link{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(26px,3.2vh,38px);color:var(--brown);background:var(--cream);font-size:11px;font-weight:700;letter-spacing:.12em;text-decoration:none;border:0;border-radius:999px;padding:15px 24px;}.hero-menu-link span{font-size:15px;line-height:1}
.menu{padding:clamp(54px,7vw,92px) clamp(18px,5vw,76px) 84px}.menu-top{display:flex;justify-content:space-between;align-items:end;gap:8vw;margin-bottom:30px}.section-label{margin:0 0 14px;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.menu h2,.drawer-panel h2{margin:0;font-family:Inter,Arial,sans-serif;letter-spacing:-.055em;line-height:.92}.menu h2{font-size:clamp(42px,6.7vw,92px);max-width:870px}.menu-note{max-width:300px;color:var(--muted);font-size:12px;line-height:1.55;margin:0 0 4px}.menu-note b{color:var(--brown)}.category-wrap{position:sticky;top:16px;z-index:30;margin:0 0 34px}.category-shell{display:flex;align-items:center;gap:18px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);}.category-kicker{margin:0;flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.categories{display:flex;gap:8px;overflow:auto;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.category{white-space:nowrap;border:1px solid var(--brown);background:var(--cream);color:var(--brown);min-height:40px;padding:0 17px;border-radius:999px;font-size:11px;font-weight:700;cursor:pointer;}.category.active{background:var(--brown);color:var(--cream)}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 24px}.product-grid.category-dips,.product-grid.category-bebidas{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 20px}.product-card{min-width:0}.product-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#F1E2CC;cursor:pointer}.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.product-card:hover .product-media img{transform:scale(1.015)}.stock-tag{position:absolute;top:12px;left:12px;background:var(--cream);color:var(--brown);border-radius:5px;padding:7px 9px;font-size:9px;font-weight:700;letter-spacing:.07em}.stock-tag.low{background:#F1E2CC;color:#241A17}.stock-tag.out{background:#F1E2CC;color:#241A17}.product-info{padding-top:14px}.product-title-row{display:flex;justify-content:space-between;gap:20px;align-items:start}.product-info h3{margin:0;font-family:Inter;font-size:clamp(25px,2.7vw,40px);letter-spacing:-.045em;line-height:.96}.product-price{font-size:16px;font-weight:700;white-space:nowrap}.product-desc{margin:8px 0 11px;color:var(--muted);font-size:12px;line-height:1.45}.product-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:11px}.weight{font-size:9px;font-weight:700;letter-spacing:.08em;border:1px solid var(--line);border-radius:999px;padding:6px 8px}.add-button{min-height:40px;border-radius:8px;padding:0 14px;font-size:10px;font-weight:700;cursor:pointer;background:var(--brown);color:var(--cream);border:1px solid var(--brown);margin-left:auto}.add-button:disabled{background:#F1E2CC;color:#241A17;border-color:#F1E2CC;cursor:not-allowed}.details-button{background:transparent;border:0;color:var(--brown);font-size:10px;font-weight:700;cursor:pointer;padding:10px 0}
.service-strip{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:26px clamp(18px,5vw,76px) 36px;gap:24px;background:#F1E2CC}.service-strip div{display:flex;flex-direction:column;gap:6px}.service-strip b{font-size:10px;letter-spacing:.07em}.service-strip span{font-size:11px;color:var(--muted);line-height:1.4}

.drawer{position:fixed;z-index:120;inset:0;display:none;align-items:flex-end;justify-content:flex-end}.drawer.open{display:flex}.drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(36,26,23,.55)}.drawer-panel{position:relative;z-index:1;width:min(510px,100%);height:100%;overflow:auto;background:var(--surface);padding:74px 30px 34px;}.drawer-close{position:absolute;right:22px;top:22px;width:42px;height:42px;border:1px solid var(--line);background:transparent;border-radius:50%;font-size:26px;color:var(--brown);cursor:pointer}.drawer-panel h2{font-size:46px;margin-bottom:26px}.cart-item{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.cart-item small{color:var(--muted)}.qty-control{display:flex;align-items:center;gap:9px}.qty-control button{width:34px;height:34px;border:1px solid var(--line);background:var(--cream);border-radius:8px;cursor:pointer}.upsell{margin-top:26px}.upsell h3{font-family:Inter;font-size:20px}.upsell-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.upsell-item{background:var(--cream);border:1px solid var(--line);padding:10px;border-radius:9px}.upsell-item b,.upsell-item small{display:block}.upsell-item small{color:var(--muted);margin-top:3px}.upsell-item button{float:right;width:28px;height:28px;border:0;border-radius:8px;background:var(--brown);color:var(--cream);cursor:pointer}.drawer-total{display:flex;justify-content:space-between;border-top:1px solid var(--brown);margin-top:24px;padding-top:16px}.delivery-note,.final-note{color:var(--muted);font-size:11px;line-height:1.5}.primary-action,.secondary-action{width:100%;min-height:48px;border-radius:9px;font-size:11px;font-weight:700;cursor:pointer}.primary-action{background:var(--brown);color:var(--cream);border:1px solid var(--brown);margin-top:15px}.secondary-action{background:transparent;color:var(--brown);border:1px solid var(--brown);margin-top:9px}.product-detail-image{margin:-74px -30px 26px;height:42vh;min-height:300px;overflow:hidden}.product-detail-image img{width:100%;height:100%;object-fit:cover}.product-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:start}.product-detail-head h2{margin:0}.product-detail-head strong{font-size:18px;white-space:nowrap}.product-detail-copy{color:var(--muted);line-height:1.5}.product-detail-meta{display:flex;gap:8px;align-items:center;margin-top:18px}.flow-back{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--brown);padding:0;margin:0 0 24px;font-size:10px;font-weight:700;letter-spacing:.08em;cursor:pointer}.flow-back:hover{text-decoration:underline}form label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}form label em{font-style:normal;color:var(--muted);font-weight:400}input,textarea,form select{width:100%;margin-top:7px;padding:13px;border:1px solid rgba(36,26,23,.24);border-radius:8px;background:var(--surface);color:var(--brown)}.schedule-inline{display:flex;align-items:flex-end;gap:10px;margin:10px 0 2px}.schedule-inline[hidden]{display:none}.schedule-inline label{margin:0;width:auto;font-size:11px}.schedule-inline input[type=time]{width:132px;margin-top:5px;padding:9px 10px;font-size:14px;font-weight:650}.schedule-inline small{padding-bottom:10px;color:var(--muted);font-size:9px;line-height:1.2}fieldset{border:0;padding:0;margin:22px 0}legend{font-family:Inter;margin-bottom:10px}.option{font-weight:400;margin:8px 0}.option input{width:auto;margin-right:8px}.form-error{color:var(--red);font-size:11px}.review-box{background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:10px}.review-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0}.toast{position:fixed;z-index:150;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;background:var(--brown);color:var(--cream);padding:12px 15px;border-radius:9px;font-size:11px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.hero{height:55svh;min-height:430px;max-height:570px}.hero-image{object-position:center 50%}.hero-copy{padding:60px 16px 16px}.hero-logo{width:min(91vw,560px)}.hero-descriptor{margin:11px 0 5px;font-size:clamp(25px,7.4vw,36px);letter-spacing:-.045em}.hero-claim{margin-bottom:8px;font-size:9px;letter-spacing:.14em}.hero-meta{display:flex;gap:4px 10px;padding-top:0;font-size:7.5px;letter-spacing:.11em}.hero-menu-link{margin-top:24px;font-size:9px;padding:13px 20px}.menu{padding:43px 16px 70px}.menu-top{display:block;margin-bottom:18px}.menu h2{font-size:45px}.menu-note{margin-top:14px}.category-wrap{top:10px;margin:0 0 24px}.category-shell{display:block;padding:12px 12px 10px;border-radius:14px}.category-kicker{margin:0 0 10px;font-size:9px}.category{min-height:38px;padding:0 14px}.product-grid,.product-grid.category-dips,.product-grid.category-bebidas{grid-template-columns:1fr;gap:37px}.product-media{aspect-ratio:4/3}.product-info{padding-top:12px}.product-info h3{font-size:31px}.product-desc{font-size:12px}.product-price{font-size:15px}.service-strip{grid-template-columns:1fr;padding:24px 16px 30px;gap:18px}.drawer{align-items:flex-end}.drawer-panel{width:100%;height:min(92svh,820px);border-radius:18px 18px 0 0;padding:62px 18px 28px}.drawer-close{top:14px;right:14px}.drawer-panel h2{font-size:39px}.product-detail-image{margin:-62px -18px 22px;height:34vh;min-height:240px}.upsell-grid{grid-template-columns:repeat(3,1fr)}}
/* --- V2.9 visual refinement: editorial system --- */

/* Category navigation: visible and integrated, never card-like */
.category-wrap{
  position:sticky;
  top:0;
  z-index:30;
  margin:20px 0 42px;
  background:var(--surface);
  border-bottom:1px solid var(--line);
}
.category-shell,.category-kicker{display:contents}
.categories{
  display:flex;
  align-items:center;
  gap:clamp(22px,3vw,42px);
  overflow:auto;
  scrollbar-width:none;
}
.categories::-webkit-scrollbar{display:none}
.category{
  position:relative;
  flex:0 0 auto;
  min-height:52px;
  padding:4px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  
}
.category::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:3px;
  background:transparent;
}
.category:hover{color:var(--brown)}
.category.active{
  background:transparent;
  color:var(--brown);
  font-family:Inter,Arial,sans-serif;
}
.category.active::after{background:var(--brown)}

/* Product cards: product first, controls second */
.product-grid{gap:60px 26px}
.product-grid.category-dips,.product-grid.category-bebidas{gap:46px 22px}
.product-media{border-radius:0}
.product-info{padding-top:16px}
.product-title-row{align-items:baseline}
.product-name-button{
  appearance:none;
  display:block;
  max-width:calc(100% - 92px);
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--brown);
  font-family:Inter,Arial,sans-serif;
  font-size:clamp(25px,2.7vw,40px);
  letter-spacing:-.045em;
  line-height:.96;
  text-align:left;
  cursor:pointer;
}
.product-name-button:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.product-price{font-size:15px}
.product-desc{max-width:52ch;margin:10px 0 14px}
.product-actions{
  min-height:43px;
  border-top:1px solid var(--line);
  padding-top:10px;
}
.weight{
  border:0;
  border-radius:0;
  padding:0;
  color:var(--muted);
  font-size:9px;
  letter-spacing:.12em;
}
.details-button{display:none}
.add-button{
  min-height:38px;
  padding:0 2px 0 16px;
  border:0;
  border-radius:0;
  border-bottom:2px solid var(--brown);
  background:transparent;
  color:var(--brown);
  font-size:10px;
  letter-spacing:.06em;
}
.add-button:hover:not(:disabled){border-bottom-width:4px}
.add-button:disabled{
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:#241A17;
}
.stock-tag{border-radius:0}

/* Purchase flow: less dashboard, more BURRI */
.drawer-panel{
  background:var(--surface);
  padding:78px 34px 38px;
}
.drawer-close{
  right:25px;
  top:23px;
  width:34px;
  height:34px;
  border:0;
  border-radius:0;
  background:transparent;
  font-family:Arial,sans-serif;
  font-size:31px;
  line-height:1;
}
.drawer-panel h2{margin-bottom:34px}
.flow-back{margin-bottom:30px;color:var(--muted)}
.cart-item{padding:18px 0}
.qty-control{gap:11px}
.qty-control button{
  width:30px;
  height:30px;
  border:0;
  border-bottom:1px solid var(--brown);
  border-radius:0;
  background:transparent;
}
.upsell{margin-top:34px}
.upsell h3{margin-bottom:14px}
.upsell-grid{grid-template-columns:1fr}
.upsell-item{
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:12px;
  padding:12px 0;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
.upsell-item small{margin:0}
.upsell-item button{
  float:none;
  width:30px;
  height:30px;
  border:0;
  border-radius:0;
  border-bottom:1px solid var(--brown);
  background:transparent;
  color:var(--brown);
}
.drawer-total{margin-top:30px;padding-top:18px}
.primary-action,.secondary-action{
  min-height:50px;
  border-radius:2px;
  letter-spacing:.06em;
}
.secondary-action{border-width:1px}

form label{margin-bottom:22px}
input,textarea,form select{
  margin-top:8px;
  padding:13px 0 10px;
  border:0;
  border-bottom:1px solid rgba(36,26,23,.38);
  border-radius:0;
  background:transparent;
}
input:focus,textarea:focus,form select:focus{border-bottom-color:var(--brown)}
fieldset{
  margin:30px 0;
  padding:22px 0 10px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
legend{padding:0 10px 0 0;margin-bottom:12px;background:var(--surface)}
.option{
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 0;
  margin:0;
}
.option input{width:auto;margin:0;accent-color:var(--brown)}
.schedule-inline{margin:12px 0 5px}
.schedule-inline input[type=time]{padding:7px 0}
.review-box{
  margin:0;
  padding:18px 0 24px;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
.review-box:last-child{border-bottom:1px solid var(--line);margin-bottom:18px}
.final-note{margin-top:14px}
.product-detail-meta .weight{font-size:10px}
.product-detail-head{padding-bottom:14px;border-bottom:1px solid var(--line)}
.product-detail-copy{margin-top:18px}

@media(max-width:760px){
  .category-wrap{
    top:0;
    margin:18px -16px 32px;
    padding:0 16px;
    border-top:1px solid rgba(36,26,23,.08);
  }
  .categories{gap:24px}
  .category{min-height:48px;font-size:10px}
  .product-grid,.product-grid.category-dips,.product-grid.category-bebidas{gap:43px}
  .product-name-button{max-width:calc(100% - 80px);font-size:31px}
  .product-info{padding-top:14px}
  .product-desc{margin-bottom:12px}
  .drawer-panel{padding:66px 20px 30px}
  .drawer-close{top:17px;right:17px}
  .drawer-panel h2{margin-bottom:28px}
  .product-detail-image{margin:-66px -20px 24px}
}

/* --- V2.11 unified product image ratio --- */
.product-media{
  height:auto;
  aspect-ratio:16/10;
}
.product-media img{
  object-position:center 50%;
}
.product-grid.category-dips .product-media,
.product-grid.category-bebidas .product-media{
  height:auto;
  aspect-ratio:16/10;
}

@media(max-width:760px){
  .product-media,
  .product-grid.category-dips .product-media,
  .product-grid.category-bebidas .product-media{
    height:auto;
    aspect-ratio:16/10;
  }
  .product-grid,.product-grid.category-dips,.product-grid.category-bebidas{
    gap:36px;
  }
}


/* --- V2.12 social proof: editorial, out of the purchase path --- */
.reviews-section{padding:0 clamp(18px,5vw,76px) clamp(64px,8vw,104px)}
.reviews-section[hidden],.reviews-section--pending{display:none}
.reviews-head{display:flex;align-items:end;justify-content:space-between;gap:28px;padding-top:34px;margin-bottom:32px;border-top:1px solid var(--line)}
.reviews-head h2{margin:0;max-width:760px;font-family:Inter,Arial,sans-serif;font-size:clamp(38px,5vw,70px);letter-spacing:-.055em;line-height:.94}
.reviews-back{flex:0 0 auto;padding-bottom:5px;color:var(--brown);font-size:9px;font-weight:700;letter-spacing:.1em;text-decoration:none;border-bottom:1px solid rgba(36,26,23,.45)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.review-item{min-width:0;padding:26px 26px 28px 0}
.review-item + .review-item{padding-left:26px;border-left:1px solid var(--line)}
.review-copy{margin:0 0 22px;font-size:clamp(17px,1.55vw,22px);font-weight:600;line-height:1.35;letter-spacing:-.02em}
.review-author{margin:0;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.review-placeholder{opacity:.48}
@media(max-width:760px){
  .reviews-section{padding:0 16px 62px}
  .reviews-head{align-items:start;margin-bottom:22px;padding-top:28px}
  .reviews-head h2{font-size:40px}
  .reviews-back{margin-top:4px;white-space:nowrap}
  .reviews-grid{grid-template-columns:1fr}
  .review-item{padding:22px 0 24px}
  .review-item + .review-item{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .review-copy{font-size:18px;margin-bottom:16px}
}


/* --- V2.13 retained strengths from somosburri.com --- */
.menu-note strong{color:var(--brown);font-weight:700}
.reviews-cta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  padding-top:18px;
}
.reviews-cta span{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.1em}
.reviews-cta a{
  color:var(--brown);
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-decoration:none;
  border-bottom:1px solid rgba(36,26,23,.45);
  padding-bottom:3px;
}
.reviews-cta a:hover{border-bottom-color:var(--brown)}
.allergy-note{
  margin:-5px 0 24px;
  color:var(--muted);
  font-size:10px;
  line-height:1.55;
}
.allergy-note a{color:var(--brown);text-underline-offset:2px}
.remember-option{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:4px 0 24px;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  cursor:pointer;
}
.remember-option input{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:1px 0 0;
  accent-color:var(--brown);
}
.remember-option span{display:block;min-width:0}
.remember-option b{display:block;font-size:11px;letter-spacing:.01em}
.remember-option small{display:block;margin-top:4px;color:var(--muted);font-size:9px;font-weight:400;line-height:1.4}
@media(max-width:760px){
  .reviews-cta{justify-content:space-between;align-items:baseline;gap:10px;padding-top:16px}
  .reviews-cta span,.reviews-cta a{font-size:8.5px}
  .allergy-note{margin-top:-3px}
}

/* --- V2.14 depth without card clutter --- */
/* Product photography gets a little physical depth while the card stays flat. */
.product-media{
  
  transition:transform .28s ease;
}
.product-media img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){
  .product-card:hover .product-media{
    
    transform:translateY(-2px);
  }
  .product-card:hover .product-media img{transform:scale(1.025)}
}

/* Full-bleed editorial interruption between choosing and social proof. */
.editorial-break{
  position:relative;
  min-height:clamp(390px,56vw,720px);
  overflow:hidden;
  background:var(--brown);
  color:var(--cream);
}
.editorial-break img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 51%;
}
.editorial-break-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(36,26,23,.04) 30%,rgba(36,26,23,.16) 58%,rgba(36,26,23,.66) 100%);
}
.editorial-break-copy{
  position:absolute;
  z-index:2;
  left:clamp(18px,5vw,76px);
  bottom:clamp(24px,4.5vw,58px);
  display:flex;
  flex-direction:column;
  gap:10px;
  
}
.editorial-break-copy span{
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
}
.editorial-break-copy strong{
  max-width:720px;
  font-family:Inter,Arial,sans-serif;
  font-size:clamp(48px,7vw,104px);
  line-height:.86;
  letter-spacing:-.06em;
}

/* Social proof becomes the dark counterweight instead of another light block. */
.reviews-section{
  padding:clamp(54px,7vw,92px) clamp(18px,5vw,76px) clamp(64px,8vw,104px);
  background:var(--brown);
  color:var(--cream);
}
.reviews-head{
  padding-top:0;
  border-top:0;
}
.reviews-section .section-label,
.review-author,
.reviews-cta span{color:rgba(241,226,204,.62)}
.reviews-back,
.reviews-cta a{color:var(--cream);border-bottom-color:rgba(241,226,204,.48)}
.reviews-back:hover,
.reviews-cta a:hover{border-bottom-color:var(--cream)}
.reviews-grid{
  border-top-color:rgba(241,226,204,.28);
  border-bottom-color:rgba(241,226,204,.28);
}
.review-item + .review-item{border-left-color:rgba(241,226,204,.24)}

@media(max-width:760px){
  .product-media{}
  .editorial-break{min-height:62svh;max-height:650px}
  .editorial-break img{object-position:56% center}
  .editorial-break-copy{left:16px;bottom:28px}
  .editorial-break-copy span{font-size:8px}
  .editorial-break-copy strong{font-size:clamp(43px,15vw,66px)}
  .reviews-section{padding:48px 16px 62px}
  .review-item + .review-item{border-left:0;border-top-color:rgba(241,226,204,.24)}
}

@media(prefers-reduced-motion:reduce){
  .product-media,.product-media img{transition:none}
}


/* --- V2.15 finish layer: rhythm, live feedback and a real ending --- */
/* Burritos get their own 3-up composition on wide screens. */
.product-grid.category-burritos{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:52px 22px;
}
.product-grid.category-burritos .product-name-button{
  font-size:clamp(22px,2.25vw,34px);
}
.product-grid.category-burritos .product-title-row{gap:12px}
.product-grid.category-burritos .product-price{font-size:14px}

/* Brand ticker: motion as identity, not decoration. */
.brand-ticker{
  overflow:hidden;
  border-top:1px solid rgba(241,226,204,.16);
  border-bottom:1px solid rgba(241,226,204,.16);
  background:var(--brown);
  color:var(--cream);
}
.brand-ticker-track{
  display:flex;
  width:max-content;
  min-width:max-content;
  animation:burriTicker 20s linear infinite;
  animation-play-state:running;
  will-change:transform;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
}
.brand-ticker-group{
  display:flex;
  align-items:center;
  flex:none;
  gap:18px;
  padding:13px 18px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
  white-space:nowrap;
}
.brand-ticker-group i{font-style:normal;opacity:.46}
@keyframes burriTicker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-33.333333%,0,0)}}

/* Operational state belongs to the menu header, not to a floating header. */
.menu-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:2px 0 2px;
  color:var(--brown);
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
}
.menu-status-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#241A17;
  
}
.menu-status.closed{color:var(--muted)}
.menu-status.closed .menu-status-dot{
  background:#241A17;
  
}

/* Product action becomes quantity control after the first add. */
.add-button.added{
  color:var(--green);
  border-bottom-color:var(--green);
}
.inline-qty{
  display:inline-grid;
  grid-template-columns:30px 28px 30px;
  align-items:center;
  margin-left:auto;
  border-bottom:2px solid var(--brown);
  animation:qtyIn .22s ease both;
}
.inline-qty button{
  width:30px;
  height:36px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--brown);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.inline-qty strong{
  font-size:10px;
  text-align:center;
}
@keyframes qtyIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}

/* Dark brand fields stay flat: no decorative texture. */
.reviews-section,.brand-footer{position:relative}

/* Proper closing section. */
.brand-footer{
  overflow:hidden;
  padding:clamp(48px,6vw,82px) clamp(18px,5vw,76px) 24px;
  background:var(--brown);
  color:var(--cream);
  border-top:1px solid rgba(241,226,204,.16);
}
.brand-footer-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding-bottom:clamp(36px,5vw,64px);
  border-bottom:1px solid rgba(241,226,204,.24);
}
.brand-footer-wordmark{
  margin-left:-.05em;
  color:var(--cream);
  font-family:Inter,Arial,sans-serif;
  font-size:clamp(82px,16vw,230px);
  line-height:.72;
  letter-spacing:-.075em;
  text-decoration:none;
}
.brand-footer-top p{
  max-width:220px;
  margin:0;
  padding-bottom:3px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-align:right;
}
.brand-footer-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1.25fr;
  gap:28px;
  padding:30px 0 44px;
}
.footer-label{
  display:block;
  margin-bottom:10px;
  color:rgba(241,226,204,.52);
  font-size:8px;
  font-weight:700;
  letter-spacing:.16em;
}
.brand-footer-grid p{
  margin:0;
  font-size:12px;
  line-height:1.55;
}
.brand-footer-links{
  display:grid;
  justify-items:end;
  gap:9px;
}
.brand-footer-links a{
  color:var(--cream);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.brand-footer-links a:hover{border-bottom-color:rgba(241,226,204,.7)}
.brand-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding-top:18px;
  border-top:1px solid rgba(241,226,204,.15);
  color:rgba(241,226,204,.46);
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
}

@media(max-width:1050px) and (min-width:761px){
  .product-grid.category-burritos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .product-grid.category-burritos{grid-template-columns:1fr;gap:36px}
  .product-grid.category-burritos .product-name-button{font-size:31px}
  .brand-ticker-group{gap:14px;padding:11px 14px;font-size:8px}
  .menu-status{margin-top:4px;font-size:8.5px}
  .brand-footer{padding:48px 16px 22px}
  .brand-footer-top{display:block;padding-bottom:34px}
  .brand-footer-wordmark{display:block;font-size:clamp(82px,28vw,132px)}
  .brand-footer-top p{max-width:none;margin-top:24px;text-align:left}
  .brand-footer-grid{grid-template-columns:1fr 1fr;gap:28px 18px;padding:28px 0 38px}
  .brand-footer-links{grid-column:1/-1;justify-items:start;padding-top:4px}
  .brand-footer-bottom{font-size:7.5px}
}
@media(prefers-reduced-motion:reduce){
  .brand-ticker-track{animation-duration:60s}
  .inline-qty{animation:none}
}

/* --- V2.16 content cleanup: fewer repetitions, stronger centering --- */
/* The hero keeps the two facts needed before entering the menu. */
.hero-meta{gap:8px 22px}

/* Brand strip carries personality instead of repeating service logistics. */
.brand-ticker-group{gap:20px}

/* Menu introduction reads as one centered composition. */
.menu-top{
  display:block;
  max-width:980px;
  margin:0 auto 18px;
  text-align:center;
}
.menu h2{margin-left:auto;margin-right:auto}
.menu-note{
  max-width:430px;
  margin:16px auto 0;
  text-align:center;
}
.menu-status{
  display:flex;
  width:max-content;
  margin:0 auto 4px;
  justify-content:center;
}
.categories{justify-content:center}

/* Social proof gets one centered headline and one secondary action. */
.reviews-head{
  display:block;
  max-width:880px;
  margin:0 auto 32px;
  text-align:center;
}
.reviews-head h2{margin-left:auto;margin-right:auto}
.reviews-cta{justify-content:center}

/* Footer is the single source of location/hours information near the end. */
.brand-footer-top{
  display:block;
  text-align:center;
}
.brand-footer-wordmark{
  display:block;
  width:max-content;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}
.brand-footer-grid{
  grid-template-columns:1fr 1fr 1.2fr;
  max-width:1120px;
  margin:0 auto;
  text-align:center;
}
.brand-footer-links{justify-items:center}
.brand-footer-bottom{
  justify-content:center;
  text-align:center;
}

@media(max-width:760px){
  .menu-top{margin-bottom:16px}
  .menu-note{margin-top:12px}
  .menu-status{margin-top:0}
  .categories{justify-content:flex-start}
  .reviews-head{text-align:center;margin-bottom:22px}
  .reviews-cta{justify-content:center;flex-wrap:wrap;text-align:center}
  .brand-footer-top{text-align:center}
  .brand-footer-wordmark{margin-left:auto;margin-right:auto}
  .brand-footer-grid{
    grid-template-columns:1fr;
    gap:24px;
    text-align:center;
  }
  .brand-footer-links{grid-column:auto;justify-items:center;padding-top:4px}
  .brand-footer-bottom{justify-content:center}
}

/* --- V2.17 desktop rhythm audit: tighter, consistent spacing --- */
/*
  Desktop spacing system used here:
  8 / 12 / 18 / 28 / 44 / 64 px.
  Large section gaps use 44–64 px; related controls use 8–28 px.
  This keeps the page editorial without leaving disconnected empty bands.
*/
@media(min-width:761px){
  .hero-copy{
    padding-top:clamp(54px,5vw,72px);
    padding-bottom:24px;
  }
  .hero-logo{width:min(66vw,860px)}
  .hero-descriptor{
    margin:12px 0 8px;
    font-size:clamp(30px,3.35vw,46px);
  }
  .hero-meta{
    gap:8px 18px;
    font-size:9px;
    letter-spacing:.14em;
  }
  .hero-menu-link{
    padding:14px 22px;
    margin-bottom:2px;
  }

  /* Hero/ticker → menu should feel like one continuous flow, not two pages. */
  .menu{
    padding:52px clamp(28px,5vw,72px) 68px;
  }
  .menu-top{
    max-width:900px;
    margin:0 auto 12px;
  }
  .section-label{margin-bottom:10px}
  .menu h2{
    max-width:800px;
    font-size:clamp(50px,5.35vw,76px);
    line-height:.9;
  }
  .menu-note{
    max-width:390px;
    margin-top:12px;
    line-height:1.45;
  }
  .menu-status{margin:0 auto 2px}
  .category-wrap{
    margin:8px 0 28px;
  }
  .category{min-height:46px}

  /* Keep product rhythm compact enough to compare several options at once. */
  .product-grid{gap:48px 24px}
  .product-grid.category-burritos{gap:44px 22px}
  .product-grid.category-dips,.product-grid.category-bebidas{gap:40px 22px}
  .product-info{padding-top:14px}
  .product-desc{margin:8px 0 12px}

  /* Secondary sections use the same section rhythm instead of another oversized gap. */
  .editorial-break{min-height:clamp(380px,43vw,600px)}
  .reviews-section{
    padding:64px clamp(28px,5vw,72px) 72px;
  }
  .reviews-head{margin-bottom:28px}
  .reviews-head h2{font-size:clamp(38px,4.4vw,62px)}
  .brand-footer{padding-top:60px}
}

@media(min-width:1200px){
  .menu{padding-top:48px}
  .menu h2{font-size:74px}
}

/* --- V2.20 footer: Dónde / Cuándo / Cómo --- */
.brand-footer-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:980px;
  gap:clamp(28px,5vw,72px);
  padding-bottom:28px;
}
.brand-footer-grid p{
  font-size:13px;
  line-height:1.5;
}
.brand-footer-links-row{
  display:flex;
  justify-content:center;
  justify-items:unset;
  flex-wrap:wrap;
  gap:12px 28px;
  max-width:980px;
  margin:0 auto;
  padding:20px 0 26px;
  border-top:1px solid rgba(241,226,204,.15);
}
@media(max-width:760px){
  .brand-footer-grid{
    grid-template-columns:1fr;
    gap:22px;
    padding-bottom:24px;
  }
  .brand-footer-links-row{
    display:grid;
    justify-items:center;
    gap:10px;
    padding:18px 0 24px;
  }
}

/* --- V2.22 cart bar: fade before footer, no reserved resting space --- */
/* Empty cart never shows the floating order bar. */


main{position:relative}



@media(prefers-reduced-motion:reduce){
  
}

/* --- V2.24 product system: editorial burritos, compact add-ons, distinct combos --- */
@media(min-width:900px){
  /* Burritos are the hero products: one editorial row per flavour. */
  .product-grid.category-burritos{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    max-width:1180px;
    margin:0 auto;
  }
  .product-grid.category-burritos .product-card{
    display:grid;
    grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);
    gap:clamp(34px,4.8vw,68px);
    align-items:center;
    padding:32px 0;
    border-top:1px solid var(--line);
  }
  .product-grid.category-burritos .product-card:last-child{
    border-bottom:1px solid var(--line);
  }
  .product-grid.category-burritos .product-card:nth-child(even){
    grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
  }
  .product-grid.category-burritos .product-card:nth-child(even) .product-media{
    grid-column:2;
    grid-row:1;
  }
  .product-grid.category-burritos .product-card:nth-child(even) .product-info{
    grid-column:1;
    grid-row:1;
  }
  .product-grid.category-burritos .product-media{
    width:100%;
    aspect-ratio:16/10;
    
  }
  .product-grid.category-burritos .product-info{
    padding:0;
    max-width:430px;
  }
  .product-grid.category-burritos .product-title-row{
    display:block;
  }
  .product-grid.category-burritos .product-name-button{
    display:block;
    max-width:none;
    margin:0 0 10px;
    font-size:clamp(46px,5.25vw,72px);
    line-height:.88;
    letter-spacing:-.06em;
  }
  .product-grid.category-burritos .product-price{
    display:block;
    font-size:clamp(19px,1.6vw,24px);
    line-height:1;
  }
  .product-grid.category-burritos .product-desc{
    max-width:38ch;
    margin:18px 0 24px;
    font-size:14px;
    line-height:1.55;
  }
  .product-grid.category-burritos .product-actions{
    padding-top:15px;
  }
  .product-grid.category-burritos .weight{
    font-size:9px;
    letter-spacing:.12em;
  }
  .product-grid.category-burritos .add-button{
    min-height:42px;
    min-width:112px;
  }

  /* Dips and drinks are add-ons: denser four-up layout. */
  .product-grid.category-dips,
  .product-grid.category-bebidas{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:30px 18px;
    max-width:1180px;
    margin:0 auto;
  }
  .product-grid.category-dips .product-media,
  .product-grid.category-bebidas .product-media{
    aspect-ratio:16/10;
    
  }
  .product-grid.category-dips .product-info,
  .product-grid.category-bebidas .product-info{
    padding-top:11px;
  }
  .product-grid.category-dips .product-title-row,
  .product-grid.category-bebidas .product-title-row{
    display:block;
  }
  .product-grid.category-dips .product-name-button,
  .product-grid.category-bebidas .product-name-button{
    max-width:none;
    font-size:clamp(19px,1.65vw,25px);
    line-height:.96;
  }
  .product-grid.category-dips .product-price,
  .product-grid.category-bebidas .product-price{
    display:block;
    margin-top:6px;
    font-size:13px;
  }
  .product-grid.category-dips .product-desc,
  .product-grid.category-bebidas .product-desc{
    min-height:32px;
    margin:8px 0 10px;
    font-size:11px;
    line-height:1.4;
  }
  .product-grid.category-dips .product-actions,
  .product-grid.category-bebidas .product-actions{
    padding-top:9px;
  }

  /* Combos read as solutions, not flavours. */
  .product-grid.category-combos{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
    max-width:1040px;
    margin:0 auto;
  }
  .product-grid.category-combos .product-card{
    padding-top:18px;
    border-top:1px solid var(--line);
  }
  .product-grid.category-combos .product-media{aspect-ratio:16/10}
  .product-grid.category-combos .product-name-button{
    font-size:clamp(30px,3vw,44px);
  }
  .product-grid.category-combos .product-desc{
    max-width:42ch;
    font-size:12px;
  }
}

@media(min-width:761px) and (max-width:899px){
  .product-grid.category-burritos{
    grid-template-columns:1fr;
    max-width:720px;
    margin:0 auto;
    gap:0;
  }
  .product-grid.category-burritos .product-card{
    padding:28px 0 34px;
    border-top:1px solid var(--line);
  }
  .product-grid.category-burritos .product-card:last-child{border-bottom:1px solid var(--line)}
  .product-grid.category-burritos .product-media{aspect-ratio:16/10}
  .product-grid.category-burritos .product-name-button{font-size:42px}
  .product-grid.category-dips,
  .product-grid.category-bebidas,
  .product-grid.category-combos{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:760px;
    margin:0 auto;
    gap:34px 20px;
  }
}

@media(max-width:760px){
  /* Mobile keeps the editorial order but stacks it for speed and readability. */
  .product-grid.category-burritos{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }
  .product-grid.category-burritos .product-card{
    padding:0 0 30px;
    margin-bottom:30px;
    border-bottom:1px solid var(--line);
  }
  .product-grid.category-burritos .product-card:last-child{margin-bottom:0}
  .product-grid.category-burritos .product-media{aspect-ratio:16/10}
  .product-grid.category-burritos .product-info{padding-top:14px}
  .product-grid.category-burritos .product-title-row{align-items:baseline}
  .product-grid.category-burritos .product-name-button{
    max-width:calc(100% - 92px);
    font-size:36px;
  }
  .product-grid.category-burritos .product-desc{margin:9px 0 12px}

  .product-grid.category-dips,
  .product-grid.category-bebidas,
  .product-grid.category-combos{
    grid-template-columns:1fr;
    gap:30px;
  }
  .product-grid.category-dips .product-media,
  .product-grid.category-bebidas .product-media,
  .product-grid.category-combos .product-media{aspect-ratio:16/10}
}

@media(min-width:520px) and (max-width:760px){
  .product-grid.category-dips,
  .product-grid.category-bebidas{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 16px;
  }
  .product-grid.category-dips .product-title-row,
  .product-grid.category-bebidas .product-title-row{display:block}
  .product-grid.category-dips .product-price,
  .product-grid.category-bebidas .product-price{display:block;margin-top:5px}
  .product-grid.category-dips .product-name-button,
  .product-grid.category-bebidas .product-name-button{max-width:none;font-size:23px}
}


/* --- V2.25 burrito information hierarchy: flavour -> ingredients -> price/action --- */
.category-meta{
  max-width:1180px;
  margin:0 auto 18px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.category-meta[hidden]{display:none}
.product-grid.category-burritos .product-title-row{
  display:block;
}
.product-grid.category-burritos .ingredient-line{
  color:var(--muted);
  letter-spacing:.005em;
}
.product-grid.category-burritos .product-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-top:1px solid var(--line);
}
.product-grid.category-burritos .product-price-action{
  margin:0;
  font-weight:700;
  white-space:nowrap;
}
@media(min-width:900px){
  .category-meta{margin-bottom:8px}
  .product-grid.category-burritos .product-name-button{
    margin:0;
  }
  .product-grid.category-burritos .product-desc{
    margin:14px 0 26px;
    max-width:40ch;
    font-size:13px;
    line-height:1.5;
  }
  .product-grid.category-burritos .product-actions{
    padding-top:16px;
  }
  .product-grid.category-burritos .product-price-action{
    font-size:clamp(20px,1.7vw,25px);
    line-height:1;
  }
}
@media(max-width:899px){
  .category-meta{
    margin:0 0 14px;
  }
  .product-grid.category-burritos .product-title-row{
    display:block;
  }
  .product-grid.category-burritos .product-name-button{
    max-width:none;
  }
  .product-grid.category-burritos .product-desc{
    margin:8px 0 14px;
  }
  .product-grid.category-burritos .product-actions{
    padding-top:12px;
  }
  .product-grid.category-burritos .product-price-action{
    font-size:17px;
  }
}

/* --- V2.27 all approved reviews: manual editorial carousel --- */
.reviews-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0 0 14px;
}
.reviews-count{
  margin:0;
  color:rgba(241,226,204,.66);
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.reviews-count strong{color:var(--cream);font-size:12px}
.reviews-retry{border:0;background:transparent;padding:8px 0;color:inherit;cursor:pointer}
.reviews-nav{display:flex;gap:8px;flex:0 0 auto}
.reviews-nav-btn{
  width:38px;
  height:38px;
  border:1px solid rgba(241,226,204,.32);
  border-radius:50%;
  background:transparent;
  color:var(--cream);
  font-size:24px;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,opacity .18s ease;
}
.reviews-nav-btn:hover:not(:disabled){background:rgba(241,226,204,.1);border-color:rgba(241,226,204,.72)}
.reviews-nav-btn:disabled{opacity:.28;cursor:default}
.reviews-grid{
  display:grid;
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 2px) / 3);
  gap:0;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.reviews-grid::-webkit-scrollbar{display:none}
.review-item{
  min-width:0;
  padding:28px 28px 30px;
  border-right:1px solid rgba(241,226,204,.24);
  scroll-snap-align:start;
}
.review-item:first-child{border-left:1px solid rgba(241,226,204,.24)}
.review-item + .review-item{padding-left:28px;border-left:0;border-top:0}
.review-copy{max-width:32ch}
.review-author{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.review-stars{color:var(--cream);letter-spacing:.04em;white-space:nowrap}
@media(max-width:760px){
  .reviews-toolbar{margin-bottom:10px}
  .reviews-count{font-size:8.5px}
  .reviews-nav-btn{width:36px;height:36px;font-size:22px}
  .reviews-grid{grid-auto-columns:88%}
  .review-item{padding:24px 20px 25px}
  .review-item + .review-item{padding-left:20px;border-top:0}
  .review-copy{max-width:none;font-size:18px}
  .review-author{align-items:flex-end}
}
@media(prefers-reduced-motion:reduce){.reviews-grid{scroll-behavior:auto}}

/* --- V2.29 product showcase: faster comparison, stronger food hierarchy --- */
/* The menu should behave like a compact catalogue: photo -> flavour -> ingredients -> price/action. */
.category-meta{
  text-align:center;
  margin-bottom:20px;
}
.product-weight-chip{
  flex:0 0 auto;
  color:var(--muted);
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  white-space:nowrap;
}

@media(min-width:900px){
  /* Three hero products visible as one set. No alternating editorial zig-zag. */
  .product-grid.category-burritos{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
    max-width:1180px;
    margin:0 auto;
  }
  .product-grid.category-burritos .product-card,
  .product-grid.category-burritos .product-card:nth-child(even){
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:0;
    border:0;
  }
  .product-grid.category-burritos .product-card:last-child{border:0}
  .product-grid.category-burritos .product-card:nth-child(even) .product-media,
  .product-grid.category-burritos .product-card:nth-child(even) .product-info{
    grid-column:auto;
    grid-row:auto;
  }
  .product-grid.category-burritos .product-media{
    width:100%;
    aspect-ratio:4/3;
    
  }
  .product-grid.category-burritos .product-info{
    display:flex;
    flex:1;
    flex-direction:column;
    max-width:none;
    padding-top:15px;
  }
  .product-grid.category-burritos .product-title-row{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
  }
  .product-grid.category-burritos .product-name-button{
    display:block;
    max-width:none;
    margin:0;
    font-size:clamp(31px,3vw,43px);
    line-height:.92;
    letter-spacing:-.055em;
  }
  .product-grid.category-burritos .product-desc{
    min-height:3.1em;
    max-width:38ch;
    margin:11px 0 17px;
    font-size:12px;
    line-height:1.5;
  }
  .product-grid.category-burritos .product-actions{
    margin-top:auto;
    padding-top:12px;
    border-top:1px solid var(--line);
  }
  .product-grid.category-burritos .product-price-action{
    font-size:18px;
    line-height:1;
  }
  .product-grid.category-burritos .add-button{
    min-width:116px;
    min-height:42px;
    padding:0 16px;
    border:1px solid var(--brown);
    border-radius:8px;
    background:var(--brown);
    color:var(--cream);
    letter-spacing:.055em;
  }
  .product-grid.category-burritos .add-button:hover:not(:disabled){
    border-bottom-width:1px;
    transform:translateY(-1px);
  }
  .product-grid.category-burritos .add-button:disabled{
    border-color:#F1E2CC;
    background:#F1E2CC;
    color:#241A17;
  }
}

@media(min-width:761px) and (max-width:899px){
  .product-grid.category-burritos{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:760px;
    gap:38px 20px;
  }
  .product-grid.category-burritos .product-card{
    padding:0;
    border:0;
  }
  .product-grid.category-burritos .product-card:last-child{border:0}
  .product-grid.category-burritos .product-media{aspect-ratio:4/3}
  .product-grid.category-burritos .product-title-row{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:10px;
  }
  .product-grid.category-burritos .product-name-button{font-size:36px}
  .product-grid.category-burritos .product-actions{margin-top:auto}
  .product-grid.category-burritos .add-button{
    min-height:41px;
    padding:0 14px;
    border:1px solid var(--brown);
    border-radius:8px;
    background:var(--brown);
    color:var(--cream);
  }
}

@media(max-width:760px){
  .category-meta{
    margin-bottom:16px;
    text-align:left;
  }
  .product-grid.category-burritos{
    gap:38px;
  }
  .product-grid.category-burritos .product-card{
    padding:0;
    margin:0;
    border:0;
  }
  .product-grid.category-burritos .product-card:last-child{border:0}
  .product-grid.category-burritos .product-media{
    aspect-ratio:4/3;
    
  }
  .product-grid.category-burritos .product-info{padding-top:13px}
  .product-grid.category-burritos .product-title-row{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
  }
  .product-grid.category-burritos .product-name-button{
    max-width:none;
    font-size:35px;
    line-height:.94;
  }
  .product-grid.category-burritos .product-desc{
    margin:8px 0 14px;
    font-size:12px;
    line-height:1.45;
  }
  .product-grid.category-burritos .product-actions{
    padding-top:11px;
  }
  .product-grid.category-burritos .product-price-action{
    font-size:17px;
  }
  .product-grid.category-burritos .add-button{
    min-height:42px;
    min-width:112px;
    padding:0 15px;
    border:1px solid var(--brown);
    border-radius:8px;
    background:var(--brown);
    color:var(--cream);
  }
  .product-grid.category-burritos .add-button:disabled{
    border-color:#F1E2CC;
    background:#F1E2CC;
    color:#241A17;
  }
}

/* Audit: preserve checkout access and readable input/review on narrow screens. */
.review-box,.cart-item,.review-line{overflow-wrap:anywhere;min-width:0}.review-line>span,.cart-item>div{min-width:0}.review-notes{white-space:pre-wrap}
.drawer-panel{padding-bottom:max(30px,env(safe-area-inset-bottom));max-height:100dvh}
.qty-control button,.inline-qty button,.drawer-close,.category{min-width:44px;min-height:44px}
input,textarea,select{font-size:16px}select{display:block;width:100%;padding:12px;margin:8px 0 18px}
#menuStatus,.staging-notice{font-size:13px;line-height:1.5}.staging-notice{color:var(--muted)}
#manualCopy{width:100%;min-height:180px}#whatsappHelp{font-size:14px;line-height:1.5}
.review-line>strong,.review-line>b:last-child{white-space:nowrap;flex-shrink:0}


/* --- Brand logo consistency: corrected wordmark in every visible brand placement --- */
.brand-ticker-logo{
  display:inline-block;
  width:auto;
  height:1.12em;
  margin-left:.18em;
  vertical-align:-.16em;
}
.brand-inline-logo{
  display:inline-block;
  width:auto;
  object-fit:contain;
}
.brand-inline-logo--heading{
  height:.78em;
  margin-left:.12em;
  vertical-align:-.035em;
}
.brand-inline-logo--cta{
  height:1.12em;
  margin-left:.16em;
  vertical-align:-.16em;
}
.brand-footer-wordmark{
  width:min(72vw,780px);
  line-height:0;
}
.brand-footer-wordmark img{
  display:block;
  width:100%;
  height:auto;
}
.brand-footer-copyright{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.brand-footer-copyright img{
  display:block;
  width:44px;
  height:auto;
  opacity:.88;
}
@media(max-width:760px){
  .brand-ticker-logo{height:1.08em}
  .brand-inline-logo--heading{height:.75em;margin-left:.1em}
  .brand-inline-logo--cta{height:1.08em}
  .brand-footer-wordmark{width:min(86vw,520px)}
  .brand-footer-copyright img{width:39px}
}

/* Footer brand slogan */
.brand-footer-slogan{
  max-width:none !important;
  margin:20px auto 0 !important;
  padding:0 !important;
  color:var(--cream);
  font-size:clamp(12px,1.15vw,16px) !important;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.16em !important;
  text-align:center !important;
}
@media(max-width:760px){
  .brand-footer-slogan{
    margin-top:14px !important;
    font-size:11px !important;
    letter-spacing:.14em !important;
  }
}

/* --- V2.30 alignment system: brand centered, readable content left-aligned --- */
/* Brand / section-intro moments can stay centered. */
.hero-copy,
.menu-top,
.reviews-head,
.reviews-cta,
.brand-footer-top,
.brand-footer-bottom{
  text-align:center;
}

/* Product, editorial, social-proof body and purchase UI use a stable left edge. */
.product-card,
.product-info,
.product-desc,
.product-title-row,
.product-actions,
.editorial-break-copy,
.reviews-toolbar,
.review-item,
.review-copy,
.review-author,
.drawer-panel,
.drawer-panel form,
.cart-item,
.review-box,
.review-line{
  text-align:left;
}

/* Category navigation is a compact centered selector on wider screens. */
.categories{justify-content:center}

/* Buttons remain conventionally centered regardless of their surrounding content. */
.category,
.add-button,
.primary-action,
.secondary-action,
.reviews-nav-btn{
  text-align:center;
}

/* Footer service facts are short enough to center on desktop. */
.brand-footer-grid{text-align:center}
.brand-footer-links-row{justify-content:center}

@media(max-width:760px){
  /* On narrow screens, scrollable categories need a clear left starting edge. */
  .categories{justify-content:flex-start}

  /* Footer facts and navigation become scan-first when stacked. */
  .brand-footer-grid{text-align:left}
  .brand-footer-links-row{
    justify-items:start;
    text-align:left;
  }

  /* Keep the actual brand lockup and closing copyright centered. */
  .brand-footer-top,
  .brand-footer-bottom,
  .brand-footer-slogan{
    text-align:center !important;
  }
}


/* --- V2.32 mobile viewport: page visible behind Safari chrome --- */
/*
  Keep the document canvas aligned with the page surface instead of forcing
  BURRI brown into the browser chrome area. This lets modern iOS Safari render
  its floating controls over the site, like somosburri.com, without exposing
  a stark white canvas during normal scrolling.
*/
html{
  min-height:100%;
  background:var(--surface);
}
body{
  min-height:100%;
  overflow-x:hidden;
  background:var(--surface);
}
main{
  background:var(--surface);
}

/* With the secondary link stack removed, close the footer more directly. */
.brand-footer-grid{
  padding-bottom:clamp(28px,4vw,42px);
}
.brand-footer-bottom{
  margin-top:0;
}

@media(max-width:760px){
  html,body{
    overscroll-behavior-x:none;
  }
  .brand-footer-grid{
    padding-bottom:28px;
  }
}


/* --- BURRI brand palette + flat UI enforcement --- */
:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:2px solid currentColor;
  outline-offset:3px;
}
.hero-logo{filter:none}
.live-dot,.live-dot.closed{background:var(--cream)}
.live-dot.closed{opacity:.55}
.menu-status-dot,.menu-status.closed .menu-status-dot{background:var(--brown)}
.menu-status.closed .menu-status-dot{opacity:.5}
.add-button:disabled{background:var(--cream);color:rgba(36,26,23,.48);border-color:rgba(36,26,23,.24)}
.stock-tag.low,.stock-tag.out{background:var(--cream);color:var(--brown);border:1px solid rgba(36,26,23,.22)}
.product-grid.category-burritos .add-button:disabled{background:var(--cream);color:rgba(36,26,23,.48);border-color:rgba(36,26,23,.24)}

/* --- V2.34 iOS Safari edge canvas: footer continues behind browser chrome --- */
/*
  Safari can expose the root canvas below the last document element while its
  floating toolbar is visible. Keep that canvas in BURRI brown so the visual
  ending continues from the footer instead of revealing a cream rectangle.
*/
html{
  min-height:100%;
  background:var(--brown);
}
body{
  min-height:100dvh;
  background:var(--surface);
}
.brand-footer{
  padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px));
}
@media(max-width:760px){
  .brand-footer{
    padding-bottom:calc(22px + env(safe-area-inset-bottom, 0px));
  }
}

/* --- V2.35 hero horizontal centering lock --- */
/*
  Keep the complete hero composition mathematically centered at every viewport.
  Each child gets its own centering rule so later responsive overrides cannot
  accidentally shift the logo, descriptor, metadata, or CTA independently.
*/
.hero-copy{
  left:0;
  right:0;
  width:100%;
  margin-inline:auto;
  align-items:center;
  text-align:center;
}
.hero-logo{
  display:block;
  margin-inline:auto;
  align-self:center;
  /* The SVG ink is ~0.5% right-heavy inside its viewBox; compensate optically. */
  transform:translateX(-0.53%);
  transform-origin:center center;
}
.hero-descriptor{
  width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.hero-meta{
  width:100%;
  margin-left:auto;
  margin-right:auto;
  justify-content:center;
  text-align:center;
}
.hero-menu-link{
  align-self:center;
  margin-left:auto;
  margin-right:auto;
}


/* --- V2.36 hero vertical centering --- */
/*
  Center the complete brand lockup (logo, descriptor, service meta and CTA)
  inside the actual hero box. Symmetric block padding preserves breathing room
  without biasing the composition toward the top on short/mobile viewports.
*/
.hero-copy{
  justify-content:center;
  padding-block:clamp(24px,4vh,44px);
}
@media(max-width:760px){
  .hero-copy{
    padding:24px 16px;
  }
}

/* --- V2.38 hero: text lockup higher + product image lower --- */
/*
   Keep the same hero image, but bias the composition so the photo sits lower
   in frame and the lockup starts higher. This preserves more negative space
   behind the logo/headline and keeps the burritos from colliding with the text.
*/
.hero-image{
  object-position:center 41%;
}
.hero-copy{
  justify-content:flex-start;
  padding-top:clamp(20px,3.2vh,34px);
  padding-bottom:18px;
}
.hero-descriptor{
  margin-top:12px;
}
.hero-meta{
  margin-top:2px;
}
.hero-menu-link{
  margin-top:20px;
}

@media (max-width: 760px){
  .hero{
    height:56svh;
    min-height:440px;
    max-height:590px;
  }
  .hero-image{
    object-position:center 38%;
  }
  .hero-copy{
    justify-content:flex-start;
    padding:18px 16px 16px;
  }
  .hero-descriptor{
    margin:9px 0 5px;
  }
  .hero-meta{
    margin-top:0;
  }
  .hero-menu-link{
    margin-top:16px;
  }
}

/* --- V2.39 hero: burritos lower + lockup slightly lower --- */
/*
   Push the product closer to the lower edge of the hero so the food uses the
   full bottom band of the image, while bringing the text block down a touch so
   it doesn't feel pinned to the top.
*/
.hero-image{
  object-position:center 35%;
}
.hero-copy{
  justify-content:flex-start;
  padding-top:clamp(34px,5vh,52px);
  padding-bottom:16px;
}
.hero-menu-link{
  margin-top:22px;
}

@media (max-width: 760px){
  .hero{
    height:57svh;
    min-height:445px;
    max-height:600px;
  }
  .hero-image{
    object-position:center 32%;
  }
  .hero-copy{
    justify-content:flex-start;
    padding:28px 16px 16px;
  }
  .hero-menu-link{
    margin-top:18px;
  }
}

/* --- V2.43 final ordering + visual-system consolidation --- */
/* One late layer replaces the V2.40–V2.42 patch stack. */

/* Touch behaviour: quick taps without disabling pinch zoom. */
button,a,[role="button"],.product-media{touch-action:manipulation}
.product-card:hover .product-media img{transform:none}
@media (hover:hover) and (pointer:fine){.product-card:hover .product-media img{transform:scale(1.012)}}

/* Hero keeps breathing room; no purchase CTA here. */
.hero-copy{justify-content:flex-start;padding-top:clamp(34px,5vh,52px);padding-bottom:16px}
@media(max-width:760px){.hero-copy{padding:28px 16px 16px}}

/* Brand strip: static, quiet, no marquee competition below the hero. */
.brand-ticker{overflow:hidden;background:var(--brown);color:var(--cream);border:0}
.brand-ticker-static{min-height:52px;display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 20px;font-family:Inter,Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;white-space:nowrap;text-align:center}
.brand-ticker-static i{font-style:normal;opacity:.55}
.brand-ticker-logo{display:inline-block;height:1.05em;width:auto;vertical-align:-.08em}
@media(max-width:600px){.brand-ticker-static{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-inline:16px}.brand-ticker-static::-webkit-scrollbar{display:none}}

/* CATEGORY NAV — navigation tabs, not purchase buttons. */
.category-wrap{position:sticky;top:0;z-index:20;margin:0 0 28px;background:var(--surface);border-bottom:1px solid rgba(36,26,23,.14)}
.categories{display:flex;gap:24px;overflow-x:auto;padding:0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.categories::-webkit-scrollbar{display:none}
.category{position:relative;flex:0 0 auto;min-height:48px;padding:0 2px;border:0;border-radius:0;background:transparent;color:rgba(36,26,23,.58);font:600 13px/1 Inter,sans-serif;letter-spacing:.02em;cursor:pointer}
.category::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent}
.category.active{background:transparent;color:var(--brown)}
.category.active::after{background:var(--brown)}
.category:hover{background:transparent;color:var(--brown)}
.category:focus-visible{outline:2px solid var(--brown);outline-offset:-2px}

/* CONTINUOUS CATALOG — Combos → Burritos → Dips → Bebidas. */
.product-catalog{display:block}
.catalog-section{scroll-margin-top:78px;margin:0 0 clamp(42px,6vw,72px)}
.catalog-section:last-child{margin-bottom:0}
.catalog-section-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 16px;padding:0;border:0}
.catalog-section-head h3{margin:0;font-family:Inter,Arial,sans-serif;font-size:clamp(30px,4vw,46px);line-height:.94;letter-spacing:-.045em;text-transform:uppercase}
.catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:0}
.catalog-card{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:20px;align-items:center;min-height:190px;padding:22px 0;border:0;border-bottom:1px solid rgba(36,26,23,.16);background:transparent}
.catalog-card:nth-last-child(-n/**/+2){border-bottom-color:transparent}
.catalog-copy{min-width:0;padding:0;text-align:left}
.catalog-card .product-name-button{display:block;width:auto;max-width:100%;margin:0;padding:0;border:0;background:transparent;color:var(--brown);font-family:Inter,Arial,sans-serif;font-size:clamp(23px,2.3vw,34px);line-height:.95;letter-spacing:-.035em;text-align:left;cursor:pointer}
.catalog-card .product-desc{margin:9px 0 12px;max-width:42ch;color:rgba(36,26,23,.72);font-size:14px;line-height:1.35}
.catalog-meta{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.catalog-meta strong{font-size:17px;letter-spacing:-.015em}
.combo-hint{display:block;margin-top:8px;color:rgba(36,26,23,.58);font-size:11px;line-height:1.25}
.catalog-visual{position:relative;min-width:0}
.catalog-card .product-media{display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;border-radius:8px;overflow:hidden;background:var(--cream);cursor:pointer}
.catalog-card .product-media img{width:100%;height:100%;object-fit:cover}
.product-card{scroll-margin-top:86px}
.quick-action{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;gap:6px;z-index:2}

/* THREE CONTROL FAMILIES -------------------------------------------------- */
/* 1. Quick action / quantity: one solid object, no split-color middle. */
.quick-add,.inline-qty.quick-qty,.qty-control{height:44px;min-height:44px;border:1px solid var(--brown);border-radius:8px;background:var(--brown);color:var(--cream);box-shadow:none;text-shadow:none}
.quick-add{display:inline-grid;place-items:center;width:44px;min-width:44px;padding:0;font:600 26px/1 Inter,sans-serif;cursor:pointer}
.quick-add:hover:not(:disabled){background:var(--brown);color:var(--cream)}
.quick-add:disabled{cursor:not-allowed;opacity:.45}
.inline-qty.quick-qty,.qty-control{display:grid;grid-template-columns:44px minmax(30px,36px) 44px;align-items:stretch;overflow:hidden}
.inline-qty.quick-qty button,.qty-control button{display:grid;place-items:center;width:44px;min-width:44px;height:42px;min-height:42px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--cream);font:600 21px/1 Inter,sans-serif;cursor:pointer}
.inline-qty.quick-qty strong,.qty-control strong{display:grid;place-items:center;min-width:30px;margin:0;padding:0;background:transparent;color:var(--cream);font:600 13px/1 Inter,sans-serif;border:0}
.inline-qty.quick-qty button:hover,.qty-control button:hover{background:rgba(241,226,204,.10)}
.combo-in-cart{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--cream);color:var(--brown);font:700 10px/1 Inter,sans-serif;border:1px solid var(--brown)}

/* 2. Primary CTA: progression / purchase only. */
.primary-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:18px;padding:0 20px;border:1px solid var(--brown);border-radius:8px;background:var(--brown);color:var(--cream);font:600 12px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:center;cursor:pointer;box-shadow:none;text-shadow:none}
.primary-action:hover:not(:disabled){background:var(--brown);color:var(--cream)}
.primary-action:disabled{opacity:.45;cursor:not-allowed}
.primary-action.whatsapp{background:var(--brown);color:var(--cream)}

/* 3. Secondary/navigation controls: quiet outline/icon system. */
.secondary-action,.flow-back,.drawer-close,.reviews-nav-btn{border:1px solid rgba(36,26,23,.34);border-radius:8px;background:transparent;color:var(--brown);font-family:Inter,Arial,sans-serif;box-shadow:none;text-shadow:none}
.secondary-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:10px;padding:0 18px;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.flow-back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0 0 16px;padding:0 14px;font-size:11px;font-weight:600;letter-spacing:.05em}
.drawer-close,.reviews-nav-btn{display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}
.drawer-close{font-size:24px}
.reviews-nav-btn{font-size:24px}
.secondary-link{display:inline-block;color:var(--brown);font-size:12px;font-weight:600;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--brown);padding-bottom:3px}
.secondary-action:hover,.flow-back:hover,.drawer-close:hover,.reviews-nav-btn:hover{background:rgba(36,26,23,.05)}

/* Cart drawer uses the exact same quantity component. */
.cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(36,26,23,.14)}
.cart-item b{font-size:13px;line-height:1.25}
.cart-item small{font-size:11px;color:rgba(36,26,23,.62)}

/* Suggestions: dips + drinks. They disappear once added, logic lives in JS. */
.upsell{margin-top:24px}
.upsell h3{margin:0 0 8px;font-family:Inter,Arial,sans-serif;font-size:22px;letter-spacing:-.025em}
.upsell-grid{display:block}
.upsell-item{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(36,26,23,.12)}
.upsell-item:last-child{border-bottom:0}
.upsell-item b{display:block;font-size:13px}
.upsell-item small{display:block;margin-top:4px;color:rgba(36,26,23,.60);font-size:11px}
.upsell-item .quick-add{position:static}

/* One-piece persistent cart CTA, no button nested inside another panel. */










/* Drawers/forms: clear hierarchy, no decorative button variants. */
.drawer-panel{background:var(--surface)}
.drawer-panel h2{letter-spacing:-.04em}
.review-box{border-color:rgba(36,26,23,.14)}
.review-line{font-size:13px}
.delivery-note,.final-note,#whatsappHelp,.allergy-note,.schedule-inline small,.remember-option small{font-size:11px;line-height:1.35}

/* Reduce visual dividers elsewhere. */
.drawer-total{border-top:1px solid rgba(36,26,23,.20)}
.reviews-toolbar{border-color:rgba(36,26,23,.18)}
.review-item{border-color:rgba(36,26,23,.18)}

/* Never introduce shadows back into the interface. */
:where(button,a,.product-card,.drawer-panel,.cart-bar,.category,.quick-add,.quick-qty,.qty-control){box-shadow:none!important;text-shadow:none!important}

@media(max-width:760px){
  .menu{padding-left:16px;padding-right:16px}
  .category-wrap{margin-left:-16px;margin-right:-16px;padding:0 16px}
  .categories{gap:22px}
  .category{min-height:48px;font-size:13px}
  .catalog-section{margin-bottom:42px;scroll-margin-top:70px}
  .catalog-section-head{margin-bottom:6px}
  .catalog-section-head h3{font-size:31px}
  .catalog-list{display:block}
  .catalog-card{grid-template-columns:minmax(0,1fr) 132px;gap:14px;min-height:148px;padding:16px 0;border-bottom:1px solid rgba(36,26,23,.15)}
  .catalog-card:nth-last-child(-n/**/+2){border-bottom-color:rgba(36,26,23,.15)}
  .catalog-card:last-child{border-bottom:0}
  .catalog-card .product-name-button{font-size:21px;line-height:1}
  .catalog-card .product-desc{margin:7px 0 10px;font-size:12px;line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .catalog-meta{gap:9px;font-size:11px}
  .catalog-meta strong{font-size:16px}
  .combo-hint{margin-top:6px;font-size:11px}
  .catalog-card .product-media{aspect-ratio:1/1;border-radius:8px}
  .quick-action{right:6px;bottom:6px}
  .quick-add{width:44px;min-width:44px;height:44px;min-height:44px}
  .inline-qty.quick-qty,.qty-control{grid-template-columns:44px 30px 44px;min-height:44px;height:44px}
  .inline-qty.quick-qty button,.qty-control button{width:44px!important;min-width:44px!important;height:42px!important;min-height:42px!important}
  
  
  
  
}

@media(max-width:390px){
  .catalog-card{grid-template-columns:minmax(0,1fr) 118px;gap:12px}
  .catalog-card .product-name-button{font-size:20px}
  /* Intentionally keep all touch controls at 44px. */
  .quick-add{width:44px;min-width:44px;height:44px;min-height:44px}
  .inline-qty.quick-qty,.qty-control{grid-template-columns:44px 30px 44px;height:44px;min-height:44px}
}


/* Microtype pass: nothing essential drops into 8px territory on phones. */
.section-label,.review-author,.reviews-count,.reviews-cta span,.reviews-cta a.secondary-link,.footer-label,.brand-footer-bottom,.editorial-break-copy span{font-size:10px}
.reviews-cta a.secondary-link{color:var(--cream);border-bottom-color:rgba(241,226,204,.48)}
.reviews-cta a.secondary-link:hover{border-bottom-color:var(--cream)}
.brand-footer-bottom{letter-spacing:.08em}
@media(max-width:760px){
  .hero-meta{font-size:10px;letter-spacing:.10em;gap:5px 12px}
  .reviews-count,.reviews-cta span,.reviews-cta a.secondary-link,.review-author,.footer-label,.brand-footer-bottom,.editorial-break-copy span{font-size:10px}
}


/* Context inversion keeps the same secondary-control geometry readable on dark/photo surfaces. */
.reviews-section .reviews-nav-btn{color:var(--cream);border-color:rgba(241,226,204,.42);background:transparent}
.reviews-section .reviews-nav-btn:hover:not(:disabled){background:rgba(241,226,204,.08);border-color:rgba(241,226,204,.7)}
.product-panel .drawer-close{background:var(--cream);color:var(--brown);border-color:var(--cream)}

/* --- V2.42 fix: moving hero strip + corrected bottom cart bar --- */
/*
   Restore the moving brand strip under the hero and simplify the persistent
   bottom order bar so it renders as one clean centered tab on mobile.
*/
.brand-ticker{
  overflow:hidden;
  background:var(--brown);
  color:var(--cream);
  border:0;
}
.brand-ticker-track{
  display:flex;
  width:max-content;
  will-change:transform;
  animation:burriTickerMove 26s linear infinite;
}
.brand-ticker-group{
  display:flex;
  align-items:center;
  gap:18px;
  flex:none;
  min-height:52px;
  padding:12px 18px;
  font:700 11px/1 Inter,Arial,sans-serif;
  letter-spacing:.12em;
  white-space:nowrap;
}
.brand-ticker-group i{
  font-style:normal;
  opacity:.55;
}
.brand-ticker-logo{
  display:inline-block;
  height:1.05em;
  width:auto;
  vertical-align:-.08em;
}
@keyframes burriTickerMove{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}









@media(max-width:760px){
  .brand-ticker-group{
    gap:14px;
    min-height:50px;
    padding:11px 14px;
    font-size:8.5px;
  }
  
  
  
  
}

/* --- V2.43 stronger fix: smaller moving strip + raise floating order tab above mobile browser UI --- */
.brand-ticker{
  overflow:hidden;
  background:var(--brown);
  color:var(--cream);
  border:0;
}
.brand-ticker-track{
  display:flex !important;
  width:max-content;
  will-change:transform;
  animation:burriTickerMoveSmall 22s linear infinite;
}
.brand-ticker-group{
  display:flex !important;
  align-items:center;
  gap:12px;
  flex:none;
  min-height:40px;
  padding:8px 14px;
  font:700 9px/1 Inter,Arial,sans-serif;
  letter-spacing:.12em;
  white-space:nowrap;
}
.brand-ticker-group i{font-style:normal;opacity:.55}
.brand-ticker-logo{display:inline-block;height:.98em;width:auto;vertical-align:-.08em}
.brand-ticker-static{display:none !important}
@keyframes burriTickerMoveSmall{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}









@media(max-width:760px){
  .brand-ticker-group{
    gap:10px;
    min-height:36px;
    padding:7px 12px;
    font-size:8px;
  }
  
  
  
  
}

/* --- V2.44 final fix: remove editorial break and hard-center bottom cart CTA --- */
.editorial-break{display:none !important}







@media (min-width:761px){
  
  
}

/* --- V2.45 compact bottom order bar: better internal hierarchy --- */








@media (min-width:761px){
  
  
}

/* --- V2.46 robustness / accessibility fixes --- */
.field-error{display:block;min-height:0;margin-top:6px;color:#8f241c;font-size:11px;font-weight:600;line-height:1.35}
.field-error:empty{display:none}
#checkoutForm [aria-invalid="true"]{outline:2px solid #8f241c;outline-offset:2px}
.empty-cart-message{margin:12px 0 18px;line-height:1.45}
.catalog-card .product-name-button{min-height:24px;padding-block:2px}
.reviews-cta a{min-height:44px;display:inline-flex;align-items:center}
.quick-qty button:disabled,.qty-control button:disabled{opacity:.34;cursor:not-allowed}

@media (prefers-reduced-motion: reduce){
  .product-media img,.category,.drawer-panel{transition:none!important}
}

/* --- V2.46 canonical bottom order bar: single source of truth --- */
.cart-dock{
  position:fixed;
  left:0;
  right:0;
  bottom:calc(78px + env(safe-area-inset-bottom,0px));
  z-index:95;
  width:100%;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  padding:0 12px;
  margin:0;
  pointer-events:none;
}
.cart-bar{
  pointer-events:auto;
  position:relative;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  column-gap:10px;
  width:min(360px,calc(100vw - 24px));
  max-width:min(360px,calc(100vw - 24px));
  min-height:46px;
  margin:0 auto;
  padding:0 12px;
  border:1px solid rgba(241,226,204,.28);
  border-radius:10px;
  background:var(--brown);
  color:var(--cream);
  font-family:Inter,Arial,sans-serif;
  cursor:pointer;
  overflow:hidden;
  opacity:1;
  transform:translateY(0);
  transition:opacity .2s ease,transform .2s ease;
  box-shadow:none;
  text-shadow:none;
}
.cart-bar[hidden]{display:none!important}
.cart-bar.footer-hidden{opacity:0;transform:translateY(12px);pointer-events:none}
.cart-bar-label{
  min-width:0;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cart-bar-summary{display:flex;align-items:center;gap:8px}
.cart-bar-count{
  display:grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:7px;
  background:var(--cream);
  color:var(--brown);
  font-size:12px;
  font-weight:700;
}
.cart-bar-summary strong{font-size:12px;line-height:1;white-space:nowrap}
.cart-bar-arrow{font-size:16px;line-height:1}
@media (min-width:761px){
  .cart-dock{bottom:calc(18px + env(safe-area-inset-bottom,0px));padding:0 14px}
  .cart-bar{width:min(380px,calc(100vw - 28px));max-width:min(380px,calc(100vw - 28px));min-height:48px;padding:0 14px}
}
@media (prefers-reduced-motion:reduce){
  .cart-bar,.cart-bar.footer-hidden{transition:none}
}


/* --- V2.47 continuous brand ticker: never freezes under pointer --- */
.brand-ticker{
  overflow:hidden;
}
.brand-ticker-track{
  display:flex!important;
  width:max-content!important;
  min-width:max-content!important;
  transform:translate3d(0,0,0);
  will-change:transform;
  backface-visibility:hidden;
  animation:burriTickerV247 18s linear infinite!important;
  animation-play-state:running!important;
}
.brand-ticker-group{
  flex:0 0 auto;
}
.brand-ticker:hover .brand-ticker-track,
.brand-ticker:focus-within .brand-ticker-track{
  animation-play-state:running!important;
}
@keyframes burriTickerV247{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-16.6666667%,0,0)}
}
@media (prefers-reduced-motion:reduce){
  .brand-ticker-track{
    animation:burriTickerV247 42s linear infinite!important;
  }
  .brand-ticker-group[aria-hidden="true"]{display:flex!important}
}

/* --- V2.54 audit fixes: reliable focus contrast on filled controls --- */
.primary-action:focus-visible,
.quick-add:focus-visible,
.cart-bar:focus-visible{
  outline:3px solid var(--brown);
  outline-offset:3px;
}


/* --- V2.56 UX polish: combo selectors, inline stock, lower cart CTA, ticker separators --- */
/* Product availability belongs to the product copy, not on top of the food photography. */
.catalog-title-line{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  flex-wrap:wrap;
}
.catalog-title-line .product-name-button{flex:0 1 auto;min-width:0}
.catalog-title-line .stock-tag{
  position:static;
  inset:auto;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  margin:0;
  padding:0 8px;
  border:1px solid rgba(36,26,23,.30);
  border-radius:999px;
  background:transparent;
  color:var(--brown);
  font:700 8px/1 Inter,sans-serif;
  letter-spacing:.09em;
  white-space:nowrap;
}
.catalog-title-line .stock-tag.out{
  border-color:var(--brown);
  background:var(--brown);
  color:var(--cream);
}

/* Combo configuration is part of the same flat BURRI control system. */
#comboChoices{
  margin:28px 0 4px;
  padding:22px 0 0;
  border-top:1px solid rgba(36,26,23,.18);
  border-bottom:0;
}
#comboChoices legend{
  margin:0 0 18px;
  padding:0 12px 0 0;
  background:var(--surface);
  color:var(--brown);
  font-family:Inter,Arial,sans-serif;
  font-size:18px;
  line-height:1;
  letter-spacing:-.025em;
}
#comboChoices label{
  display:block;
  margin:0 0 14px;
  color:rgba(36,26,23,.66);
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.09em;
  text-transform:uppercase;
}
#comboChoices select{
  -webkit-appearance:none;
  appearance:none;
  display:block;
  width:100%;
  min-height:48px;
  margin:7px 0 0;
  padding:0 44px 0 14px;
  border:1px solid rgba(36,26,23,.28);
  border-radius:8px;
  background-color:var(--cream);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M2 2l5 5 5-5' stroke='%23241A17' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:14px 9px;
  color:var(--brown);
  font-family:Inter,Arial,sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1;
  cursor:pointer;
  outline:0;
}
#comboChoices select:hover{border-color:rgba(36,26,23,.58)}
#comboChoices select:focus-visible{
  border-color:var(--brown);
  outline:3px solid rgba(36,26,23,.12);
  outline-offset:2px;
}
#comboChoices select option{background:var(--cream);color:var(--brown)}

/* Keep the persistent order control close to the bottom edge instead of floating high over products. */
.cart-dock{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.cart-bar{min-height:44px}
@media(min-width:761px){
  .cart-dock{bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .cart-bar{min-height:46px}
}

/* No accidental wordmark-sized gap now that reviews use plain text. */
.reviews-head h2{display:block}

@media(max-width:760px){
  .catalog-title-line{gap:7px}
  .catalog-title-line .stock-tag{min-height:22px;padding:0 7px;font-size:7.5px}
  #comboChoices{margin-top:24px;padding-top:18px}
  #comboChoices legend{margin-bottom:15px;font-size:17px}
  #comboChoices label{margin-bottom:12px}
  #comboChoices select{min-height:46px;font-size:13px}
}

/* --- V2.59 cart-led promo progression --- */
.review-total-line{border-top:1px solid var(--line);margin-top:10px;padding-top:12px}

/* Applied promos read like pricing rows, not promotional cards. */
.promo-applied{
  margin:14px 0 2px;
  padding:12px 0;
  border-top:1px solid rgba(36,26,23,.16);
  border-bottom:1px solid rgba(36,26,23,.16);
}
.promo-applied-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  font:800 10px/1.25 Inter,sans-serif;
  letter-spacing:.045em;
}
.promo-applied-head strong{font-size:10px;white-space:nowrap}
.promo-applied-line{
  display:block;
  margin-top:5px;
  color:rgba(36,26,23,.62);
  font:650 10px/1.35 Inter,sans-serif;
}
.promo-applied.compact{margin:12px 0 2px;padding:10px 0}

/* The cart is the only place that explains the next promo step. */
.upsell{margin-top:0}
.combo-path{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin-top:16px;
  padding:13px 0;
  border-top:1px solid rgba(36,26,23,.18);
  border-bottom:1px solid rgba(36,26,23,.18);
}
.combo-path-copy{min-width:0}
.combo-path-copy span{
  display:block;
  margin-bottom:3px;
  color:rgba(36,26,23,.58);
  font:800 9px/1.2 Inter,sans-serif;
  letter-spacing:.08em;
}
.combo-path-copy strong{
  display:block;
  color:var(--brown);
  font:800 12px/1.25 Inter,sans-serif;
}
.combo-path-action{
  min-height:36px;
  padding:0 10px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--brown);
  font:800 9px/1 Inter,sans-serif;
  letter-spacing:.055em;
  white-space:nowrap;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
.combo-path-action:hover{text-decoration-thickness:2px}
.combo-path-action:focus-visible{outline:2px solid var(--brown);outline-offset:3px}

@media(max-width:620px){
  .combo-path{gap:8px;margin-top:14px;padding:12px 0}
  .combo-path-copy strong{font-size:11px}
  .combo-path-action{padding:0 4px;font-size:8.5px}
  .promo-applied-head{font-size:9px}
  .promo-applied-head strong{font-size:9px}
}

/* V2.60 resilience: status toasts never intercept cart or checkout controls. */
.toast{pointer-events:none}

/* --- V2.64 BURRI brand-system final pass ----------------------------------
   Visual-only consolidation. No cart, promo, stock or order-flow logic changes.
   Display and interface/body: Inter.
   Controls: quick quantity / primary CTA / secondary navigation only.
*/
:root{
  --font-display:Inter,Arial,sans-serif;
  --font-ui:Inter,Arial,sans-serif;
  --control-radius:8px;
}

body,button,input,textarea,select{font-family:var(--font-ui)}
.hero-descriptor,
.menu h2,
.drawer-panel h2,
.catalog-section-head h3,
.catalog-card .product-name-button,
.upsell h3,
fieldset legend,
#comboChoices legend,
.reviews-head h2,
.editorial-break-copy strong,
.brand-footer-wordmark{
  font-family:var(--font-display);
}

/* The only hero CTA now follows the same geometry as the rest of the system. */
.hero-menu-link{
  min-height:46px;
  padding:0 22px;
  border:1px solid var(--cream);
  border-radius:var(--control-radius);
  font-family:var(--font-ui);
  font-size:10px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.hero-menu-link:hover{background:var(--cream);color:var(--brown)}

/* Editorial menu navigation: type + rule, never pill/chip UI. */
.category-wrap{
  border-top:1px solid rgba(36,26,23,.11);
  border-bottom:1px solid rgba(36,26,23,.16);
}
.categories{gap:clamp(22px,3vw,36px)}
.category{
  min-height:50px;
  padding:0;
  color:rgba(36,26,23,.52);
  font-family:var(--font-ui);
  font-size:11px;
  font-weight:700;
  letter-spacing:.105em;
  text-transform:uppercase;
}
.category::after{height:3px}
.category.active{color:var(--brown)}

/* Three control families share one radius and one typographic voice. */
.quick-add,
.inline-qty.quick-qty,
.qty-control,
.primary-action,
.secondary-action,
.flow-back,
.drawer-close,
.reviews-nav-btn,
.cart-bar{
  border-radius:var(--control-radius);
  font-family:var(--font-ui);
}
.primary-action{
  min-height:50px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.09em;
}
.secondary-action,.flow-back{
  font-weight:700;
  letter-spacing:.075em;
}

/* Checkout: editorial form hierarchy, still familiar and easy to complete. */
#checkoutDrawer .drawer-panel{padding-top:72px}
#checkoutDrawer .section-label{margin-bottom:9px}
#checkoutDrawer h2{max-width:9ch;margin-bottom:38px;font-size:clamp(42px,5vw,54px)}
#checkoutForm>label{
  margin-bottom:27px;
  color:rgba(36,26,23,.72);
  font-size:9px;
  font-weight:700;
  letter-spacing:.105em;
  text-transform:uppercase;
}
#checkoutForm>label em{
  font-size:9px;
  letter-spacing:.04em;
  text-transform:none;
}
#checkoutForm input:not([type="radio"]):not([type="checkbox"]),
#checkoutForm textarea,
#checkoutForm select{
  min-height:46px;
  margin-top:5px;
  padding:9px 0 10px;
  border-bottom:1px solid rgba(36,26,23,.42);
  background:transparent;
  color:var(--brown);
  font-size:16px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}
#checkoutForm textarea{min-height:78px;resize:vertical;line-height:1.4}
#checkoutForm input::placeholder,
#checkoutForm textarea::placeholder{color:rgba(36,26,23,.40)}
#checkoutForm fieldset{
  margin:31px 0;
  padding:23px 0 16px;
  border-top:1px solid rgba(36,26,23,.20);
  border-bottom:1px solid rgba(36,26,23,.20);
}
#checkoutForm legend{
  margin-bottom:12px;
  color:var(--brown);
  font-size:16px;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
#checkoutForm .option{
  min-height:44px;
  margin:0;
  padding:9px 0;
  color:var(--brown);
  font-size:13px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}
#checkoutForm .option input{accent-color:var(--brown)}
#checkoutForm .schedule-inline{padding-top:3px}
#checkoutForm .schedule-inline label{
  color:rgba(36,26,23,.68);
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#checkoutForm .remember-option{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:11px;
  align-items:start;
  margin:5px 0 22px;
  padding:18px 0;
  border-top:1px solid rgba(36,26,23,.16);
  border-bottom:1px solid rgba(36,26,23,.16);
  color:var(--brown);
  font-size:11px;
  letter-spacing:0;
  text-transform:none;
}
#checkoutForm .remember-option input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--brown)}
#checkoutForm .remember-option b{display:block;font-size:11px;letter-spacing:.02em}
#checkoutForm .remember-option small{display:block;margin-top:4px;color:rgba(36,26,23,.58);font-weight:400}
.allergy-note{margin:3px 0 22px;color:rgba(36,26,23,.62)}
.allergy-note a{color:var(--brown);font-weight:700;text-underline-offset:3px}

@media(max-width:760px){
  .category-wrap{top:0;margin-top:14px}
  .categories{gap:24px}
  .category{min-height:48px;font-size:10px;letter-spacing:.10em}
  #checkoutDrawer .drawer-panel{padding-top:64px}
  #checkoutDrawer h2{margin-bottom:32px;font-size:42px}
  #checkoutForm>label{margin-bottom:24px}
  #checkoutForm fieldset{margin:28px 0}
}

/* v265: estado seguro cuando catálogo/stock no pudieron verificarse */
.stock-tag.unavailable{opacity:.72;letter-spacing:.04em}

/* v267: productos anunciados, todavía no vendibles. */
.stock-tag.upcoming{background:var(--brown);color:var(--cream);border:1px solid var(--brown);opacity:1}
.catalog-card:has(.stock-tag.upcoming) .product-media img{filter:saturate(.82)}

/* v268: one secondary family, with explicit display weights. */
.hero-descriptor,.menu h2,.drawer-panel h2,.catalog-section-head h3,
.catalog-card .product-name-button,.upsell h3,fieldset legend,
#comboChoices legend,.reviews-head h2,.editorial-break-copy strong,
.brand-footer-wordmark,.category.active{font-family:Inter,Arial,sans-serif;font-weight:800}
.availability-notice[hidden]{display:none}
.availability-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;margin:0 0 24px;border:1px solid var(--brown);border-radius:8px}
.availability-notice p{margin:0;max-width:65ch;font-size:13px;line-height:1.5}
.availability-notice button{flex-shrink:0;min-height:44px;padding:10px 18px;background:var(--brown);color:var(--cream);border:1px solid var(--brown);border-radius:8px;font-weight:700;cursor:pointer}
.availability-notice button:disabled{opacity:.65;cursor:wait}
.availability-notice button:focus-visible{outline:2px solid var(--brown);outline-offset:4px}
@media(max-width:600px){.availability-notice{align-items:flex-start;flex-direction:column}}

/* Compact opinions: long text expands only by an explicit customer action. */
.reviews-grid{align-items:start}
.review-item{display:flex;flex-direction:column;min-height:250px;padding-top:22px;padding-bottom:22px}
.review-copy{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;max-height:7em;overflow:hidden;font-size:18px;line-height:1.4;margin-bottom:12px;white-space:pre-line;overflow-wrap:anywhere}
.review-item.is-expanded .review-copy{display:block;-webkit-line-clamp:unset;max-height:none;overflow:visible}
.review-expand{align-self:flex-start;min-height:44px;padding:8px 0;border:0;background:transparent;color:var(--cream);font:600 13px Inter,Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.review-expand[hidden]{display:none}
.review-expand:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.review-author{margin-top:auto;margin-bottom:0;padding-top:10px;align-items:flex-end}
.review-author>span:first-child{min-width:0;overflow-wrap:anywhere}
