
  .ew-pagehead{padding:calc(var(--hdr) + 40px) 0 8px;}
  .ew-crumbs{display:flex; align-items:center; gap:9px; font-size:14px; color:var(--muted); margin-bottom:18px; flex-wrap:wrap;}
  .ew-crumbs a{color:var(--muted);} .ew-crumbs a:hover{color:var(--primary);}
  .ew-crumbs span[aria-current]{color:var(--heading); font-weight:600;} .ew-crumbs .sep{opacity:0.5;}
  .ew-cartbtn{position:relative; flex:none; margin-left:12px; width:46px; height:46px; border-radius:var(--btn-r); border:1px solid var(--rule-strong); background:transparent; color:var(--heading); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:border-color 160ms var(--ease), color 160ms var(--ease);}
  .ew-cartbtn:hover{border-color:var(--primary); color:var(--primary);}
  .ew-cartcount{position:absolute; top:-7px; right:-7px; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:var(--primary); color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; font-variant-numeric:tabular-nums;}
  .ew-menutabs{display:flex; gap:6px; margin-top:30px; border-bottom:2px solid var(--heading); flex-wrap:wrap;}
  .ew-menutab{font:inherit; font-size:16px; font-weight:600; color:var(--muted); background:transparent; border:0; padding:14px 20px; cursor:pointer; position:relative; transition:color 140ms var(--ease);}
  .ew-menutab:hover{color:var(--heading);}
  .ew-menutab[aria-selected="true"]{color:var(--primary);}
  .ew-menutab[aria-selected="true"]::after{content:''; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--primary);}
  .ew-cathead{margin-top:clamp(34px,4vw,52px); display:flex; align-items:baseline; gap:14px; padding-bottom:14px; border-bottom:1px solid var(--rule);}
  .ew-cathead h2{font-size:clamp(22px,2.4vw,30px); font-weight:700; letter-spacing:-0.025em; color:var(--heading);}
  .ew-cathead span{font-size:14px; color:var(--muted);}
  .ew-menulist{display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,2.5vw,36px) clamp(30px,4vw,60px); margin-top:26px;}
  .ew-mitem{display:grid; grid-template-columns:88px 1fr; gap:18px; align-items:start; padding-bottom:22px; border-bottom:1px solid var(--rule);}
  .ew-mitem-media{width:88px; height:88px; overflow:hidden; background:var(--paper-2); border-radius:2px; flex:none; cursor:pointer; border:0; padding:0;}
  .ew-mitem-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 400ms var(--ease);}
  @media (hover:hover){ .ew-mitem-media:hover img{transform:scale(1.06);} }
  .ew-mitem-head{display:flex; justify-content:space-between; gap:12px; align-items:baseline;}
  .ew-mitem-name{font-size:17px; font-weight:600; color:var(--heading); line-height:1.25; letter-spacing:-0.01em;}
  .ew-mitem-name a{color:inherit;} .ew-mitem-name a:hover{color:var(--primary);}
  .ew-mitem-price{font-size:16px; font-weight:700; color:var(--heading); font-variant-numeric:tabular-nums; white-space:nowrap;}
  .ew-mitem-price .was{font-size:12.5px; color:var(--muted); text-decoration:line-through; margin-right:6px; font-weight:400;}
  .ew-mitem-desc{font-size:14px; line-height:1.5; color:var(--paragraph); margin-top:5px;}
  .ew-tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:9px;}
  .ew-tag{font-size:11px; font-weight:600; letter-spacing:0.02em; padding:3px 8px; border-radius:2px; background:var(--paper-2); color:var(--heading); border:1px solid var(--rule);}
  .ew-tag--diet{background:color-mix(in srgb,var(--primary) 12%, #fff); color:var(--primary); border-color:color-mix(in srgb,var(--primary) 30%,transparent);}
  .ew-tag--spice{background:#F4E4D4; color:#8A4B24; border-color:#E0C2A0;}
  .ew-tag--alc{background:#EEE1F0; color:#6A3D74; border-color:#DBC2E0;}
  .ew-mitem-foot{display:flex; align-items:center; gap:12px; margin-top:12px;}
  .ew-addbtn{font:inherit; font-size:14px; font-weight:600; border-radius:var(--btn-r); padding:9px 15px; min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:7px; cursor:pointer; border:1.5px solid var(--primary); background:var(--primary); color:#fff; transition:background-color 160ms var(--ease), border-color 160ms var(--ease);}
  .ew-addbtn:hover{background:var(--primary-hover); border-color:var(--primary-hover);}
  .ew-addbtn--ghost{background:transparent; color:var(--heading); border-color:var(--rule-strong);}
  .ew-addbtn--ghost:hover{border-color:var(--primary); color:var(--primary); background:var(--primary-tint);}
  /* dish detail */
  .ew-dd{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,4vw,56px); align-items:start;}
  .ew-dd-media{aspect-ratio:1/1; overflow:hidden; background:var(--paper-2); box-shadow:inset 0 0 0 1px var(--rule);}
  .ew-dd-thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.ew-dd-thumb{width:64px;height:64px;flex:none;overflow:hidden;background:var(--paper-2);border:1px solid var(--rule);padding:0;cursor:pointer;border-radius:2px}.ew-dd-thumb[aria-current="true"]{border-color:var(--primary)}.ew-dd-thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .ew-dd-media img{width:100%; height:100%; object-fit:cover; display:block;}
  .ew-dd-title{font-size:clamp(28px,3.2vw,42px); font-weight:700; letter-spacing:-0.03em; line-height:1.03; color:var(--heading);}
  .ew-dd-price{font-size:26px; font-weight:700; color:var(--heading); font-variant-numeric:tabular-nums; margin-top:16px;}
  .ew-dd-price .was{font-size:17px; color:var(--muted); text-decoration:line-through; margin-right:8px; font-weight:400;}
  .ew-dd-short{font-size:16.5px; line-height:1.6; color:var(--paragraph); margin-top:16px; max-width:54ch;}
  .ew-pres{margin-top:22px;}
  .ew-pres-label{font-size:13.5px; font-weight:600; color:var(--heading); margin-bottom:9px;}
  .ew-pres-opts{display:flex; flex-wrap:wrap; gap:9px;}
  .ew-pres-opt{font:inherit; font-size:14.5px; padding:9px 15px; min-height:42px; border:1px solid var(--rule-strong); border-radius:var(--r); background:var(--surface); color:var(--heading); cursor:pointer; display:flex; gap:8px; align-items:center;}
  .ew-pres-opt[aria-pressed="true"]{border-color:var(--primary); background:var(--primary); color:#fff;}
  .ew-pres-opt small{opacity:0.8;}
  .ew-dd-section{margin-top:clamp(30px,4vw,48px);}
  .ew-dd-section h2{font-size:20px; font-weight:700; letter-spacing:-0.02em; color:var(--heading); border-top:2px solid var(--heading); padding-top:16px; margin-bottom:12px;}
  .ew-dd-section p{font-size:16px; line-height:1.7; color:var(--paragraph); max-width:66ch; margin-top:10px;}
  /* cart drawer + order form */
  .ew-drawer-bd{position:fixed; inset:0; z-index:200; background:rgba(13,27,24,0.5); display:flex; justify-content:flex-end;}
  .ew-drawer{width:min(460px,100%); background:var(--paper); height:100%; display:flex; flex-direction:column; box-shadow:-16px 0 48px -16px rgba(13,27,24,0.5);}
  .ew-drawer-head{display:flex; align-items:center; justify-content:space-between; padding:22px 24px; border-bottom:1px solid var(--rule);}
  .ew-drawer-head h2{font-size:19px; font-weight:700; color:var(--heading);}
  .ew-drawer-body{flex:1; overflow:auto; padding:8px 24px;}
  .ew-drawer-foot{padding:18px 24px; border-top:1px solid var(--rule); background:var(--surface);}
  .ew-cartgroup{font-size:12.5px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:var(--muted); margin:16px 0 4px;}
  .ew-cartline{display:grid; grid-template-columns:1fr auto; gap:10px; padding:12px 0; border-bottom:1px solid var(--rule); align-items:start;}
  .ew-cartline-name{font-size:15px; font-weight:600; color:var(--heading); line-height:1.3;}
  .ew-cartline-sub{font-size:12.5px; color:var(--muted); margin-top:2px;}
  .ew-cartline-price{font-size:14px; color:var(--heading); margin-top:6px; font-variant-numeric:tabular-nums;}
  .ew-cartline-ctrl{display:flex; align-items:center; gap:8px; margin-top:8px;}
  .ew-qty{display:inline-flex; align-items:center; border:1px solid var(--rule-strong); border-radius:var(--r); overflow:hidden;}
  .ew-qty button{width:32px; height:34px; border:0; background:var(--surface); color:var(--heading); font-size:15px; cursor:pointer;}
  .ew-qty button:hover{background:var(--primary-tint);}
  .ew-qty input{width:38px; height:34px; border:0; border-inline:1px solid var(--rule); text-align:center; font:inherit; font-size:14px; font-variant-numeric:tabular-nums; color:var(--heading);}
  .ew-cartline-rm{font:inherit; font-size:13px; color:var(--muted); background:transparent; border:0; cursor:pointer; text-decoration:underline; text-underline-offset:2px;}
  .ew-cartline-rm:hover{color:#8A2A24;}
  .ew-cart-empty{padding:60px 20px; text-align:center; color:var(--paragraph);}
  .ew-modes{display:flex; gap:8px; margin:6px 0 4px;}
  .ew-mode{flex:1; font:inherit; font-size:14px; font-weight:600; padding:10px; min-height:44px; border:1px solid var(--rule-strong); border-radius:var(--r); background:var(--surface); color:var(--heading); cursor:pointer;}
  .ew-mode[aria-pressed="true"]{border-color:var(--primary); background:var(--primary); color:#fff;}
  .ew-cart-total{display:flex; justify-content:space-between; align-items:baseline; margin:12px 0 4px;}
  .ew-cart-total b{font-size:20px; color:var(--heading); font-variant-numeric:tabular-nums;}
  .ew-cart-disclaim{font-size:12px; color:var(--muted); margin:6px 0 14px; line-height:1.5;}
  .ew-openclosed{display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600; padding:5px 11px; border-radius:999px;}
  .ew-openclosed.open{background:color-mix(in srgb,var(--primary) 14%,#fff); color:var(--primary);}
  .ew-openclosed.closed{background:var(--paper-2); color:var(--muted);}
  .ew-openclosed .dot{width:8px; height:8px; border-radius:999px; background:currentColor;}
  @media (max-width:820px){ .ew-menulist{grid-template-columns:1fr;} .ew-dd{grid-template-columns:1fr;} }
  @media (max-width:560px){ .ew-mitem{grid-template-columns:64px 1fr; gap:12px;} .ew-mitem-media{width:64px; height:64px;} }
  /* Listing toolbar + states (shared collection pattern) */
  .ew-toolbar{display:grid; grid-template-columns:1fr auto auto; gap:14px; align-items:end; margin-top:8px; padding-bottom:22px; border-bottom:2px solid var(--heading);}
  .ew-search{position:relative;}
  .ew-search svg{position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--muted); pointer-events:none;}
  .ew-search input{font:inherit; font-size:16px; color:var(--heading); background:var(--surface); border:1px solid var(--rule-strong); border-radius:var(--r); padding:12px 14px 12px 42px; min-height:48px; width:100%; transition:border-color 160ms var(--ease), box-shadow 160ms var(--ease);}
  .ew-search input:focus{outline:none; border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%, transparent);}
  .ew-select{font:inherit; font-size:15px; color:var(--heading); background:var(--surface); border:1px solid var(--rule-strong); border-radius:var(--r); padding:11px 14px; min-height:48px; cursor:pointer;}
  .ew-select:focus{outline:none; border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%, transparent);}
  .ew-toolmeta{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; flex-wrap:wrap;}
  .ew-count{font-size:14.5px; color:var(--muted);}
  .ew-clear{font:inherit; font-size:14px; color:var(--primary); background:transparent; border:0; cursor:pointer; padding:6px 0; text-decoration:underline; text-underline-offset:3px;}
  .ew-noresults{margin-top:36px; padding:48px 30px; text-align:center; border:1px dashed var(--rule-strong); border-radius:var(--rc);}
  .ew-noresults h3{font-size:20px; font-weight:600; color:var(--heading);}
  .ew-noresults p{font-size:15px; color:var(--paragraph); margin-top:8px;}
  .ew-avail{display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; letter-spacing:0.02em; padding:3px 8px; border-radius:2px;}
  .ew-avail::before{content:''; width:7px; height:7px; border-radius:999px; background:currentColor; flex:none;}
  .ew-avail.out{background:#F3DEDB; color:#8A2A24;}
  .ew-avail.req{background:#F1E9CE; color:#6E5E14;}
  .ew-avail.ok{background:color-mix(in srgb,var(--primary) 12%, #fff); color:var(--primary);}
  .ew-block-intro{margin-top:6px;}
  @media (max-width:820px){ .ew-toolbar{grid-template-columns:1fr;} }
  .ew-svc-mini{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,3vw,44px); margin-top:44px;}
  .ew-galprev{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:34px;}
  .ew-galprev-item{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--paper-2); box-shadow:inset 0 0 0 1px var(--rule);}
  .ew-galprev-item img{width:100%; height:100%; object-fit:cover; display:block;}
  .ew-galprev-cap{position:absolute; left:0; right:0; bottom:0; padding:16px 12px 10px; font-size:12.5px; font-weight:500; color:#fff; background:linear-gradient(to top,rgba(13,27,24,0.7),transparent);}
  .ew-finalcta{background:var(--ink); color:var(--on-ink); text-align:center;}
  .ew-finalcta h2{color:var(--on-ink);} .ew-finalcta p{color:var(--on-ink-soft); max-width:52ch; margin:14px auto 0; font-size:clamp(16.5px,1.25vw,18px); line-height:1.6;}
  .ew-values{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3vw,40px); margin-top:44px; border-top:2px solid var(--heading); padding-top:34px;}
  .ew-value h3{font-size:19px; font-weight:600; color:var(--heading); letter-spacing:-0.01em; margin-bottom:9px;}
  .ew-value p{font-size:16px; line-height:1.6; color:var(--paragraph);}
  .ew-value .ew-num{font-size:22px; display:block; margin-bottom:12px;}
  .ew-team{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3vw,40px); margin-top:44px;}
  .ew-team-fig{aspect-ratio:4/5; overflow:hidden; background:var(--paper-2); box-shadow:inset 0 0 0 1px var(--rule);}
  .ew-team-fig img{width:100%; height:100%; object-fit:cover; display:block; object-position:center 25%;}
  .ew-team h3{font-size:18px; font-weight:600; color:var(--heading); margin-top:16px;}
  .ew-team p{font-size:14.5px; color:var(--paragraph); margin-top:4px;}
  .ew-mv{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3vw,48px); margin-top:44px;}
  .ew-mv-card{border-top:2px solid var(--primary); padding-top:20px;}
  .ew-mv-card h3{font-size:22px; font-weight:700; color:var(--heading); letter-spacing:-0.02em; margin-bottom:12px;}
  .ew-mv-card p{font-size:16.5px; line-height:1.65; color:var(--paragraph); max-width:44ch;}
  .ew-svc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(40px,4vw,60px) clamp(32px,3.5vw,56px);}
  @media (max-width:900px){ .ew-values,.ew-team,.ew-svc-mini{grid-template-columns:1fr 1fr;} .ew-galprev{grid-template-columns:1fr 1fr;} }
  @media (max-width:820px){ .ew-mv{grid-template-columns:1fr;} .ew-svc-grid{grid-template-columns:1fr;} }
  @media (max-width:560px){ .ew-values,.ew-team,.ew-svc-mini{grid-template-columns:1fr;} }
  /* ── Ajustes responsive móvil: platos/bebidas/complementos a 2 columnas, sin desbordar ── */
  @media (max-width:520px){
    .ew-pgrid{grid-template-columns:1fr 1fr; gap:14px;}
    .ew-car-viewport{gap:12px;}
    .ew-car-slide{flex-basis:calc((100% - 12px)/2);}
    .ew-pbody{padding:13px 13px 15px; gap:6px;}
    .ew-pname{font-size:15px;}
    .ew-pexc{font-size:12.5px;}
    .ew-price{font-size:17px;}
    .ew-pfoot{gap:9px; padding-top:10px;}
    .ew-pact{gap:6px;}
    .ew-pact .ew-addbtn{flex:1 1 100%; min-width:0; padding:9px 12px;}
  }

  /* ===== Editorial parity refinements (from Informativa/Catálogo finals) ===== */
  .ew-pagehead{padding:clamp(34px,3.6vw,52px) 0 8px;}
  section:has(> .ew-wrap.ew-doc){padding-top:clamp(34px,3.6vw,52px) !important;}
  .ew-pagehead .ew-h1{max-width:calc(var(--maxw) * 0.75);}
  .ew-pagehead .ew-lead{max-width:calc(var(--maxw) * 0.75);}
  .ew-about--pagehead .ew-about-media{aspect-ratio:3/2;}
  .ew-mv-card{background:var(--surface); border:1px solid var(--rule); border-top:3px solid var(--primary); border-radius:var(--r); padding:clamp(24px,2.4vw,32px);}
  .ew-process--5{grid-template-columns:repeat(5,1fr);}
  .ew-process--4{grid-template-columns:repeat(4,1fr);}
  .ew-btn--onink-ghost{background:transparent; color:var(--on-ink); border-color:var(--rule-ink);}
  .ew-btn--onink-ghost:hover{color:var(--on-ink); border-color:var(--on-ink); background:rgba(241,244,236,0.08);}
  .ew-finalcta{background:var(--primary); color:var(--on-ink); text-align:center;}
  .ew-finalcta h2{color:var(--on-ink);} .ew-finalcta p{color:rgba(241,244,236,0.92); max-width:52ch; margin:14px auto 0; font-size:clamp(16.5px,1.25vw,18px); line-height:1.6;}
  .ew-gal{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
  .ew-gal-item{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--paper-2); box-shadow:inset 0 0 0 1px var(--rule); border:0; padding:0; cursor:zoom-in; display:block; width:100%;}
  .ew-gal-item img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 400ms var(--ease);}
  @media (hover:hover){ .ew-gal-item:hover img{transform:scale(1.05);} }
  .ew-gal-cap{position:absolute; left:0; right:0; bottom:0; padding:20px 16px 12px; font-size:13.5px; font-weight:500; color:#fff; background:linear-gradient(to top,rgba(13,27,24,0.72),transparent); text-align:left;}
  .ew-lightbox{position:fixed; inset:0; z-index:210; background:rgba(13,27,24,0.86); display:flex; align-items:center; justify-content:center; padding:24px;}
  .ew-lightbox img{max-width:min(1100px,92vw); max-height:86vh; object-fit:contain; box-shadow:0 24px 64px -18px rgba(0,0,0,0.6);}
  .ew-lightbox-close{position:absolute; top:18px; right:18px; width:46px; height:46px; border-radius:999px; border:1px solid var(--rule-ink); background:transparent; color:var(--on-ink); cursor:pointer; display:flex; align-items:center; justify-content:center;}
  .ew-lightbox-nav{position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:999px; border:1px solid var(--rule-ink); background:rgba(18,37,33,0.4); color:var(--on-ink); cursor:pointer; display:flex; align-items:center; justify-content:center;}
  .ew-lightbox-nav.prev{left:18px;} .ew-lightbox-nav.next{right:18px;}
  .ew-lightbox-cap{position:absolute; left:50%; bottom:20px; transform:translateX(-50%); max-width:min(760px,88vw); text-align:center; font-size:14.5px; font-weight:500; line-height:1.45; color:var(--on-ink); background:rgba(13,27,24,0.74); border:1px solid var(--rule-ink); border-radius:var(--r); padding:9px 16px;}
  @media (max-width:1000px){
    .ew-pagehead .ew-h1,.ew-pagehead .ew-lead{max-width:100%;}
    .ew-process--5{grid-template-columns:repeat(3,1fr);}
    .ew-process--4{grid-template-columns:repeat(2,1fr);}
    .ew-cform-card{padding:26px !important;}
    /* Tablet: fields full-width so Mensaje shares the same left/right bounds and spans both columns */
    .ew-cform-card .ew-field{align-items:stretch;}
    .ew-cform-card .ew-label,.ew-cform-card .ew-input{width:100%;}
  }
  @media (max-width:560px){
    /* Mobile: fields ~95% of container, tighter padding to preserve space */
    .ew-cform-card{padding:20px !important;}
    .ew-cform-card .ew-field{align-items:center;}
    .ew-cform-card .ew-label,.ew-cform-card .ew-input{width:95%;}
  }
  @media (max-width:900px){ .ew-gal{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .ew-process--5{grid-template-columns:repeat(2,1fr);} .ew-gal{grid-template-columns:1fr;} }
  @media (max-width:380px){ .ew-process--5,.ew-process--4{grid-template-columns:1fr;} }

  .ew-cartline-rm{display:inline-flex; align-items:center; gap:7px; font:inherit; font-size:13px; font-weight:600; color:#8A2A24; background:color-mix(in srgb,#8A2A24 9%, transparent); border:1px solid color-mix(in srgb,#8A2A24 22%, transparent); border-radius:var(--btn-r); padding:7px 11px; cursor:pointer; transition:background 140ms var(--ease), border-color 140ms var(--ease), color 140ms var(--ease);}
  .ew-cartline-rm svg{width:14px; height:14px; flex:none;}
  .ew-cartline-rm:hover{background:color-mix(in srgb,#8A2A24 15%, transparent); border-color:color-mix(in srgb,#8A2A24 42%, transparent); color:#8A2A24;}
  .ew-cartline-rm:focus-visible{outline:2px solid #8A2A24; outline-offset:2px;}

@media(max-width:520px){.ew-prodcard,.ew-car-slide{min-width:0}.ew-prodcard .ew-addbtn{max-width:100%;white-space:normal;overflow-wrap:anywhere}}
