/* Mega menú de computadora (scripts/megamenu.py, 29-10): panel a lo ancho bajo el encabezado con una columna de
   presentación y tarjetas compactas (miniatura + texto). replica.js lo muda al final del <body> (dentro del
   encabezado quedaba debajo de la portada), lo abre al pasar el mouse o con el teclado y calcula dónde empieza
   (--mm-top) y el puente invisible hasta el ítem (--mm-puente). En celular y tableta no existe. */
.mm { display: none; }
@media (min-width: 1025px) {
  .mm {
    display: block; position: fixed; left: 0; right: 0; top: var(--mm-top, 72px); z-index: 100000;
    padding-top: var(--mm-puente, 0px); visibility: hidden; opacity: 0; transform: translateY(-8px); pointer-events: none;
    transition: opacity .18s ease, transform .22s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .22s;
    font-family: "Raleway", system-ui, sans-serif; text-align: left;
  }
  .mm.is-abierto { visibility: visible; opacity: 1; transform: none; pointer-events: auto; transition-delay: 0s; }
  .mm__panel { background: #FFFDF8; border-radius: 0 0 24px 24px; box-shadow: 0 28px 60px rgba(36, 19, 7, .2); border-top: 1px solid #EADAC6; }
  .mm__envoltura { max-width: 1240px; margin: 0 auto; padding: 26px 32px 28px; display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 40px; align-items: start; }
  .mm__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding-top: 2px; }
  .mm .mm__titulo { margin: 0; font-size: 21px; font-weight: 800; line-height: 1.2; letter-spacing: -0.01em; color: #241307; }
  .mm .mm__texto { margin: 0 0 4px; font-size: 14px; line-height: 1.55; color: #6E5544; }
  .mm .mm__enlace, .mm .mm__enlace:visited { font-size: 14px; font-weight: 700; color: #3A1F0D; text-decoration: none; border-bottom: 2px solid #F2B544; padding-bottom: 1px; }
  .mm .mm__enlace:hover { color: #D9363F; border-color: #D9363F; }

  /* Tarjetas compactas: miniatura a la izquierda, título y dato a la derecha */
  /* Columnas: visitantes sueltos (+ workshops de temporada) | grupos. Regalos: una sola fila de tres */
  .mm__columnas { display: grid; gap: 8px 40px; align-items: start; }
  .mm__columnas--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mm__columna--grupos { padding-left: 40px; border-left: 1px solid #EADAC6; margin-left: -20px; }
  .mm__grupo + .mm__grupo { margin-top: 16px; }
  .mm .mm__grupo-titulo { margin: 0 0 6px 10px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #A0673E; }
  .mm__grupo--temp .mm__grupo-titulo { color: #D9363F; }
  .mm__grupo--temp:not(:has(.mm__item:not(.rp-fuera))) { display: none; }
  .mm__lista { display: grid; gap: 2px; }
  .mm__columnas--regalos .mm__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 14px; max-width: 900px; }
  .mm__item { margin: 0; padding: 0; }
  .mm__item.rp-fuera { display: none !important; }
  .mm .mm__tarjeta, .mm .mm__tarjeta:visited { display: grid; grid-template-columns: 92px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 14px; align-items: start; padding: 10px; border-radius: 16px; color: #241307; text-decoration: none; transition: background-color .18s; }
  .mm .mm__tarjeta:hover, .mm .mm__tarjeta:focus-visible { background: #F6E9D8; }
  .mm__foto { position: relative; grid-row: 1 / span 2; display: block; width: 92px; height: 66px; overflow: hidden; border-radius: 12px; background: #F6E9D8; }
  .mm__foto img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
  .mm__tarjeta:hover .mm__foto img { transform: scale(1.06); }
  .mm__tarjeta strong { align-self: end; font-size: 15px; font-weight: 800; line-height: 1.25; }
  .mm__tarjeta:hover strong { color: #D9363F; }
  .mm .mm__sub { display: block; margin-top: 2px; font-size: 13px; line-height: 1.4; color: #6E5544; }
  /* Etiqueta de temporada: al lado del título */
  .mm__sello { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px; vertical-align: 2px; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
  .mm__tarjeta:focus-visible { outline: 3px solid #F2B544; outline-offset: 2px; }

  .mm-padre > a .sub-arrow i, .mm-padre > a .sub-arrow svg { display: inline-block; transition: transform .2s; }
  .mm-padre.is-abierto > a .sub-arrow i, .mm-padre.is-abierto > a .sub-arrow svg { transform: rotate(180deg); }
}
@media (min-width: 1025px) and (max-width: 1200px) {
  .mm__envoltura { grid-template-columns: 190px minmax(0, 1fr); gap: 24px; }
  .mm__columna--grupos { padding-left: 24px; margin-left: -12px; }
}
@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
  .mm, .mm__foto img { transition: none; transform: none; }
}

/* Menú del celular (29-10): una sola lista con miniatura + título, sin el tercer nivel (antes «Čokoládový
   workshop» solo desplegaba Halloween/Advent y su propia página no se podía abrir). */
.mm-movil.rp-fuera { display: none !important; }
.elementor-nav-menu--dropdown .mm-movil-lista a.mm-movil__a { display: flex; align-items: center; gap: 14px; padding-top: 10px; padding-bottom: 10px; white-space: normal; }
.mm-movil__a img { flex: none; width: 48px; height: 48px; border-radius: 12px; object-fit: cover; }
.mm-movil__txt { display: flex; flex-direction: column; gap: 3px; }
.mm-movil__titulo { font-weight: 600; line-height: 1.25; }
.mm-movil__sello { align-self: flex-start; padding: 2px 8px; border-radius: 999px; background: #D9363F; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.elementor-nav-menu--dropdown li.mm-movil-cabeza { list-style: none; margin: 0; padding: 18px 20px 6px 30px !important; border: 0 !important; font: 800 12px/1.3 "Raleway", system-ui, sans-serif !important; letter-spacing: .08em; text-transform: uppercase; color: #A0673E; background: transparent; }
.elementor-nav-menu--dropdown li.mm-movil-cabeza--temp { color: #D9363F; }
.mm-movil-cabeza.rp-fuera { display: none !important; }

/* Sello de los workshops de temporada (29-10): ámbar «Již brzy» (próximamente), verde «Právě probíhá» (ahora).
   Vale para el menú y para las tarjetas de la portada. */
[data-rp-estado] .mm__sello, [data-rp-estado] .mm-movil__sello, [data-rp-estado] .pt-zaz__sello { background: #B8701F; color: #fff; }
[data-rp-estado].is-ahora .mm__sello, [data-rp-estado].is-ahora .mm-movil__sello, [data-rp-estado].is-ahora .pt-zaz__sello { background: #1F7A4D; }
