/* SUBITO PASTAS · Rediseño visual v2
   Fotografía de la carta oficial: CSS sprites sobre WebP existentes.
   Para sustituirla por fotografías originales, edita FOTOS en catalogo.js. */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;600;700;800&display=swap');

:root { --rojo:#D50301; --tinta:#201917; --crema:#fff9f6; --borde:#ede0da; --muted:#756b66; }
body { background:#fffaf8; color:var(--tinta); font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif; font-weight:400; line-height:1.48; }
button,input,select,textarea { font:inherit; }
.site-header { border-top:4px solid #D50301; border-bottom-color:#f1e5e0; }
.site-header__inner { min-height:75px; }
.header-tagline { font-family:'Bricolage Grotesque',system-ui,sans-serif; font-size:16px; font-weight:800; }
#contenido .ord-hero { position:relative; margin:0 -12px; padding:34px 18px 27px; border-radius:0 0 25px 25px; background:linear-gradient(130deg,#fff0eb 0%,#fffaf8 60%); overflow:hidden; }
#contenido .ord-hero h1 { font-family:'Bricolage Grotesque',system-ui,sans-serif; font-size:clamp(42px,6vw,70px); font-weight:800; letter-spacing:-2.6px; line-height:.99; }
#contenido .ord-hero p { font-size:14px; max-width:450px; line-height:1.55; color:#665b56; }
.ord-eyebrow { font-family:'DM Sans',sans-serif; font-size:10px; font-weight:800; letter-spacing:1.15px; }
.ord-hero-mark { display:none!important; }
.ord-hero-art { display:grid; grid-template-columns:repeat(2,110px); gap:8px; flex:0 0 auto; padding:10px 0; transform:rotate(4deg); }
.ord-hero-art .ord-media { box-shadow:0 10px 24px rgba(101,19,8,.12); border:4px solid #fff; border-radius:17px; }
.ord-hero .ord-media--bowl-pesto { transform:translateY(12px); }
.ord-hero .ord-media--bowl-brocoli { transform:translateY(-4px); }
.ord-tabs { scroll-snap-type:x proximity; }
.ord-tabs a { border-color:#ead9d2!important; box-shadow:0 2px 6px rgba(96,18,12,.025); font-family:'DM Sans',sans-serif; font-weight:750; scroll-snap-align:start; }
.ord-tabs a:hover, .ord-tabs a:focus-visible { border-color:#D50301!important; background:#fff3f0!important; color:#D50301!important; }
.ord-section { margin-bottom:52px; }
.ord-heading h2, .ord-carthead h2, .ord-festival h3 { font-family:'Bricolage Grotesque',system-ui,sans-serif; font-weight:800; letter-spacing:-1px; }
.ord-heading { border-bottom:1.5px solid #29211f; }
.ord-card { border-color:#eddfd9; box-shadow:0 10px 26px rgba(78,20,8,.045); border-radius:17px; }
.ord-builder { padding:22px; }
.ord-builder >h3 { font-family:'Bricolage Grotesque',system-ui,sans-serif; font-size:18px; font-weight:800; margin-top:29px; }
.ord-picks, .ord-options { gap:10px; }
.ord-pick { align-items:flex-start; justify-content:flex-end; gap:3px; min-height:151px; padding:10px 11px 12px; border-color:#ecded8; border-radius:13px; }
.ord-pick:has(input:checked) { background:#fff4f0; border-color:#D50301; }
.ord-pick strong { font-family:'DM Sans',sans-serif; font-weight:750; font-size:13px; letter-spacing:-.1px; padding:0; }
.ord-pick small { font-size:12px; font-weight:750; }
.ord-pick .ord-media { margin:0 auto 6px; }
.ord-pick input { right:10px; top:10px; }
.ord-option { border-radius:12px; padding:10px 12px; min-height:73px; gap:12px; border-color:#eddfd9; }
.ord-option:has(input:checked) { background:#fff3ef; }
.ord-option__primary { display:flex; align-items:center; gap:11px; min-width:0; }
.ord-option__primary >span { font-size:12px; font-weight:700; line-height:1.3; }
.ord-option b { font-size:12px; }
.ord-note { color:#7a6f69; font-size:12px; }
.ord-buildbottom { border-top-color:#f0e3dd; }
.ord-buildbottom strong { font-family:'Bricolage Grotesque',sans-serif; font-weight:800; }
.ord-primary { border-radius:11px; background:#D50301; font-family:'DM Sans',sans-serif; font-weight:800; letter-spacing:-.15px; }
.ord-search { background:#fff; border-color:#eadbd5; padding:14px 15px; border-radius:12px; }
.ord-list { gap:11px; }
.ord-product { display:grid; grid-template-columns:94px minmax(0,1fr) auto; gap:13px; padding:10px; min-height:112px; align-items:center; }
.ord-product .ord-num { display:none; }
.ord-product__content { min-width:0; align-self:center; }
.ord-product h3 { font-family:'Bricolage Grotesque',sans-serif; font-size:15px; font-weight:750; letter-spacing:-.1px; line-height:1.25; margin:0 0 5px; }
.ord-product strong { color:#B80000; font-size:15px; }
.ord-addsmall { border-radius:10px; border-color:#e7aaa2; }
.ord-festival { align-items:center; gap:20px; padding:19px; background:#fff5f0; }
.ord-festival-gallery { display:grid; grid-template-columns:repeat(2,108px); gap:5px; flex:0 0 auto; }
.ord-festival-gallery .ord-media { border:3px solid white; border-radius:12px; box-shadow:0 3px 9px #6e28151a; }
.ord-festival-icon { display:none; }
.ord-festival h3 { line-height:1.12; }
.ord-festival-bottom { margin-top:12px; }
.ord-festival-bottom >strong { font-family:'Bricolage Grotesque',sans-serif; font-weight:800; }
.ord-drink { border-radius:13px; }
.ord-drink h3 { font-family:'Bricolage Grotesque',sans-serif; font-weight:750; }
.ord-drink__name { display:flex; align-items:center; gap:10px; }
.ord-drink__name .ord-media { flex:0 0 auto; }
.ord-cart { background:white; box-shadow:0 9px 35px #732b0d0d; }
.ord-cartrow { border-color:#f1e5e0; }
.ord-cartrow strong, .ord-lineprice strong { font-weight:750; }
.ord-grand strong:last-child { font-family:'Bricolage Grotesque',sans-serif; }
.ord-buildfloat__heading strong { font-family:'Bricolage Grotesque',sans-serif; font-size:13px; font-weight:800; }
#ord-upsell h2 { font-family:'Bricolage Grotesque',sans-serif; font-weight:800; }
.ord-upsell__label strong { font-family:'DM Sans',sans-serif; font-weight:750; }
.ord-upsell__choice span { font-family:'DM Sans',sans-serif; font-weight:750; }
.ord-photo { font-weight:700; }
.ord-media { display:block; flex:0 0 auto; overflow:hidden; background-color:#fff; background-repeat:no-repeat; border-radius:12px; }
.ord-media[class*="ord-media--salsa-"],.ord-media[class*="ord-media--pasta-"] { width:76px; height:76px; }
.ord-media[class*="ord-media--proteina-"] { width:56px; height:56px; }
.ord-media[class*="ord-media--extra-"] { width:52px; height:52px; }
.ord-media[class*="ord-media--bowl-"] { width:108px; height:108px; }
.ord-product .ord-media[class*="ord-media--bowl-"] { width:90px; height:90px; border-radius:12px; }
.ord-media[class*="ord-media--bebida-"] { width:58px; height:58px; }
.ord-media--custom { background:none!important; }
.ord-media--custom img { display:block; width:100%; height:100%; object-fit:cover; }
.ord-referential { color:#8a7972; font-size:11px; line-height:1.5; margin:5px 0 15px; }
@media (min-width:1100px) {
 .ord-product h3 { font-size:16px; }
}
@media (max-width:950px) {
 .ord-hero-art { grid-template-columns:repeat(2,100px); }
 .ord-festival-gallery { grid-template-columns:repeat(2,108px); }
 .ord-cart { scroll-margin-top:80px; }
}
@media (max-width:540px) {
 #contenido .ord-hero { margin:0 -15px; padding:28px 18px 25px; border-radius:0 0 22px 22px; }
 #contenido .ord-hero h1 { font-size:43px; letter-spacing:-1.7px; }
 #contenido .ord-hero p { font-size:12.5px; }
 .ord-hero-art { display:block; padding:0; transform:rotate(7deg); }
 .ord-hero-art .ord-media:not(:first-child) { display:none; }
 .ord-hero-art .ord-media[class*="ord-media--bowl-"] { width:108px;height:108px; border-width:3px; }
 .ord-heading h2 { font-size:27px; }
 .ord-builder { padding:15px; }
 .ord-pick { min-height:144px; padding:9px 10px; }
 .ord-picks { gap:8px; }
 .ord-options { grid-template-columns:1fr; }
 .ord-product { grid-template-columns:82px minmax(0,1fr); gap:10px; min-height:105px; padding:9px; position:relative; }
 .ord-product .ord-media[class*="ord-media--bowl-"] { width:78px; height:78px; }
 .ord-product h3 { font-size:14px; padding-right:30px; }
 .ord-product .ord-addsmall { position:absolute; right:10px; bottom:11px; padding:7px 9px; min-height:28px; font-size:11px; }
 .ord-product strong { font-size:14px; }
 .ord-festival { display:block; padding:15px; }
 .ord-festival-gallery { display:grid; grid-template-columns:repeat(2,108px); justify-content:center; gap:5px; margin-bottom:15px; }
 .ord-festival-gallery .ord-media { width:108px; height:108px; }
 .ord-festival .ord-eyebrow { font-size:10px; }
 .ord-festival h3 { font-size:24px; }
 .ord-festival-bottom { margin-top:12px; }
 .ord-festival-bottom .ord-primary { padding:10px; }
 .ord-festival-bottom>strong { font-size:22px; }
 .ord-drink h3 { font-size:15px; }
}
@media (max-width:360px) {
 .ord-festival-gallery .ord-media { width:108px; height:108px; }
 .ord-product h3 { font-size:13px; }
 .ord-hero-art .ord-media--bowl { width:88px; height:88px; }
}

/* Recortes exactos de imágenes oficiales */
.ord-media--salsa-brocoli { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:462.76px 945.78px; background-position:-97.96px -62.49px; }
.ord-media--salsa-pesto { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:462.76px 945.78px; background-position:-184.93px -61.64px; }
.ord-media--salsa-bolonesa { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:462.76px 945.78px; background-position:-271.07px -62.49px; }
.ord-media--salsa-alfredo { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:462.76px 945.78px; background-position:-363.96px -61.64px; }
.ord-media--pasta-spaghetti { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:443.06px 905.53px; background-position:-97.83px -253.87px; }
.ord-media--pasta-linguini { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:443.06px 905.53px; background-position:-185.15px -253.87px; }
.ord-media--pasta-fettuccini { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:443.06px 905.53px; background-position:-263.57px -251.45px; }
.ord-media--pasta-rigatoni { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:452.7px 925.22px; background-position:-356.87px -258.57px; }
.ord-media--pasta-tornillo { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:443.06px 905.53px; background-position:-96.21px -342px; }
.ord-media--pasta-codo { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:443.06px 905.53px; background-position:-186.77px -342px; }
.ord-media--pasta-integral { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:443.06px 905.53px; background-position:-345.23px -337.96px; }
.ord-media--proteina-pollo { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:340.98px 696.89px; background-position:-72.8px -469.16px; }
.ord-media--proteina-cerdo { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:340.98px 696.89px; background-position:-138.13px -469.16px; }
.ord-media--proteina-milanesa { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:340.98px 696.89px; background-position:-202.84px -467.91px; }
.ord-media--proteina-bistec { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:340.98px 696.89px; background-position:-266.93px -469.16px; }
.ord-media--extra-parmesano { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:316.62px 647.11px; background-position:-69.33px -551.78px; }
.ord-media--extra-jamon { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:316.62px 647.11px; background-position:-131.16px -551.2px; }
.ord-media--extra-tocino { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:316.62px 647.11px; background-position:-190.09px -551.2px; }
.ord-media--extra-champinones { background-image:url("/assets/carta/carta-arma-1-d45495bd6343.webp"); background-size:316.62px 647.11px; background-position:-249.02px -551.2px; }
.ord-media--bowl-bolonesa { background-image:url("/assets/carta/carta-festival-1-1eccc4bc30d0.webp"); background-size:383.04px 443.52px; background-position:-102.96px -93.6px; }
.ord-media--bowl-pesto { background-image:url("/assets/carta/carta-festival-1-1eccc4bc30d0.webp"); background-size:383.04px 443.52px; background-position:-246.24px -93.6px; }
.ord-media--bowl-brocoli { background-image:url("/assets/carta/carta-festival-1-1eccc4bc30d0.webp"); background-size:383.04px 443.52px; background-position:-102.96px -250.56px; }
.ord-media--bowl-alfredo { background-image:url("/assets/carta/carta-festival-1-1eccc4bc30d0.webp"); background-size:383.04px 443.52px; background-position:-245.52px -249.12px; }
.ord-media--bebida-soda300 { background-image:url("/assets/carta/carta-bebidas-1-c28e8d4e4569.webp"); background-size:354.67px 336px; background-position:-78.67px -102px; }

/* Escala el recorte a la dimensión real de cada miniatura. */
.ord-product .ord-media--bowl-bolonesa { background-size:319.2px 369.6px; background-position:-85.8px -78px; }
.ord-product .ord-media--bowl-pesto { background-size:319.2px 369.6px; background-position:-205.2px -78px; }
.ord-product .ord-media--bowl-brocoli { background-size:319.2px 369.6px; background-position:-85.8px -208.8px; }
.ord-product .ord-media--bowl-alfredo { background-size:319.2px 369.6px; background-position:-204.6px -207.6px; }
@media(max-width:540px){
.ord-product .ord-media--bowl-bolonesa { background-size:276.64px 320.32px; background-position:-74.36px -67.6px; }
.ord-product .ord-media--bowl-pesto { background-size:276.64px 320.32px; background-position:-177.84px -67.6px; }
.ord-product .ord-media--bowl-brocoli { background-size:276.64px 320.32px; background-position:-74.36px -180.96px; }
.ord-product .ord-media--bowl-alfredo { background-size:276.64px 320.32px; background-position:-177.32px -179.92px; }
}

/* Imagen única del Festival si se añade en catálogo. */
.ord-media--festival-festival { width:225px; height:220px; border-radius:14px; }
.ord-media--festival-festival img { display:block; width:100%; height:100%; object-fit:cover; }
@media(max-width:540px) {
 .ord-media--festival-festival { width:100%; max-width:320px; height:210px; margin:0 auto 14px; }
}


/* ETAPA 3: Acompañamientos y extras con la misma cuadrícula visual que las pastas. */
#ord-proteins,#ord-extras {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px;
}
#ord-proteins .ord-option,#ord-extras .ord-option {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:space-between;
  padding:12px 11px 11px;
  min-height:158px;
  gap:5px;
  border-radius:13px;
}
#ord-proteins .ord-option__primary,#ord-extras .ord-option__primary {
  display:flex;
  flex:1;
  align-items:flex-start;
  justify-content:flex-end;
  flex-direction:column;
  gap:7px;
  padding-right:17px;
}
#ord-proteins .ord-option__primary >span,#ord-extras .ord-option__primary >span {
  display:block;
  color:#221c1a;
  flex-shrink:1;
  font-size:12px;
  line-height:1.32;
  font-weight:750;
}
#ord-proteins .ord-option .ord-media,#ord-extras .ord-option .ord-media { margin:0 auto 2px; }
#ord-proteins .ord-option >span:last-child,#ord-extras .ord-option >span:last-child {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  min-height:22px;
}
#ord-proteins .ord-option >span:last-child input,#ord-extras .ord-option >span:last-child input {
  position:absolute;
  top:11px;
  right:9px;
  width:17px;
  height:17px;
}
#ord-proteins .ord-option b,#ord-extras .ord-option b {
  color:#D50301;
  font-size:12px;
  font-weight:800;
}

/* Miniaturas de las cinco decisiones; siguen siendo legibles en teléfonos estrechos. */
.ord-buildfloat__steps button { min-height:82px; padding:6px 3px; gap:2px; }
.ord-buildfloat__steps button >span:first-child { font-size:8.5px; }
.ord-mini-window {
  position:relative;
  display:block;
  flex-shrink:0;
  width:35px;
  height:35px;
  margin:2px auto;
  border-radius:8px;
  overflow:hidden;
  background:#fff;
}
.ord-mini-window >.ord-media {
  display:block;
  position:absolute;
  top:0;
  left:0;
  transform-origin:top left;
  transform:scale(.46);
  border-radius:5px;
}
.ord-mini-window >.ord-media[class*="ord-media--proteina-"] { transform:scale(.625); }
.ord-mini-window >.ord-media[class*="ord-media--extra-"] { transform:scale(.673); }
.ord-mini-empty,.ord-mini-size {
  height:35px;
  width:35px;
  margin:2px auto;
  display:grid;
  place-items:center;
  border-radius:8px;
  font-size:21px;
  font-weight:600;
}
.ord-mini-empty { background:#e6e4e2; color:#99918f; }
.ord-mini-size { background:#fff4f0; font-size:23px; }
.ord-buildfloat__steps button strong { line-height:1.25; }
body.ord-building #ord-toast { bottom:215px; }
@media(max-width:360px) {
  .ord-buildfloat__steps button { min-height:75px; }
  .ord-mini-window,.ord-mini-empty,.ord-mini-size { height:31px; width:31px; }
}

/* Las bebidas tienen ilustraciones propias; no se simulan fotografías del envase. */
.ord-drink__name >span[data-drink-visual] { flex-shrink:0; display:block; }
.ord-drink-art {
  width:64px;
  height:82px;
  display:grid;
  place-items:center;
  background:#fff6f1;
  border:1px solid #f3e6e0;
  border-radius:12px;
  cursor:zoom-in;
}
.ord-drink-art svg { display:block; width:100%; height:100%; object-fit:contain; }
.ord-drink-art:hover { border-color:#D50301; background:#fff0ec; }
.ord-media { cursor:zoom-in; }
.ord-media:focus-visible,.ord-drink-art:focus-visible { outline:2px solid #D50301; outline-offset:2px; }
.ord-media:hover { box-shadow:0 0 0 2px #D5030155; }
#ord-drinks .ord-referential { margin-bottom:12px; }

/* Lightbox del producto con escurecimiento, botón cerrar y recorte ampliado. */
#ord-photo-viewer {
  border:0;
  width:min(92vw,415px);
  max-width:calc(100vw - 20px);
  max-height:92dvh;
  padding:17px 17px 12px;
  overflow:auto;
  background:#fff;
  color:#201917;
  border-radius:19px;
  box-shadow:0 22px 70px #0005;
}
#ord-photo-viewer::backdrop { background:rgba(15,14,14,.73); }
.ord-photo-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:13px;
  margin-bottom:14px;
}
#ord-photo-title {
  flex:1;
  min-width:0;
  font-family:'Bricolage Grotesque',system-ui,sans-serif;
  font-size:17px;
  font-weight:800;
  line-height:1.25;
}
#ord-photo-close {
  display:grid;
  place-items:center;
  width:37px;
  height:37px;
  border:1px solid #e8ded9;
  border-radius:11px;
  background:#fff;
  cursor:pointer;
  font-size:18px;
  flex-shrink:0;
}
#ord-photo-close:hover { color:#D50301; border-color:#D50301; }
.ord-photo-stage {
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#fffaf8,#fff);
  border-radius:14px;
  min-height:230px;
  overflow:hidden;
}
.ord-photo-crop {
  display:block;
  flex-shrink:0;
  background-color:#fff;
  background-repeat:no-repeat;
  border-radius:13px;
}
.ord-photo-actual { display:block; width:auto; height:auto; max-width:100%; max-height:65dvh; object-fit:contain; border-radius:13px; }
.ord-photo-vector { display:block; width:min(235px,70vw); height:290px; }
#ord-photo-caption { text-align:center; margin:11px 0 0; color:#8c827c; font-size:11px; }
@media(max-width:540px){
  #ord-photo-viewer { padding:14px 14px 12px; width:calc(100vw - 26px); }
  #ord-photo-title { font-size:16px; }
  #ord-proteins .ord-option,#ord-extras .ord-option { min-height:150px; padding:10px; }
  #ord-proteins .ord-option__primary >span,#ord-extras .ord-option__primary >span { font-size:11.5px; }
  .ord-drink-art { width:65px; height:83px; }
}

/* SUBITO · BEBIDAS v4
   Productos agrupados, variedades visibles, ilustraciones gráficas abstractas.
   No utilizamos imitaciones de envases: foto real solo donde exista un recurso configurado. */
#bebidas .ord-drink-intro { font-size:13px; color:#726660; line-height:1.55; margin:0 0 23px; }
.ord-bev-group { margin-bottom:30px; }
.ord-bev-group__heading {
  display:flex; align-items:end; justify-content:space-between; gap:12px;
  margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid #eadfd9;
}
.ord-bev-group__heading h3 {
  font-family:'Bricolage Grotesque',system-ui,sans-serif;
  font-weight:800; font-size:21px; letter-spacing:-.6px; line-height:1.2; margin:0 0 3px;
}
.ord-bev-group__heading p { margin:0; color:#827873; font-size:11px; line-height:1.4; }
.ord-bev-group__count { flex-shrink:0; color:#b4a49d; font-size:10px; font-weight:700; white-space:nowrap; }
.ord-bev-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.ord-bev-card {
  display:flex; flex-direction:column;
  min-width:0; padding:10px;
  border:1px solid #ecded8; border-radius:16px;
  background:#fff; box-shadow:0 6px 19px rgba(81,34,20,.045);
}
.ord-bev-art { width:100%; min-width:0; margin-bottom:11px; }
.ord-bev-cover {
  position:relative; isolation:isolate; overflow:hidden;
  height:126px; border-radius:11px;
  padding:11px 12px;
  background:linear-gradient(125deg,var(--bev-color) 0%,var(--bev-color) 55%,var(--bev-wash) 185%);
  color:var(--bev-ink);
  display:flex; flex-direction:column; align-items:flex-start;
  justify-content:center;
  gap:2px;
}
.ord-bev-cover__orb {
  position:absolute; z-index:-1; display:block; width:155px; height:155px;
  top:-72px; right:-59px; border-radius:50%;
  background:rgba(255,255,255,.16);
  box-shadow:-43px 80px 0 -25px rgba(255,255,255,.12);
}
.ord-bev-cover__type {
  position:absolute; left:12px; top:10px;
  opacity:.78; font-size:8px; letter-spacing:1.2px; font-weight:800;
}
.ord-bev-cover__brand {
  display:block; margin-top:5px; max-width:100%;
  font-family:'Bricolage Grotesque',system-ui,sans-serif;
  text-transform:uppercase; font-weight:900;
  font-size:clamp(17px,2vw,22px); line-height:1.01;
  letter-spacing:-.65px; word-break:normal; overflow-wrap:break-word;
}
.ord-bev-cover__flavor {
  max-width:100%; font-size:9px; font-weight:850; line-height:1.15; letter-spacing:1px;
  text-transform:uppercase; overflow-wrap:break-word;
}
.ord-bev-cover__volume {
  position:absolute; right:10px; bottom:9px;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:11px; font-weight:850; letter-spacing:.1px;
  background:rgba(255,255,255,.2); border-radius:20px; padding:3px 7px;
}
.ord-bev-photo {
  height:126px; display:grid; place-items:center;
  overflow:hidden; border-radius:11px; background:#fff7f3;
}
.ord-bev-photo .ord-media {
  width:100%!important; height:100%!important;
  border-radius:11px; margin:0;
}
.ord-bev-photo .ord-media img { width:100%; height:100%; object-fit:contain; display:block; }
.ord-bev-card__info { margin-bottom:10px; }
.ord-bev-card__info h4 {
  margin:0 0 4px; font-family:'Bricolage Grotesque',system-ui,sans-serif;
  font-size:15px; font-weight:780; letter-spacing:-.15px; line-height:1.25;
}
.ord-bev-card__info strong { color:#D50301; font-size:16px; font-weight:850; }
.ord-bev-variants {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px; margin-top:auto; margin-bottom:12px;
}
.ord-bev-choice {
  display:flex; align-items:center; justify-content:center;
  border:1px solid #e8dbd6; border-radius:8px;
  background:#fcfbfa; color:#665d57; min-width:0;
  padding:7px 4px; min-height:41px;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:10px; font-weight:750; line-height:1.2;
  text-align:center; cursor:pointer;
  transition:background-color .12s,border-color .12s;
  overflow-wrap:anywhere;
}
.ord-bev-choice[aria-pressed="true"] {
  border-color:#D50301; background:#fff1ed; color:#B00000;
  box-shadow:inset 0 0 0 .5px #D50301;
}
.ord-bev-choice:focus-visible {
  outline:2px solid #D50301; outline-offset:2px;
}
.ord-bev-single { color:#8a7e77; font-size:11px; margin-top:auto; margin-bottom:12px; }
.ord-bev-add {
  width:100%; min-height:42px; padding:10px 8px;
  border-radius:10px; font-size:12px; font-weight:850;
  margin-top:auto;
}
.ord-bev-disclaimer { color:#948780; font-size:10px; margin:4px 0 0; line-height:1.5; }
@media(max-width:1050px) {
  .ord-bev-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:540px) {
  .ord-bev-grid { gap:10px; }
  .ord-bev-card { border-radius:14px; padding:9px; }
  .ord-bev-cover { height:122px; padding:9px 10px; }
  .ord-bev-cover__type { top:9px; left:10px; font-size:7px; }
  .ord-bev-cover__brand { font-size:17px; }
  .ord-bev-cover__flavor { font-size:8.5px; letter-spacing:.5px; }
  .ord-bev-card__info h4 { font-size:14px; }
  .ord-bev-card__info strong { font-size:15px; }
  .ord-bev-choice { font-size:9.5px; min-height:41px; padding:6px 2px; }
  .ord-bev-add { min-height:41px; }
  .ord-bev-group__heading h3 { font-size:20px; }
  .ord-bev-group__heading p { font-size:10px; }
  .ord-bev-group__count { font-size:9px; }
}
@media(max-width:350px) {
  .ord-bev-grid { grid-template-columns:1fr; }
  .ord-bev-cover { height:135px; }
  .ord-bev-choice { min-height:37px; font-size:11px; }
}


/* SUBITO · UX de selección de ingredientes (noviembre 2026)
   Tocar imagen/tarjeta = seleccionar; lupa independiente = ampliar.
   Fotos reales en círculo para evitar que los fondos heterogéneos compitan con el contenido. */
.ord-choice-wrap {
  position:relative;
  min-width:0;
  isolation:isolate;
}
.ord-choice-wrap>.ord-pick,
.ord-choice-wrap>.ord-option {
  width:100%;
  height:100%;
  cursor:pointer;
}
.ord-choice-wrap>.ord-pick {
  padding:12px 11px 13px;
  min-height:165px;
  border-radius:15px;
  transition:background-color .15s,border-color .15s,box-shadow .15s;
}
.ord-choice-wrap>.ord-pick:has(input:checked),
.ord-choice-wrap>.ord-option:has(input:checked) {
  border-color:#D50301;
  background:#fff4f1;
  box-shadow:0 0 0 1px rgba(213,3,1,.15);
}
.ord-choice-wrap>.ord-pick:hover,
.ord-choice-wrap>.ord-option:hover { border-color:#e4aba2; }
.ord-choice-wrap .ord-media { pointer-events:none; }
.ord-choice-wrap .ord-media--custom {
  width:86px;
  height:86px;
  display:block;
  flex:0 0 auto;
  overflow:hidden;
  margin:0 auto 7px;
  border-radius:50%;
  background:#fff!important;
  border:3px solid #fff;
  box-shadow:0 2px 9px rgba(78,32,18,.11), 0 0 0 1px #efe5df;
}
.ord-choice-wrap .ord-media--custom img {
  width:100%; height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
}
.ord-choice-wrap .ord-pick strong { font-size:13px; line-height:1.25; }
.ord-choice-wrap .ord-pick small { font-size:12px; }
.ord-choice-wrap .ord-card-zoom {
  position:absolute;
  z-index:5;
  left:10px;
  top:10px;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid #ecdcd6;
  border-radius:10px;
  background:#fff;
  color:#D50301;
  box-shadow:0 2px 9px rgba(56,23,13,.07);
  cursor:zoom-in;
  -webkit-tap-highlight-color:transparent;
}
.ord-choice-wrap .ord-card-zoom:hover,
.ord-choice-wrap .ord-card-zoom:focus-visible {
  background:#fff2ee;
  border-color:#D50301;
  outline:2px solid transparent;
}
.ord-choice-wrap .ord-card-zoom:focus-visible {
  outline:2px solid #D50301;
  outline-offset:2px;
}
.ord-choice-wrap--option>.ord-option {
  min-height:168px;
  padding:13px 11px 12px;
}
.ord-choice-wrap--option .ord-option__primary {
  width:100%;
  padding-right:0!important;
  justify-content:flex-end;
}
.ord-choice-wrap--option .ord-media--custom {
  width:73px;
  height:73px;
  margin:0 auto 7px;
}
.ord-choice-wrap--option .ord-option__primary>span:not(.ord-media) {
  text-align:left;
  width:100%;
}
.ord-choice-wrap--option .ord-card-zoom {
  width:30px;
  height:30px;
}
@media(max-width:540px) {
  .ord-choice-wrap>.ord-pick {
    min-height:164px;
    padding:11px 10px 12px;
  }
  .ord-choice-wrap>.ord-option { min-height:164px!important; }
  .ord-choice-wrap .ord-card-zoom {
    width:29px;
    height:29px;
    left:8px;
    top:8px;
  }
  .ord-choice-wrap .ord-card-zoom svg { width:15px; height:15px; }
  .ord-choice-wrap .ord-media--custom { width:82px; height:82px; }
  .ord-choice-wrap--option .ord-media--custom { width:70px; height:70px; }
}


/* UI V5 · Tarjetas gastronómicas inspiradas en el layout de referencia.
   Imagen protagonista arriba · nombre y precio abajo · check circular de selección.
   La tarjeta selecciona; únicamente la lupa superior derecha abre el detalle. */
.ord-choice-wrap {
  min-width:0;
  position:relative;
  align-self:stretch;
}
.ord-choice-wrap>.ord-visual-choice,
#ord-proteins .ord-choice-wrap>.ord-visual-choice,
#ord-extras .ord-choice-wrap>.ord-visual-choice {
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  gap:0!important;
  width:100%;
  height:100%;
  min-height:0!important;
  padding:5px!important;
  border:1.5px solid #ebe5e0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden;
  cursor:pointer;
  transition:border-color .16s,background-color .16s,box-shadow .16s;
}
.ord-choice-wrap>.ord-visual-choice:hover,
#ord-proteins .ord-choice-wrap>.ord-visual-choice:hover,
#ord-extras .ord-choice-wrap>.ord-visual-choice:hover {
  border-color:#dba9a0!important;
}
/* El toque no produce un segundo contorno; solo el foco por teclado es adicional. */
.ord-choice-wrap>.ord-visual-choice:focus-within { outline:none; }
.ord-choice-wrap>.ord-visual-choice:has(input:focus-visible) {
  outline:2px solid #403936;
  outline-offset:3px;
}
.ord-choice-wrap .ord-visual-choice>input[type="radio"],
.ord-choice-wrap .ord-visual-choice>input[type="checkbox"] {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  top:auto!important;
  right:auto!important;
  left:0!important;
  bottom:0!important;
  margin:0!important;
  pointer-events:none!important;
}
/* Fotos individuales llenan el ancho. Los sprites antiguos no se amplían a la fuerza. */
.ord-choice-wrap .ord-choice-photo {
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1.14/1;
  flex:none;
  overflow:hidden;
  border-radius:10px;
  background:#f4eee8;
}
.ord-choice-wrap .ord-choice-photo--real {
  background:#f7f3ef;
}
.ord-choice-wrap .ord-choice-photo--reference {
  background:linear-gradient(145deg,#fbf7f4,#f1ebe6);
}
.ord-choice-wrap .ord-choice-photo .ord-media--custom,
#ord-proteins .ord-choice-photo .ord-media--custom,
#ord-extras .ord-choice-photo .ord-media--custom {
  position:absolute!important;
  top:0!important;
  left:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.ord-choice-wrap .ord-choice-photo .ord-media--custom img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:10px!important;
}
.ord-choice-wrap .ord-choice-photo .ord-media:not(.ord-media--custom) {
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  border:0!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
.ord-choice-wrap .ord-choice-photo .ord-media:not(.ord-media--custom)[class*="ord-media--salsa-"],
.ord-choice-wrap .ord-choice-photo .ord-media:not(.ord-media--custom)[class*="ord-media--pasta-"] {
  width:76px!important;
  height:76px!important;
}
.ord-choice-wrap .ord-choice-photo .ord-media:not(.ord-media--custom)[class*="ord-media--proteina-"] {
  width:56px!important;
  height:56px!important;
}
.ord-choice-wrap .ord-choice-photo .ord-media:not(.ord-media--custom)[class*="ord-media--extra-"] {
  width:52px!important;
  height:52px!important;
}
.ord-choice-wrap .ord-choice-details,
#ord-proteins .ord-choice-wrap .ord-option__primary,
#ord-extras .ord-choice-wrap .ord-option__primary {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:space-between!important;
  flex:1 1 auto!important;
  gap:0!important;
  min-width:0;
  width:100%!important;
  padding:10px 7px 7px!important;
  margin:0!important;
  text-align:left;
}
.ord-choice-wrap .ord-option__primary>.ord-choice-details {
  padding:0!important;
}
.ord-choice-wrap .ord-choice-name,
#ord-proteins .ord-choice-wrap .ord-choice-name,
#ord-extras .ord-choice-wrap .ord-choice-name {
  display:block;
  padding:0!important;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:12.5px;
  line-height:1.27;
  letter-spacing:-.15px;
  font-weight:750;
  color:#211a17;
}
.ord-choice-wrap .ord-choice-desc {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:4px 0 0;
  color:#83746e;
  font-size:10.5px;
  line-height:1.25;
  font-weight:400;
}
.ord-choice-wrap .ord-choice-bottom,
#ord-proteins .ord-choice-wrap .ord-choice-bottom,
#ord-extras .ord-choice-wrap .ord-choice-bottom {
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:5px;
  margin-top:auto;
  min-height:37px;
  width:100%!important;
}
.ord-choice-wrap .ord-choice-price,
#ord-proteins .ord-choice-wrap .ord-choice-price,
#ord-extras .ord-choice-wrap .ord-choice-price {
  display:block!important;
  color:#D50301!important;
  font-weight:800;
  font-size:12px;
  letter-spacing:-.05px;
  white-space:nowrap;
}
.ord-choice-wrap .ord-choice-indicator {
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:27px;
  height:27px;
  color:#aa9a91;
  background:#fff;
  border:1.5px solid #dacbc3;
  border-radius:50%;
  transition:background-color .14s,color .14s,border-color .14s;
}
.ord-choice-wrap .ord-visual-choice:has(input:checked) .ord-choice-indicator {
  color:#fff;
  background:#D50301;
  border-color:#D50301;
}
.ord-choice-wrap .ord-card-zoom,
.ord-choice-wrap--option .ord-card-zoom {
  top:12px!important;
  right:12px!important;
  left:auto!important;
  width:29px!important;
  height:29px!important;
  border-radius:50%!important;
  color:#342720;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(237,228,220,.9);
  box-shadow:0 2px 8px rgba(53,26,14,.13);
  z-index:4;
}
.ord-choice-wrap .ord-card-zoom:hover {
  color:#D50301;
  background:#fff!important;
}
.ord-choice-wrap .ord-card-zoom svg {
  width:15px;
  height:15px;
}
/* Las cuatro categorías comparten proporción; los textos cortos mantienen el pie alineado. */
#ord-sauces,#ord-pastas,#ord-proteins,#ord-extras {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch;
}
@media(max-width:540px){
  .ord-choice-wrap>.ord-visual-choice,
  #ord-proteins .ord-choice-wrap>.ord-visual-choice,
  #ord-extras .ord-choice-wrap>.ord-visual-choice {
    padding:4px!important;
    border-radius:13px!important;
  }
  .ord-choice-wrap .ord-choice-photo {
    aspect-ratio:1.08/1;
    border-radius:9px;
  }
  .ord-choice-wrap .ord-choice-name { font-size:12px; }
  .ord-choice-wrap .ord-choice-desc { font-size:10px; }
  .ord-choice-wrap .ord-choice-details,
  #ord-proteins .ord-choice-wrap .ord-option__primary,
  #ord-extras .ord-choice-wrap .ord-option__primary {
    padding:9px 6px 6px!important;
  }
  .ord-choice-wrap .ord-choice-bottom { min-height:36px; }
  .ord-choice-wrap .ord-choice-price { font-size:12px; }
  .ord-choice-wrap .ord-choice-indicator { width:26px; height:26px; }
  .ord-choice-wrap .ord-card-zoom,
  .ord-choice-wrap--option .ord-card-zoom {
    width:28px!important;
    height:28px!important;
    top:10px!important;
    right:10px!important;
  }
}


/* SUBITO V6 — Editorial minimal: menos color decorativo y un único selector. */
body { background:#fff; }
#contenido .ord-hero {
  background:#fff!important;
  border-bottom:1px solid #ebe6e2;
  border-radius:0!important;
  margin:0 -12px;
  padding:29px 12px 25px!important;
  gap:16px;
}
#contenido .ord-hero h1 {
  font-size:clamp(36px,4.5vw,58px)!important;
  line-height:1.035!important;
  letter-spacing:-1.85px!important;
  font-weight:750!important;
  margin:10px 0 12px!important;
}
#contenido .ord-hero h1 em { color:#211d1b!important; }
#contenido .ord-hero .ord-eyebrow {
  color:#a36a62;
  font-size:9px;
  font-weight:650;
  letter-spacing:.9px;
}
#contenido .ord-hero p { max-width:370px; font-size:13px; line-height:1.5; color:#78706c; }
.ord-hero-art { transform:none!important; gap:0; padding:0; }
.ord-hero-art .ord-media {
  border:1px solid #eee9e5!important;
  border-radius:13px!important;
  box-shadow:none!important;
}
.ord-hero .ord-media--bowl-pesto,.ord-hero .ord-media--bowl-brocoli { transform:none!important; }

/* Navegación superior sin cápsulas bordeadas en cada enlace. */
#contenido .ord-tabs {
  background:#fff!important;
  border-bottom:1px solid #ebe6e2;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none;
  gap:15px;
  padding-top:4px;
  padding-bottom:6px;
  margin-bottom:24px!important;
}
#contenido .ord-tabs a {
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:10px 2px!important;
  color:#56504c;
  font-size:12px;
  font-weight:650;
}
/* Hover no equivale a la categoría seleccionada. */
#contenido .ord-tabs .ord-tabs__links a:not([aria-current="location"]):hover {
  background:transparent!important;
  color:#514843!important;
  border-bottom-color:transparent!important;
}
#contenido .ord-tabs .ord-tabs__links a:focus-visible {
  outline:2px solid #514843!important;
  outline-offset:-3px;
}

/* Jerarquía serena en títulos y pasos, sin cajas anidadas. */
.ord-heading { border-bottom:1px solid #ebe5df!important; padding-bottom:11px; margin-bottom:18px; }
.ord-heading .ord-eyebrow { color:#9f837b; font-weight:700; letter-spacing:1px; font-size:9px; }
.ord-heading h2 { font-size:clamp(25px,3vw,32px); font-weight:750!important; letter-spacing:-.9px; }
.ord-heading h2 i { color:inherit!important; }
.ord-photo { color:#77716d; font-size:11px; font-weight:650; text-decoration:none; }
.ord-photo:hover { text-decoration:underline; text-underline-offset:3px; }
.ord-builder.ord-card {
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  background:transparent!important;
}
.ord-builder>h3 { font-size:17px!important; font-weight:750!important; gap:9px!important; margin-top:29px; margin-bottom:14px; }
.ord-builder>h3:first-child { margin-top:6px; }
.ord-builder>h3 b {
  background:transparent!important;
  color:#D50301!important;
  border-radius:0!important;
  width:17px!important;
  height:auto!important;
  flex:0 0 17px!important;
  font-size:13px!important;
  font-weight:800!important;
}
#ord-sauces,#ord-pastas,#ord-proteins,#ord-extras { gap:11px!important; }

/* Una sola línea roja como selección + degradado sutil desde la fotografía al pie. */
.ord-choice-wrap>.ord-visual-choice,
#ord-proteins .ord-choice-wrap>.ord-visual-choice,
#ord-extras .ord-choice-wrap>.ord-visual-choice {
  border:1.5px solid #ebe5e0!important;
  box-shadow:none!important;
  background:#fff!important;
}
.ord-choice-wrap>.ord-visual-choice:has(input:checked),
#ord-proteins .ord-choice-wrap>.ord-visual-choice:has(input:checked),
#ord-extras .ord-choice-wrap>.ord-visual-choice:has(input:checked) {
  border:1.5px solid #D50301!important;
  background:linear-gradient(160deg,#fff 0%,#fff 52%,#fff5f2 100%)!important;
  box-shadow:none!important;
}
.ord-choice-wrap .ord-choice-photo { background:#f8f6f3; border-radius:11px; }
.ord-choice-wrap .ord-choice-name { font-weight:700; letter-spacing:-.08px; }
.ord-choice-wrap .ord-choice-desc { color:#8b8580; font-size:10px; }
.ord-choice-wrap .ord-choice-price { color:#34302d!important; font-weight:750!important; }
.ord-choice-wrap .ord-choice-indicator {
  border:1.5px solid #cfc9c5;
  color:transparent;
  background:#fff;
  box-shadow:none;
}
.ord-choice-wrap .ord-choice-indicator svg {
  opacity:0;
  transform:scale(.75);
  transition:opacity .14s,transform .14s;
}
.ord-choice-wrap .ord-visual-choice:has(input:checked) .ord-choice-indicator svg {
  opacity:1;
  transform:scale(1);
}
.ord-choice-wrap .ord-card-zoom,
.ord-choice-wrap--option .ord-card-zoom {
  box-shadow:0 1px 4px rgba(36,20,12,.08)!important;
  border-color:rgba(222,217,212,.9)!important;
  background:rgba(255,255,255,.93)!important;
}
@media(max-width:540px) {
  #contenido .ord-hero { margin:0 -15px!important; padding:26px 15px 23px!important; }
  #contenido .ord-hero h1 { font-size:36px!important; letter-spacing:-1.45px!important; }
  #contenido .ord-hero p { font-size:12.5px!important; }
  .ord-hero-art .ord-media[class*="ord-media--bowl-"] { width:100px!important; height:100px!important; }
  #contenido .ord-tabs { gap:14px!important; }
  .ord-heading h2 { font-size:27px; }
  .ord-builder>h3 { font-size:16px!important; }
  .ord-choice-wrap .ord-choice-details,
  #ord-proteins .ord-choice-wrap .ord-option__primary,
  #ord-extras .ord-choice-wrap .ord-option__primary {
    padding:9px 7px 7px!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .ord-choice-wrap .ord-choice-indicator svg { transition:none!important; }
}


/* V7 — refinamientos de lectura para tarjetas gastronómicas. */
.ord-choice-wrap .ord-choice-name,
#ord-proteins .ord-choice-wrap .ord-choice-name,
#ord-extras .ord-choice-wrap .ord-choice-name {
  font-weight:750;
  line-height:1.3;
}
.ord-choice-wrap .ord-choice-desc {
  font-size:10.5px;
  line-height:1.38;
  margin-top:5px;
  color:#847a74;
}
.ord-choice-wrap .ord-choice-indicator {
  width:26px; height:26px;
}
.ord-choice-wrap .ord-visual-choice:has(input:checked) .ord-choice-indicator {
  background:#D50301;
  color:#fff;
  border-color:#D50301;
  box-shadow:none;
}
@media (max-width:540px) {
  .ord-choice-wrap .ord-choice-details,
  #ord-proteins .ord-choice-wrap .ord-option__primary,
  #ord-extras .ord-choice-wrap .ord-option__primary {
    padding:10px 7px 7px!important;
  }
}


/* V8 · SUBITO: marca real + portada editorial, basada en carta móvil gastronómica.
   La cabecera exhibe la marca oficial; la portada no vuelve a escribir SUBITO como fuente. */
.site-header {
  background:#D50301!important;
  border-top:0!important;
  border-bottom:0!important;
  color:#fff!important;
}
.site-header__inner {
  max-width:1160px;
  min-height:88px!important;
  padding:9px 22px!important;
  gap:22px;
}
.site-header .brand {
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  min-height:68px;
  line-height:0;
}
.site-header .brand__logo {
  display:block!important;
  width:115px!important;
  height:auto!important;
  max-width:none!important;
  max-height:74px!important;
  object-fit:contain;
}
.site-header .brand__logo[hidden] { display:none!important; }
.site-header .brand__text { display:none!important; }
.site-header .header-right {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  gap:4px;
  line-height:1.15;
  text-align:right;
}
.site-header .header-tagline {
  font-family:'Bricolage Grotesque',system-ui,sans-serif;
  font-size:clamp(14px,2vw,17px);
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.45px;
  color:#fff;
}
.site-header .tagline-dot { color:#fff!important; }
.site-header .location-note {
  color:#ffddd9;
  font-size:10.5px;
  font-weight:550;
  letter-spacing:.08px;
  white-space:nowrap;
}
.site-header .location-dot { background:#fff; }
.site-header .brand:focus-visible {
  outline:2px solid #fff;
  outline-offset:4px;
  border-radius:4px;
}
.site-header .brand:hover { opacity:.95; }

/* Una portada de lectura inmediata. Más producto visible sin bajar innecesariamente. */
#contenido .ord-hero {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 137px;
  align-items:center!important;
  justify-content:space-between;
  gap:16px!important;
  padding:28px 18px 25px!important;
  margin:0 -12px!important;
  background:#fff!important;
  border-bottom:1px solid #ede6e0;
  border-radius:0!important;
  overflow:hidden;
}
#contenido .ord-hero__copy {
  min-width:0;
  max-width:475px;
}
#contenido .ord-hero .ord-eyebrow {
  color:#ae4b42!important;
  font-size:10px!important;
  letter-spacing:1.1px!important;
  font-weight:750!important;
}
#contenido .ord-hero h1 {
  font-family:'Bricolage Grotesque',system-ui,sans-serif;
  font-size:clamp(35px,4.4vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-1.7px!important;
  font-weight:800!important;
  margin:10px 0 12px!important;
}
#contenido .ord-hero h1 em {
  font-style:normal;
  color:#D50301!important;
}
#contenido .ord-hero p {
  margin:0;
  max-width:330px;
  color:#6c6662!important;
  font-size:13px!important;
  line-height:1.45!important;
}
#contenido .ord-hero-art {
  display:flex!important;
  flex:0 0 137px;
  align-items:center;
  justify-content:center;
  width:137px;
  padding:0!important;
  margin:0!important;
  transform:none!important;
  position:relative;
}
#contenido .ord-hero-art .ord-media {
  display:block!important;
  width:132px!important;
  height:132px!important;
  border-radius:15px!important;
  border:1px solid #f0e7e0!important;
  background-size:468.16px 542.08px!important;
  background-position:-125.84px -114.40px!important;
  box-shadow:none!important;
  transform:none!important;
}
#contenido .ord-hero-art .ord-media:not(:first-child) { display:none!important; }

/* Categorías siempre presentes pero sin pastillas redundantes. */
#contenido .ord-tabs {
  position:sticky!important;
  top:0!important;
  z-index:40;
  display:flex;
  align-items:center;
  gap:18px!important;
  padding:0 2px 0!important;
  margin:0 0 25px!important;
  background:#fff!important;
  box-shadow:none!important;
  border-bottom:1px solid #e9e2dc!important;
  overflow-x:auto;
  scrollbar-width:none;
}
#contenido .ord-tabs a {
  flex:0 0 auto;
  font-family:'DM Sans',system-ui,sans-serif;
  font-weight:650!important;
  font-size:12px!important;
  line-height:1.2;
  color:#615851!important;
  border:0!important;
  border-bottom:2px solid transparent!important;
  padding:15px 0 13px!important;
  text-decoration:none!important;
  background:transparent!important;
  border-radius:0!important;
}
#contenido .ord-tabs .ord-tabs__links a[aria-current="location"] {
  color:#D50301!important;
  border-bottom-color:#D50301!important;
}
#contenido .ord-tabs b {
  color:inherit!important;
  font-weight:800;
}
#contenido .ord-tabs::-webkit-scrollbar { display:none; }
#contenido .ord-tabs + .ord-columns { padding-top:0; }
#contenido .ord-section { scroll-margin-top:75px!important; }
@media(min-width:851px) {
  .site-header__inner { padding-left:26px!important; padding-right:26px!important; }
  .site-header .brand__logo { width:138px!important;max-height:90px!important; }
  .site-header__inner { min-height:102px!important; }
  #contenido .ord-hero { padding:39px 21px 35px!important; grid-template-columns:minmax(0,1fr) 175px; }
  #contenido .ord-hero-art { flex-basis:175px;width:175px; }
  #contenido .ord-hero-art .ord-media {
    width:169px!important;height:169px!important;
    background-size:599.41px 693.97px!important;
    background-position:-161.11px -146.47px!important;
  }
}
@media(max-width:540px) {
  .site-header__inner { min-height:82px!important;padding:8px 16px!important;gap:13px; }
  .site-header .brand { min-height:64px; }
  .site-header .brand__logo { width:111px!important;max-height:72px!important; }
  .site-header .header-tagline { font-size:15px; }
  .site-header .location-note { font-size:10px; }
  #contenido .ord-hero {
    margin:0 -15px!important;
    grid-template-columns:minmax(0,1fr) 111px!important;
    gap:10px!important;
    padding:23px 15px 24px!important;
  }
  #contenido .ord-hero h1 { font-size:clamp(29px,8.2vw,37px)!important;line-height:1.035!important;letter-spacing:-1.4px!important; }
  #contenido .ord-hero p { font-size:12px!important;max-width:212px; }
  #contenido .ord-hero .ord-eyebrow { font-size:9px!important;letter-spacing:.8px!important; }
  #contenido .ord-hero-art { width:111px;flex-basis:111px; }
  #contenido .ord-hero-art .ord-media {
    width:107px!important;height:107px!important;
    border-radius:13px!important;
    background-size:379.49px 439.41px!important;
    background-position:-102.01px -92.73px!important;
  }
  #contenido .ord-tabs { gap:17px!important; margin-bottom:22px!important; }
  #contenido .ord-tabs a { padding:14px 0 12px!important;font-size:11.5px!important; }
}
@media(max-width:350px) {
  .site-header .brand__logo { width:95px!important; }
  .site-header .header-tagline { font-size:13px; }
  #contenido .ord-hero { grid-template-columns:minmax(0,1fr) 95px!important; }
  #contenido .ord-hero-art { width:95px;flex-basis:95px; }
  #contenido .ord-hero-art .ord-media {
    width:92px!important;height:92px!important;
    background-size:326.29px 377.81px!important;
    background-position:-87.71px -79.73px!important;
  }
  #contenido .ord-hero h1 { font-size:29px!important; }
}


