/* Gimocus — detalles que theme.json no cubre */

::selection { background: #A8ED15; color: #000; }

:where(a, button, input, summary):focus-visible { outline: 2px solid #FFEA00; outline-offset: 3px; }

/* Textura grunge: grano + líneas, fija, encima de todo y sin capturar clics */
body { position: relative; }
body::before,
body::after {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 9999;
}
body::before {
	opacity: .11;
	mix-blend-mode: screen;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' seed='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.4 -.55'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
body::after {
	opacity: .05;
	background: repeating-linear-gradient(0deg, rgba(255,255,255,.5) 0 1px, transparent 1px 3px);
}
.editor-styles-wrapper::before, .editor-styles-wrapper::after { display: none; }

/* Encabezado */
.gm-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(0,0,0,.92);
	backdrop-filter: blur(6px);
	border-bottom: 2px solid #4A4A4A;
}
.admin-bar .gm-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .gm-header { top: 0; position: relative; } }
.gm-header .wp-block-site-title a:hover { color: #FFEA00; }
.gm-header .wp-block-navigation__responsive-container.is-menu-open {
	background: #000 !important;
	color: #fff !important;
	padding: 1.5rem;
}
.gm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; }

/* Botones */
.wp-block-button.is-style-rosa .wp-block-button__link { background: #FB01CD; color: #000; }
.wp-block-button.is-style-rosa .wp-block-button__link:hover { background: #FFEA00; }
.wp-block-button.is-style-contorno-lima .wp-block-button__link { background: transparent; color: #A8ED15; box-shadow: inset 0 0 0 2px #A8ED15; }
.wp-block-button.is-style-contorno-lima .wp-block-button__link:hover { background: #A8ED15; color: #000; }
.wp-block-button__link { transition: transform .12s ease, background-color .12s ease; }
.wp-block-button__link:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 #FB01CD; }
.wp-block-button.is-style-contorno-lima .wp-block-button__link:hover { box-shadow: inset 0 0 0 2px #A8ED15, 4px 4px 0 #FB01CD; }

/* Títulos con sombra corrida rosa */
.is-style-sombra-rosa { text-shadow: .06em .06em 0 #FB01CD; }

/* Etiqueta chica en amarillo */
p.is-style-etiqueta {
	color: #FFEA00;
	font-size: .8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	margin-bottom: .25rem;
}

/* Tarjetas */
.is-style-tarjeta {
	border: 2px solid #4A4A4A;
	background: #0B0B0A;
	padding: 1.25rem;
	transition: border-color .15s ease, transform .15s ease;
}
.is-style-tarjeta:hover { border-color: #A8ED15; }
.wp-block-post-template .is-style-tarjeta { height: 100%; }
.is-style-tarjeta .wp-block-post-featured-image { margin: -1.25rem -1.25rem 1rem; }
.is-style-tarjeta .wp-block-post-featured-image img { aspect-ratio: 16/9; object-fit: cover; width: 100%; filter: saturate(.85); }
.is-style-tarjeta:hover .wp-block-post-featured-image img { filter: none; }

/* Placa rosa: texto negro sobre rosa (regla de contraste de la paleta 3) */
.is-style-placa-rosa { background: #FB01CD; color: #000; padding: clamp(1.5rem, 4vw, 3rem); }
.is-style-placa-rosa :where(h1, h2, h3, h4, a) { color: #000; }
.is-style-placa-rosa .wp-block-button__link { background: #000; color: #A8ED15; }
.is-style-placa-rosa .wp-block-button__link:hover { background: #000; color: #FFEA00; box-shadow: 4px 4px 0 #FFEA00; }

/* Video del artículo: marco fijo */
.gm-video .wp-block-embed__wrapper,
.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper { border: 2px solid #4A4A4A; background: #0B0B0A; }

/* Resumen del artículo: la pregunta y la respuesta */
.gm-resumen { border-left: 6px solid #A8ED15; padding-left: 1.25rem; }

/* Fuentes del artículo */
.gm-fuentes { font-size: .8125rem; color: #9A9A9A; }
.gm-fuentes a { color: #9A9A9A; }
.gm-fuentes a:hover { color: #90F5EC; }
.gm-fuentes ol { padding-left: 1.5em; }

/* Paginación */
.wp-block-query-pagination { font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .8125rem; }
.wp-block-query-pagination .page-numbers.current { color: #000; background: #A8ED15; padding: 0 .5em; }

/* Formularios */
input[type="text"], input[type="email"], input[type="search"], textarea {
	background: #0B0B0A; color: #fff; border: 2px solid #4A4A4A; border-radius: 0;
	font: inherit; padding: .7em .9em;
}
input:focus, textarea:focus { border-color: #A8ED15; outline: none; }
.wp-block-search__button { background: #A8ED15; color: #000; border: 0; border-radius: 0; font-weight: 700; text-transform: uppercase; }

/* Pie */
.gm-footer { border-top: 2px solid #4A4A4A; }
.gm-footer a { color: #9A9A9A; text-decoration: none; }
.gm-footer a:hover { color: #A8ED15; }

@media (prefers-reduced-motion: reduce) {
	.wp-block-button__link, .is-style-tarjeta { transition: none; }
	.wp-block-button__link:hover { transform: none; }
}

.gm-lista-limpia { list-style: none; }

/* Portada */
.gm-hero { border-bottom: 2px solid #4A4A4A; }
.gm-hero h1, .has-titanico-font-size { line-height: 1.08; }

.gm-footer { margin-top: clamp(3rem, 8vw, 6rem) !important; }

/* Miniatura tomada de YouTube: hqdefault es 4:3 con bandas negras, se recorta a 16:9 */
.gm-mini-yt { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; }

/* ---------- Assets del juego ---------- */

/* Limoneda que gira (lado A y lado B) */
.gm-moneda { perspective: 1200px; width: min(100%, 360px); margin-inline: auto; animation: gm-flota 5s ease-in-out infinite; }
.gm-moneda__giro { position: relative; aspect-ratio: 1; transform-style: preserve-3d; animation: gm-gira 7s cubic-bezier(.6,0,.4,1) infinite; }
.gm-moneda__cara { position: absolute; inset: 0; width: 100%; height: 100%; backface-visibility: hidden; border-radius: 50%; filter: drop-shadow(0 18px 30px rgba(168,237,21,.25)); }
.gm-moneda__b { transform: rotateY(180deg); }
@keyframes gm-gira { 0%, 30% { transform: rotateY(0); } 50%, 80% { transform: rotateY(180deg); } 100% { transform: rotateY(360deg); } }
@keyframes gm-flota { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* Bloque de Limorama con capturas */
.gm-limorama { overflow: hidden; }
.gm-limorama__portada { position: relative; margin: 0; }
.gm-limorama__portada img { display: block; width: 100%; aspect-ratio: 1040/565; object-fit: cover; }
.gm-limorama__portada figcaption,
.gm-captura figcaption { margin: 0; }
.gm-limorama__portada figcaption {
	position: absolute; left: clamp(1rem, 3vw, 2rem); bottom: clamp(1rem, 3vw, 2rem);
	background: #A8ED15; color: #000; font-weight: 700; font-size: .8125rem;
	text-transform: uppercase; letter-spacing: .12em; padding: .45em .8em; box-shadow: 4px 4px 0 #FB01CD;
}
.gm-captura img { display: block; width: 100%; border: 2px solid #4A4A4A; }
.gm-captura a:hover img { border-color: #A8ED15; }
.gm-captura figcaption { color: #FFEA00; font-size: .8125rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; margin-top: .6rem; }

/* Sprites del parque: pixel art nítido */
.gm-pixel img, .gm-tira img { image-rendering: pixelated; }

/* Pasos de Canjear */
.gm-paso-num { font-family: var(--wp--preset--font-family--display); font-weight: 900; font-size: 4rem; line-height: 1; color: #FB01CD; margin: 0; }
.gm-canje-final { gap: 1.5rem; }
.gm-canje-final .wp-block-image { margin: 0; }

/* Tira del parque arriba del pie */
.gm-tira {
	display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem;
	max-width: 1200px; margin: clamp(3rem, 8vw, 6rem) auto 0; padding: 0 var(--wp--preset--spacing--30);
	overflow: hidden; height: 120px;
}
.gm-tira img { height: auto; flex: 0 0 auto; width: auto; max-height: 100%; }
.gm-tira__farol { height: 96px !important; }
.gm-tira__tacho { height: 36px !important; }
.gm-tira__banco { height: 44px !important; }
.gm-tira__arbusto { height: 48px !important; }
.gm-tira__boleteria { height: 120px !important; }
@media (max-width: 700px) { .gm-tira img:nth-child(n+6) { display: none; } .gm-tira { height: 90px; } .gm-tira__boleteria { height: 90px !important; } }
.gm-tira + .gm-footer, .gm-tira ~ .gm-footer { margin-top: 0 !important; }

@media (prefers-reduced-motion: reduce) {
	.gm-moneda, .gm-moneda__giro { animation: none; }
}
.gm-limorama__portada, .gm-limorama__portada a { display: block; width: 100%; }
.gm-limorama__portada img { width: 100% !important; }
.gm-miniaturas .gm-captura img { aspect-ratio: 16/10; object-fit: cover; }
.gm-miniaturas .gm-captura figcaption { font-size: .6875rem; }
@media (max-width: 781px) { .gm-moneda { width: min(60vw, 220px); } }

/* ================= v0.3: Limorama primero ================= */

/* Marca del encabezado: avatar del canal + nombre */
.gm-marca { display: flex; align-items: center; gap: .6rem; text-decoration: none; }
.gm-marca__avatar { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #A8ED15; object-fit: cover; }
.gm-marca__nombre { font-family: var(--wp--preset--font-family--display); font-weight: 900; font-size: 2rem; line-height: 1; text-transform: uppercase; color: #A8ED15; letter-spacing: .02em; }
.gm-marca:hover .gm-marca__nombre { color: #FFEA00; }
.gm-header__botones .wp-block-button__link { padding: .7em 1.1em; }
@media (max-width: 600px) { .wp-block-buttons > .wp-block-button.gm-solo-ancho { display: none; } .gm-marca__nombre { font-size: 1.6rem; } }

/* Eslogan (pieza gráfica) */
.gm-eslogan {
	margin: 0 0 1rem;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 900;
	text-transform: uppercase;
	line-height: .95;
	letter-spacing: .01em;
	color: #fff;
	font-size: clamp(2.25rem, 5vw, 4rem);
	text-shadow: .06em .06em 0 #FB01CD;
}
.gm-eslogan__casi { color: #A8ED15; }

.gm-boton-grande .wp-block-button__link { font-size: 1rem; padding: 1em 1.6em; }

/* Secciones largas */
.gm-seccion { padding: clamp(2.5rem, 7vw, 5rem) var(--wp--preset--spacing--30) 0; }
.gm-nota { color: #FFEA00; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .8125rem; }

/* Tarjetas de la presentación del parque */
.gm-feature .gm-feature__img { margin: -1.25rem -1.25rem 1rem; }
.gm-feature .gm-feature__img img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }

/* Datos del parque */
.gm-datos { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 1rem; }
.gm-datos li { border-top: 2px solid #4A4A4A; padding-top: .75rem; }
.gm-datos strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 900; font-size: 3.5rem; line-height: 1; color: #A8ED15; }
.gm-datos span { color: #9A9A9A; font-size: .8125rem; text-transform: uppercase; letter-spacing: .08em; }

/* Tira del elenco */
.gm-elenco { border-top: 2px solid #4A4A4A; border-bottom: 2px solid #4A4A4A; background: #0B0B0A; margin-top: clamp(2rem, 6vw, 4rem); }
.gm-elenco__tira { list-style: none; margin: 1.5rem 0 1rem; padding: 0; display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: thin; padding-bottom: .5rem; }
.gm-elenco__tira li { flex: 0 0 auto; }
.gm-elenco__tira a { display: flex; flex-direction: column; align-items: center; gap: .3rem; width: 84px; text-decoration: none; color: #9A9A9A; font-size: .6875rem; text-align: center; line-height: 1.2; }
.gm-elenco__tira img { width: 64px; height: auto; image-rendering: pixelated; transition: transform .15s ease; }
.gm-elenco__tira a:hover img { transform: translateY(-6px); }
.gm-elenco__tira a:hover { color: #A8ED15; }

/* Personajes */
.gm-grilla-pj { margin-top: 1.5rem; }
.gm-pj { position: relative; }
.gm-pj__img { margin: 0; }
.gm-pj__img img { image-rendering: pixelated; }
.gm-pj__nombre { margin: 0; }
.gm-pj__frase { color: #90F5EC; font-style: italic; margin: 0; }
.gm-pj__donde { color: #FFEA00; margin-top: auto; }
.gm-pj--r2 { border-color: #90F5EC; }
.gm-pj--r3 { border-color: #FB01CD; box-shadow: 4px 4px 0 #FB01CD; }
.gm-pj--r0 { border-color: #FFEA00; }
:target.gm-pj { border-color: #A8ED15; box-shadow: 0 0 0 4px #A8ED15; }

.gm-principal .gm-principal__img { margin: -1.25rem -1.25rem 1rem; background: #000; display: flex; justify-content: center; align-items: flex-end; height: 260px; overflow: hidden; }
.gm-principal .gm-principal__img img { max-height: 250px; width: auto; }

/* Historias */
.gm-grilla-historias { margin-top: 1.5rem; }
.gm-historia__img { margin: 0; height: 120px; display: flex; align-items: flex-end; }
.gm-historia__img img { max-height: 120px; width: auto; }

/* Rangos */
.gm-rangos { list-style: none; counter-reset: r; padding: 0; margin: 1rem 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.gm-rangos li { border: 2px solid #A8ED15; color: #A8ED15; padding: .3em .7em; font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.gm-rangos li:nth-child(5) { background: #FFEA00; color: #000; border-color: #FFEA00; }
.gm-rangos .gm-rangos__mas { border-style: dashed; color: #9A9A9A; border-color: #4A4A4A; }

/* Casas */
.gm-casas { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.gm-casas li { border: 2px solid var(--casa); padding: 1.25rem; background: #0B0B0A; }
.gm-casas strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 900; text-transform: uppercase; font-size: 2.25rem; line-height: 1; color: var(--casa); }
.gm-casas span { display: block; margin-top: .5rem; color: #fff; }

/* Atracciones */
.gm-atracciones { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: 1rem; }
.gm-atracciones li { display: flex; flex-direction: column; align-items: center; gap: .5rem; text-align: center; font-size: .8125rem; color: #9A9A9A; text-transform: uppercase; letter-spacing: .06em; }
.gm-atracciones img { height: 120px; width: auto; max-width: 100%; object-fit: contain; }

/* Reglas */
.gm-reglas { list-style: none; padding: 0; margin: 1rem 0 2rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; }
.gm-reglas li { border-left: 6px solid #A8ED15; padding-left: 1rem; }
.gm-reglas strong { color: #A8ED15; display: block; }

/* Cupón al pie del artículo */
.gm-cupon { border: 2px dashed #A8ED15; padding: 1.25rem; gap: 1.25rem; background: #0B0B0A; }
.gm-cupon__moneda img { width: 96px; height: 96px; animation: gm-flota 5s ease-in-out infinite; }
.gm-cupon h3 { margin: 0; }

/* Miniatura arriba del artículo */
.gm-portada-articulo img { border: 2px solid #4A4A4A; }

@media (prefers-reduced-motion: reduce) { .gm-cupon__moneda img { animation: none; } }

/* Clips del parque */
.gm-clips { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.gm-clip { margin: 0; border: 2px solid #4A4A4A; background: #0B0B0A; display: flex; flex-direction: column; transition: border-color .15s ease; }
.gm-clip:hover { border-color: #A8ED15; }
.gm-clip__video { display: block; width: 100%; aspect-ratio: 960 / 560; object-fit: cover; background: #000; image-rendering: pixelated; }
.gm-clip figcaption { padding: 1rem 1.25rem 1.25rem; display: flex; flex-direction: column; gap: .4rem; }
.gm-clip strong { font-family: var(--wp--preset--font-family--display); font-weight: 800; text-transform: uppercase; font-size: 1.75rem; line-height: 1.05; color: #A8ED15; }
.gm-clip span { font-size: .9375rem; }
