/*
 * Avisos de Awwa Adventures (0.9.3, 31/10/2026): una sola clase para todos los avisos de la web.
 * Texto del mismo tamaño que el texto normal (16 px / 1,65). Se carga en todas las páginas.
 *
 *   .aw-aviso                  recuadro base (naranja = seguridad, por defecto)
 *   .aw-aviso--seguridad       avisos de seguridad de senderos, mar, cierres…
 *   .aw-aviso--info            información práctica (azul): vuelta, horarios, planificación
 *   .aw-aviso--ok / --oferta   confirmaciones, ofertas y novedades (verde)
 *   .aw-aviso--error           errores (rojo)
 *   .aw-aviso--franja          a todo el ancho de la pantalla (aviso de arriba de la guía)
 *
 * Las clases antiguas (.aw-guide__safety, .aw-guide__vuelta, .aw-plan__nota, .aw-unlock__locked)
 * comparten estas reglas mientras quede contenido sin regenerar.
 */
.aw-aviso,
.aw-page .aw-guide__safety,
.aw-page .aw-guide__vuelta,
.aw-plan .aw-plan__nota,
.aw-page .aw-unlock__locked {
	--aw-aviso-fondo: #fff4e5;
	--aw-aviso-borde: #f47c20;
	--aw-aviso-texto: #5c2e00;
	display: block;
	box-sizing: border-box;
	margin: 0 0 24px;
	padding: 16px 20px;
	border: 0;
	border-left: 4px solid var(--aw-aviso-borde);
	border-radius: 12px;
	background: var(--aw-aviso-fondo);
	color: var(--aw-aviso-texto);
	font-size: 16px;
	line-height: 1.65;
	text-align: left;
}
.aw-aviso p,
.aw-page .aw-guide__safety p,
.aw-page .aw-guide__vuelta p {
	margin: 0 0 .6em;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
.aw-aviso p:last-child,
.aw-aviso > :last-child,
.aw-aviso .wp-block-group__inner-container > :last-child,
.aw-page .aw-guide__safety p:last-child { margin-bottom: 0; }
.aw-aviso a,
.aw-page .aw-guide__safety a { color: inherit; font-weight: 600; text-decoration: underline; }
.aw-aviso:has(> .aw-ico) { display: flex; gap: 12px; align-items: flex-start; } /* con icono: icono a la izquierda */
.aw-aviso[hidden] { display: none !important; } /* un aviso cerrado no deja hueco (flex anulaba hidden) */
.aw-aviso > .aw-ico { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 2px; fill: none; stroke: var(--aw-aviso-borde); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.aw-aviso--info,
.aw-page .aw-guide__vuelta,
.aw-plan .aw-plan__nota { --aw-aviso-fondo: #e6f4fb; --aw-aviso-borde: #1e9bd7; --aw-aviso-texto: #0f3d55; }
.aw-aviso--ok,
.aw-aviso--oferta { --aw-aviso-fondo: #f3f8e3; --aw-aviso-borde: #a6cf1f; --aw-aviso-texto: #2f4300; }
.aw-aviso--error { --aw-aviso-fondo: #fdecec; --aw-aviso-borde: #d93025; --aw-aviso-texto: #7a1410; }

/* Franja: el fondo sale hasta los bordes de la pantalla; el texto queda alineado con el contenido */
.aw-aviso--franja {
	display: flex;
	gap: 12px;
	align-items: center;
	margin: 0 0 32px;
	padding: 16px 48px 16px 0;
	border-left: 0;
	border-radius: 0;
	box-shadow: 0 0 0 100vmax var(--aw-aviso-fondo);
	clip-path: inset(0 -100vmax);
}

/* El aviso de guía bloqueada estaba centrado y más pequeño: ahora como los demás */
.aw-page .aw-unlock__locked { max-width: 460px; margin: 0 auto 18px; --aw-aviso-fondo: #fff; --aw-aviso-borde: #e6e0d2; --aw-aviso-texto: #23232c; }

/* ---------- Notificaciones (0.9.3): campana y ventana flotante (app y cabecera de la web; lista completa en app.css) ---------- */
.awg-notif { position: relative; margin-left: auto; }
.awg-notif__btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #111; cursor: pointer; }
.awg-notif__btn:hover, .awg-notif.is-open .awg-notif__btn { background: #f1efe8; }
.awg-notif__btn .aw-ico { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.awg-notif__badge { position: absolute; top: 4px; right: 3px; min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border: 2px solid #fff; border-radius: 999px; background: #f47c20; color: #fff; font-size: 11px; font-weight: 700; line-height: 14px; text-align: center; }
.awg-notif__badge[hidden] { display: none; }
.awg-notif.has-new .awg-notif__btn .aw-ico { animation: awg-campana 1s ease 1; transform-origin: 50% 10%; }
@keyframes awg-campana { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(14deg); } 40% { transform: rotate(-12deg); } 60% { transform: rotate(8deg); } 80% { transform: rotate(-4deg); } }

.awg-notif__panel { position: absolute; top: calc(100% + 10px); right: -6px; z-index: 70; width: min(380px, calc(100vw - 24px)); padding: 8px; box-sizing: border-box; border-radius: 16px; background: #fff; box-shadow: 0 16px 40px rgba(17, 17, 17, .18); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s, transform .18s, visibility .18s; text-align: left; }
.awg-notif.is-open .awg-notif__panel { opacity: 1; visibility: visible; transform: none; }
.awg-notif__head { margin: 6px 10px 8px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #6b7280; }
.awg-notif__list { margin: 0; padding: 0; list-style: none; }
.awg-notif__item a { display: flex; gap: 12px; padding: 12px 10px; border-radius: 12px; color: #23232c; text-decoration: none; }
.awg-notif__item a:hover { background: #f6f5f0; }
.awg-notif__item.is-new a { background: #fff8ef; }
.awg-notif__item.is-new strong::after { content: ""; display: inline-block; width: 8px; height: 8px; margin-left: 6px; border-radius: 50%; background: #f47c20; vertical-align: 2px; }
.awg-notif__ico { flex: 0 0 36px; display: flex; align-items: center; justify-content: center; height: 36px; border-radius: 50%; background: #fff4e5; }
.awg-notif__item--oferta .awg-notif__ico, .awg-notif__item--novedad .awg-notif__ico { background: #f3f8e3; }
.awg-notif__ico .aw-ico { width: 18px; height: 18px; fill: none; stroke: #f47c20; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.awg-notif__item--oferta .aw-ico, .awg-notif__item--novedad .aw-ico { stroke: #5b7a00; }
.awg-notif__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.awg-notif__txt strong { font-size: 15px; line-height: 1.35; }
.awg-notif__resumen { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.45; color: #4b5563; }
.awg-notif__txt time { font-size: 12px; color: #6b7280; }
.awg-notif__empty { margin: 0; padding: 14px 10px; font-size: 15px; color: #6b7280; }
.awg-notif__all { display: flex; justify-content: space-between; margin-top: 6px; padding: 14px 12px; border-top: 1px solid #eee9dc; color: #111; font-size: 15px; font-weight: 600; text-decoration: none; }
.awg-notif__all:hover { background: #f6f5f0; border-radius: 0 0 10px 10px; }

@media (max-width: 782px) {
	.awg-notif { margin-right: -6px; }
	.awg-notif__panel { position: fixed; top: 64px; right: 12px; left: 12px; width: auto; }
}

/* Web pública: campana entre los iconos de la cabecera del tema (assets/notif-web.js) */
.header-icon .menu-item-notif { position: relative; }
.awg-notif--web { margin: 0; display: inline-flex; vertical-align: middle; }
.awg-notif--web .awg-notif__btn { width: 38px; height: 38px; }
.awg-notif--web .awg-notif__btn .aw-ico { width: 22px; height: 22px; }
.awg-notif--web .awg-notif__panel { z-index: 1000; }
.awg-notif--web .awg-notif__item a, .awg-notif--web .awg-notif__all { line-height: 1.4; }
.header-icon > .awg-notif--web { margin-right: 8px; }
@media (max-width: 1199px) {
	/* móvil y tableta: campana y carrito en la misma línea */
	.header-icon:has(> .awg-notif--web) { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
	.header-icon > .awg-notif--web { margin-right: 0; }
	.awg-notif--web .awg-notif__panel { position: fixed; right: 12px; left: 12px; width: auto; } /* top: lo pone notif-web.js, bajo la campana */
}
