/* Cevicheria Don Lucho v240. EXCLUSIVAMENTE el menu PUBLICO en movil y tablet.
   Prioridad visual: Especial Don Lucho > promocion > almuerzo.
   Mantener panel lateral, navegacion, modales, logica y paginas del personal intactos. */
@media (max-width: 1024px) {
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop {
    padding: 18px 16px 19px !important;
    border-radius: 21px !important;
    margin-bottom: 22px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-specials-head {
    margin-bottom: 16px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-specials-head h2 {
    font-size: clamp(27px, 4.4vw, 37px) !important;
    line-height: 1.07 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-specials-grid {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 16px !important;
  }
  /* Tablet: fotografia grande al lado de TODOS los detalles, una tarjeta por fila. */
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-card {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 245px !important;
    aspect-ratio: auto !important;
    display: grid !important;
    grid-template-columns: minmax(240px, 41%) minmax(0,1fr) !important;
    grid-template-rows: auto !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 11px !important;
    border-radius: 17px !important;
    text-align: left !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-specials-grid .dl-special-public-card > img.card-photo {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 221px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 13px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 16px 18px !important;
    gap: 7px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info .kicker {
    margin: 0 !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info h3 {
    margin: 0 !important;
    font-size: clamp(24px, 3.25vw, 31px) !important;
    line-height: 1.1 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info > p:not(.kicker) {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.46 !important;
    overflow: visible !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    margin: 0 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info .card-foot {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 5px 0 0 !important;
    align-items: center !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info .card-foot strong {
    font-size: 29px !important;
    line-height: 1.1 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info .card-foot span {
    font-size: 12px !important;
    white-space: nowrap !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info .dl-ref-note {
    margin: 0 !important;
    font-size: 10px !important;
  }
  /* Promocion del dia: visible cuando esta activa; foto y descripcion protagonista. */
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo:not([hidden]) {
    height: auto !important;
    min-height: 245px !important;
    max-height: none !important;
    grid-template-columns: minmax(240px, 42%) minmax(0,1fr) !important;
    gap: 15px !important;
    padding: 14px !important;
    align-items: center !important;
    margin-bottom: 24px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo:not([hidden]) > #featuredPromoImage {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 215px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    border-radius: 15px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo .featured-promo-copy {
    padding: 8px 10px !important;
    overflow: visible !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo h2 {
    font-size: clamp(26px, 3.8vw, 34px) !important;
    line-height: 1.12 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo .featured-promo-copy > p:not(.kicker) {
    font-size: 15px !important;
    line-height: 1.45 !important;
    display: block !important;
    overflow: visible !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo .featured-promo-foot strong {
    font-size: 30px !important;
  }
  /* El almuerzo es secundario, compacto (se conserva el boton y su precio). */
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch {
    height: auto !important;
    min-height: 180px !important;
    max-height: none !important;
    grid-template-columns: minmax(140px, 35%) minmax(0,1fr) !important;
    gap: 12px !important;
    padding: 12px !important;
    align-items: center !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch > #featuredLunchImage {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 160px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    border-radius: 12px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch > div {
    min-width: 0 !important;
    padding: 3px 4px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch h2 {
    font-size: clamp(23px, 3.4vw, 30px) !important;
    line-height: 1.12 !important;
    margin: 0 0 5px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch p:not(.kicker) {
    font-size: 12.5px !important;
    line-height: 1.3 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch strong {
    font-size: 23px !important;
    margin: 7px 0 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch .lunch-action {
    width: auto !important;
    max-width: 100% !important;
    min-height: 38px !important;
    padding: 9px 13px !important;
    font-size: 12px !important;
    white-space: normal !important;
  }
}
@media (max-width: 600px) {
  /* Celular: especiales grandes, fotografia panoramica COMPLETA y texto debajo. */
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop {
    padding: 13px 12px 15px !important;
    margin-bottom: 16px !important;
    border-radius: 19px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-specials-grid {
    gap: 15px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-card {
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    padding: 10px !important;
    gap: 0 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-specials-grid .dl-special-public-card > img.card-photo {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 13px 13px 9px 9px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info {
    padding: 14px 8px 6px !important;
    gap: 7px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info h3 {
    font-size: clamp(23px, 5.6vw, 28px) !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info > p:not(.kicker) {
    font-size: 13.5px !important;
    line-height: 1.48 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #dlSpecialsTop .dl-special-public-info .card-foot strong {
    font-size: 28px !important;
  }
  /* Promocion grande y legible si ADMIN la habilita. */
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo:not([hidden]) {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 12px !important;
    padding: 13px !important;
    margin-bottom: 20px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo:not([hidden]) > #featuredPromoImage {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    border-radius: 14px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo .featured-promo-copy {
    padding: 4px 5px 5px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo h2 {
    font-size: 29px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo .featured-promo-copy > p:not(.kicker) {
    font-size: 14px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredPromo .featured-promo-foot {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:wrap !important;
    gap:10px !important;
  }
  /* Almuerzo reducido: imagen pequena a la izquierda, detalles a la derecha. */
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch {
    grid-template-columns: minmax(100px,35%) minmax(0,1fr) !important;
    gap: 10px !important;
    min-height: 145px !important;
    padding: 10px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch > #featuredLunchImage {
    height: 140px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch .kicker {
    font-size: 9px !important;
    margin-bottom: 4px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch h2 {
    font-size: clamp(20px,4.6vw,24px) !important;
    line-height: 1.03 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch p:not(.kicker) {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch strong {
    font-size: 21px !important;
    margin: 6px 0 !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch .lunch-action {
    min-height: 32px !important;
    padding: 8px 10px !important;
    font-size: 11px !important;
  }
}
@media (max-width: 360px) {
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout #featuredLunch > #featuredLunchImage {
    height:110px !important;
    aspect-ratio: 16 / 9 !important;
  }
}

/* Solo en movil/tablet, las ofertas se presentan ANTES del almuerzo.
   Reordenamiento de presentacion por CSS: no se cambia el DOM, las consultas
   a Firebase, los identificadores, eventos, ni los datos de promociones. */
@media (max-width: 1024px) {
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout > .content {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout > .content > .welcome { order: 0; }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout > .content > #dlSpecialsTop { order: 1; }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout > .content > #featuredPromo { order: 2; }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout > .content > #featuredLunch { order: 3; }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout > .content > #lunchModal { order: 4; }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout > .content > .menu { order: 5; }
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout > .content > #dlSpecialsTop,
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout > .content > #featuredPromo:not([hidden]),
  body.dl-public-colors232:not(.dl-direct-staff-page) > main.layout > .content > #featuredLunch {
    margin: 0 !important;
  }
}