/* V9 · Cabecera blanca con marca real y checkout persistente.
   Las categorías se desplazan; "Mi pedido" es una acción primaria fija. */
.site-header {
  background:#fff!important;
  color:#201a18!important;
  border-top:3px solid #D50301!important;
  border-bottom:1px solid #eee8e4!important;
}
.site-header__inner {
  min-height:73px!important;
  padding:8px 21px!important;
  gap:14px!important;
}
.site-header .brand {
  display:flex!important;
  min-height:51px!important;
  align-items:center;
}
.site-header .brand__logo {
  display:block!important;
  width:116px!important;
  height:auto!important;
  max-height:62px!important;
  max-width:100%!important;
  object-fit:contain;
}
.site-header .brand__logo[hidden] { display:none!important; }
.site-header .brand__text { display:none!important; }
.site-header .header-right { gap:5px!important; }
.site-header .header-tagline {
  color:#26201e!important;
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:-.45px!important;
}
.site-header .tagline-dot { color:#D50301!important; }
.site-header .location-note {
  color:#827773!important;
  font-size:10.5px!important;
  font-weight:500!important;
  white-space:nowrap;
}
.site-header .brand:focus-visible {
  outline:2px solid #D50301!important;
  outline-offset:3px!important;
}

/* Una franja continua: categorías neutras + checkout rojo destacado. */
#contenido .ord-tabs {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center!important;
  gap:12px!important;
  overflow:visible!important;
  padding:6px 0 7px!important;
  margin:0 0 22px!important;
  border-bottom:1px solid #eae4e0!important;
  position:sticky!important;
  top:0!important;
  background:#fff!important;
  z-index:40;
}
#contenido .ord-tabs__links {
  display:flex;
  align-items:center;
  min-width:0;
  gap:17px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
}
#contenido .ord-tabs__links::-webkit-scrollbar { display:none; }
#contenido .ord-tabs .ord-tabs__links a {
  flex:0 0 auto!important;
  white-space:nowrap;
  padding:12px 0 11px!important;
  border:0!important;
  border-bottom:2px solid transparent!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#756a64!important;
  font-size:11.5px!important;
  font-weight:650!important;
  scroll-snap-align:start;
}
#contenido .ord-tabs .ord-tabs__links a[aria-current="location"] {
  color:#D50301!important;
  border-bottom-color:#D50301!important;
}
#contenido .ord-tabs .ord-tabs__links a:not([aria-current="location"]):hover {
  color:#514843!important;
  border-bottom-color:transparent!important;
}
#contenido .ord-tabs .ord-tabs__links a:focus-visible {
  outline:2px solid #514843!important;
  outline-offset:-3px;
}
#contenido .ord-tabs a.ord-tabs__checkout,
#contenido .ord-tabs a.ord-tabs__checkout[aria-current="location"] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  gap:6px;
  min-height:38px;
  padding:9px 10px!important;
  border:1px solid #D50301!important;
  border-radius:10px!important;
  box-shadow:none!important;
  background:#D50301!important;
  color:#fff!important;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:-.1px;
  white-space:nowrap;
  text-decoration:none!important;
  transition:background-color .15s,border-color .15s;
}
#contenido .ord-tabs a.ord-tabs__checkout:hover {
  background:#B80000!important;
  border-color:#B80000!important;
  color:#fff!important;
}
#contenido .ord-tabs a.ord-tabs__checkout:focus-visible {
  outline:2px solid #231b18!important;
  outline-offset:2px!important;
}
#contenido .ord-tabs__checkout-icon { width:15px; height:15px; flex:0 0 auto; }
#contenido .ord-tabs a.ord-tabs__checkout b {
  display:grid;
  place-items:center;
  min-width:17px;
  min-height:17px;
  padding:0 3px;
  color:#D50301!important;
  background:#fff!important;
  border-radius:50%;
  font-size:10px;
  font-weight:850;
  line-height:1;
}
@media (min-width:851px) {
  .site-header__inner { min-height:84px!important; padding:8px 26px!important; }
  .site-header .brand__logo { width:132px!important; max-height:72px!important; }
  #contenido .ord-tabs { gap:18px!important; }
  #contenido .ord-tabs__links { gap:25px; }
  #contenido .ord-tabs a.ord-tabs__checkout { min-height:42px;padding:11px 16px!important;font-size:12px!important; }
}
@media (max-width:540px) {
  .site-header__inner { min-height:70px!important; padding:5px 14px!important; }
  .site-header .brand__logo { width:113px!important; max-height:62px!important; }
  .site-header .header-tagline { font-size:14px!important; }
  .site-header .location-note { font-size:10px!important; }
  #contenido .ord-tabs { gap:9px!important; padding:5px 0 6px!important; margin-bottom:20px!important; }
  #contenido .ord-tabs__links { gap:15px; }
  #contenido .ord-tabs .ord-tabs__links a { font-size:11px!important; padding:12px 0 11px!important; }
  #contenido .ord-tabs a.ord-tabs__checkout,
  #contenido .ord-tabs a.ord-tabs__checkout[aria-current="location"] {
    min-height:37px;
    padding:8px 9px!important;
    gap:5px;
    border-radius:9px!important;
    font-size:11px!important;
  }
  #contenido .ord-tabs__checkout-icon { width:14px; height:14px; }
}
@media (max-width:350px) {
  .site-header .brand__logo { width:103px!important; }
  .site-header .header-tagline { font-size:13px!important; }
  #contenido .ord-tabs a.ord-tabs__checkout { padding-left:8px!important; padding-right:8px!important; }
  #contenido .ord-tabs__checkout-icon { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  #contenido .ord-tabs a.ord-tabs__checkout { transition:none!important; }
}


