@media (max-width: 1199.98px) {
  :root { --header-h: 72px; }
  .site-header__inner { grid-template-columns: 125px 1fr 150px; }
  .brand, .brand img { width:112px; height:112px; }
  .main-nav { gap:20px; }
  .main-nav a { font-size:12.5px; }
  .hero, .hero-slider, .hero-slide__grid { min-height:535px; }
  .hero-media { height:455px; }
  .hero-benefits { gap:13px; font-size:10px; }
  .menu-grid { grid-template-columns:repeat(4, minmax(0,1fr)); }
  .tables-grid { gap:12px; }
}

@media (max-width: 991.98px) {
  .site-header__inner { grid-template-columns: 105px 1fr 145px; }
  .brand, .brand img { width:100px; height:100px; }
  .main-nav { gap:14px; }
  .main-nav a { font-size:11px; }
  .hero, .hero-slider, .hero-slide__grid { min-height:500px; }
  .hero-slide__grid { grid-template-columns:46% 54%; padding-top:24px; }
  .hero-title span { font-size:46px; }
  .hero-title strong { font-size:54px; }
  .hero-lead { font-size:13px; }
  .hero-media { height:400px; }
  .hero-benefits { display:grid; gap:6px; }
  .menu-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }
  .tables-grid { grid-template-columns:1fr; }
  .table-card { min-height:210px; grid-template-columns:48% 52%; }
  .promo-strip__inner { grid-template-columns:auto 1fr auto; gap:12px; padding-top:12px; padding-bottom:12px; }
  .promo-strip p { grid-column:2 / 4; }
  .about-grid { grid-template-columns:32% 68%; }
  .about-mark img { width:180px; height:180px; }
  .site-footer__grid { grid-template-columns:1.25fr 1fr 1fr; }
  .footer-col:last-child { grid-column:2 / 4; }
}

