/* =====================================================================
   Japón Solar · Menú de pantalla completa (celular) · versión 20
   Se abre desde el botón de la barra. Dos niveles: el menú y "Guía Solar"
   (que llega desde la derecha, como stripe.com: arranca desplazado 20 %,
   opacidad .25 s, movimiento .5 s). En escritorio (> 960 px) el mismo panel
   se abre como cajón de 480 px a la derecha (reglas al final de v10.css).
   Colores decididos el 4 de octubre de 2026; el botón de WhatsApp pasó a naranja el 5.
   ===================================================================== */
.mn-panel{
  --mn-papel:#FBFAF7;      /* fondo: el papel del sitio */
  --mn-tinta:#1A1917;      /* texto principal */
  --mn-acento:#9A4420;     /* terracota oscura: flechas, Atrás, X, guías desplegadas */
  --mn-gris:#44413C;       /* texto secundario */
  --mn-linea:#E5E1D9;
  --mn-piedra:#F3F0EA;
  --mn-tinte:#F7E9D5;      /* el naranja del logotipo (#DF9125) al 16 % sobre el papel */
  --mn-suave:#F7E7DD;
  --mn-naranja:#F2A33A;    /* WhatsApp: ámbar, texto tinta (5 de octubre de 2026; antes verde #1F6B4A y, unas horas, el naranja del logo #DF9125) */
  --mn-curva:cubic-bezier(.4,0,.2,1);
  position:fixed;left:0;right:0;bottom:0;top:0;z-index:200;background:var(--mn-papel);color:var(--mn-tinta);
  display:flex;flex-direction:column;overscroll-behavior:contain;
  opacity:0;transform:translateY(-6px);transition:opacity .28s cubic-bezier(.45,.05,.55,.95),transform .28s cubic-bezier(.45,.05,.55,.95)}
.mn-panel[hidden]{display:none}
.mn-panel.mn-visible{opacity:1;transform:none}
html.v10 .mn-panel a{color:inherit;text-decoration:none}

/* ---------- niveles apilados ---------- */
.mn-pila{flex:1 1 auto;position:relative;overflow:hidden}
.mn-nivel{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--mn-papel);
  transform:translateX(20%);opacity:0;visibility:hidden;
  transition:opacity .25s var(--mn-curva),transform .5s var(--mn-curva),visibility 0s linear .5s}
.mn-nivel.mn-activo{transform:none;opacity:1;visibility:visible;transition-delay:0s,0s,0s}
.mn-nivel.mn-detras{transform:translateX(-20%);opacity:0;visibility:hidden;pointer-events:none}
.mn-nivel.mn-saliendo{transform:translateX(80%);opacity:0;visibility:hidden;pointer-events:none}