/* V10 · Logo en el centro. Sin tagline ni información repetida en el topbar. */
.site-header {
  background:#fff!important;
  border-top:0!important;
  border-bottom:1px solid #eee8e4!important;
}
.site-header__inner {
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  min-height:84px!important;
  padding:11px 18px!important;
  gap:0!important;
}
.site-header .brand {
  display:inline-flex!important;
  min-height:58px!important;
  justify-content:center!important;
  align-items:center!important;
  margin:0 auto!important;
}
.site-header .brand__logo {
  width:142px!important;
  max-height:66px!important;
  height:auto!important;
  object-fit:contain!important;
}
.site-header .header-right { display:none!important; }

/* HOY TOCA PASTA es el mensaje introductorio, no un texto auxiliar del encabezado. */
#contenido .ord-hero .ord-eyebrow {
  color:#D50301!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:1.45px!important;
}
#contenido .ord-hero p {
  color:#6c6662!important;
  font-size:12.5px!important;
  line-height:1.58!important;
  max-width:330px!important;
}

/* Mi pedido: botón de checkout iconográfico, sin texto, con contador discreto. */
#contenido .ord-tabs {
  padding-left:6px!important;
  padding-right:6px!important;
  gap:11px!important;
}
#contenido .ord-tabs a.ord-tabs__checkout,
#contenido .ord-tabs a.ord-tabs__checkout[aria-current="location"] {
  position:relative;
  flex:0 0 43px!important;
  width:43px!important;
  height:41px!important;
  min-height:41px!important;
  min-width:43px!important;
  padding:0!important;
  justify-content:center!important;
  gap:0!important;
  border-radius:11px!important;
}
#contenido .ord-tabs__checkout-icon {
  display:block!important;
  width:19px!important;
  height:19px!important;
}
#contenido .ord-tabs a.ord-tabs__checkout b {
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:17px!important;
  min-height:17px!important;
  padding:1px 3px!important;
  border:2px solid #fff;
  box-sizing:content-box;
  font-size:9px!important;
  line-height:1!important;
}
#contenido .ord-tabs__links {
  gap:19px!important;
}
/* Un solo enlace a la carta original completa en Arma tu pasta. */
#contenido .ord-heading .ord-photo {
  text-decoration:none;
  color:#766d67!important;
  font-size:11px!important;
  max-width:141px;
  line-height:1.35;
  text-align:right;
  font-weight:700;
  white-space:normal;
}
#contenido .ord-heading .ord-photo:hover,
#contenido .ord-heading .ord-photo:focus-visible {
  color:#D50301!important;
  text-decoration:underline;
  text-underline-offset:3px;
}
/* Visor de una única carta en su proporción completa, no cuatro secciones. */
#ord-viewer {
  width:min(96vw,1100px)!important;
  max-width:calc(100vw - 12px)!important;
  max-height:96dvh!important;
  border-radius:16px!important;
  border:0!important;
  background:#fff!important;
}
#ord-viewer .ord-view-head {
  gap:12px;
  padding:12px 15px!important;
  background:#fff;
  border-bottom:1px solid #eae3df;
}
#ord-viewer .ord-view-head strong {
  font-family:'Bricolage Grotesque',system-ui,sans-serif;
  font-size:15px;
  font-weight:800;
}
#ord-viewer .ord-view-actions {
  margin-left:auto;
  display:flex;
  gap:8px;
  align-items:center;
}
#ord-viewer .ord-view-actions button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 11px;
  font-size:11px;
  font-weight:750;
  border:1px solid #e8ded8;
  background:#fff;
  color:#433a35;
  border-radius:9px;
  cursor:pointer;
}
#ord-viewer .ord-view-actions button:hover { background:#fff5f2; color:#D50301; }
#ord-viewer #ord-view-close {
  padding:0!important;
  width:35px!important;
  min-height:35px!important;
  font-size:17px;
}
#ord-viewer .ord-view-scroll {
  width:100%;
  max-height:calc(96dvh - 122px);
  overflow:auto;
  background:#faf8f6;
  overscroll-behavior:contain;
  touch-action:pan-x pan-y pinch-zoom;
}
#ord-viewer .ord-view-scroll img {
  display:block;
  width:100%;
  max-width:none;
  height:auto;
}
#ord-viewer .ord-view-scroll.is-zoomed img {
  width:max(1280px,100%);
  max-width:none;
}
#ord-viewer>p { font-size:10.5px; padding:9px 12px!important; }
@media (max-width:540px) {
  .site-header__inner { min-height:76px!important; padding:7px 16px!important; }
  .site-header .brand { min-height:57px!important; }
  .site-header .brand__logo { width:134px!important; max-height:62px!important; }
  #contenido .ord-hero .ord-eyebrow { font-size:9px!important; letter-spacing:1.2px!important; }
  #contenido .ord-hero p { font-size:12px!important; line-height:1.52!important; }
  #contenido .ord-tabs { padding-left:7px!important;padding-right:7px!important;gap:10px!important; }
  #contenido .ord-tabs__links { gap:16px!important; }
  #contenido .ord-tabs a.ord-tabs__checkout,
  #contenido .ord-tabs a.ord-tabs__checkout[aria-current="location"] {
    flex-basis:41px!important;
    width:41px!important;
    min-width:41px!important;
    height:40px!important;
    min-height:40px!important;
  }
  #ord-viewer .ord-view-head { padding:11px 12px!important; }
  #ord-viewer .ord-view-head strong { font-size:13px; }
  #ord-viewer .ord-view-actions button { font-size:10px; padding:7px 8px; }
}
@media (max-width:350px) {
  .site-header .brand__logo { width:122px!important; }
  #contenido .ord-tabs a.ord-tabs__checkout { flex-basis:39px!important;width:39px!important;min-width:39px!important; }
}


