/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

main#brx-content {
	overflow-x: clip;
}

.brxe-button {
  position: relative;
}

.brxe-button.sm {
  height: 40px;
}

.brxe-button.md {
  height: 44px;
}

.brxe-button.lg {
  height: 50px;
}

.brxe-button.xl {
  height: 56px;
}

.brxe-button.bricks-background-primary {
  border: 1px solid transparent;
  -webkit-box-shadow: 0px 0px 0px 0px var(--purple-800); 
	box-shadow: 0px 0px 0px 0px var(--purple-800);
  overflow: hidden;
}

.brxe-button.bricks-background-primary:hover {
  -webkit-box-shadow: 0px 8px 50px 0px var(--purple-800); 
	box-shadow: 0px 8px 60px 0px var(--purple-800);
}

.brxe-button.bricks-background-secondary {
	overflow: hidden;
}

.brxe-button.bricks-background-secondary:hover {
	color: var(--gray-900);
}

.brxe-button.bricks-background-secondary:after {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle, #FFFFFF 0%, #111111 100%);
    opacity: 1;
    transition: all 0.3s ease;
    background-position: center 0px;
    background-repeat: no-repeat;
    background-size: 120%;
    z-index: -1;
    height: 1200px;
}

.brxe-button.bricks-background-primary:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(circle, var(--purple-200) 25%, var(--purple-600) 100%) padding-box, linear-gradient(90deg, hsl(0deg 0% 100% / 0%), hsl(0deg 0% 100% / 50%), hsl(0deg 0% 100% / 0%)) border-box;
	opacity: 1;
	transition: all 0.3s ease;
	background-position: center 0px;
	background-repeat: no-repeat;
	background-size: 120%;
	z-index: -1;
	height: 560px;
}

.brxe-button.bricks-background-primary:hover:after {
	background-position: center -10px;
	background-size: 120%;
	height: 260px;
}

.brxe-button.bricks-background-secondary:hover:after {
	background-size: 10000%;
	height: 100px;
}

/* 2. Contenedor de la línea (La pegamos al techo) */
.neon-border-top {
    position: absolute; /* Flota sobre el contenido */
    top: 0;             /* Pegado arriba */
    left: 0;
    width: 100%;
    height: 40px;       /* Altura del efecto */
    overflow: visible;  /* Permite que el brillo (glow) se salga un poco */
    pointer-events: none; /* IMPORTANTE: Para que puedas hacer click en cosas debajo de la línea */
    z-index: 1;
}

.neon-border-bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40px;
	overflow: visible;
	pointer-events: none;
	z-index: 1;
	transform: scaleY(-1); /* Espejo vertical para que sea el "suelo" */
}

.neon-border-bottom:after {
	position: absolute;
    content: "";
    display: block;
    width: 10%;
    height: 60px;
    background: linear-gradient(90deg, rgba(17, 17, 17, 1) 0%, rgba(17, 17, 17, 0) 100%);
    top: 0;
    left: 0;
}

.neon-border-top:after {
	position: absolute;
    content: "";
    display: block;
    width: 10%;
    height: 60px;
    background: linear-gradient(90deg, rgba(17, 17, 17, 1) 0%, rgba(17, 17, 17, 0) 100%);
    top: 0;
    left: 0;
}

.neon-border-top:before {
	position: absolute;
    content: "";
    display: block;
    width: 10%;
    height: 60px;
    background: linear-gradient(270deg, rgba(17, 17, 17, 1) 0%, rgba(17, 17, 17, 0) 100%);
    top: 0;
    right: 0;
}

/* 3. Ajustes del SVG */
.neon-svg {
	position: relative;
    width: 100%;
    height: 100%;
    display: block; /* Elimina espacios fantasma */
}

.neon-borde-footer:after {
	position: absolute;
    content: "";
    display: block;
	width: 80%;
	height: 60px;
	background: linear-gradient(90deg,rgba(17, 17, 17, 0) 0%, rgba(17, 17, 17, 1) 25%, rgba(17, 17, 17, 1) 50%, rgba(17, 17, 17, 1) 75%, rgba(17, 17, 17, 0) 100%);
	z-index: 2;
	left: 50%;
	transform: translateX(-50%);
}

.neon-borde:after {
	position: absolute;
    content: "";
    display: block;
	width: 80%;
	height: 60px;
	background: linear-gradient(90deg,rgba(17, 17, 17, 0) 0%, rgba(17, 17, 17, 1) 25%, rgba(17, 17, 17, 1) 50%, rgba(17, 17, 17, 1) 75%, rgba(17, 17, 17, 0) 100%);
	z-index: 2;
	left: 50%;
	transform: translateX(-50%);
	top: -60px;
}

/* --- ESTILOS DEL NEON (Los mismos de antes) --- */
.neon-line {
    fill: none;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.base-line {
    stroke: #7B1EFF; /* Morado Base */
    opacity: 0;
}

.energy-beam {
	stroke: #7B1EFF;
    stroke-width: 5;
    filter: drop-shadow(0 0 10px #7B1EFF) drop-shadow(0 0 0px #7B1EFF);
    stroke-dasharray: 300 1000;
    animation: collision 3s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes collision {
    0% { stroke-dashoffset: 1300; opacity: 0; }
    10% { opacity: 1; }
    80% { stroke-dashoffset: 0; opacity: 1; }
    100% { stroke-dashoffset: 0; opacity: 0; }
}

#canvas-waves {
    position: absolute; /* Se mueve libremente dentro del footer */
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 0; /* Al fondo */
    pointer-events: none; /* Importante: deja que los clicks pasen a los links */
}

.footer-content {
    position: relative; /* Para que funcione el z-index */
    z-index: 1; /* Encima de las olas */
    color: white; /* Texto blanco */
    /* Estilos extra de tu contenido... */
}

html.lenis, html.lenis body {
	height: auto;
}
.lenis.lenis-smooth {
	scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}
.lenis.lenis-stopped {
	overflow: hidden;
}

/* Clase principal que le pondrás a la Sección o Contenedor */
.efecto-linterna {
    position: relative;
    overflow: hidden; /* Evita que la luz se salga del contenedor */
    background-color: #05050b; /* Color de fondo oscuro por defecto */
}

/* Empuja todo el contenido (textos, botones) por encima de la luz */
.efecto-linterna > * {
    position: relative;
    z-index: 1;
}

/* ==========================================================================
   LA LUZ DE LA LINTERNA (Pseudo-elemento) - ¡SOLO PARA DESKTOP!
   ========================================================================== */
@media (hover: hover) and (pointer: fine) {
    .efecto-linterna::before {
        content: "";
        position: absolute;
        top: 0; left: 0; right: 0; bottom: 0;
        pointer-events: none; /* CRUCIAL: Evita que la luz bloquee clics en botones */
        z-index: 0;
        
        /* El degradado radial. Se mueve usando las variables --x y --y */
        background: radial-gradient(
            800px circle at var(--x, 50%) var(--y, 50%), 
            rgba(33, 201, 246, 0.12), 
            transparent 40%
        );
        transition: background 0.1s ease; /* Suaviza el movimiento */
    }
}