/* ---------- cabecera de cada nivel ---------- */
.mn-cab{display:flex;align-items:center;justify-content:space-between;height:62px;padding:0 var(--gutter,16px);flex:none}
.mn-cab .logo{display:flex;align-items:center;min-height:44px}
.mn-cab .logo img{height:26px;width:auto;display:block}
.mn-cerrar{width:44px;height:44px;display:grid;place-items:center;background:var(--mn-tinte);border:0;border-radius:10px;color:var(--mn-acento);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .2s}
.mn-cerrar svg{width:22px;height:22px}
.mn-cerrar:active{background:#F0DBB8}
.mn-cerrar:focus:not(:focus-visible){outline:0}
.mn-atras{display:inline-flex;align-items:center;gap:2px;min-height:44px;padding:0 12px 0 0;margin-left:-6px;background:none;border:0;font:inherit;font-size:16px;font-weight:600;color:var(--mn-acento);cursor:pointer;-webkit-tap-highlight-color:transparent}
.mn-atras svg{width:22px;height:22px}
.mn-atras:focus:not(:focus-visible){outline:0}

/* ---------- cuerpo ---------- */
.mn-cuerpo{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px var(--gutter,16px) 20px}
.mn-lista,.mn-items,.mn-acc-lista{list-style:none;margin:0;padding:0}
html.v10 .mn-fila{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;padding:12px 0;background:none;border:0;border-bottom:1px solid var(--mn-linea);
  font-family:var(--sans);font-size:19px;font-weight:600;color:var(--mn-tinta);text-decoration:none;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mn-chev{width:18px;height:18px;color:var(--mn-acento);flex:none}

/* título del nivel + regla con degradado: terracota → naranja del logo → se apaga */
.mn-tit{padding:14px 0 6px}
html.v10 .mn-tit h2{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.1;letter-spacing:-.012em;color:var(--mn-tinta);margin:0 0 12px}
.mn-regla{height:3px;border-radius:2px;background:linear-gradient(90deg,#A84B25 0%,#DF9125 45%,#F3DDB9 100%)}

/* acordeón: categorías y páginas en tinta; guías desplegadas en terracota oscura */
.mn-acordeones>li{list-style:none}
html.v10 .mn-acc{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;padding:12px 0;background:none;border:0;border-bottom:1px solid var(--mn-linea);
  font-family:var(--sans);font-size:19px;font-weight:600;color:var(--mn-tinta);text-align:left;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
html.v10 .mn-acc .mn-chev{width:20px;height:20px;transition:transform .24s cubic-bezier(.45,.05,.55,.95)}
html.v10 .mn-acc[aria-expanded="true"] .mn-chev{transform:rotate(180deg)}
html.v10 .mn-acc[aria-expanded="true"]{border-bottom-color:transparent}
.mn-acc-cuerpo{overflow:hidden;height:0;transition:height .26s cubic-bezier(.45,.05,.55,.95)}
.mn-acc-cuerpo[hidden]{display:none}
.mn-acc-lista{padding:0 0 10px 14px;border-bottom:1px solid var(--mn-linea);border-left:2px solid var(--mn-suave);margin-bottom:2px}
html.v10 .mn-acc-lista a{display:flex;align-items:center;min-height:46px;padding:10px 0;font-size:16px;font-weight:600;color:var(--mn-acento);text-decoration:none;line-height:1.3}
html.v10 .mn-acc-lista li+li a{border-top:1px solid var(--mn-linea)}
html.v10 .mn-acc-lista a:active{color:var(--mn-tinta)}

/* tarjeta "Ver todas las guías" (el único recuadro del menú) */
html.v10 .mn-tarjeta{display:block;margin-top:22px;padding:16px 18px;border:1px solid var(--mn-linea);border-radius:12px;text-decoration:none;color:var(--mn-tinta);background:transparent}
html.v10 .mn-tarjeta b{display:block;font-size:17px;font-weight:600;color:var(--mn-acento);margin-bottom:3px}
html.v10 .mn-tarjeta span{display:block;font-size:14px;line-height:1.4;color:var(--mn-gris)}
html.v10 .mn-tarjeta:active{background:var(--mn-piedra)}

/* ---------- pie: WhatsApp + llamar ---------- */
.mn-pie{flex:none;display:flex;flex-direction:column;gap:10px;padding:12px var(--gutter,16px) max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--mn-linea);background:var(--mn-papel)}
html.v10 .mn-pie .btn{width:100%;justify-content:center;min-height:52px;font-size:17px;font-weight:600;gap:10px;border-radius:999px}
html.v10 .mn-pie .mn-wa,html.v10.boton-a .mn-pie .mn-wa{background:var(--mn-naranja)!important;color:var(--mn-tinta)!important;box-shadow:none}
html.v10 .mn-pie .mn-wa .wa-glifo{background:var(--mn-tinta)!important;color:var(--mn-naranja)}
html.v10 .mn-pie .mn-llamar{background:transparent;color:var(--mn-tinta);box-shadow:inset 0 0 0 1.5px #CFC9BE}
html.v10 .mn-pie .mn-llamar:active{background:var(--mn-piedra)}
.mn-tel-glifo{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--mn-piedra);color:var(--mn-tinta);flex:none}
.mn-tel-glifo svg{width:18px;height:18px}

/* ---------- la página de atrás no hace scroll ---------- */
body.mn-abierto{position:fixed;left:0;right:0;overflow:hidden}

@media (prefers-reduced-motion:reduce){.mn-panel,.mn-panel *{transition:none!important;animation:none!important}}

/* ---------- redes sociales en el pie del menú (opción S1, 5 de octubre de 2026): arriba del botón de WhatsApp ---------- */
.mn-pie .redes-menu{list-style:none;display:flex;justify-content:center;gap:14px;margin:0 0 4px;padding:0}
.mn-pie .redes-menu .red{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid #CFC9BE;color:var(--mn-tinta);background:transparent;-webkit-tap-highlight-color:transparent;transition:background-color .2s}
.mn-pie .redes-menu .red svg{width:20px;height:20px;fill:currentColor}
.mn-pie .redes-menu .red:active,.mn-pie .redes-menu .red:hover{background:var(--mn-piedra)}