/* V11 · Ajustes exclusivamente móviles: topbar rojo con logo oficial blanco,
   carrito + cantidad DENTRO de la misma pastilla y margen derecho real. */
.site-header {
  background:#D50301!important;
  border-top:0!important;
  border-bottom:0!important;
}
.site-header__inner {
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  min-height:86px!important;
  padding:6px 18px!important;
  box-sizing:border-box;
}
.site-header .brand {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:70px!important;
  margin:0 auto!important;
}
.site-header .brand__logo {
  display:block!important;
  width:122px!important;
  max-width:none!important;
  max-height:79px!important;
  height:auto!important;
  object-fit:contain!important;
}
.site-header .brand:focus-visible {
  outline:2px solid #fff!important;
  outline-offset:3px!important;
}
/* El checkout ocupa una celda propia: sin contador superpuesto ni recortes. */
#contenido .ord-tabs {
  grid-template-columns:minmax(0,1fr) max-content!important;
  column-gap:12px!important;
  padding-left:12px!important;
  padding-right:12px!important;
  box-sizing:border-box!important;
  width:100%!important;
  overflow:visible!important;
}
#contenido .ord-tabs__links {
  min-width:0!important;
  overflow-x:auto!important;
  overscroll-behavior-x:contain;
}
#contenido .ord-tabs a.ord-tabs__checkout,
#contenido .ord-tabs a.ord-tabs__checkout[aria-current="location"] {
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:68px!important;
  height:40px!important;
  min-height:40px!important;
  box-sizing:border-box!important;
  padding:0 12px!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border-radius:10px!important;
  border:1px solid #D50301!important;
  background:#D50301!important;
  box-shadow:none!important;
  color:#fff!important;
  text-decoration:none!important;
}
#contenido .ord-tabs__checkout-icon {
  display:block!important;
  flex:0 0 19px!important;
  width:19px!important;
  height:19px!important;
  stroke-width:2.1;
  color:#fff!important;
}
#contenido .ord-tabs a.ord-tabs__checkout b {
  position:static!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  min-width:0!important;
  min-height:0!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  margin:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-family:'DM Sans',system-ui,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:none!important;
}
@media(max-width:540px){
  .site-header__inner {
    min-height:80px!important;
    padding:6px 16px!important;
  }
  .site-header .brand { min-height:67px!important; }
  .site-header .brand__logo { width:118px!important;max-height:76px!important; }
  #contenido .ord-tabs {
    padding-left:10px!important;
    padding-right:14px!important;
    column-gap:10px!important;
  }
  #contenido .ord-tabs a.ord-tabs__checkout,
  #contenido .ord-tabs a.ord-tabs__checkout[aria-current="location"] {
    min-width:67px!important;
    height:39px!important;
    min-height:39px!important;
    padding:0 11px!important;
    gap:7px!important;
  }
  #contenido .ord-tabs__checkout-icon {
    display:block!important;
    width:19px!important;
    height:19px!important;
  }
}
@media(max-width:350px){
  #contenido .ord-tabs {
    padding-left:9px!important;
    padding-right:12px!important;
    column-gap:8px!important;
  }
  #contenido .ord-tabs a.ord-tabs__checkout,
  #contenido .ord-tabs a.ord-tabs__checkout[aria-current="location"] {
    min-width:63px!important;
    padding:0 9px!important;
    gap:6px!important;
  }
  #contenido .ord-tabs__checkout-icon {
    display:block!important;
    width:18px!important;
    height:18px!important;
  }
}