@media (max-width: 767.98px) {
  :root { --header-h: 66px; }
  .site-header__inner { grid-template-columns:86px 1fr auto; gap:10px; }
  .brand, .brand img { width:88px; height:88px; }
  .btn-order--header { display:none; }
  .nav-toggle {
    display:flex; width:42px; height:42px; justify-self:end; flex-direction:column; justify-content:center; gap:5px;
    border:1px solid rgba(152,82,213,.32); border-radius:9px; background:rgba(24,10,42,.8); padding:0 10px;
  }
  .nav-toggle span { display:block; height:2px; width:100%; background:#ece5f4; border-radius:3px; transition:.25s ease; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .main-nav {
    position:absolute; top:100%; left:0; right:0; height:auto; padding:14px 20px 20px; display:grid; grid-template-columns:1fr 1fr; gap:7px;
    background:rgba(8,3,18,.98); border-bottom:1px solid rgba(128,58,201,.35); transform:translateY(-8px); opacity:0; visibility:hidden; transition:.24s ease;
  }
  .main-nav.is-open { transform:none; opacity:1; visibility:visible; }
  .main-nav a { height:40px; justify-content:center; border-radius:7px; background:#130923; font-size:11px; }
  .main-nav a::after { display:none; }

  .hero, .hero-slider { min-height:720px; }
  .hero__pattern { width:100%; opacity:.35; mask-image:linear-gradient(180deg, #000 0%, transparent 75%); }
  .hero-slide__grid { min-height:720px; grid-template-columns:1fr; grid-template-rows:auto 320px; align-content:center; padding-top:38px; padding-bottom:58px; }
  .hero-copy { padding:18px 2px 0; text-align:center; }
  .hero-title { margin-inline:auto; }
  .hero-title span { font-size:42px; }
  .hero-title strong { font-size:49px; }
  .hero-lead { max-width:560px; margin:16px auto 4px; font-size:12px; }
  .hero-price { font-size:17px; }
  .hero-actions { justify-content:center; }
  .hero-benefits { display:flex; justify-content:center; gap:9px 15px; margin-top:16px; }
  .hero-media { height:320px; align-self:center; }
  .hero-media img { transform:scale(1); object-position:center; }
  .hero-product-label { right:9%; bottom:10%; }
  .hero-controls { bottom:15px; justify-content:center; }

  .section-pad { padding:32px 0; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:2px; }
  .section-heading h2 { font-size:27px; }
  .menu-tabs-wrap { margin-inline:-12px; padding-left:12px; }
  .menu-tabs { padding-right:55px; }
  .menu-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .menu-card__image { height:170px; }
  .promo-strip__inner { grid-template-columns:auto 1fr; }
  .promo-strip a { grid-column:1 / 3; }
  .promo-strip p { grid-column:1 / 3; }
  .table-card { min-height:230px; }
  .about-grid { grid-template-columns:1fr; }
  .about-mark { display:none; }
  .about-copy { max-width:none; }
  .about-copy h2 { font-size:29px; }
  .site-footer__grid { grid-template-columns:1fr 1fr; gap:22px; }
  .footer-brand { grid-column:1 / 3; border-right:0; border-bottom:1px solid rgba(146,88,200,.22); padding:0 0 15px; }
  .footer-col:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; justify-content:center; padding:10px 0; text-align:center; }
}

@media (max-width: 575.98px) {
  .container-xl { padding-left:15px; padding-right:15px; }
  .hero, .hero-slider { min-height:700px; }
  .hero-slide__grid { min-height:700px; grid-template-rows:auto 290px; padding-top:44px; }
  .hero-title span { font-size:36px; }
  .hero-title strong { font-size:43px; }
  .hero-lead { font-size:11.5px; line-height:1.5; }
  .btn-primary-hakiri, .btn-outline-gold { min-width:139px; min-height:42px; padding:0 13px; font-size:10px; }
  .hero-benefits { font-size:9px; }
  .hero-media { height:290px; }
  .hero-product-label { display:none; }
  .menu-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .menu-card__image { height:138px; }
  .menu-card__body { padding:12px; }
  .menu-card h3 { font-size:18px; line-height:1.25; }
  .menu-card p { min-height:86px; font-size:14px; line-height:1.55; -webkit-line-clamp:4; }
  .menu-card__footer strong { font-size:19px; }
  .menu-card__hint { display:none; }
  .table-card { grid-template-columns:1fr; min-height:0; }
  .table-card__copy { order:2; min-height:195px; }
  .table-card__media { height:190px; order:1; }
  .table-card__media::before { background:linear-gradient(0deg, #1a0c30 0%, transparent 45%); }
  .about-points { grid-template-columns:1fr; }
  .site-footer__grid { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; grid-template-columns:82px 1fr; }
  .footer-brand img { width:78px; height:78px; }
  .footer-col:last-child { grid-column:auto; }
  .footer-credit { flex-direction:column; gap:4px; }
}

/* Responsive centrado y navegación desplegable tipo acordeón */
@media (max-width: 767.98px) {
  .site-header__inner { position: relative; }
  .main-nav {
    top: calc(100% + 1px);
    left: 15px;
    right: 15px;
    padding: 8px;
    display: grid;
    grid-template-columns:1fr;
    gap: 5px;
    max-height: 0;
    overflow: hidden;
    background: rgba(8, 3, 18, .99);
    border: 1px solid rgba(128, 58, 201, .34);
    border-top: 0;
    border-radius: 0 0 14px 14px;
    transform: translateY(-8px);
    opacity: 0;
    visibility: hidden;
    box-shadow: 0 20px 45px rgba(0,0,0,.4);
    transition: max-height .32s ease, opacity .22s ease, transform .22s ease, visibility .22s ease;
  }
  .main-nav.is-open { max-height: 410px; transform: none; opacity: 1; visibility: visible; }
  .main-nav a { width: 100%; min-height: 47px; height: auto; justify-content: center; text-align: center; border-radius: 8px; background: #130923; font-size: 13px; }
  .main-nav a + a { border-top: 1px solid rgba(135, 72, 193, .13); }

  .section-heading { align-items:center; text-align:center; flex-direction:column; gap:4px; }
  .section-heading > div { width: 100%; }
  .section-heading p { margin-left:auto; margin-right:auto; }
  .section-action { justify-content:center; }
  .menu-tabs-wrap { margin-inline:0; padding-left:0; width:100%; }
  .menu-tabs { width:100%; padding-left:0; padding-right:45px; }
  .menu-grid { grid-template-columns:1fr; max-width:560px; margin-inline:auto; gap:14px; }
  .menu-card { width:100%; margin-inline:auto; text-align:center; }
  .menu-card__category { left:50%; transform:translateX(-50%); white-space:nowrap; }
  .menu-card__footer { justify-content:center; gap:22px; }
  .menu-card__image { height:220px; }

  .promo-strip__inner { grid-template-columns:1fr; justify-items:center; text-align:center; gap:8px; padding:18px 15px; }
  .promo-strip__tag, .promo-strip strong, .promo-strip p, .promo-strip a { grid-column:1; }
  .promo-strip p { max-width:520px; }

  .tables-grid { max-width:560px; margin-inline:auto; }
  .table-card { grid-template-columns:1fr; max-width:560px; width:100%; margin-inline:auto; text-align:center; }
  .table-card__copy { order:2; align-items:center; min-height:220px; padding:18px; }
  .table-card__media { order:1; height:220px; }
  .table-card__media::before { background:linear-gradient(0deg, #1a0c30 0%, transparent 45%); }

  .about-grid { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .about-mark { display:grid; margin-bottom:6px; }
  .about-mark img { width:150px; height:150px; }
  .about-copy { max-width:650px; width:100%; padding-top:0; }
  .about-copy > p { margin:0 auto 12px; max-width:610px; }
  .about-points { grid-template-columns:1fr; max-width:520px; margin-left:auto; margin-right:auto; }

  .site-footer__grid { grid-template-columns:1fr; text-align:center; gap:22px; justify-items:center; }
  .footer-brand { grid-column:auto; grid-template-columns:1fr; justify-items:center; width:100%; border-right:0; border-bottom:1px solid rgba(146,88,200,.22); padding:0 0 18px; }
  .footer-brand p { max-width:420px; }
  .footer-col { width:100%; }
  .footer-col:last-child { grid-column:auto; }
  .social-links { justify-content:center; }
  .footer-bottom { flex-direction:column; justify-content:center; align-items:center; padding:14px 0; text-align:center; }
  .footer-credit { justify-content:center; }

  .order-modal { padding:16px; }
  .order-modal__dialog { width:min(480px, 100%); padding:24px 18px 22px; }
  .order-modal h2 { font-size:26px; }
}

@media (max-width: 575.98px) {
  .menu-grid { grid-template-columns:1fr; max-width:460px; }
  .menu-card__image { height:210px; }
  .menu-card__body { padding:16px; }
  .menu-card p { min-height:0; }
  .table-card__copy { min-height:0; }
  .about-points { grid-template-columns:1fr; }
  .footer-brand { grid-template-columns:1fr; }
  .footer-brand img { width:92px; height:92px; }
  .order-option { min-height:60px; padding:0 14px; font-size:13px; }
}

/* Constructor de pedido responsive */
@media (max-width: 1099.98px) {
  .order-builder__layout { grid-template-columns:300px minmax(0,1fr); }
  .order-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .order-catalog__intro { align-items:flex-start; flex-direction:column; gap:6px; }
  .order-catalog__intro p { text-align:left; max-width:620px; }
}

@media (max-width: 767.98px) {
  .order-builder { padding:10px; }
  .order-builder__dialog { width:100%; height:calc(100dvh - 20px); min-height:0; border-radius:16px; }
  .order-builder__header { min-height:72px; padding:10px 13px; }
  .order-builder__heading { gap:9px; }
  .order-builder__cart-icon { width:42px; height:42px; border-radius:11px; }
  .order-builder__heading h2 { font-size:21px; }
  .order-builder__close { width:36px; height:36px; }
  .order-builder__layout { display:block; min-height:0; overflow:hidden; }
  .order-builder__catalog-panel { height:100%; padding:15px 13px 88px; overflow:auto; text-align:center; }
  .order-catalog__intro { align-items:center; text-align:center; }
  .order-catalog__intro p { text-align:center; }
  .order-categories { margin-inline:-13px; padding:0 13px 11px; }
  .order-catalog { grid-template-columns:1fr; max-width:560px; margin-inline:auto; gap:11px; }
  .order-product-card { text-align:center; }
  .order-product-card__media { height:190px; }
  .order-product-card__media span { left:50%; transform:translateX(-50%); white-space:nowrap; }
  .order-product-card h4 { font-size:17px; }
  .order-product-card p { min-height:0; font-size:13px; -webkit-line-clamp:4; }
  .order-product-card__footer { justify-content:center; gap:20px; }
  .order-product-card__footer strong { font-size:17px; }
  .order-product-card__footer button { min-height:38px; padding:0 13px; font-size:10px; }

  .order-builder__summary {
    position:absolute;
    inset:72px 0 0;
    z-index:8;
    border-right:0;
    transform:translateY(105%);
    transition:transform .28s ease;
    box-shadow:0 -22px 60px rgba(0,0,0,.45);
  }
  .order-builder__summary.is-mobile-open { transform:none; }
  .order-summary__mobile-head { min-height:48px; display:flex; align-items:center; justify-content:space-between; padding:8px 15px; border-bottom:1px solid rgba(127,66,185,.22); }
  .order-summary__mobile-head button { width:32px; height:32px; border:1px solid rgba(153,88,205,.3); border-radius:50%; background:#170a29; color:#fff; font-size:20px; }
  .order-summary__head { padding:14px 16px 12px; }
  .order-summary__items { padding:10px 14px 15px; }
  .order-summary__footer { padding:13px 15px 15px; }
  .order-summary__total strong { font-size:22px; }
  .order-mobile-bar {
    position:absolute;
    left:11px;
    right:11px;
    bottom:10px;
    z-index:6;
    min-height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 13px;
    border:1px solid rgba(34,227,232,.48);
    border-radius:13px;
    background:linear-gradient(135deg,rgba(26,111,118,.97),rgba(68,27,103,.97));
    box-shadow:0 14px 35px rgba(0,0,0,.45);
    color:#fff;
    font:inherit;
    font-size:11px;
    font-weight:800;
  }
  .order-mobile-bar__cart { font-size:18px; }

  .quantity-modal { padding:14px; }
  .quantity-modal__dialog { padding:24px 18px 20px; }
}

@media (max-width: 420px) {
  .order-builder__heading .eyebrow { font-size:8px; }
  .order-builder__heading h2 { font-size:19px; }
  .order-builder__cart-icon { width:38px; height:38px; }
  .order-builder__cart-icon svg { width:22px; height:22px; }
  .order-product-card__media { height:170px; }
  .order-mobile-bar { font-size:10px; gap:5px; }
}

/* Checkout por transferencia responsive */
@media (max-width: 767.98px) {
  .payment-modal { padding:10px; }
  .payment-modal__dialog { width:100%; max-height:calc(100dvh - 20px); border-radius:16px; }
  .payment-modal__header { min-height:70px; padding:12px 14px; }
  .payment-modal__header h2 { font-size:21px; }
  .payment-modal__close { width:36px; height:36px; }
  .payment-modal__body { grid-template-columns:1fr; padding:13px; gap:12px; }
  .payment-transfer { grid-column:auto; }
  .payment-transfer,.payment-customer,.payment-proof,.payment-order-preview { padding:15px; text-align:center; }
  .payment-section-heading { align-items:center; flex-direction:column; gap:6px; text-align:center; }
  .transfer-grid { grid-template-columns:1fr; }
  .transfer-field--wide { grid-column:auto; }
  .transfer-field { align-items:center; text-align:center; }
  .payment-customer__grid { text-align:left; }
  .payment-dropzone { min-height:155px; }
  .payment-order-preview__items { max-height:none; }
  .payment-modal__status,.payment-submit { grid-column:auto; }
}
@media (max-width: 420px) {
  .payment-modal__header .eyebrow { font-size:8px; }
  .payment-modal__header h2 { font-size:18px; }
  .payment-transfer__total { font-size:23px; }
  .phone-field__prefix { padding:0 10px; }
}

@media(max-width:1180px){.carta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.carta-hero{padding:112px 0 38px}.carta-hero__inner{flex-direction:column;align-items:center;text-align:center}.carta-hero p{margin-inline:auto}.carta-tabs-wrap{top:66px}.carta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.carta-product{text-align:center}.carta-product__footer{justify-content:center}.carta-product p{min-height:0}}
@media(max-width:560px){.carta-hero{padding-top:96px}.carta-grid{grid-template-columns:1fr}.carta-product{max-width:520px;width:100%;margin-inline:auto}.carta-product__media{height:235px}.carta-tabs{padding-inline:4px}.carta-tab{font-size:12px}.carta-product p{font-size:14.5px}.carta-product__footer{flex-direction:column}.carta-product__order{width:100%;padding:11px}}

/* Hero móvil: imagen completa, sin recorte ni altura rígida */
@media (max-width:575.98px){
  .hero,.hero-slider{min-height:0}
  .hero-slide__grid{min-height:0;grid-template-rows:auto auto;align-content:start;padding-top:34px;padding-bottom:58px}
  .hero-media{height:auto;min-height:0;padding:18px 0 42px;align-self:auto}
  .hero-media img { width:min(100%,360px); height:auto; max-height:none; object-fit:contain; object-position:center; transform:none; margin-inline:auto; }
  .hero-controls{bottom:12px}
}

/* v13 - Hero: el producto completo debe caber dentro del viewport */
@media (min-width:576px){
  .hero-media img{width:auto;height:auto;max-width:100%;max-height:min(500px,58vh);object-fit:contain;object-position:center;transform:none;margin:auto}
}
@media (max-width:575.98px){
  .hero-slide__grid{grid-template-rows:auto minmax(220px,42vh)}
  .hero-media{height:42vh;min-height:220px;max-height:360px;padding:10px 0 34px;overflow:visible}
  .hero-media img{width:auto;height:auto;max-width:100%;max-height:42vh;object-fit:contain;object-position:center;transform:none;margin:auto}
  .hero-controls{bottom:7px}
}
@media (max-width:820px){
  .carta-pdf-download{width:min(100%,360px);justify-content:center;text-align:left}
}

/* v14 - Fuji Roll hero transparente en responsive */
@media (max-width: 820px) {
  .hero-media img[src$="fuji-roll-cutout.webp"] {
    width: auto;
    max-width: min(88vw, 430px);
    height: auto;
    max-height: 42vh;
    object-fit: contain;
    margin-inline: auto;
  }
}

/* v15 - Lima/Fuji transparentes completos en hero móvil */
@media (max-width: 820px) {
  .hero-media img[src$="lima-roll-cutout.webp"],
  .hero-media img[src$="fuji-roll-cutout.webp"] {
    width: auto;
    height: auto;
    max-width: min(88vw, 430px);
    max-height: 42vh;
    object-fit: contain;
    object-position: center;
    transform: none;
    margin-inline: auto;
  }
}
