/* Piezas comunes de la página principal en los 4 diseños: aviso, menú móvil, accesos y detalles de accesibilidad */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[hidden]{display:none!important}
section[id],footer[id]{scroll-margin-top:96px}
img{max-width:100%}
.rn-sin-cand svg{display:none}
[data-rn-ir]{cursor:pointer}
a.mas{text-decoration:none}
.rnt-vacio{opacity:.55}
button:disabled[data-rn-mes]{opacity:.35;cursor:default}
.rnt-saltar{position:absolute;left:-999px;top:8px;z-index:6000;background:#111;color:#fff;padding:10px 16px;border-radius:10px;font:600 15px/1.2 system-ui,Arial,sans-serif;text-decoration:none}
.rnt-saltar:focus{left:8px}
.rnt-sin-scroll{overflow:hidden}

.rnt-toasts{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:4500;display:flex;flex-direction:column;gap:8px;align-items:center;width:max-content;max-width:calc(100vw - 24px);pointer-events:none}
.rnt-toast{pointer-events:auto;display:flex;align-items:center;gap:14px;background:var(--rnt-bg,#222);color:var(--rnt-fg,#fff);font:500 15px/1.35 var(--rnt-fx,system-ui,Arial,sans-serif);padding:12px 16px;border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.32);animation:rntSube .28s ease-out both}
.rnt-toast b{font-weight:700;color:#fff}
.rnt-toast a{flex:none;color:var(--rnt-ac,#ffd58a);font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.rnt-toast.rnt-fuera{opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
@keyframes rntSube{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.rnt-menu{position:fixed;inset:0;z-index:5200;background:var(--rnt-bg,#222);color:var(--rnt-fg,#fff);display:flex;flex-direction:column;padding:18px 22px calc(26px + env(safe-area-inset-bottom,0px));transform:translateY(-102%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s .32s;overflow-y:auto}
.rnt-menu.rnt-abierto{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.rnt-menu-cab{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.rnt-menu-cab img{height:74px;width:auto}
.rnt-menu-x{width:52px;height:52px;border-radius:50%;border:1.5px solid currentColor;background:transparent;color:inherit;font-size:30px;line-height:1;cursor:pointer;opacity:.85;margin-left:auto}
.rnt-menu nav{display:flex;flex-direction:column}
.rnt-menu nav a{display:flex;align-items:center;min-height:58px;color:inherit;text-decoration:none;font:500 26px/1.15 var(--rnt-ft,Georgia,serif);border-bottom:1px solid rgba(255,255,255,.14)}
.rnt-menu nav a:hover,.rnt-menu nav a:focus-visible{color:var(--rnt-ac,#ffd58a)}
@media (prefers-reduced-motion:reduce){.rnt-menu,.rnt-toast{transition:none;animation:none}}

/* «Mi lista» flotante con latido (aparece al elegir el primer producto) y contador del encabezado */
@keyframes rntLatido{0%,100%{transform:scale(1)}8%{transform:scale(1.09)}16%{transform:scale(1)}24%{transform:scale(1.06)}34%{transform:scale(1)}}
@keyframes rntOnda{0%{box-shadow:0 0 0 0 var(--rnt-ac,#f7a531),0 12px 30px rgba(0,0,0,.3)}34%,100%{box-shadow:0 0 0 18px transparent,0 12px 30px rgba(0,0,0,.3)}}
.rnt-flota{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:4400;display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 20px 0 18px;border-radius:999px;background:var(--rnt-bg,#222);color:var(--rnt-fg,#fff);font:700 16px/1 var(--rnt-fx,system-ui,Arial,sans-serif);text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.3);animation:rntLatido 1.9s ease-in-out infinite,rntOnda 1.9s ease-out infinite}
.rnt-flota b{min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:var(--rnt-ac,#f7a531);color:var(--rnt-bg,#222);display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.rnt-flota:hover,.rnt-flota:focus-visible{animation-play-state:paused;color:var(--rnt-fg,#fff)}
.rnt-flota:focus-visible{outline:3px solid var(--rnt-ac,#f7a531);outline-offset:3px}
[data-rn-carrito].rnt-con{animation:rntLatido 1.9s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.rnt-flota,[data-rn-carrito].rnt-con{animation:none}}

/* Botón destacado «Ordenar almuerzo» (solo en el horario del almuerzo) */
.rnt-almuerzo{position:fixed;left:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:4400;display:inline-flex;align-items:center;gap:12px;min-height:60px;padding:8px 22px 8px 16px;border-radius:999px;background:var(--rnt-ac,#f7a531);color:var(--rnt-bg,#222);text-decoration:none;font-family:var(--rnt-fx,system-ui,Arial,sans-serif);box-shadow:0 0 0 4px rgba(255,255,255,.55),0 14px 34px rgba(0,0,0,.34)}
.rnt-almuerzo span{display:flex;flex-direction:column;line-height:1.15}
.rnt-almuerzo b{font-size:17px;font-weight:800}
.rnt-almuerzo small{font-size:13px;font-weight:600;opacity:.85}
.rnt-almuerzo:hover{color:var(--rnt-bg,#222);transform:translateY(-2px)}
.rnt-almuerzo:focus-visible{outline:3px solid var(--rnt-bg,#222);outline-offset:3px}
@media (max-width:560px){
  .rnt-almuerzo{left:12px;min-height:54px;padding:6px 16px 6px 12px;gap:9px}.rnt-almuerzo b{font-size:15.5px}.rnt-almuerzo small{font-size:12px}
  .rnt-con-almuerzo .rnt-flota{right:12px;padding:0 14px}.rnt-con-almuerzo .rnt-flota span{display:none}
  .rnt-con-almuerzo .rnt-toasts{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}

/* Aviso para entrar o registrarse al elegir la fecha del evento */
.rnt-dlg{position:fixed;inset:0;z-index:5300;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(20,8,12,.62)}
.rnt-dlg.rnt-abierto{display:flex}
.rnt-dlg-c{position:relative;width:100%;max-width:440px;background:#fff;color:#2b1218;border-radius:20px;padding:30px 28px 22px;box-shadow:0 24px 70px rgba(0,0,0,.4);font:400 16px/1.5 var(--rnt-fx,system-ui,Arial,sans-serif);text-align:left;animation:rntSube .22s ease-out both}
.rnt-dlg-c h2{font:600 25px/1.2 var(--rnt-ft,Georgia,serif);margin:0 0 10px;color:#2b1218;letter-spacing:0;text-transform:none}
.rnt-dlg-c p{margin:0 0 20px;color:#5d4c48}
.rnt-dlg-c .rnt-dlg-f{display:inline-block;margin:0 34px 14px 0;padding:5px 12px;border-radius:999px;background:#f4ebdd;color:#2b1218;font-weight:700;font-size:14.5px}
.rnt-dlg-b{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rnt-dlg-b a{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:12px;font-weight:700;font-size:16.5px;text-decoration:none;text-align:center;padding:0 10px}
.rnt-dlg-1{background:var(--rnt-bg,#3b0a18);color:var(--rnt-fg,#fff)}
.rnt-dlg-2{background:#fff;color:#2b1218;box-shadow:inset 0 0 0 2px #2b1218}
.rnt-dlg-b a:focus-visible,.rnt-dlg-x:focus-visible,.rnt-dlg-s:focus-visible{outline:3px solid var(--rnt-ac,#f7a531);outline-offset:2px}
.rnt-dlg-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#5d4c48;font-size:28px;line-height:1;cursor:pointer}
.rnt-dlg-s{display:block;width:100%;margin-top:12px;min-height:44px;border:0;background:transparent;color:#5d4c48;font:600 15px var(--rnt-fx,system-ui,Arial,sans-serif);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (max-width:420px){.rnt-dlg-b{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.rnt-dlg-c{animation:none}.rnt-almuerzo:hover{transform:none}}