/* V12 · Mobile-first: mostrar Bebidas y reducir el carrito sin perder accesibilidad.
   El círculo forma parte del botón, no flota sobre la barra. */
#contenido .ord-tabs {
  grid-template-columns:minmax(0,1fr) 59px!important;
  column-gap:8px!important;
  padding-left:11px!important;
  padding-right:12px!important;
}
#contenido .ord-tabs__links { gap:10px!important; min-width:0!important; }
#contenido .ord-tabs .ord-tabs__links a {
  font-size:10.75px!important;
  letter-spacing:-.18px!important;
  white-space:nowrap!important;
}
#contenido .ord-tabs a.ord-tabs__checkout,
#contenido .ord-tabs a.ord-tabs__checkout[aria-current="location"] {
  width:59px!important;
  min-width:59px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 7px!important;
  gap:5px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  border-radius:10px!important;
  align-items:center!important;
  justify-content:center!important;
}
#contenido .ord-tabs__checkout-icon {
  flex:0 0 17px!important;
  width:17px!important;
  height:17px!important;
}
#contenido .ord-tabs a.ord-tabs__checkout b {
  position:static!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 20px!important;
  box-sizing:border-box!important;
  width:20px!important;
  min-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  border:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#D50301!important;
  padding:0!important;
  margin:0!important;
  font-size:9.5px!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
}
@media(max-width:540px) {
  #contenido .ord-tabs {
    grid-template-columns:minmax(0,1fr) 58px!important;
    padding-left:10px!important;
    padding-right:12px!important;
    column-gap:8px!important;
  }
  #contenido .ord-tabs__links { gap:9px!important; }
  #contenido .ord-tabs .ord-tabs__links a { font-size:10.5px!important; }
  #contenido .ord-tabs a.ord-tabs__checkout,
  #contenido .ord-tabs a.ord-tabs__checkout[aria-current="location"] {
    width:58px!important;
    min-width:58px!important;
    height:37px!important;
    min-height:37px!important;
    padding:0 7px!important;
    gap:5px!important;
  }
}
@media(max-width:350px) {
  #contenido .ord-tabs {
    grid-template-columns:minmax(0,1fr) 56px!important;
    padding-left:9px!important;
    padding-right:11px!important;
    column-gap:7px!important;
  }
  #contenido .ord-tabs__links { gap:8px!important; }
  #contenido .ord-tabs .ord-tabs__links a { font-size:10px!important; }
  #contenido .ord-tabs a.ord-tabs__checkout,
  #contenido .ord-tabs a.ord-tabs__checkout[aria-current="location"] {
    width:56px!important;
    min-width:56px!important;
    padding:0 6px!important;
    gap:4px!important;
  }
  #contenido .ord-tabs__checkout-icon {
    display:block!important;
    flex-basis:16px!important;
    width:16px!important;
    height:16px!important;
  }
}


