/* ==========================================================
   RMQR v1.0.2 · HOME MOBILE-FIRST EN PC
   - Sólo se activa en escritorio real (>=768 px + mouse/trackpad).
   - La Home pública se muestra dentro de un lienzo vertical de 430 px.
   - El responsive interno replica las reglas móviles mediante container queries.
   - En móvil real no modifica el comportamiento existente.
========================================================== */

@media (min-width:768px) and (any-hover:hover) and (any-pointer:fine){
  html:has(body.rmqr-public-home-frame){
    min-height:100%;
    overflow:hidden;
    background:var(--site-surface-soft,var(--site-bg));
  }

  body.rmqr-public-home-frame{
    min-height:100dvh;
    height:100dvh;
    margin:0;
    padding:24px;
    overflow:hidden;
    display:grid;
    place-items:center;
    --rmqr-desktop-stage-bg:color-mix(in srgb,var(--site-surface-soft,var(--site-bg)) 88%,#AEB4BC 12%);
    background:var(--rmqr-desktop-stage-bg);
  }

  body.rmqr-public-home-frame .rmqr-home-frame{
    position:relative;
    width:430px;
    max-width:calc(100vw - 48px);
    height:min(900px,calc(100dvh - 48px));
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    scroll-behavior:smooth;
    scroll-padding-top:calc(var(--site-header-height) + 12px);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    background:var(--site-bg);
    border:1px solid #151515;
    border-radius:28px;
    box-shadow:
      0 0 0 8px #151515,
      0 0 30px rgba(0,0,0,.28),
      0 0 48px rgba(255,255,255,.08);
    container-type:inline-size;
    container-name:rmqr-home;
    isolation:isolate;
  }
  body.rmqr-public-home-frame .rmqr-home-frame::-webkit-scrollbar{display:none}

  /* El borde redondeado recorta también la cabecera sticky. */
  body.rmqr-public-home-frame .rmqr-home-frame > .rmqr-site-module-header:first-child .site-header{
    border-radius:27px 27px 0 0;
  }

  /* El portal del menú ocupa exactamente el mismo rectángulo que la Home. */
  body.rmqr-public-home-frame .rmqr-menu-portal-host,
  body.rmqr-public-home-frame .rmqr-menu-portal-host[popover]{
    position:fixed!important;
    inset:auto!important;
    top:50%!important;
    left:50%!important;
    width:430px!important;
    max-width:calc(100vw - 48px)!important;
    height:min(900px,calc(100dvh - 48px))!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    transform:translate(-50%,-50%)!important;
    overflow:hidden!important;
    border-radius:24px!important;
  }
  body.rmqr-public-home-frame .rmqr-menu-portal-host .menu-overlay.rmqr-menu-overlay-portal{
    position:absolute!important;
    inset:0!important;
    border-radius:inherit!important;
  }
  body.rmqr-public-home-frame .rmqr-menu-portal-host .menu-sheet.rmqr-menu-sheet-portal{
    position:absolute!important;
  }

  /* Drawer inferior: mismo ancho exacto que el contenedor. */
  body.rmqr-public-home-frame .rmqr-menu-portal-host.rmqr-menu-open-bottom .menu-sheet{
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }

  /* Drawer lateral: permanece lateral, pero nunca sale del contenedor. */
  body.rmqr-public-home-frame .rmqr-menu-portal-host.rmqr-menu-open-right .menu-sheet{
    left:auto!important;
    right:0!important;
    width:88%!important;
    max-width:88%!important;
  }

  /* El selector de idiomas tampoco debe escapar visualmente del lienzo. */
  body.rmqr-public-home-frame .site-language-switcher__menu.site-language-switcher__menu--portal{
    max-width:min(250px,calc(430px - 20px))!important;
  }
}


/* Preview completo del Admin: misma presentación que la Home publicada en PC.
   La barra superior del preview ocupa su propia fila; el lienzo usa TODO el alto
   restante disponible, por lo que ya no queda artificialmente corto. */
@media (min-width:768px){
  body.rmqr-admin-preview-body:not(.rmqr-embed-body){
    --rmqr-desktop-stage-bg:color-mix(in srgb,var(--site-surface-soft,var(--site-bg)) 88%,#AEB4BC 12%);
    height:100dvh;
    min-height:100dvh;
    margin:0;
    background:var(--rmqr-desktop-stage-bg);
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-admin-preview-bar{
    flex:0 0 auto;
  }
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-admin-preview-stage{
    flex:1 1 auto;
    min-height:0;
    width:100%;
    padding:16px 24px 20px;
    box-sizing:border-box;
    display:grid;
    place-items:center;
    overflow:hidden;
  }
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-home-frame{
    position:relative;
    width:430px;
    max-width:calc(100vw - 48px);
    height:min(900px,100%);
    min-height:0;
    margin:0;
    overflow-x:hidden;
    overflow-y:auto;
    scroll-behavior:smooth;
    scroll-padding-top:calc(var(--site-header-height) + 12px);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    background:var(--site-bg);
    border:1px solid #151515;
    border-radius:28px;
    box-shadow:
      0 0 0 8px #151515,
      0 0 30px rgba(0,0,0,.28),
      0 0 48px rgba(255,255,255,.08);
    container-type:inline-size;
    container-name:rmqr-home;
    isolation:isolate;
  }
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-home-frame::-webkit-scrollbar{display:none}
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-home-frame > .rmqr-site-module-header:first-child .site-header{
    border-radius:27px 27px 0 0;
  }
}

/* Las reglas responsive originales miran el viewport del navegador.
   Estas copias miran el ancho real del contenedor RMQR (430 px), por lo que
   en PC la Home adopta exactamente la composición móvil sin iframe. */

@container rmqr-home (max-width:900px){

  .hero{grid-template-columns:1fr;min-height:0;padding-top:54px}
  .hero__visual{min-height:560px;max-width:650px;width:100%;margin:auto}
  .brand-band{grid-template-columns:1fr}
  .brand-band__image{min-height:420px;border-radius:var(--site-image-radius) var(--site-image-radius) 0 0}
  .visit-grid{grid-template-columns:1fr 1fr}
  .rmqr-menu-cards{grid-template-columns:1fr}
  .menu-card{grid-template-columns:1fr}
  .menu-card__media{min-height:340px;border-radius:var(--site-image-radius) var(--site-image-radius) 0 0}

}

@container rmqr-home (max-width:600px){

  .site-header__inner{width:calc(100% - 20px);grid-template-columns:44px 1fr 44px}
  .site-logo{max-width:var(--site-logo-width-mobile)}
  .menu-sheet__logo{max-width:var(--site-logo-width-mobile)}
  .hero{width:calc(100% - 28px);padding:34px 0 50px;gap:32px}
  .hero h1{font-size:var(--site-hero-title-mobile)}
  .hero__actions{flex-direction:column}.hero__actions .button{width:100%}
  .hero__visual{min-height:420px}
  .hero-card--photo{width:78%}.hero-card--brand{width:58%;border-width:var(--module-hero-side-border-width,8px)}
  .menu-feature,.visit,.gallery-section,.rmqr-quick-actions-wrap{width:calc(100% - 28px)}
  .section-heading h2,.brand-band h2,.site-footer h2{font-size:var(--site-section-title-mobile)}
  .menu-card__media{min-height:300px}
  .menu-card__content{padding:32px 26px}
  .menu-card h3{font-size:var(--site-section-title-mobile)}
  .brand-band{width:calc(100% - 20px)}
  .brand-band__image{min-height:330px}
  .brand-band__copy{padding:38px 26px}
  .gallery-grid{grid-auto-rows:130px;gap:10px}
  .gallery-item,.gallery-item--wide{grid-column:span 12}.gallery-item--tall{grid-row:span 2}
  .visit-grid{grid-template-columns:1fr}
  .info-card{min-height:170px}
  .action-bubbles{justify-content:flex-start}
  .site-footer__logo{max-width:var(--site-logo-width-mobile)}

}

@container rmqr-home (max-width:900px){

  .menu-card{grid-template-columns:1fr}
  .menu-card__media{min-height:340px;border-radius:var(--site-image-radius) var(--site-image-radius) 0 0}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:230px}
  .rmqr-variant-editorial_mosaic_4 .gallery-item:nth-child(n){grid-column:auto;grid-row:auto}
  .rmqr-variant-editorial_mosaic_4 .gallery-item:nth-child(1){grid-column:1 / -1;min-height:360px}
  .rmqr-variant-editorial_mosaic_4 .gallery-item:nth-child(4){grid-column:1 / -1;min-height:280px}
  .rmqr-variant-large_plus_small .gallery-item:nth-child(n){grid-column:auto;grid-row:auto}
  .rmqr-variant-large_plus_small .gallery-item:nth-child(1){grid-column:1 / -1;min-height:360px}
  .rmqr-variant-panoramic .gallery-item{grid-column:1 / -1;min-height:260px}

}

@container rmqr-home (max-width:600px){

  .menu-sheet__logo{max-width:var(--site-logo-width-mobile)}
  .menu-card__media{min-height:300px}
  .menu-card__content{padding:32px 26px}
  .menu-card h3{font-size:var(--site-section-title-mobile)}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px;gap:var(--module-gallery-gap,10px)}

}

@container rmqr-home (max-width:600px){

  .rmqr-variant-panoramic_carousel .gallery-item{
    flex-basis:86cqw;
    width:86cqw;
    height:250px;
  }

}

@container rmqr-home (max-width:900px){

  .rmqr-site-module-hero.rmqr-hero-visual-left .hero__content,
  .rmqr-site-module-hero.rmqr-hero-visual-left .hero__visual{order:initial}
  .rmqr-site-module-location .visit-grid{grid-template-columns:repeat(min(2,var(--module-info-columns,3)),minmax(0,1fr))}

}

@container rmqr-home (max-width:600px){

  .rmqr-site-module-location .visit-grid{grid-template-columns:1fr}

}

@container rmqr-home (max-width:700px){

.rmqr-site-module-hero.rmqr-variant-overlapping_two_images,.rmqr-site-module-hero.rmqr-variant-split_text_image,.rmqr-site-module-hero.rmqr-variant-image_with_card,.rmqr-site-module-about.rmqr-variant-split_image_text,.rmqr-site-module-about.rmqr-variant-editorial_two_images,.rmqr-site-module-about.rmqr-variant-dark_band{grid-template-columns:1fr}
.rmqr-site-module-location .visit-grid,.rmqr-site-module-location.rmqr-variant-info_cards .visit-grid,.rmqr-site-module-location.rmqr-variant-map_plus_cards .visit-grid{grid-template-columns:1fr!important}
.rmqr-site-module-footer.rmqr-variant-columns .site-footer__inner{grid-template-columns:1fr;text-align:center}
}

@container rmqr-home (max-width:900px){

  .rmqr-site-module-hero.hero{min-height:var(--module-hero-min-height-mobile,620px);align-content:center}
  .rmqr-site-module-hero.rmqr-variant-overlapping_two_images{grid-template-columns:1fr}
  .rmqr-site-module-hero .hero__content{max-width:100%}

}

@container rmqr-home (max-width:600px){

  .rmqr-site-module-hero .hero__actions{align-items:stretch;width:100%}
  .rmqr-site-module-hero .hero__actions .button{width:100%}
  .rmqr-site-module-hero.rmqr-variant-overlapping_two_images .hero__visual{min-height:390px;margin-top:10px}

}

@container rmqr-home (max-width:700px){

  .rmqr-site-module-about.rmqr-variant-split_image_text,
  .rmqr-site-module-about.rmqr-variant-editorial_two_images,
  .rmqr-site-module-about.rmqr-variant-dark_band{
    grid-template-columns:1fr;
  }
  .rmqr-site-module-about.rmqr-variant-split_image_text .brand-band__media{
    min-height:360px;
  }
  .rmqr-site-module-about.rmqr-variant-split_image_text .brand-band__image{
    min-height:360px;
  }
  .rmqr-site-module-about.rmqr-variant-editorial_two_images .brand-band__media{
    min-height:480px;
    padding:24px;
  }
  .rmqr-site-module-about.rmqr-variant-editorial_two_images .brand-band__image{
    width:80%;
    height:78%;
  }
  .rmqr-site-module-about.rmqr-variant-editorial_two_images .brand-band__secondary{
    width:48%;
    right:5%;
    bottom:5%;
  }
  .rmqr-site-module-about.rmqr-variant-editorial_two_images.rmqr-about-image-right .brand-band__secondary{
    left:5%;
    right:auto;
  }
  .rmqr-site-module-about.rmqr-variant-dark_band .brand-band__media,
  .rmqr-site-module-about.rmqr-variant-dark_band .brand-band__image{
    min-height:340px;
  }
  .rmqr-site-module-about.rmqr-variant-dark_band.rmqr-about-image-right .brand-band__media{
    order:0;
  }
  .rmqr-site-module-about.rmqr-variant-dark_band .brand-band__copy{
    order:1;
  }

}

@container rmqr-home (max-width:700px){

  .rmqr-site-module-about.rmqr-variant-dark_band{
    min-height:560px;
  }
  .rmqr-site-module-about.rmqr-variant-dark_band::after,
  .rmqr-site-module-about.rmqr-variant-dark_band.rmqr-about-image-right::after{
    background:
      linear-gradient(180deg,
        color-mix(in srgb,var(--module-about-dark-bg,var(--site-primary)) 22%,transparent) 0%,
        color-mix(in srgb,var(--module-about-dark-bg,var(--site-primary)) 58%,transparent) 42%,
        color-mix(in srgb,var(--module-about-dark-bg,var(--site-primary)) 90%,transparent) 100%);
  }
  .rmqr-site-module-about.rmqr-variant-dark_band .brand-band__copy,
  .rmqr-site-module-about.rmqr-variant-dark_band.rmqr-about-image-right .brand-band__copy{
    align-self:end;
    width:100%;
    margin:0;
    padding:44px 24px 38px;
  }

}

@container rmqr-home (max-width:700px){

  .rmqr-site-module-about.rmqr-variant-dark_band::after,
  .rmqr-site-module-about.rmqr-variant-dark_band.rmqr-about-image-right::after{
    opacity:var(--module-about-overlay,65%);
    background:
      linear-gradient(180deg,
        transparent 0%,
        color-mix(in srgb,var(--module-about-dark-bg,var(--site-primary)) 58%,transparent) 42%,
        var(--module-about-dark-bg,var(--site-primary)) 100%);
  }

}

@container rmqr-home (max-width:900px){

  .rmqr-site-module-menu_cards.rmqr-variant-image_side_card .menu-card__media{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
    align-self:stretch;
  }

}

@container rmqr-home (max-width:620px){

  .rmqr-qr-download-card{padding:26px 18px}
  .rmqr-welcome-popup{padding:14px}
  .rmqr-welcome-popup__dialog{max-height:calc(100vh - 28px)}
  .rmqr-welcome-popup__dialog img{max-height:calc(100vh - 28px)}
  .rmqr-welcome-popup__dialog.has-actions img{max-height:calc(100vh - 140px)}

}

@container rmqr-home (max-width:700px){

  .rmqr-admin-preview-actions{width:100%}
  .rmqr-admin-preview-actions a,
  .rmqr-admin-preview-actions button{flex:1}

}

@container rmqr-home (max-width:700px){

  .rmqr-site-module-header.rmqr-header-universal .site-header__inner{
    width:calc(100% - 16px);
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    gap:5px;
  }
  .rmqr-site-module-header.rmqr-header-universal .site-logo,
  .rmqr-site-module-header.rmqr-header-universal .site-header__title-copy{
    max-width:min(42cqw,var(--site-logo-width-mobile));
  }
  .rmqr-site-module-header.rmqr-header-universal .site-header__utilities{
    gap:3px;
  }
  .rmqr-site-module-header.rmqr-header-universal .menu-trigger{
    width:40px;
    height:40px;
  }
  .site-language-switcher__trigger{
    min-height:36px;
    padding:5px 7px;
    gap:4px;
    font-size:.66rem;
  }
  .site-language-switcher__globe,
  .site-language-switcher__globe svg{
    width:15px;
    height:15px;
  }
  .rmqr-site-module-header.rmqr-header-universal .site-header__extra-text{
    max-width:24cqw;
    font-size:.72rem;
  }
  .rmqr-site-module-header.rmqr-header-universal .site-header__extra-button{
    min-height:34px;
    max-width:26cqw;
    padding:5px 8px;
    font-size:.68rem;
  }
  .rmqr-site-module-header.rmqr-header-universal .site-header__extra-logo{
    max-width:23cqw;
    max-height:34px;
  }
  .site-header__title-copy strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:clamp(.92rem,4cqw,1.18rem);
  }
  .site-header__title-copy span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.58rem;
  }

}

