/* Take Away secondary page */
body.takeaway-page{background:#f6f0e7;color:#191512;overflow-x:clip}
body.takeaway-page header{background:linear-gradient(180deg,rgba(15,12,10,.80),rgba(15,12,10,.28) 70%,transparent);border-bottom:1px solid rgba(255,255,255,.12);max-width:100%}
body.takeaway-page header.header-scrolled{background:rgba(24,20,18,.91)!important;box-shadow:0 12px 32px rgba(0,0,0,.18)!important}
body.takeaway-page header nav a.takeaway-active{background:rgba(255,255,255,.13);color:#fff}
.take-hero{min-height:640px;padding:176px 7vw 90px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:8vw;align-items:end;background:#181412;color:#fff;position:relative;overflow:hidden;max-width:100%;box-sizing:border-box}
.take-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 42%,rgba(217,0,0,.18),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.03),transparent 45%);pointer-events:none}
.take-hero>*{position:relative;z-index:1;min-width:0}.take-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:#ef2a2a;margin-bottom:26px}.take-hero h1{font-family:'Libre Caslon Display',serif;font-size:clamp(4.8rem,8vw,9rem);font-weight:400;line-height:.86;letter-spacing:-.045em;margin:0;max-width:930px}.take-hero h1 em{display:block;font-weight:400;color:#d90000}.take-intro{padding-bottom:12px;min-width:0}.take-intro p{max-width:570px;font-size:17px;line-height:1.75;color:rgba(255,255,255,.72)}.take-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.take-actions a{display:inline-flex;align-items:center;gap:12px;padding:15px 20px;border:1px solid rgba(255,255,255,.30);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.take-actions a.primary{background:#d90000;border-color:#d90000;color:#fff}.take-actions a:hover{transform:translateY(-2px)}
.take-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d8cfc3;border-top:1px solid #d8cfc3;border-bottom:1px solid #d8cfc3;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.take-meta div{padding:28px 4vw;background:#f8f4ed;min-width:0}.take-meta b{display:block;font-family:'Libre Caslon Display',serif;font-size:24px;font-weight:400;margin-bottom:7px}.take-meta span{font-size:12px;line-height:1.55;color:#6e6258}
.take-menu{padding:95px 7vw 120px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.take-menu-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;align-items:end;margin-bottom:48px;min-width:0;max-width:100%}.take-menu-head>*{min-width:0}.take-menu-head h2{font-family:'Libre Caslon Display',serif;font-size:clamp(3.8rem,6vw,7rem);font-weight:400;line-height:.9;letter-spacing:-.035em;margin:0}.take-menu-head p{font-size:15px;line-height:1.75;color:#6c6259;max-width:620px;margin-bottom:4px}.category-nav{position:sticky;top:82px;z-index:15;display:flex;flex-wrap:nowrap;gap:7px;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding:10px 0 18px;margin:0;background:linear-gradient(#f6f0e7 72%,rgba(246,240,231,0));box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x}.category-nav::-webkit-scrollbar{display:none}.category-nav a{flex:0 0 auto;min-width:0;max-width:none;border:1px solid #d7cdc0;border-radius:999px;padding:10px 15px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;white-space:nowrap;background:rgba(248,244,237,.93)}.category-nav a:hover{border-color:#d90000;color:#d90000}
.take-category{display:grid;grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);gap:6vw;padding:54px 0;border-top:1px solid #d8cfc3;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.take-category>*{min-width:0}.take-category-title{position:sticky;top:150px;align-self:start}.take-category .num{display:block;color:#d90000;font-size:10px;font-weight:700;letter-spacing:.16em;margin-bottom:14px}.take-category h3{font-family:'Libre Caslon Display',serif;font-size:clamp(2rem,3.2vw,3.7rem);font-weight:400;line-height:.95;margin:0}.take-items{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:46px;width:100%;max-width:100%;min-width:0}.take-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:17px 0;border-bottom:1px solid #ded5c9;align-items:start;min-width:0}.take-item .name{font-size:14px;line-height:1.45;min-width:0;overflow-wrap:break-word}.take-item .desc{display:block;color:#85786c;font-size:11px;line-height:1.5;margin-top:5px}.take-item .price{font-family:'Libre Caslon Display',serif;font-size:20px;white-space:nowrap}.take-note{grid-column:1/-1;margin:20px 0 0;padding:18px 20px;border-left:2px solid #d90000;background:#f1e9df;font-size:12px;line-height:1.6;color:#6a5f55;max-width:100%;box-sizing:border-box}
.take-order{margin-top:70px;padding:56px;background:#181412;color:#fff;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:7vw;align-items:center;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.take-order>*{min-width:0}.take-order h2{font-family:'Libre Caslon Display',serif;font-size:clamp(3rem,5vw,5.8rem);font-weight:400;line-height:.9;margin:0}.take-order h2 em{color:#d90000;font-weight:400}.take-order p{color:rgba(255,255,255,.68);line-height:1.7}.take-order .wa{display:inline-flex;margin-top:16px;padding:16px 20px;background:#d90000;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}

/* Los controles de cantidad existen solo para mobile. */
.mobile-qty{display:none}

@media(max-width:1100px){body.takeaway-page header nav{gap:2px}body.takeaway-page header nav a{padding:10px 9px;font-size:10px}.take-items{grid-template-columns:minmax(0,1fr)}}

@media(max-width:820px){
  html,body{width:100%;max-width:100%;overflow-x:clip}
  body.takeaway-page{width:100%;max-width:100%;overflow-x:clip;padding-bottom:82px}
  .take-hero{min-height:auto;padding:145px 7vw 70px;grid-template-columns:minmax(0,1fr);gap:38px;width:100%;max-width:100%}
  .take-hero h1{font-size:clamp(4rem,18vw,6.5rem);max-width:100%}
  .take-meta{grid-template-columns:minmax(0,1fr)}
  .take-menu{padding:70px 6vw 90px;width:100%;max-width:100%;overflow:hidden}
  .take-menu-head{grid-template-columns:minmax(0,1fr);gap:28px;width:100%}.take-menu-head h2,.take-menu-head p{max-width:100%}
  .category-nav{position:sticky;top:70px;width:100%;max-width:100%;min-width:0;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;box-sizing:border-box;margin:0;padding:10px 0 18px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x}
  .category-nav a{flex:0 0 auto;width:auto;min-width:max-content;white-space:nowrap}
  .take-category{grid-template-columns:minmax(0,1fr);gap:28px;width:100%;max-width:100%;min-width:0}.take-category-title{position:static}
  .take-items{width:100%;max-width:100%;min-width:0}
  .take-item{grid-template-columns:minmax(0,1fr) auto;width:100%;max-width:100%;min-width:0;gap:14px;position:relative}
  .take-item .name{min-width:0;word-break:normal;overflow-wrap:anywhere;padding-bottom:40px}
  .take-item .price{font-size:19px}
  .take-order{grid-template-columns:minmax(0,1fr);padding:38px 28px;width:100%;max-width:100%}

  /* Selector estilo app de delivery, solo mobile */
  .mobile-qty{display:flex;align-items:center;gap:0;position:absolute;right:0;bottom:10px;height:32px;border:1px solid #d7cdc0;border-radius:999px;background:#fff;overflow:hidden;box-shadow:0 3px 12px rgba(31,24,19,.06)}
  .mobile-qty button{width:32px;height:32px;border:0;background:transparent;color:#191512;font:600 18px/1 'DM Sans',sans-serif;display:grid;place-items:center;padding:0;cursor:pointer}
  .mobile-qty button:active{background:#f1e9df}
  .mobile-qty button[data-action="plus"]{color:#d90000}
  .mobile-qty .qty-value{min-width:30px;text-align:center;font-size:12px;font-weight:700;line-height:32px;font-variant-numeric:tabular-nums}
  .take-item.has-qty{background:linear-gradient(90deg,rgba(217,0,0,.035),transparent 68%)}

  /* La barra inferior existente se transforma en resumen del carrito */
  .mobile-book.cart-active{display:flex!important;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:12px 18px!important}
  .mobile-book .cart-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
  .mobile-book .cart-copy small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
  .mobile-book .cart-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-book .cart-arrow{font-size:19px;flex:0 0 auto}
}

@media(max-width:480px){.take-menu{padding-left:22px;padding-right:22px}.take-item{gap:14px}.take-item .price{font-size:19px}.category-nav a{padding:9px 13px;font-size:9px}}

/* =========================================================
   REVISIÓN DE PEDIDO — SOLO MOBILE
   ========================================================= */
.cart-review{display:none}

@media(max-width:820px){
  body.cart-modal-open{overflow:hidden!important}

  .cart-review{
    position:fixed;
    inset:0;
    z-index:9999;
    display:block;
    pointer-events:none;
    visibility:hidden;
  }

  .cart-review.is-open{
    pointer-events:auto;
    visibility:visible;
  }

  .cart-review-backdrop{
    position:absolute;
    inset:0;
    background:rgba(14,11,9,.64);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
    opacity:0;
    transition:opacity .25s ease;
  }

  .cart-review.is-open .cart-review-backdrop{opacity:1}

  .cart-review-dialog{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    max-height:min(88vh,760px);
    display:flex;
    flex-direction:column;
    background:#f8f4ed;
    border-radius:24px 24px 0 0;
    box-shadow:0 -24px 70px rgba(0,0,0,.24);
    transform:translateY(105%);
    transition:transform .34s cubic-bezier(.2,.8,.2,1);
    overflow:hidden;
  }

  .cart-review.is-open .cart-review-dialog{transform:translateY(0)}

  .cart-review-handle{
    width:44px;
    height:4px;
    border-radius:99px;
    background:#cfc3b7;
    margin:10px auto 0;
    flex:0 0 auto;
  }

  .cart-review-head{
    position:static!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:20px!important;
    width:auto!important;
    height:auto!important;
    padding:20px 22px 16px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
    flex:0 0 auto;
  }

  .cart-review-head small{
    display:block;
    margin-bottom:5px;
    font-size:9px;
    font-weight:700;
    letter-spacing:.18em;
    color:#d90000;
  }

  .cart-review-head h2{
    margin:0;
    font-family:'Libre Caslon Display',serif;
    font-size:40px;
    line-height:.95;
    font-weight:400;
    color:#191512;
  }

  .cart-review-close{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:grid;
    place-items:center;
    border:1px solid #d9cfc3;
    border-radius:50%;
    background:transparent;
    color:#191512;
    font-size:28px;
    line-height:1;
    cursor:pointer;
  }

  .cart-review-list{
    overflow:auto;
    overscroll-behavior:contain;
    padding:0 22px;
    flex:1 1 auto;
  }

  .cart-review-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    padding:16px 0;
    border-top:1px solid #ded5c9;
  }

  .cart-review-item-copy{min-width:0}

  .cart-review-item-copy strong{
    display:block;
    font-size:14px;
    line-height:1.35;
    font-weight:600;
    color:#191512;
  }

  .cart-review-item-copy small{
    display:block;
    margin-top:5px;
    font-size:11px;
    color:#83776c;
  }

  .cart-review-item-actions{
    min-width:112px;
    display:grid;
    justify-items:end;
    gap:7px;
  }

  .cart-review-qty{
    display:grid;
    grid-template-columns:30px 30px 30px;
    height:30px;
    border:1px solid #d5cabd;
    border-radius:999px;
    overflow:hidden;
    background:#fff;
  }

  .cart-review-qty button{
    border:0;
    background:transparent;
    color:#191512;
    font-size:18px;
    line-height:1;
    cursor:pointer;
  }

  .cart-review-qty span{
    display:grid;
    place-items:center;
    font-size:11px;
    font-weight:700;
  }

  .cart-review-subtotal{
    font-family:'Libre Caslon Display',serif;
    font-size:17px;
    font-weight:400;
  }

  .cart-review-remove{
    border:0;
    padding:0;
    background:none;
    color:#9b3c36;
    font-size:10px;
    text-decoration:underline;
    text-underline-offset:3px;
    cursor:pointer;
  }

  .cart-review-empty{
    padding:26px 22px 30px;
    color:#75695f;
    font-size:14px;
  }

  .cart-review-summary{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin:0 22px;
    padding:18px 0 10px;
    border-top:1px solid #cfc4b8;
    flex:0 0 auto;
  }

  .cart-review-summary span{
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#6c6259;
  }

  .cart-review-summary strong{
    font-family:'Libre Caslon Display',serif;
    font-size:30px;
    font-weight:400;
    color:#191512;
  }

  .cart-review-note{
    margin:0;
    padding:0 22px 14px;
    font-size:10px;
    line-height:1.5;
    color:#81756b;
    flex:0 0 auto;
  }

  .cart-review-submit{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 16px max(14px,env(safe-area-inset-bottom));
    padding:17px 20px;
    border-radius:12px;
    background:#d90000;
    color:#fff;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.1em;
    box-shadow:0 10px 28px rgba(217,0,0,.18);
    flex:0 0 auto;
  }

  .cart-review-submit.disabled{
    opacity:.45;
    pointer-events:none;
  }
}