/* V13 · Enlace ligero a carta completa debajo del copy, antes de categorías. */
#contenido .ord-hero {
  border-bottom:0!important;
  padding-bottom:17px!important;
}
#contenido .ord-original-access {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:25px;
  padding:0 0 13px;
}
#contenido .ord-original-access__link {
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:auto;
  min-height:25px;
  padding:3px 0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:left;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:10.5px;
  line-height:1.25;
  font-weight:650;
  color:#746a64;
  text-decoration:underline;
  text-decoration-color:#d8cec8;
  text-underline-offset:3px;
  cursor:pointer;
}
#contenido .ord-original-access__link:hover,
#contenido .ord-original-access__link:focus-visible {
  color:#D50301;
  text-decoration-color:#D50301;
}
#contenido .ord-original-access__link:focus-visible {
  outline:2px solid #D50301;
  outline-offset:3px;
}
#contenido .ord-original-access__link span {
  font-size:12px;
  line-height:1;
}
/* El pie de cada salsa pierde ~10px de espacio vacío: check y precio siguen
   alineados y hay margen táctil inferior, sin reducir el tamaño de la foto. */
#ord-sauces .ord-choice-wrap .ord-choice-details {
  padding:8px 7px 3px!important;
}
#ord-sauces .ord-choice-wrap .ord-choice-desc {
  margin-top:3px!important;
  line-height:1.32!important;
}
#ord-sauces .ord-choice-wrap .ord-choice-bottom {
  min-height:28px!important;
}
@media(max-width:540px) {
  #contenido .ord-hero { padding-bottom:15px!important; }
  #contenido .ord-original-access {
    min-height:24px;
    padding:0 0 11px;
  }
  #contenido .ord-original-access__link { font-size:10px;min-height:24px; }
  #ord-sauces .ord-choice-wrap .ord-choice-details {
    padding:7px 6px 2px!important;
  }
  #ord-sauces .ord-choice-wrap .ord-choice-bottom {
    min-height:27px!important;
  }
}