@container rmqr-home (max-width:390px){

  .site-language-switcher__trigger strong{
    max-width:34px;
    overflow:hidden;
    text-overflow:clip;
  }
  .site-language-switcher__chevron{
    display:none;
  }

}


@media (min-width:768px) and (any-hover:hover) and (any-pointer:fine){
  body.rmqr-public-home-frame .rmqr-home-frame .rmqr-variant-panoramic_carousel .gallery-item{
    flex-basis:86cqw;
    width:86cqw;
  }
  body.rmqr-public-home-frame .rmqr-home-frame .rmqr-site-module-header.rmqr-header-universal .site-logo,
  body.rmqr-public-home-frame .rmqr-home-frame .rmqr-site-module-header.rmqr-header-universal .site-header__title-copy{
    max-width:min(42cqw,var(--site-logo-width-desktop));
  }
}

/* En el lienzo de PC la composición es móvil, pero el tamaño del logo
   sigue siendo el valor específico configurado para PC. */
@media (min-width:768px) and (any-hover:hover) and (any-pointer:fine){
  body.rmqr-public-home-frame .rmqr-home-frame .site-logo{
    max-width:var(--site-logo-width-desktop)!important;
  }
  body.rmqr-public-home-frame .rmqr-menu-portal-host .menu-sheet__logo{
    max-width:var(--site-logo-width-desktop)!important;
  }
}


