/*
Theme Name: LotoNavidad
Theme URI: https://lotonavidad.es/
Author: La Lotera
Description: Tema de bloques para lotonavidad: misma estructura que LotoReducidas (barra +18, cabecera con menú desplegable y botón "Jugar en La Lotera", pie con datos del despacho). Pensado para usarse con el plugin "LotoNavidad · Comprobador, buscador e histórico".
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.9.0
License: GPL-2.0-or-later
Text Domain: lotonavidad
*/

/* Barra superior */
.ln-topbar { font-size: .85rem; }
.ln-topbar a { color: inherit; }
.ln-18 { display: inline-grid; place-items: center; min-width: 2.2em; height: 1.6em; border-radius: 4px; border: 1.5px solid currentColor; font-weight: 800; font-size: .78rem; margin-right: .5em; }

/* ===== Cabecera (mismo estilo que LotoReducidas) ===== */
.ln-header { position: sticky; top: 0; z-index: 50; backdrop-filter: saturate(1.2) blur(8px); }
.ln-header .wp-block-navigation__submenu-container { border-radius: 12px; border: 1px solid var(--wp--preset--color--line) !important; box-shadow: 0 10px 30px rgba(0,0,0,.08); padding: 6px; min-width: 230px !important; }
.ln-header .wp-block-navigation__submenu-container a { padding: .5em .8em !important; border-radius: 8px; }
.ln-header .wp-block-navigation__submenu-container a:hover { background: var(--wp--preset--color--soft); }
.ln-header .wp-block-navigation-item__content { font-weight: 600; color: var(--wp--preset--color--dark); }
.ln-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary-strong); }

/* Portada: franja azul de Lotería Nacional */
.ln-hero-lnac { position: relative; overflow: hidden; background-image: radial-gradient(900px 320px at 100% 0%, rgba(255,255,255,.14), transparent 70%); }
.ln-hero-lnac::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--wp--preset--color--primary); }
.ln-hero-lnac .wp-block-post-title { color: #fff; margin: 0 0 .3em; }
.ln-hero-lnac__logo img { width: 100%; max-width: 320px; height: auto; margin-left: auto; display: block; }
@media (max-width: 781px) { .ln-hero-lnac__logo img { max-width: 220px; margin: 0; } }
.ln-hero { background: var(--wp--preset--color--background); }
.ln-hero-cols { align-items: flex-start !important; }

/* Pie */
.ln-footer a { color: inherit; text-decoration: none; }
.ln-footer a:hover { text-decoration: underline; }
.ln-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .45em; }

:where(.wp-site-blocks) :focus-visible { outline: 3px solid var(--wp--preset--color--primary); outline-offset: 2px; }
.ln-footer h1, .ln-footer h2, .ln-footer h3, .ln-footer .wp-block-site-title a { color: #fff; }

/* --- Cabecera: valores de LotoReducidas (theme.json + estilos del tema) --- */
.ln-header { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 300; letter-spacing: -0.1px; line-height: 1.55; }
.ln-header .ln-brand, .ln-footer .ln-brand { margin: 0; color: var(--wp--preset--color--dark); font-size: clamp(0.929rem, 0.929rem + ((1vw - 0.2rem) * 0.856), 1.4rem); font-weight: 800; letter-spacing: -.5px; white-space: nowrap; }
.ln-header .ln-brand a, .ln-footer .ln-brand a { text-decoration: none; color: inherit; }
.ln-header .ln-brand a:hover, .ln-footer .ln-brand a:hover { text-decoration: underline; }
.ln-header .wp-block-navigation { font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.227), 1rem); }
.ln-header .wp-block-navigation a { color: var(--wp--preset--color--dark); text-decoration: none; }
.ln-header .wp-block-navigation a:hover { text-decoration: underline; }
.ln-header .wp-block-navigation-item__content { font-weight: 700; color: var(--wp--preset--color--dark); }
.ln-header .wp-block-navigation__submenu-container { font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.227), 1rem); }
.ln-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-weight: 400; }
.ln-cta .wp-block-button__link { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--dark); border-radius: 4px; border: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.136), 0.95rem); font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; padding: .8rem 1.4rem; text-decoration: none; }
.ln-cta .wp-block-button__link:hover { background: var(--wp--preset--color--primary-light); color: var(--wp--preset--color--dark); }
.ln-search { font-size: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.227), 1.125rem); }
.ln-search .wp-block-search__button { background: transparent !important; color: var(--wp--preset--color--dark) !important; border: 0; padding: 6px; margin: 0; }
@media (max-width: 781px) { .ln-search { display: none; } }

