.atpo { --atpo-tinta: var(--wp--preset--color--tinta, #141414); --atpo-rojo: var(--wp--preset--color--rojo, #e60000); font-family: var(--wp--preset--font-family--archivo, system-ui, sans-serif); }
.atpo__barra { display: flex; flex-wrap: wrap; gap: 0.6rem 1rem; align-items: center; margin-bottom: 0.8rem; }
.atpo__buscar { flex: 1 1 260px; max-width: 420px; padding: 0.65rem 0.9rem; border: 2px solid var(--atpo-tinta); border-radius: 999px; font: inherit; background: #fff; }
.atpo__buscar:focus { outline: 3px solid var(--atpo-rojo); outline-offset: 1px; }
.atpo__ayuda { font-size: 0.9rem; color: var(--wp--preset--color--gris, #555); }
.atpo__lienzo { position: relative; overflow: visible; border: 2px solid var(--atpo-tinta); border-radius: 14px; background: var(--atpo-tinta); cursor: zoom-in; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; touch-action: pan-x pan-y pinch-zoom; }
.atpo__interior { position: relative; }
.atpo__lienzo:focus-visible { outline: 3px solid var(--atpo-rojo); outline-offset: 3px; }
.atpo__base { display: block; width: 100%; height: auto; pointer-events: none; border-radius: 12px; }
.atpo__lienzo.con-lupa { cursor: none; }
.atpo__lupa { position: absolute; left: 0; top: 0; z-index: 3; pointer-events: none; will-change: transform; filter: drop-shadow(0 12px 18px rgba(0,0,0,.45)); }
.atpo__lupa canvas { display: block; width: 100%; height: 100%; border-radius: 50%; background: var(--atpo-tinta);
	/* aro metálico */
	box-shadow: 0 0 0 6px #2b2b2b, 0 0 0 9px #8d8d8d, 0 0 0 11px #1a1a1a, inset 0 0 0 1px rgba(255,255,255,.4); }
/* brillo del cristal */
.atpo__lupa::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.35) 0, rgba(255,255,255,.08) 18%, transparent 40%); z-index: 1; }
/* mango */
.atpo__lupa::after { content: ""; position: absolute; width: 30px; height: 118px; left: 50%; top: 50%; margin-left: -15px;
	transform-origin: 50% 0; transform: rotate(-45deg) translateY(152px); border-radius: 8px 8px 14px 14px;
	background: linear-gradient(90deg, #7a0000, var(--atpo-rojo) 40%, #ff5a4f 55%, #a30000); border: 2px solid #1a1a1a;
	box-shadow: inset 0 14px 0 -2px #555, inset 0 18px 0 -2px #1a1a1a; }
.atpo__etiqueta { position: absolute; left: 0; top: 0; width: 280px; text-align: center; pointer-events: none; }
.atpo__etiqueta { z-index: 4; color: #fff; font-weight: 800; font-size: 0.95rem; text-shadow: 0 1px 3px #000, 0 0 8px #000; }
.atpo__marca { position: absolute; z-index: 2; border: 3px solid var(--atpo-rojo); border-radius: 8px; box-shadow: 0 0 0 3px rgba(255,255,255,.85), 0 0 24px rgba(230,0,0,.6); pointer-events: none; transition: all .25s ease; }
.atpo__ficha { margin-top: 1rem; padding: 1.1rem 1.25rem; background: #fff; border: 2px solid var(--atpo-tinta); border-radius: 14px; box-shadow: 6px 6px 0 var(--atpo-rojo); }
.atpo__ficha h3 { margin: 0 0 0.4rem; font-size: 1.4rem; }
.atpo__ficha p { margin: 0.4rem 0; font-family: var(--wp--preset--font-family--newsreader, Georgia, serif); font-size: 1.05rem; line-height: 1.5; }
.atpo__acciones { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; margin-top: 0.8rem !important; font-family: var(--wp--preset--font-family--archivo, system-ui, sans-serif) !important; }
.atpo__boton { display: inline-block; padding: 0.6rem 1.1rem; border: 2px solid var(--atpo-tinta); border-radius: 999px; background: var(--atpo-rojo); color: #fff !important; font-weight: 800; text-decoration: none !important; }
.atpo__cerrar { margin-left: auto; padding: 0.5rem 1rem; border: 2px solid var(--atpo-tinta); border-radius: 999px; background: #fff; font: inherit; font-weight: 700; cursor: pointer; }
@media (max-width: 760px) {
	.atpo__lienzo { border-radius: 8px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: thin; }
	.atpo__interior { width: 260%; }
	.atpo__ayuda { display: none; }
	.atpo__barra::after { content: "Desliza para recorrer el póster. Mantén el dedo quieto un momento y arrástralo para usar la lupa; toca un personaje para ver su ficha."; font-size: 0.85rem; color: var(--wp--preset--color--gris, #555); }
}