/* v1.0.2.33 · Los enlaces internos de Portada desplazan suavemente el lienzo
   que realmente hace scroll en PC. */
@media (prefers-reduced-motion: reduce){
  body.rmqr-public-home-frame .rmqr-home-frame,
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-home-frame{
    scroll-behavior:auto;
  }
}


/* v1.0.2.91 · Popup dentro del mockup de teléfono en PC. */
@media (min-width:768px) and (any-hover:hover) and (any-pointer:fine){
  body.rmqr-public-home-frame .rmqr-welcome-popup,
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-welcome-popup{
    padding:14px!important;
    overflow:hidden!important;
  }
  body.rmqr-public-home-frame .rmqr-welcome-popup__dialog,
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-welcome-popup__dialog{
    width:min(100%,360px)!important;
    max-height:calc(var(--rmqr-popup-host-height,900px) - 28px)!important;
  }
  body.rmqr-public-home-frame .rmqr-welcome-popup__dialog img,
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-welcome-popup__dialog img{
    max-height:calc(var(--rmqr-popup-host-height,900px) - 56px)!important;
  }
  body.rmqr-public-home-frame .rmqr-welcome-popup__dialog.has-actions img,
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-welcome-popup__dialog.has-actions img{
    max-height:calc(var(--rmqr-popup-host-height,900px) - 150px)!important;
  }
}