/* --- Pie: valores de LotoReducidas --- */
.ln-footer { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 300; letter-spacing: -0.1px; line-height: 1.55; }
.ln-footer .ln-brand { color: #fff; margin-bottom: 1rem; }
.ln-footer .has-small-font-size { font-size: 0.875rem !important; }
.ln-footer .has-medium-font-size { font-size: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.227), 1.125rem) !important; }
.ln-footer h3 { color: #fff; font-weight: 700; letter-spacing: -0.01em; line-height: 1.15; margin: 0 0 .75rem; }
.ln-footer p { color: #fff; }
.ln-footer ul { list-style: none; padding: 0; margin: 0; display: block; }
.ln-footer ul li { margin-top: 0.5rem; }
.ln-footer a { color: #fff; text-decoration: none; }
.ln-footer a:hover { text-decoration: underline; }
.ln-footer .wp-block-columns { gap: clamp(30px, 5vw, 50px); }
.ln-footer .wp-block-separator { border: 0; border-bottom: 1px solid var(--wp--preset--color--muted); background: var(--wp--preset--color--muted); opacity: 1; margin: 2rem 0 1rem; height: 1px; }
.ln-footer .ln-18 { background: #D32F2F; border-color: #D32F2F; color: #fff; border-radius: 3px; }

/* Blog (1.7.0) */
/* Tarjetas del blog (mismo formato que lotoreducidas) */
.ln-blog-card { height: 100%; gap: 0; padding: 0 0 22px; border: 1px solid var(--wp--preset--color--line); border-radius: 12px; background: #fff; overflow: hidden; transition: box-shadow .2s ease, transform .2s ease; }
.ln-blog-card:hover { box-shadow: 0 6px 22px rgba(0,0,0,.08); transform: translateY(-2px); }
.ln-blog-card > * { width: 100%; margin: 0 !important; padding-left: 22px; padding-right: 22px; box-sizing: border-box; }
.ln-blog-card > .ln-blog-card__img { padding: 0; }
.ln-blog-card__img img { display: block; width: 100%; height: auto; aspect-ratio: 40/21; object-fit: cover; }
.ln-blog-card__cat { margin-top: 16px !important; font-size: .75rem; }
.ln-blog-card__cat a, .ln-post-cat a { font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: .75rem; color: var(--wp--preset--color--lnac); text-decoration: none; }
.ln-blog-card .ln-blog-card__tit { margin-top: 6px !important; font-size: 1.25rem; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.ln-blog-card .ln-blog-card__tit a { text-decoration: none; color: var(--wp--preset--color--dark); }
.ln-blog-card .ln-blog-card__tit a:hover { text-decoration: underline; }
.ln-blog-card .ln-blog-card__desc { margin-top: 10px !important; font-size: 1rem; line-height: 1.55; color: var(--wp--preset--color--muted); }
.ln-blog-card .ln-blog-card__desc p { margin: 0; }
.ln-post-meta { color: var(--wp--preset--color--muted); }
.ln-post-meta { gap: .3em; margin-bottom: 1.5rem; }
.ln-post-meta p { margin: 0; }
.ln-lead { font-size: 1.15rem; color: var(--wp--preset--color--muted); max-width: 760px; }

/* =====================================================================
   Cabecera y pie idénticos a LotoReducidas (tamaños, tipografía y
   comportamiento); se mantienen colores y logo de LotoNavidad.
   ===================================================================== */

/* ---------- Cabecera fija: se fija el envoltorio de la plantilla ---------- */
.ln-header { position: static; backdrop-filter: none; }
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 40; }
body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.ln-header {
	background: rgb(255 255 255 / 0.97);
	border-bottom: 3px solid var(--wp--preset--color--primary);
	box-shadow: 0 2px 12px rgb(57 46 44 / 0.06);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 300;
	letter-spacing: -0.1px;
	line-height: 1.55;
}
.ln-header__fila { gap: 1.25rem; }
.ln-header .wp-block-navigation { flex: 1 1 auto; justify-content: flex-end; }
.ln-header .ln-acciones { margin-left: auto; }
.ln-header .ln-brand { font-size: clamp(0.929rem, 0.929rem + ((1vw - 0.2rem) * 0.856), 1.4rem); font-weight: 800; letter-spacing: -.5px; line-height: 1.55; }

/* Navegación multinivel */
.ln-header .wp-block-navigation { font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.227), 1rem); }
.ln-header .wp-block-navigation .wp-block-navigation-item__content { font-weight: 600; padding-block: 0.5rem; color: var(--wp--preset--color--dark); text-decoration: none; }
.ln-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--dark); text-decoration: underline; }
.ln-header .wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 15rem !important;
	width: max-content;
	padding: 0.5rem;
	border: 1px solid #E6E6E6 !important;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgb(57 46 44 / 0.14);
}
.ln-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	white-space: nowrap;
	font-weight: 400;
	padding: 0.5rem 0.75rem !important;
	border-radius: 4px;
}
.ln-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: #E0F2F2; text-decoration: none; }

