Tema: nuevos botones, campos, casillas, tarjetas, selector, interruptor, cabecera y pie

- Botones: borde que se dibuja al pasar el ratón o con el teclado (color según variante) y sombra.
- Campos: subrayados con etiqueta flotante y degradado principal → acento al enfocar; flecha
  propia en los desplegables. Formularios de contacto, cuestionario y finales felices adaptados.
- Casillas: marca «a mano» que se dibuja al marcarlas (ga_checkmark()), accesibles con teclado.
- Tarjetas de animales y finales felices: marco de 2 px con resplandor de acento en la esquina.
- Selector segmentado (.ga-segmented) con píldora deslizante; se usa en las pestañas Perros / Gatos
  y sirve también para grupos de radios.
- Interruptor (.ga-toggle, ga_toggle_ui()) listo para usar.
- Cabecera translúcida con borde al hacer scroll, enlaces en píldora, desplegable animado con
  descripción de cada elemento y fondo oscurecido mientras está abierto.
- Pie: nombre gigante en bajorrelieve que se descubre al final de la página (opción en el
  personalizador, «Bilagun» por defecto).
- Versión del tema 2.3.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-27 15:11:17 +02:00
parent 83d1298dda
commit 9a6bcd56e5
9 changed files with 320 additions and 60 deletions

View File

@@ -1,4 +1,12 @@
( function () {
// Cabecera: borde y sombra al desplazarse (se nota con la cabecera fija).
var header = document.querySelector( '.ga-header' );
if ( header ) {
var onScroll = function () { header.classList.toggle( 'is-scrolled', window.scrollY > 8 ); };
window.addEventListener( 'scroll', onScroll, { passive: true } );
onScroll();
}
var toggle = document.querySelector( '.ga-menu-toggle' );
var nav = document.getElementById( 'ga-nav' );
if ( toggle && nav ) {
@@ -15,6 +23,15 @@
} );
}
// Pestañas segmentadas con enlaces: la píldora se desliza a la pulsada mientras carga la página.
document.querySelectorAll( '.ga-segmented' ).forEach( function ( group ) {
group.addEventListener( 'click', function ( e ) {
var tab = e.target.closest( '.ga-tab' );
if ( ! tab || e.metaKey || e.ctrlKey || e.shiftKey ) { return; }
group.querySelectorAll( '.ga-tab' ).forEach( function ( t ) { t.classList.toggle( 'is-active', t === tab ); } );
} );
} );
// Filtros del listado: los <select> envían el formulario al cambiar.
document.querySelectorAll( '.ga-filters select' ).forEach( function ( select ) {
select.addEventListener( 'change', function () {