/* V14 · Visor de carta completa: ampliar/reducir mediante iconos, sin texto.
   Un botón fijo de dimensiones táctiles con estados claros y accesibles. */
#ord-viewer .ord-view-actions #ord-view-zoom {
  display:grid!important;
  place-items:center!important;
  flex:0 0 37px;
  width:37px!important;
  min-width:37px!important;
  height:37px!important;
  min-height:37px!important;
  padding:0!important;
  border:1px solid #e9dfd9!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#322a27!important;
  cursor:zoom-in;
}
#ord-viewer .ord-view-actions #ord-view-zoom[aria-pressed="true"] {
  cursor:zoom-out;
  color:#D50301!important;
  border-color:#e8beb9!important;
  background:#fff8f6!important;
}
#ord-viewer #ord-view-zoom svg {
  width:19px;
  height:19px;
  display:block;
}
#ord-viewer #ord-view-zoom .ord-view-icon-reduce { display:none; }
#ord-viewer #ord-view-zoom[aria-pressed="true"] .ord-view-icon-expand { display:none; }
#ord-viewer #ord-view-zoom[aria-pressed="true"] .ord-view-icon-reduce { display:block; }
#ord-viewer #ord-view-zoom:focus-visible {
  outline:2px solid #D50301!important;
  outline-offset:2px!important;
}
@media(max-width:540px) {
  #ord-viewer .ord-view-actions { gap:7px; }
  #ord-viewer .ord-view-actions #ord-view-zoom {
    flex-basis:36px;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
  }
}


/* V18 · Agrandado visual, manteniendo la casilla original y el precio +S/5. */
#arma .ord-size-upsell {
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-height:96px!important;
  padding:8px 11px!important;
  border:1.5px solid #e9e3de!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
  cursor:pointer;
}
#arma .ord-size-upsell:has(#ord-large:checked) {
  border-color:#D50301!important;
  background:linear-gradient(150deg,#fff 0%,#fff 48%,#fff5f2 100%)!important;
  box-shadow:none!important;
}
#arma .ord-size-upsell:focus-within {outline:none;}
#arma .ord-size-upsell:has(#ord-large:focus-visible) {
  outline:2px solid #403936;
  outline-offset:3px;
}
#arma .ord-size-upsell__visual {
  display:block!important;
  width:74px;
  height:74px;
  overflow:hidden;
  background:#f7f4f1;
  border-radius:10px;
}
#arma .ord-size-upsell__visual img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
#arma .ord-size-upsell__copy {
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  gap:4px;
}
#arma .ord-size-upsell__copy strong {
  color:#25201d;
  font-size:13px;
  font-weight:800;
  line-height:1.25;
}
#arma .ord-size-upsell__copy small {
  color:#817873;
  font-size:10.5px;
  font-weight:450;
  line-height:1.38;
}
#arma .ord-size-upsell__action {
  display:flex!important;
  flex-direction:column;
  align-items:flex-end!important;
  justify-content:center;
  gap:10px!important;
  flex:0 0 auto;
}
#arma .ord-size-upsell__action b {
  color:#D50301;
  white-space:nowrap;
  font-size:12px;
  font-weight:800;
}
#arma .ord-size-upsell__action input {
  width:18px!important;
  height:18px!important;
  flex:0 0 18px;
  accent-color:#D50301;
}

/* El resumen muestra el bowl REGULAR o GRANDE, en vez de un emoji. */
.ord-mini-size-photo {
  display:grid;
  place-items:center;
  width:35px;
  height:35px;
  margin:2px auto;
  border-radius:8px;
  overflow:hidden;
  background:#f7f4f1;
}
.ord-mini-size-photo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Mientras esté el resumen, no duplicamos el botón de agregar al final del módulo.
   Su espacio permanece en el flujo, para que el corte en Recomendados sea estable. */
@media(max-width:950px) {
  body.ord-building #arma #ord-addcustom {
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
@media(max-width:390px) {
  #arma .ord-size-upsell {
    grid-template-columns:64px minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:8px!important;
    min-height:84px!important;
  }
  #arma .ord-size-upsell__visual {width:64px;height:64px;}
  #arma .ord-size-upsell__copy strong {font-size:12.5px;}
  #arma .ord-size-upsell__copy small {font-size:10px;}
  #arma .ord-size-upsell__action b {font-size:11px;}
}
@media(max-width:360px) {
  #arma .ord-size-upsell {
    grid-template-columns:58px minmax(0,1fr) auto!important;
    gap:6px!important;
    padding:7px!important;
  }
  #arma .ord-size-upsell__visual {width:58px;height:58px;}
  #arma .ord-size-upsell__copy small {font-size:9.5px;}
  .ord-mini-size-photo {width:31px;height:31px;}
}


/* V19 · El mismo pie compacto de Salsas para Pastas, Acompañamientos y Extras.
   Se conservan el tamaño de la foto, el precio y el área táctil del check. */
#ord-pastas .ord-choice-wrap .ord-choice-details,
#ord-proteins .ord-choice-wrap .ord-option__primary,
#ord-extras .ord-choice-wrap .ord-option__primary {
  padding:8px 7px 3px!important;
}
#ord-pastas .ord-choice-wrap .ord-choice-bottom,
#ord-proteins .ord-choice-wrap .ord-choice-bottom,
#ord-extras .ord-choice-wrap .ord-choice-bottom {
  min-height:28px!important;
}
@media(max-width:540px) {
  #ord-pastas .ord-choice-wrap .ord-choice-details,
  #ord-proteins .ord-choice-wrap .ord-option__primary,
  #ord-extras .ord-choice-wrap .ord-option__primary {
    padding:7px 6px 2px!important;
  }
  #ord-pastas .ord-choice-wrap .ord-choice-bottom,
  #ord-proteins .ord-choice-wrap .ord-choice-bottom,
  #ord-extras .ord-choice-wrap .ord-choice-bottom {
    min-height:27px!important;
  }
}


/* V20 · Un solo acceso al pedido en móvil; Bebidas gana espacio en la navegación.
   El carrito inferior contiene ícono blanco + badge blanco con cifra roja + total. */
#contenido .ord-tabs {
  display:block!important;
  grid-template-columns:minmax(0,1fr)!important;
}
#contenido .ord-tabs__links {
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  justify-content:space-between!important;
  gap:clamp(8px,2.3vw,18px)!important;
  overflow-x:auto!important;
  scrollbar-width:none;
}
#contenido .ord-tabs__links::-webkit-scrollbar {display:none;}
#contenido .ord-tabs__links a {
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
/* Antes un estilo editorial común oscurecía todos los precios, incluso 'Incluida'. */
#ord-sauces .ord-choice-wrap .ord-choice-price,
#ord-pastas .ord-choice-wrap .ord-choice-price {
  color:#D50301!important;
}
#ord-mobilecart {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:49px!important;
  padding:10px 15px!important;
  box-sizing:border-box!important;
  color:#fff!important;
  background:#D50301!important;
  border:0!important;
  border-radius:10px!important;
}
#ord-mobilecart .ord-mobilecart__summary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  gap:6px;
}
#ord-mobilecart .ord-mobilecart__icon {
  display:block;
  flex:0 0 19px;
  width:19px;
  height:19px;
  color:#fff;
}
#ord-mobilecart .ord-mobilecart__badge {
  display:grid;
  place-items:center;
  flex:0 0 21px;
  box-sizing:border-box;
  width:21px;
  min-width:21px;
  height:21px;
  min-height:21px;
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#D50301;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:10px;
  line-height:1;
  font-weight:850;
  white-space:nowrap;
}
#ord-mobilecart .ord-mobilecart__label {
  flex:1 1 auto;
  text-align:center;
  min-width:0;
  white-space:nowrap;
  font-size:13px;
  line-height:1.15;
  font-weight:800;
}
#ord-mobilecart .ord-mobilecart__total {
  flex:0 0 auto;
  text-align:right;
  white-space:nowrap;
  font-size:12.5px;
  line-height:1.15;
  font-weight:850;
}
#ord-mobilecart:focus-visible {
  outline:2px solid #2d2522!important;
  outline-offset:3px!important;
}
@media(max-width:540px){
  #contenido .ord-tabs {
    padding-left:11px!important;
    padding-right:11px!important;
  }
  #contenido .ord-tabs__links {
    gap:clamp(7px,2vw,11px)!important;
  }
  #ord-mobilecart {
    padding:10px 12px!important;
    gap:8px!important;
  }
  #ord-mobilecart .ord-mobilecart__label {font-size:12.5px;}
  #ord-mobilecart .ord-mobilecart__total {font-size:12px;}
}
@media(max-width:350px){
  #contenido .ord-tabs {padding-left:9px!important;padding-right:9px!important;}
  #contenido .ord-tabs__links {gap:6px!important;}
  #contenido .ord-tabs .ord-tabs__links a {font-size:10px!important;}
  #ord-mobilecart {gap:6px!important;padding:10px 9px!important;}
  #ord-mobilecart .ord-mobilecart__summary {gap:5px;}
  #ord-mobilecart .ord-mobilecart__label {font-size:12px;}
  #ord-mobilecart .ord-mobilecart__total {font-size:11.5px;}
}