/* ==========================================================
   RMQR v1.0.2.133 · MENÚ HAMBURGUESA CONFINADO AL TELÉFONO
   EN PREVIEW COMPLETO DE HOME, SOLO EN PC
   ----------------------------------------------------------
   Alcance deliberadamente limitado:
   - Sí: /preview/{slug} en escritorio real.
   - No: Home pública en PC.
   - No: Home pública o preview en móvil.
   - No: preview lateral embebido del editor.
   - No: cartas Menu Maker, públicas ni preview.
========================================================== */
@media (min-width:768px) and (any-hover:hover) and (any-pointer:fine){
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-menu-portal-host,
  body.rmqr-admin-preview-body:not(.rmqr-embed-body) .rmqr-menu-portal-host[popover]{
    position:fixed!important;
    inset:auto!important;
    top:var(--rmqr-preview-frame-top,0px)!important;
    left:var(--rmqr-preview-frame-left,50%)!important;
    width:var(--rmqr-preview-frame-width,430px)!important;
    height:var(--rmqr-preview-frame-height,calc(100dvh - 120px))!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    overflow:hidden!important;
    border-radius:24px!important;
  }

  body.rmqr-admin-preview-body:not(.rmqr-embed-body)
  .rmqr-menu-portal-host .menu-overlay.rmqr-menu-overlay-portal{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    border-radius:inherit!important;
  }

  body.rmqr-admin-preview-body:not(.rmqr-embed-body)
  .rmqr-menu-portal-host .menu-sheet.rmqr-menu-sheet-portal{
    position:absolute!important;
  }

  body.rmqr-admin-preview-body:not(.rmqr-embed-body)
  .rmqr-menu-portal-host.rmqr-menu-open-bottom .menu-sheet{
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }

  body.rmqr-admin-preview-body:not(.rmqr-embed-body)
  .rmqr-menu-portal-host.rmqr-menu-open-right .menu-sheet{
    left:auto!important;
    right:0!important;
    width:88%!important;
    max-width:88%!important;
  }
}
