.elementor-5253 .elementor-element.elementor-element-db6982d:not(.elementor-motion-effects-element-type-background), .elementor-5253 .elementor-element.elementor-element-db6982d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FE3152;}.elementor-5253 .elementor-element.elementor-element-db6982d{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:48px 0px 58px 0px;}.elementor-5253 .elementor-element.elementor-element-db6982d > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-5253 .elementor-element.elementor-element-db6982d > .elementor-shape-bottom svg{width:calc(200% + 1.3px);height:100px;transform:translateX(-50%) rotateY(180deg);}.elementor-5253 .elementor-element.elementor-element-4d07546{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5253 .elementor-element.elementor-element-86ac113{--display:flex;--min-height:200px;--justify-content:center;}.elementor-5253 .elementor-element.elementor-element-53b93ef.elementor-element{--align-self:center;}.elementor-5253 .elementor-element.elementor-element-b206827{width:initial;max-width:initial;top:-170px;z-index:-1;}body:not(.rtl) .elementor-5253 .elementor-element.elementor-element-b206827{left:216px;}body.rtl .elementor-5253 .elementor-element.elementor-element-b206827{right:216px;}.elementor-5253 .elementor-element.elementor-element-1783102{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:48px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-5253 .elementor-element.elementor-element-abf72d1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:120px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-5253 .elementor-element.elementor-element-7037062{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:50px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-5253 .elementor-element.elementor-element-19ca1dd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:120px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5253 .elementor-element.elementor-element-19ca1dd:not(.elementor-motion-effects-element-type-background), .elementor-5253 .elementor-element.elementor-element-19ca1dd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EEEEEE;}.elementor-5253 .elementor-element.elementor-element-19ca1dd > .elementor-shape-top svg, .elementor-5253 .elementor-element.elementor-element-19ca1dd > .e-con-inner > .elementor-shape-top svg{width:calc(172% + 1.3px);height:56px;}.elementor-5253 .elementor-element.elementor-element-5f6df71{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:180px;--padding-left:0px;--padding-right:0px;}.elementor-5253 .elementor-element.elementor-element-5f6df71:not(.elementor-motion-effects-element-type-background), .elementor-5253 .elementor-element.elementor-element-5f6df71 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EEEEEE;}.elementor-5253 .elementor-element.elementor-element-5f6df71 > .elementor-shape-bottom svg, .elementor-5253 .elementor-element.elementor-element-5f6df71 > .e-con-inner > .elementor-shape-bottom svg{width:calc(100% + 1.3px);height:65px;}.elementor-5253 .elementor-element.elementor-element-d6f39de .swiper-pagination-bullet-active, .elementor-5253 .elementor-element.elementor-element-d6f39de .swiper-pagination-progressbar-fill{background-color:#FE3152;}.elementor-5253 .elementor-element.elementor-element-d6f39de .swiper-pagination-fraction{color:#FE3152;}.elementor-5253 .elementor-element.elementor-element-d6f39de .elementor-main-swiper .swiper-slide{border-radius:30px;border-color:#FE31525C;}.elementor-5253 .elementor-element.elementor-element-d6f39de .elementor-swiper-button{font-size:14px;color:#FE3152;}.elementor-5253 .elementor-element.elementor-element-d6f39de .elementor-swiper-button svg{fill:#FE3152;}.elementor-5253 .elementor-element.elementor-element-d6f39de .swiper-pagination-bullet:not(.swiper-pagination-bullet-active){background-color:#1D1D1D;opacity:1;}.elementor-5253 .elementor-element.elementor-element-d6f39de .elementor-testimonial__header{border-block-end-width:2px;}.elementor-5253 .elementor-element.elementor-element-d6f39de .elementor-testimonial__name{color:#FE3152;}.elementor-5253 .elementor-element.elementor-element-d6f39de .elementor-testimonial__icon:not(.elementor-testimonial__rating){color:#FE3152;}.elementor-5253 .elementor-element.elementor-element-d6f39de .elementor-testimonial__icon:not(.elementor-testimonial__rating) svg{fill:#FE3152;}.elementor-5253 .elementor-element.elementor-element-d6f39de .elementor-testimonial__icon{font-size:24px;}.elementor-5253 .elementor-element.elementor-element-d6f39de .elementor-testimonial__icon svg{width:24px;}.elementor-5253 .elementor-element.elementor-element-1afbd3a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS *//* ==========================================================================
   SISTEMA DE DISEÑO: ACADEMIA VIRGINIA BERNABEU (GLOBAL)
   ========================================================================== */

/* --- 1. HERO Y H1 --- */
.vb-hero-wrapper { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font-family: inherit; padding: 20px 15px 40px 15px; }
.vb-hero-h1 { font-size: 52px; font-weight: 900; color: #ffffff; margin: 0; line-height: 1.1; letter-spacing: -1px; text-shadow: 0 8px 30px rgba(0, 0, 0, 0.25); }
@media (max-width: 768px) { .vb-hero-h1 { font-size: 38px; } }

/* --- 2. MANIFIESTO (PROMESA DE VALOR) --- */
.vb-manifesto-card { position: relative; max-width: 850px; margin: 40px auto; background: #ffffff; padding: 40px 60px; border-radius: 16px; box-shadow: 0 10px 35px rgba(150,0,0,0.2); border: 1px solid rgba(0,0,0,0.03); text-align: center; font-family: inherit; overflow: hidden; }
.vb-quote-mark { position: absolute; top: -20px; left: 20px; font-size: 150px; font-family: Georgia, serif; color: rgba(254, 49, 82, 0.12); line-height: 1; user-select: none; pointer-events: none; z-index: 0; }
.vb-manifesto-text { position: relative; z-index: 1; font-size: 20px; font-weight: 500; color: #444444; line-height: 1.6; margin: 0; }
.vb-manifesto-text strong { color: #fe3152; font-weight: 700; }
@media (max-width: 768px) { .vb-manifesto-card { padding: 30px 25px; } .vb-manifesto-text { font-size: 17px; } .vb-quote-mark { left: 10px; font-size: 120px; } }

/* --- 3. SELECTOR DE EDADES (BOTONES) --- */
.vb-age-body.elementor-page-5253-wrapper { display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 35px 0; font-family: inherit; text-align: center; }
.vb-age-label { font-size: 14px; font-weight: 600; color: #666; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; }
.vb-jump-links { display: flex; gap: 15px; flex-wrap: wrap; justify-content: center; }
.vb-jump-btn { display: flex; align-items: center; justify-content: center; gap: 15px; padding: 10px 24px; border-radius: 50px; text-decoration: none !important; transition: all 0.3s ease; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.vb-btn-youth { background-color: #ffffff; color: #fe3152 !important; border: 1.5px solid #fe3152; }
.vb-btn-adult { background-color: #fe3152; color: #ffffff !important; border: 1.5px solid #fe3152; }
.vb-btn-content { display: flex; align-items: center; gap: 8px; }
.vb-emoji { font-size: 20px; line-height: 1; }
.vb-text { font-size: 14px; font-weight: 700; }
.vb-arrow { font-size: 16px; font-weight: 900; transition: transform 0.3s ease; }
.vb-jump-btn:hover { transform: translateY(-3px); }
.vb-btn-youth:hover { background-color: #fe3152; color: #ffffff !important; box-shadow: 0 6px 18px rgba(254, 49, 82, 0.2); }
.vb-btn-adult:hover { background-color: #d62845; border-color: #d62845; color: #ffffff !important; box-shadow: 0 6px 18px rgba(254, 49, 82, 0.2); }
.vb-jump-btn:hover .vb-arrow { transform: translateY(3px); }
@media (max-width: 600px) { .vb-jump-links { gap: 12px; flex-direction: column; } .vb-jump-btn { width: 100%; max-width: 280px; padding: 12px 20px; } }

/* --- 4. SECCIÓN METODOLOGÍA Y BENEFICIOS --- */
.vb-methodology-wrapper { font-family: inherit; max-width: 900px; margin: 40px auto 60px auto; background: #ffffff; padding: 60px 70px; border-radius: 24px; box-shadow: 0 20px 50px rgba(0,0,0,0.06); border-top: 8px solid #fe3152; position: relative; overflow: hidden; }
.vb-section-title { font-size: 34px; font-weight: 800; color: #222222; line-height: 1.25; margin-bottom: 25px; letter-spacing: -0.5px; text-align: center; position: relative; z-index: 1; }
.vb-lead-text { font-size: 18px; font-weight: 400; color: #555555; line-height: 1.7; margin-bottom: 50px; text-align: center; max-width: 750px; margin-left: auto; margin-right: auto; position: relative; z-index: 1; }
.vb-benefits-box { max-width: 700px; margin: 0 auto; position: relative; z-index: 1; }
.vb-benefits-title { font-size: 24px; font-weight: 700; color: #222222; margin-bottom: 35px; text-align: center; }
.vb-benefits-title span { border-bottom: 3px solid #fe3152; padding-bottom: 8px; }
.vb-benefits-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 25px; }
.vb-benefits-list li { display: flex; align-items: flex-start; gap: 18px; background: #fdfdfd; padding: 15px 20px; border-radius: 12px; transition: transform 0.3s ease, background 0.3s ease; }
.vb-benefits-list li:hover { transform: translateX(5px); background: #fdf2f4; }
.vb-benefit-icon { font-size: 24px; line-height: 1; background: rgba(254, 49, 82, 0.1); padding: 14px; border-radius: 14px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.vb-benefit-content h4 { font-size: 17px; font-weight: 700; color: #fe3152; margin: 0 0 6px 0; line-height: 1.3; }
.vb-benefit-content p { font-size: 15px; font-weight: 400; color: #666666; margin: 0; line-height: 1.5; }
@media (max-width: 768px) { .vb-methodology-wrapper { padding: 40px 25px; border-radius: 20px; } .vb-section-title { font-size: 26px; } .vb-benefits-list li { padding: 10px; } }

/* --- 5. TARJETAS DE EDADES (CARDS) --- */
.vb-audience-section { display: flex; gap: 30px; max-width: 1100px; margin: 60px auto; font-family: inherit; }
.vb-audience-card { flex: 1; background: #ffffff; border-radius: 20px; padding: 35px; box-shadow: 0 10px 35px rgba(150,0,0,0.2); border: 1px solid rgba(0,0,0,0.04); display: flex; flex-direction: column; transition: transform 0.3s ease; }
.vb-audience-card:hover { transform: translateY(-5px); }
.vb-badge { display: inline-block; align-self: flex-start; font-weight: 700; font-size: 12px; padding: 6px 14px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 20px; }
.vb-badge-youth { background: #f0f0f0; color: #444; }
.vb-badge-adult { background: rgba(254, 49, 82, 0.1); color: #fe3152; }
.vb-card-title { font-size: 24px; font-weight: 800; color: #222; margin: 0 0 15px 0; line-height: 1.3; }
.vb-card-text { font-size: 15px; color: #666; line-height: 1.6; margin-bottom: 25px; flex-grow: 1; }
.vb-card-features { list-style: none; padding: 0; margin: 0 0 30px 0; display: flex; flex-direction: column; gap: 12px; }
.vb-card-features li { font-size: 14px; color: #555; background: #f9f9f9; padding: 12px 15px; border-radius: 8px; border-left: 3px solid #fe3152; }
.vb-card-features strong { color: #fe3152; }
.vb-card-footer { margin-top: auto; }
.vb-btn { display: inline-block; width: 100%; text-align: center; padding: 14px; border-radius: 50px; font-weight: 700; font-size: 15px; text-decoration: none !important; transition: all 0.3s ease; box-sizing: border-box;}
.vb-btn-outline { background: transparent; color: #fe3152 !important; border: 2px solid #fe3152; }
.vb-btn-outline:hover { background: #fe3152; color: #ffffff !important; }
.vb-btn-solid { background: #fe3152; color: #ffffff !important; border: 2px solid #fe3152; }
.vb-btn-solid:hover { background: #d62845; border-color: #d62845; }
@media (max-width: 768px) { .vb-audience-section { flex-direction: column; padding: 0 15px; } }

/* --- 6. PREGUNTAS FRECUENTES (FAQs) --- */
.vb-faq-wrapper { max-width: 850px; margin: 60px auto; font-family: inherit; }
.vb-faq-title { text-align: center; font-size: 32px; font-weight: 800; color: #333333; margin-bottom: 40px; }
.vb-faq-item { background: #ffffff; border-radius: 12px; margin-bottom: 16px; box-shadow: 0 8px 30px rgba(254, 49, 82, 0.05); border: 1px solid rgba(254, 49, 82, 0.1); overflow: hidden; transition: all 0.3s ease; }
.vb-faq-item:hover { box-shadow: 0 10px 35px rgba(254, 49, 82, 0.12); }
.vb-faq-item summary { padding: 22px 30px; font-size: 18px; font-weight: 600; color: #222222; cursor: pointer; list-style: none; position: relative; display: flex; justify-content: space-between; align-items: center; }
.vb-faq-item summary::-webkit-details-marker { display: none; }
.vb-faq-item summary::after { content: '+'; font-size: 24px; color: #fe3152; transition: transform 0.3s ease; }
.vb-faq-item[open] summary::after { transform: rotate(45deg); }
.vb-faq-content { padding: 0 30px 25px 30px; font-size: 16px; line-height: 1.6; color: #555555; border-top: 1px dashed rgba(254, 49, 82, 0.2); margin-top: -5px; padding-top: 20px; }
.vb-faq-content p { margin: 0; }
@media (max-width: 768px) { .vb-faq-item summary { padding: 18px 20px; font-size: 16px; } .vb-faq-content { padding: 0 20px 20px 20px; font-size: 15px; } }

/* --- 7. COLLAGE Y LIGHTBOX PREMIUM --- */
.vb-collage-wrapper { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(3, 160px); gap: 15px; max-width: 100%; }
.vb-collage-item { border-radius: 24px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.08); position: relative; cursor: zoom-in; }
.vb-collage-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.vb-collage-item:hover img { transform: scale(1.08); }
.vb-collage-item::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(254, 49, 82, 0.5) 0%, rgba(254, 49, 82, 0.1) 100%); pointer-events: none; transition: opacity 0.4s ease; z-index: 1; }
.vb-collage-item:hover::after { opacity: 0; }
.vb-foto-1 { grid-column: 1 / 2; grid-row: 1 / 3; }
.vb-foto-2 { grid-column: 2 / 3; grid-row: 1 / 2; }
.vb-foto-3 { grid-column: 2 / 3; grid-row: 2 / 4; }
.vb-foto-4 { grid-column: 1 / 2; grid-row: 3 / 4; }
@media (max-width: 768px) { .vb-collage-wrapper { grid-template-rows: repeat(3, 130px); margin-top: 40px; } }

.vb-lightbox-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); z-index: 999999; display: flex; justify-content: center; align-items: center; opacity: 0; pointer-events: none; transition: opacity 0.4s ease; }
.vb-lightbox-overlay.active { opacity: 1; pointer-events: auto; }
.vb-lightbox-watermark {
  position: fixed !important;
  bottom: 30px !important;
  right: 30px !important;
  width: 260px !important;
  height: auto !important;
  opacity: 0.45 !important; /* Más visible */
  pointer-events: none !important;
  z-index: 1000000 !important; /* Por delante del fondo pero detrás de la foto si solapan */
  display: block !important;
}
.vb-lightbox-overlay #vb-lightbox-img { max-width: 90%; max-height: 80vh; border-radius: 12px; border: 10px solid #ffffff; box-shadow: 0 25px 65px rgba(0,0,0,0.15); transform: scale(0.9) translateY(20px); transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); z-index: 2; }
.vb-lightbox-overlay.active #vb-lightbox-img { transform: scale(1) translateY(0); }
.vb-lightbox-close { position: absolute; top: 35px; right: 45px; width: 60px; height: 60px; background: #ffffff; border-radius: 50%; display: flex; justify-content: center; align-items: center; box-shadow: 0 5px 20px rgba(0,0,0,0.1); cursor: pointer; color: #444444; transition: all 0.3s ease; z-index: 3; }
.vb-lightbox-close svg { width: 28px; height: 28px; transition: transform 0.3s ease; }
.vb-lightbox-close:hover { color: #ffffff; background: #fe3152; }
.vb-lightbox-close:hover svg { transform: rotate(90deg); }
@media (max-width: 768px) { .vb-lightbox-close { top: 20px; right: 20px; width: 45px; height: 45px; } .vb-lightbox-close svg { width: 22px; height: 22px; } .vb-lightbox-watermark { bottom: 20px; right: 20px; width: 150px; } }


/* --- 8. CTA FINAL DE CONVERSIÓN --- */
.vb-final-cta-wrapper { width: 100%; padding: 60px 15px; }
.vb-final-cta-card { max-width: 900px; margin: 0 auto; background: #fe3152; border-radius: 24px; padding: 60px 40px; text-align: center; color: #ffffff; box-shadow: 0 20px 40px rgba(0,0,0,0.2); border-top: 6px solid #1d1d1d; }
.vb-final-cta-card h2 { font-size: 38px; font-weight: 800; margin-top: 0; margin-bottom: 15px; color: #ffffff; line-height: 1.2; }
.vb-final-cta-card p { font-size: 18px; color: rgba(255,255,255,0.8); max-width: 600px; margin: 0 auto 35px auto; line-height: 1.6; }
.vb-cta-buttons { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; }
.vb-cta-buttons a { text-decoration: none; font-size: 16px; font-weight: 700; padding: 15px 32px; border-radius: 50px; transition: all 0.3s ease; }
.vb-btn-primary { background: #ffffff; color: #fe3152 !important; box-shadow: 0 8px 20px rgba(254, 49, 82, 0.4); }
.vb-btn-primary:hover { background: #ffffff; transform: translateY(-3px); }
.vb-btn-secondary { background: transparent; color: #ffffff !important; border: 2px solid rgba(255,255,255,0.3); }
.vb-btn-secondary:hover { background: rgba(255,255,255,0.1); border-color: #ffffff; }
@media (max-width: 768px) {
  .vb-final-cta-card { padding: 40px 25px; }
  .vb-final-cta-card h2 { font-size: 28px; }
  .vb-cta-buttons { flex-direction: column; width: 100%; }
  .vb-cta-buttons a { width: 100%; box-sizing: border-box; }
}/* End custom CSS */