/* V21 · Ritmo vertical más compacto entre módulos de carta.
   El espacio de transición se reduce sin comprimir fotografías ni botones. */
#contenido .ord-catalog > .ord-section {
  margin-bottom:30px!important;
}
#contenido #arma .ord-buildbottom {
  margin-top:16px!important;
  padding-top:14px!important;
}
#contenido #recomendados .ord-heading {
  margin-bottom:13px!important;
}
#contenido #recomendados > .ord-note {
  margin:0 0 10px!important;
}
@media(max-width:950px){
  #contenido .ord-catalog > .ord-section {
    margin-bottom:24px!important;
  }
}
@media(max-width:540px){
  #contenido .ord-catalog > .ord-section {
    margin-bottom:20px!important;
  }
  #contenido #arma .ord-buildbottom {
    margin-top:14px!important;
    padding-top:12px!important;
  }
  #contenido #recomendados .ord-heading {
    margin-bottom:11px!important;
  }
  #contenido #recomendados > .ord-note {
    margin-bottom:9px!important;
  }
}


/* V22 · Fotografía de portada opcional: archivo HD si existe, recorte como respaldo.
   Imagen referencial se informa en el visor de todos los productos. */
#contenido .ord-hero-art .ord-media--custom {
  background-image:none!important;
}
#contenido .ord-hero-art .ord-media--custom img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:inherit;
}


/* V23 · Recomendados: imagen protagonista, descripción corta y cantidad editable.
   Solo se modifica #ord-recs; Arma tu pasta, Festival y Bebidas siguen intactos. */
#ord-recs .ord-rec-card {
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-height:140px!important;
  padding:10px!important;
  border-radius:15px!important;
}
#ord-recs .ord-rec-card>.ord-media[class*="ord-media--bowl-"] {
  display:block!important;
  width:120px!important;
  height:120px!important;
  max-width:100%!important;
  border-radius:12px!important;
  overflow:hidden;
  cursor:zoom-in;
}
#ord-recs .ord-rec-card>.ord-media--custom img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
#ord-recs .ord-rec-card .ord-product__content {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:0;
}
#ord-recs .ord-rec-card h3 {
  margin:0 0 4px!important;
  padding:0!important;
  font-family:'Bricolage Grotesque',system-ui,sans-serif;
  font-size:14px!important;
  font-weight:750;
  line-height:1.22!important;
  letter-spacing:-.15px;
  overflow-wrap:break-word;
}
#ord-recs .ord-rec-description {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:0!important;
  color:#817672;
  font-size:10.8px;
  font-weight:450;
  line-height:1.36;
}
#ord-recs .ord-rec-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
  min-width:0;
}
#ord-recs .ord-rec-price {
  display:block;
  color:#D50301!important;
  white-space:nowrap;
  font-family:'DM Sans',system-ui,sans-serif;
  font-weight:850;
  font-size:13px!important;
  line-height:1.2;
}
#ord-recs .ord-rec-quantity {
  display:grid;
  grid-template-columns:32px 34px 32px;
  gap:3px;
  align-items:center;
  justify-content:end;
  flex:0 0 auto;
}
#ord-recs .ord-rec-qty-btn {
  display:flex;
  justify-content:center;
  align-items:center;
  width:32px;
  height:34px;
  padding:0;
  border:1px solid #e9dcd6;
  border-radius:8px;
  background:#fff;
  color:#4e403a;
  cursor:pointer;
  transition:background-color .12s,border-color .12s;
}
#ord-recs .ord-rec-qty-btn svg {
  display:block;
  flex:0 0 17px;
  pointer-events:none;
}
#ord-recs .ord-rec-qty-btn.ord-rec-qty-plus {
  background:#D50301;
  color:#fff;
  border-color:#D50301;
}
#ord-recs .ord-rec-qty-btn.ord-rec-qty-minus.is-trash {
  color:#D50301;
  border-color:#eed4cd;
}
#ord-recs .ord-rec-qty-btn:disabled {
  cursor:default;
  color:#c9bfba;
  background:#f9f7f6;
  border-color:#eee7e3;
}
#ord-recs .ord-rec-qty-btn.ord-rec-qty-plus:disabled {
  background:#dab0ad;
  color:#fff;
  border-color:#dab0ad;
}
#ord-recs .ord-rec-qty-btn:not(:disabled):hover {
  border-color:#D50301;
}
#ord-recs .ord-rec-qty-btn.ord-rec-qty-plus:not(:disabled):hover {
  background:#bd0301;
}
#ord-recs .ord-rec-qty-btn:focus-visible,
#ord-recs .ord-rec-qty-input:focus-visible {
  outline:2px solid #d50301;
  outline-offset:2px;
}
#ord-recs .ord-rec-qty-input {
  display:block;
  box-sizing:border-box;
  width:34px;
  min-width:0;
  height:34px;
  margin:0;
  padding:0 2px;
  border:1px solid #e9dcd6;
  border-radius:8px;
  background:#fff;
  color:#25201d;
  text-align:center;
  font-size:13px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
  -moz-appearance:textfield;
  appearance:textfield;
}
#ord-recs .ord-rec-qty-input::-webkit-inner-spin-button,
#ord-recs .ord-rec-qty-input::-webkit-outer-spin-button {
  -webkit-appearance:none;
  margin:0;
}
@media(max-width:540px){
  #ord-recs .ord-rec-card {
    grid-template-columns:114px minmax(0,1fr)!important;
    min-height:132px!important;
    gap:10px!important;
    padding:9px!important;
  }
  #ord-recs .ord-rec-card>.ord-media[class*="ord-media--bowl-"] {
    width:114px!important;
    height:114px!important;
  }
  #ord-recs .ord-rec-card h3 {font-size:13.25px!important;}
  #ord-recs .ord-rec-description {font-size:10.5px;}
  #ord-recs .ord-rec-footer {margin-top:8px;}
}
@media(max-width:360px){
  #ord-recs .ord-rec-card {
    grid-template-columns:101px minmax(0,1fr)!important;
    gap:8px!important;
    padding:8px!important;
  }
  #ord-recs .ord-rec-card>.ord-media[class*="ord-media--bowl-"] {
    width:101px!important;
    height:101px!important;
  }
  #ord-recs .ord-rec-card h3 {font-size:12px!important;}
  #ord-recs .ord-rec-description {font-size:10px;}
  #ord-recs .ord-rec-footer {gap:5px; margin-top:7px;}
  #ord-recs .ord-rec-qty-btn {width:30px;height:32px;}
  #ord-recs .ord-rec-qty-input {width:32px;height:32px;font-size:12px;}
  #ord-recs .ord-rec-quantity {grid-template-columns:30px 32px 30px;gap:3px;}
  #ord-recs .ord-rec-price {font-size:12px!important;}
}
@media(prefers-reduced-motion:reduce){
  #ord-recs .ord-rec-qty-btn {transition:none;}
}

/* V24 · Festival: fotografía única y selector de cantidades como Recomendados. */
#festival .ord-festival {
  display:grid!important;
  grid-template-columns:minmax(0,46%) minmax(0,1fr);
  gap:19px; align-items:center;
  padding:18px; background:#fff;
  border-color:#eeddd7; border-radius:16px;
}
#festival .ord-festival-photo { margin:0; min-width:0; }
#festival .ord-festival-photo>.ord-media {
  display:block; width:100%!important; height:auto!important;
  max-width:none!important; aspect-ratio:1/1;
  border-radius:13px; overflow:hidden; cursor:zoom-in;
  background-color:#f5eeeb;
  background-image:url("/assets/carta/carta-festival-1-1eccc4bc30d0.webp");
  background-size:cover; background-position:center 21%;
}
#festival .ord-festival-photo>.ord-media--custom img {
  display:block; width:100%; height:100%;
  object-fit:contain; object-position:center;
}
#festival .ord-festival-photo figcaption {
  color:#968781; text-align:center; font-size:10px;
  line-height:1.35; margin-top:7px;
}
#festival .ord-festival__content {
  display:flex; flex-direction:column; min-width:0;
  align-self:stretch; justify-content:center;
}
#festival .ord-festival__content h3 { font-size:24px; margin:6px 0 9px; line-height:1.12; }
#festival .ord-festival__content p { color:#695f5b; font-size:12.5px; line-height:1.5; margin:0 0 7px; }
#festival .ord-festival__content .ord-festival__portion { color:#817671; font-size:11.5px; }
#festival .ord-festival-bottom {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:9px; padding-top:12px;
  margin-top:11px; border-top:1px solid #f0e8e4;
}
#festival .ord-festival-bottom>strong { color:#211a17; font-size:23px; font-weight:850; white-space:nowrap; }
#festival .ord-rec-quantity {
  display:grid;
  grid-template-columns:32px 34px 32px;
  gap:3px;
  align-items:center;
  justify-content:end;
  flex:0 0 auto;
}
#festival .ord-rec-qty-btn {
  display:flex;
  justify-content:center;
  align-items:center;
  width:32px;
  height:34px;
  padding:0;
  border:1px solid #e9dcd6;
  border-radius:8px;
  background:#fff;
  color:#4e403a;
  cursor:pointer;
  transition:background-color .12s,border-color .12s;
}
#festival .ord-rec-qty-btn svg {
  display:block;
  flex:0 0 17px;
  pointer-events:none;
}
#festival .ord-rec-qty-btn.ord-rec-qty-plus {
  background:#D50301;
  color:#fff;
  border-color:#D50301;
}
#festival .ord-rec-qty-btn.ord-rec-qty-minus.is-trash {
  color:#D50301;
  border-color:#eed4cd;
}
#festival .ord-rec-qty-btn:disabled {
  cursor:default;
  color:#c9bfba;
  background:#f9f7f6;
  border-color:#eee7e3;
}
#festival .ord-rec-qty-btn.ord-rec-qty-plus:disabled {
  background:#dab0ad;
  color:#fff;
  border-color:#dab0ad;
}
#festival .ord-rec-qty-btn:not(:disabled):hover {
  border-color:#D50301;
}
#festival .ord-rec-qty-btn.ord-rec-qty-plus:not(:disabled):hover {
  background:#bd0301;
}
#festival .ord-rec-qty-btn:focus-visible,
#festival .ord-rec-qty-input:focus-visible {
  outline:2px solid #d50301;
  outline-offset:2px;
}
#festival .ord-rec-qty-input {
  display:block;
  box-sizing:border-box;
  width:34px;
  min-width:0;
  height:34px;
  margin:0;
  padding:0 2px;
  border:1px solid #e9dcd6;
  border-radius:8px;
  background:#fff;
  color:#25201d;
  text-align:center;
  font-size:13px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
  -moz-appearance:textfield;
  appearance:textfield;
}
#festival .ord-rec-qty-input::-webkit-inner-spin-button,
#festival .ord-rec-qty-input::-webkit-outer-spin-button {
  -webkit-appearance:none;
  margin:0;
}

#festival .ord-festival.is-in-cart { border-color:#e4c9c0; }
@media(max-width:700px){
  #festival .ord-festival { grid-template-columns:1fr; gap:12px; padding:15px; }
  #festival .ord-festival-photo>.ord-media { max-width:420px!important; margin-inline:auto; }
  #festival .ord-festival__content h3 { font-size:23px; }
  #festival .ord-festival-bottom { flex-wrap:nowrap; }
}
@media(max-width:360px){
  #festival .ord-festival { padding:12px; }
  #festival .ord-festival__content h3 { font-size:21px; }
  #festival .ord-festival-bottom>strong { font-size:21px; }
}