/* Botón «Jugar en La Lotera»: el de LotoReducidas */
.ln-header .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--dark);
	border-radius: 4px;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.136), 0.95rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	padding: 0.8rem 1.4rem;
	min-height: 44px;
	white-space: nowrap;
}
.ln-header .wp-block-button__link:hover { background: var(--wp--preset--color--primary-light); color: var(--wp--preset--color--dark); }

/* Buscador: solo la lupa; se despliega al pulsarla */
.ln-header .wp-block-search__input { min-height: 44px; font-size: 16px; border-radius: 4px; padding-inline: 0.75rem; }
.ln-header .wp-block-search__button { border-radius: 4px; }
.ln-header .wp-block-search__inside-wrapper { border-radius: 6px; }
.ln-header .wp-block-search__button-only .wp-block-search__button { min-width: 44px; min-height: 44px; background: transparent; color: var(--wp--preset--color--dark); }
.ln-header .wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__button { background: var(--wp--preset--color--primary); }
.ln-header .wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__input { flex: 0 0 260px; width: 260px; }
.ln-header:has(.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .wp-block-navigation { display: none; }

/* Menú en una sola línea en escritorio */
@media (min-width: 1181px) {
	.ln-header .wp-block-navigation__container { flex-wrap: nowrap; white-space: nowrap; gap: 1.2rem; }
}
@media (min-width: 1181px) and (max-width: 1360px) {
	.ln-header .wp-block-navigation__container { gap: 0.85rem; }
	.ln-header .wp-block-navigation .wp-block-navigation-item__content { font-size: 0.95rem; }
	.ln-header .wp-block-button__link { padding-left: 1.1rem !important; padding-right: 1.1rem !important; }
}
/* Portátiles y tabletas: el menú pasa a hamburguesa antes de amontonarse */
@media (max-width: 1180px) {
	.ln-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.ln-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.ln-header .wp-block-navigation { order: 3; flex: 0 0 auto; }
}
/* Móvil */
@media (max-width: 781px) {
	.ln-header .wp-block-search { display: none; }
	.ln-header .wp-block-button__link { padding: 0.55rem 0.75rem; font-size: 0.72rem; min-height: 44px; display: inline-flex; align-items: center; }
	.ln-header .ln-brand { font-size: 1.15rem; }
	.ln-header .wp-block-site-logo img { width: 32px !important; height: auto; }
}
/* Menú móvil a pantalla completa: alineado a la izquierda y sin cajas */
.ln-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem; }
.ln-header .is-menu-open .wp-block-navigation__responsive-container-content,
.ln-header .is-menu-open .wp-block-navigation__container,
.ln-header .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.ln-header .is-menu-open .wp-block-navigation__container { gap: 0.25rem; width: 100%; }
.ln-header .is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; }
.ln-header .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 0 0 0.75rem 1rem !important; width: auto; }
.ln-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: normal; font-size: 1rem; padding-block: 0.4rem !important; color: var(--wp--preset--color--muted); }

/* ---------- Pie ---------- */
.ln-footer { margin-top: 4rem !important; padding-top: 3rem !important; padding-bottom: 2rem !important; background: var(--wp--preset--color--dark) !important; color: #fff; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 300; letter-spacing: -0.1px; line-height: 1.55; font-size: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.455), 1.375rem); }
.ln-footer .ln-brand { font-size: clamp(0.929rem, 0.929rem + ((1vw - 0.2rem) * 0.856), 1.4rem); font-weight: 800; letter-spacing: -.5px; color: #fff; margin: 0 0 1.2rem; }
.ln-footer .ln-brand a { color: #fff; }
.ln-footer .wp-block-columns { gap: clamp(30px, 5vw, 50px); margin-bottom: 1.75em; }
.ln-footer .has-small-font-size, .ln-footer ul { font-size: 0.875rem !important; }
.ln-footer .wp-block-column > * + * { margin-top: 1.2rem; }
.ln-footer h3, .ln-footer .has-medium-font-size { font-size: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.227), 1.125rem) !important; font-weight: 700; letter-spacing: -0.01em; line-height: 1.15; color: #fff; margin: 0; }
.ln-footer ul { list-style: none; padding-left: 0; margin: 1.2rem 0 0; display: block; }
.ln-footer ul li { margin-block: 0.35rem; margin-top: 0.5rem; }
.ln-footer a { color: inherit; text-decoration: none; }
.ln-footer a:hover { text-decoration: underline; }
.ln-footer .wp-block-separator { border: 0; border-top: 1px solid #575756; background: #575756; height: 1px; opacity: 1; margin: 1.2rem 0; max-width: none; }
.ln-footer .ln-18 { display: inline-block; margin-right: 0.5rem; padding: 0 0.375rem; border-radius: 3px; background: #D32F2F; color: #fff; font-weight: 700; }
@media (max-width: 1100px) {
	.ln-footer .wp-block-columns { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 1.25rem; }
	.ln-footer .wp-block-column { flex-basis: auto !important; margin: 0 !important; }
	.ln-footer .wp-block-column:first-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.ln-footer .wp-block-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
