/* Estilos propios de la versión estática (componentes que antes generaba JS de terceros) */

/* --- Slider de portada (antes Slider Revolution 7, módulo SR7_1_1 "home-1") --- */
/* Medidas por defecto = ventana de 1440 px; main.js las ajusta a cada ancho. */
.bp-rs { position: relative; display: block; width: 100%; height: 600px; overflow: visible; background: #101010; font-family: Poppins, sans-serif; }
.bp-rs-bg { position: absolute; top: 0; left: -70px; width: 100vw; height: 100%; overflow: hidden; opacity: 0; }
.bp-rs-bg img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 50%; }
.bp-rs-l { position: absolute; z-index: 6; margin: 0; padding: 0; opacity: 0; }
.bp-rs-logo { left: 0; top: 50px; width: 123px; height: 123px; max-width: none; object-fit: cover; }
.bp-rs-title { left: -1px; top: 179px; width: 704px; font-family: 'ADLaM Display', Poppins, sans-serif; font-size: 54px; line-height: 64px; font-weight: 400; color: #f7b529; -webkit-text-stroke: 2px #000; text-align: left; letter-spacing: 0; text-transform: none; }
@media (max-width: 777px) { .bp-rs-title { -webkit-text-stroke-width: 1px; } }
.bp-rs-text { left: 0; top: 336px; width: 600px; font-family: Poppins, sans-serif; font-size: 16px; line-height: 24px; font-weight: 400; color: #fff; text-align: justify; }
.bp-rs-bullets { position: absolute; z-index: 1000; left: 644px; top: 568px; width: 12px; height: 12px; }
.bp-rs-bullet { position: absolute; display: block; overflow: hidden; width: 12px; height: 12px; box-sizing: border-box; border-radius: 50%; border: 2px solid #fff; background: transparent; }
.bp-rs--in .bp-rs-bg { opacity: 1; transition: opacity 1s cubic-bezier(.45, 0, .55, 1); }
.bp-rs--in .bp-rs-logo { opacity: 1; transition: opacity .3s cubic-bezier(.65, 0, .35, 1); }
.bp-rs--in .bp-rs-text { opacity: 1; transition: opacity 1.5s cubic-bezier(.77, 0, .175, 1) .3s; }
.bp-rs--in .bp-rs-title { opacity: 1; transition: opacity 1.5s cubic-bezier(.77, 0, .175, 1) .6s; }
@media (prefers-reduced-motion: reduce) { .bp-rs * { transition: none !important; } }

/* --- Carrusel de opiniones (antes Swiper): la pista se mueve con transform --- */
.elementor-widget-reviews .swiper-wrapper { transition-property: transform; transition-timing-function: ease; }
.elementor-widget-reviews .swiper { touch-action: pan-y; }

/* --- Formularios: campo trampa anti-spam (sustituye a reCAPTCHA) --- */
.bp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
form[data-bp-form].submitting [type="submit"] { opacity: .6; cursor: progress; }

/* --- SEO: un único <h1> por página. Donde el original usaba otro nivel, se conserva su tamaño --- */
/* (la altura de línea de los títulos de Elementor la sigue marcando .elementor-heading-title) */
h2.bp-as-h1 { font-size: var(--ts-h1-font-size); }
h2.bp-as-h1:not(.elementor-heading-title) { line-height: var(--ts-h1-line-height); }
h1.bp-as-h2 { font-size: var(--ts-h2-font-size); }
h1.bp-as-h3 { font-size: var(--ts-h3-font-size); }
h1.bp-as-h4 { font-size: var(--ts-h4-font-size); }
h1.bp-as-h2:not(.elementor-heading-title) { line-height: var(--ts-h2-line-height); }
h1.bp-as-h3:not(.elementor-heading-title) { line-height: var(--ts-h3-line-height); }
h1.bp-as-h4:not(.elementor-heading-title) { line-height: var(--ts-h4-line-height); }


/* --- Logo de LetsPlay (SVG, 600 x 492): ocupa la misma caja que el logo antiguo (1000 x 776) para
   que cabecera y pie midan lo mismo; el SVG se encaja dentro sin deformarse --- */
img.bp-logo { aspect-ratio: 1000 / 776; height: auto; object-fit: contain; }

/* --- Crédito de la consultora: en el hueco de la última fila del pie, sobre el divisor final, alineado
   con el contenido; no ocupa sitio, así que el pie mide lo mismo --- */
.bp-credit { position: absolute; top: calc(50% - .5px); left: 0; right: 0; transform: translateY(-50%); box-sizing: border-box; max-width: calc(1300px + 2 * var(--ts-content-padding)); margin: 0 auto; padding: 0 var(--ts-content-padding); font-family: Poppins, sans-serif; font-size: 12px; line-height: 20px; color: #101010; opacity: .65; transition: opacity .2s; }
.bp-credit:hover { opacity: 1; }
.bp-credit a { color: inherit; text-decoration: none; }
.bp-credit a:hover, .bp-credit a:focus { color: var(--e-global-color-primary); text-decoration: none; }
