/* ========================================
   SWING PADEL CLUB - ESTILOS COMPLETOS
   ======================================== */

/* ========================================
   FUENTES
   ======================================== */
@font-face {
    font-family: 'Sloop-Script';
    src: url('font/Sloop-ScriptThree.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* ========================================
   VARIABLES CSS
   ======================================== */
:root {
    --primary-white: #ffffff;
    --primary-black: #000000;
    --font-serif: 'Behind The Nineties Regular', serif;
    --font-sans: 'inter-regular', sans-serif;
    
    /* Variables para secciones con fondo blanco */
    --section-bg-white: #ffffff;
    --text-primary-dark: #000000;
    --text-secondary-gray: #666666;
    
    /* Variables para secciones con fondo verde */
    --section-bg-green: #16382C;
    --text-white: #F8F8F8;
}

@font-face {
    font-family: Behind The Nineties Regular;
    src: url('font/Behind\ The\ Nineties\ Regular.ttf');
}

@font-face {
    font-family: DancingScript-Regular;
    src: url('font/DancingScript-Regular.ttf');
}

@font-face {
    font-family: inter-regular;
    src: url('font/inter/Inter_18pt-Regular.ttf')
}


/* ==================================================================================
   RESET Y CONFIGURACIÓN BASE
   ================================================================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-sans);
    line-height: 1.6;
    overflow-x: hidden;
}

/* ====================================================================================
   NAVBAR - Navegación principal
   ==================================================================================== */

   .navbar .container-fluid {
    padding-left: 5%;
    padding-right: 5%;}



.navbar {
    padding: 1rem 0;
    transition: all 0.3s ease;
}

/* Navbar con fondo al hacer scroll */
.navbar-scrolled {
    background-color: rgba(26, 54, 43, 0.95) !important;
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}

.navbar-brand {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--primary-white) !important;
    text-decoration: none;
}

.logo-text {
    color: var(--primary-white);
}

.logo-trademark {
    font-size: 0.8rem;
    vertical-align: super;
    color: var(--primary-white);
}



.nav-link {
    font-family: var(--font-sans);
    font-weight: 500;
    color: var(--primary-white) !important;
    text-decoration: none;
    position: relative;
    transition: color 0.3s ease;
}

.nav-link:hover {
    color: var(--primary-white) !important;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -5px;
    left: 0;
    background-color: var(--primary-white);
    transition: width 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}

.navbar-toggler {
    border: none;
    padding: 0.25rem 0.5rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background-size: 1.5em;
    background-position: center;
    background-repeat: no-repeat;
}

/* ====================================================================================
   HERO SECTION - Sección principal
   ==================================================================================== */
.hero-section {
    position: relative;
    min-height: 80vh;
    display: flex;
    align-items: center;
    z-index: 1;
    overflow: hidden;
        background-image: url('../img/header.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
background: linear-gradient(#000000bc 10%, #25d36500 50%);    z-index: -1;
}


.hero-section2 {
    position: relative;
 
    display: flex;
    align-items: center;
    z-index: 1;
    overflow: hidden;
        background-image: url('../img/header2.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero-section2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
background: linear-gradient(#000000bc 10%, #25d36500 50%);    z-index: -1;
}




.hero-section3 {
    position: relative;
    min-height: 80vh;
    display: flex;
    align-items: center;
    z-index: 1;
    overflow: hidden;
        background-image: url('../img/lobby.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero-section3::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
background: linear-gradient(#000000bc 10%, #25d36500 50%);    z-index: -1;
}
.asd3{
margin-top: 50px;
    margin-bottom: 50px;
    background: #1a362c;
}
.asd3 .container {
   
    padding-right: 0;

    margin-right: 0;
}

.navbar-toggler-icon {
 
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");

}

.hero-content {
    padding: 120px 0 80px;
    color: var(--primary-white);
    z-index: 3;
}
.hero-content2 {
    padding: 120px 0 80px;
    color: var(--primary-white);
    z-index: 3;
}
.hero-title {
    font-family: Behind The Nineties Regular;
    font-size: 6rem;
    line-height: 1.1;
    margin-bottom: 1.5rem;
    color: var(--primary-white);
}

.hero-title2 {
    font-family: Behind The Nineties Regular;
    font-size: 4rem;
    line-height: 1.1;
    margin-bottom: 1.5rem;
    color: var(--primary-white);
}
.esencia{
    font-family: DancingScript-Regular;

}
.title-line-1 {
    display: block;
 
}

.title-line-2 {
    Margin-left: 16%;
}

.hero-description {
    font-family: var(--font-sans);
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 2rem;
    color: var(--primary-white);
    max-width: 560px;
}

.hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--primary-white);
    text-decoration: none;
    font-family: var(--font-sans);
    font-size: 1.4rem;
    transition: all 0.3s ease;
}

.reservatucancha{
    border-bottom:  solid 1px;
}

.hero-cta:hover {
    color: var(--primary-white);
    transform: translateY(-2px);
}

.hero-cta i {
    font-size: 0.9rem;
    transform: rotate(45deg);
    text-decoration: none;
}

/* ====================================================================================
   ABOUT SECTION - Sección sobre el club
   ==================================================================================== */
.about-section {
    background-color: var(--section-bg-white);
    padding: 100px 0;
    z-index: 3;
}

.about-images-left,
.about-images-right {
    position: relative;
}

.about-image-top-left,
.about-image-top-right {
    position: relative;
    margin-bottom: 2rem;
}

.about-image-bottom-left,
.about-image-bottom-right {
    position: relative;
    margin-top: -30%;
}

.about-img-top-left {
    position: relative;
 
    z-index: 10;
    top: -9rem;
    left: 60%;
}
.about-img-top-right {
margin-top: -168px;
    position: relative;
    z-index: 10;
    top: 0rem;
    right: 0%;
}
.about-img-bottom-left {


    margin-top: -92px;
}
.about-img-bottom-right {
    position: relative; /* Cambiado de relative a absolute */
   
    z-index: 10; /* Aseguramos que esté por encima */
    top: 150px;
}
.about-image-bottom-right {
text-align: end;
}

.about-content {
    padding: 0 2rem;
    z-index: 4;
    text-align: center;
}

.about-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
  
    color: var(--text-primary-dark);
    margin-bottom: 2rem;
    line-height: 1.2;
}

.about-features {
    margin-bottom: 2rem;
    font-family: var(--font-serif);
     font-size: 1.5rem;
}

.about-feature {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: var(--text-secondary-gray);
    margin-bottom: 1rem;
    position: relative;
    padding-left: 1.5rem;
}

.about-feature::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--section-bg-green);
    font-weight: bold;
}

.about-description {
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.8;
}

/* ====================================================================================
   MOBILE IMAGE SECTION
   ==================================================================================== */
.mobile-image-section {
    display: none;
}

.mobile-image-container {
    position: relative;
    width: 100%;
}

.mobile-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

/* ====================================================================================
   MATCHING SECTION - Emparejamiento inteligente
   ==================================================================================== */
.matching-section {
    position: relative;
    background-color: var(--section-bg-white);
    padding: 50px 0;
    z-index: 1;
}

.matching-content {
    padding-right: 3rem;
}
.matching-content2 {

    padding-left: 20rem;
}
.matching-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;

    color: var(--text-primary-dark);

}
.matching-title3 {
    font-family: var(--font-serif);
    font-size: 2.5rem;
padding: 0;
margin: 0%;
    color: #FEFFE1;
 
}


.s750{
    font-size: 4.5rem;
}
.matching-description {
    font-family: var(--font-sans);
    font-size: 1.1rem;

    
}




.matching-image {
    width: 100%;

}

.matching-image2{
    width: 100%;

}


/* ====================================================================================
   CAROUSEL SECTION - Carrusel con Swiper
   ==================================================================================== */
.carousel-section {
    position: relative;
    background-color: var(--section-bg-white);
    padding-top: 100px;
    padding-bottom: 100px;
    z-index: 1;
}

.carousel-swiper {
    margin: 0 -15px;
    padding: 0 15px;
}

.swiper-slide {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
}

.carousel-image {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

.carousel-content {
color: #fff;
    padding: 2rem;
        padding: 15px 25px;
}

.carousel-title {
    font-family: var(--font-serif);
    font-size: 2rem;
    font-weight: 600;

}

.carousel-description {
    font-family: var(--font-sans);
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

.carousel-text {
    font-family: var(--font-sans);
    font-size: 0.9rem;


}

.carousel-whatsapp-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: #25D366;
    color: var(--primary-white);
    text-decoration: none;
    padding: 0.5rem 1rem;
    border-radius: 50px;
    font-family: var(--font-sans);
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.carousel-whatsapp-btn:hover {
    background-color: #128C7E;
    color: var(--primary-white);
}

.carousel-indicators {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 2rem;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ccc;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.dot.active {
    background-color: var(--section-bg-green);
}

/* ====================================================================================
   CAROUSEL PAGINATION SECTION - Paginación independiente
   ==================================================================================== */
.carousel-pagination-section {
    position: relative;
    background-color: var(--section-bg-white);
    padding: 30px 0;
    z-index: 2;
}

.carousel-pagination-section .swiper-pagination {
    position: static;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.carousel-pagination-section .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background-color: #ccc;
    opacity: 1;
    transition: all 0.3s ease;
}

.carousel-pagination-section .swiper-pagination-bullet-active {
    background-color: var(--section-bg-green);
    transform: scale(1.2);
}
.nem3 {
 font-family: 'Sloop-Script', cursive!important;
       text-align: center;
    font-family: DancingScript-Regular;
    font-size: 7.5rem;
    color: #1a362c;    
}
.nem4 {
 font-family: 'Sloop-Script', cursive!important;
       text-align: center;
    font-family: DancingScript-Regular;
    font-size: 7.5rem;
    color: #1a362c;   
    margin-bottom: 90px; 
}
.pimg{
    width: 210px;
}
.img4{

        position: relative;
    bottom: 170px;
}
.ppimg
{
    width: 100%;
 
    z-index: 1;
    position: relative;
}
.rpimg{
    margin-top: 80px;
    margin-bottom: 80px;
    }
    .cardfondo{
    background-image: url('../img/cardb.png');
        padding: 100px 0;
    }
/* ====================================================================================
   FOUNDERS MESSAGE SECTION
   ==================================================================================== */
.founders-message-section {
    position: relative;
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding: 100px 0;
    z-index: 1;
}
.title22{
    background-image: url('../img/title2.png');
        font-family: var(--font-serif);
    font-size: 2.5rem;
    padding: 0;
    margin: 0%;
    color: #FEFFE1;
    text-align: center;

    padding: 100px 0;
}

.title22 h2 {
   
    font-size: 4.5rem;
  

}

.founders-message-section2 {
    position: relative;
    background-image: url('../img/premw.png');
    color: var(--text-white);
    padding: 100px 0;
    z-index: 1;
        padding-bottom: 210px;
}

.founders-message-content {
    text-align: center;
}

.founders-message-text {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    line-height: 1.8;
    margin-bottom: 2rem;

}

.founders-signature {
    font-family: var(--font-serif);

    font-size: 1.5rem;

}
.accordion-button:not(.collapsed) {

    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 #1a362c!important;
}
.casifinal{
    background: #F0F0F0;
    padding: 80px 0;

    
}
/* ====================================================================================
   FAQ SECTION - Preguntas Frecuentes
   ==================================================================================== */
.faq-section {
    background-color: var(--section-bg-white);
    padding: 100px 0;
    z-index: 3;
}

.faq-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--text-primary-dark);
    text-align: center;
    margin-bottom: 3rem;
}

.accordion-item {
    border: none;
    margin-bottom: 1rem;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.accordion-button {
    background-color: var(--section-bg-white);
    color: var(--text-primary-dark);
    border: none;
    padding: 1.5rem;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1.1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.accordion-button:hover {
    background-color: #f8f9fa;
    color: var(--text-primary-dark);
}

.accordion-button:not(.collapsed) {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.accordion-button i {
    transition: transform 0.3s ease;
}

.accordion-button:not(.collapsed) i {
    transform: rotate(180deg);
}

.accordion-body {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding: 1.5rem;
    border-top: none;
}

.accordion-body p {
    margin-bottom: 1rem;
    line-height: 1.6;
}

.accordion-button::after {
    display: none;
}

/* ====================================================================================
   CONTACT SECTION - Información de contacto
   ==================================================================================== */
.contact-section {
    background-color: var(--section-bg-white);
    padding: 80px 0;
    z-index: 3;
}

.contact-info {
    text-align: center;
}

.contact-info h3 {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-primary-dark);
    margin-bottom: 1rem;
}

.contact-info h3 i {
    margin-right: 0.5rem;
    color: var(--section-bg-green);
}

.contact-info p {
    font-family: var(--font-sans);
    font-size: 1rem;
    margin-bottom: 1rem;
}

/* ====================================================================================
   SOCIAL MEDIA BUTTONS - Botones de redes sociales
   ==================================================================================== */

/* Contenedor general para botones sociales */
.social-media-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
}

/* Estilos base para botones sociales */
.social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;

    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 1.2rem;
        background-color: #000000 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;

}




/* ====================================================================================
   FOOTER BUTTONS - Botones para el footer
   ==================================================================================== */

/* Botones del footer: cuadrados blancos con iconos negros (como la referencia) */
.footer-social-btn {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: none !important;
    border-radius: 8px !important;
    width: 48px !important;
    height: 48px !important;
}

.footer-social-btn:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
    transform: none !important;
}



/* ====================================================================================
   MAP SECTION - Mapa de Google
   ==================================================================================== */
.map-section {
    width: 100%;
    z-index: 3;
}

.map-container {
    width: 100%;
    height: 450px;
    position: relative;
}

.map-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* ====================================================================================
   FOOTER SECTION - Pie de página
   ==================================================================================== */
.footer-section {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    z-index: 3;
}

.footer-top {
    padding: 60px 0 40px;
}

.footer-logo {
    font-family: var(--font-serif);
    font-size: 2rem;
    font-weight: 600;
    color: var(--text-white);
}

.footer-logo .logo-text {
    color: var(--text-white);
}

.footer-logo .logo-trademark {
    font-size: 1rem;
    vertical-align: super;
    color: var(--text-white);
}

.footer-nav {
    display: flex;
    justify-content: flex-end;
}

.footer-nav-list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2rem;
}

.footer-nav-list li a {
    color: var(--text-white);
    text-decoration: none;
    font-family: var(--font-sans);
    font-weight: 500;
    transition: opacity 0.3s ease;
}

.footer-nav-list li a:hover {
    opacity: 0.8;
}

.footer-divider {
    height: 1px;
    background-color: rgba(255, 255, 255, 0.2);
    margin: 0;
}

.footer-middle {
    padding: 40px 0;
}

.footer-info {
    margin-bottom: 2rem;
}

.footer-title {
    font-family: var(--font-serif);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 1rem;
}

.footer-address,
.footer-phone,
.footer-email,
.footer-hours {
    font-family: var(--font-sans);
    font-size: 0.9rem;
    color: var(--text-white);
    margin-bottom: 0.5rem;
}

.footer-phone a,
.footer-email a {
    color: var(--text-white);
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.footer-phone a:hover,
.footer-email a:hover {
    opacity: 0.8;
    color: var(--text-white);
}

.footer-address i,
.footer-phone i,
.footer-email i,
.footer-hours i {
    margin-right: 0.5rem;
    width: 16px;
}

.footer-social {
    text-align: center;
}

.footer-social .social-btn {
    width: 40px;
    height: 40px;
    font-size: 1rem;
    margin: 0 0.5rem;
}

.footer-bottom {
    padding: 20px 0;
    text-align: center;
}

.footer-copyright {
    font-family: var(--font-sans);
    font-size: 0.8rem;
    color: var(--text-white);
    margin: 0;
    opacity: 0.8;
}

/* ====================================================================================
   ABOUT US PAGE - Estilos específicos para página Acerca de nosotros
   ==================================================================================== */

/* Estilos específicos para el hero de la página Acerca de nosotros */


/* Ajuste para el contenedor del hero en página Acerca de nosotros */
.hero-section .hero-content.text-center {
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 120px 0 80px;
}

/* ====================================================================================
   ABOUT CONTENT SECTION - Contenido principal de Acerca de nosotros
   ==================================================================================== */
.about-content-section {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding: 100px 0;
    z-index: 3;
}

.about-content-image-container {
    position: relative;
    margin-bottom: 2rem;
}

.about-content-image {
    width: 100%;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.about-content-text {
    padding-left: 3rem;
}

.about-content-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;

    color: var(--text-white);
    margin-bottom: 2rem;
    line-height: 1.2;
}

.about-content-paragraph {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: var(--text-white);
    line-height: 1.8;
    margin-bottom: 1.5rem;
    opacity: 0.95;
}

/* ====================================================================================
   MEMBERSHIP SECTION - Sección de membresía
   ==================================================================================== */
.membership-section {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding: 100px 0;
    z-index: 3;
}
.membership-section2 {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding: 100px 0;
    z-index: 3;
}
.membership-title-container {
    padding-right: 3rem;
}

.membership-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 1rem;
    line-height: 1.2;
}

.membership-title .title-line-1 {
    display: block;
    font-size: 2.25rem;
    font-weight: 500;
}

.membership-title .title-line-2 {
    display: block;
    font-size: 3rem;
    font-weight: 700;
    font-style: italic;
}

.membership-subtitle {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    color: var(--text-white);
    margin-bottom: 0;
    opacity: 0.9;
}

.membership-content {
    padding-left: 2rem;
}

.membership-paragraph {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: var(--text-white);
    line-height: 1.8;
    margin-bottom: 2rem;
    opacity: 0.95;
}

.membership-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-white);
    text-decoration: none;
    
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1.1rem;
    transition: all 0.3s ease;
}
.about-linea{

border-bottom: solid 1px;
}
    

.membership-link:hover {
    color: var(--text-white);
    transform: translateY(-2px);
}

.membership-link i {
    font-size: 0.9rem;
    transform: rotate(45deg);
}

/* ====================================================================================
   VISION SECTION - Sección de nuestra visión
   ==================================================================================== */
.vision-section {
    background-color: #FEFFE1; /* Amarillo cremoso claro */
    color: var(--section-bg-green); /* Verde oscuro */
    padding: 100px 0;
    z-index: 3;
}
.vision-section2 {
    background-color: #16382C; /* Amarillo cremoso claro */
    color: #fff; /* Verde oscuro */
    padding: 100px 0;
    z-index: 3;
}


.vision-content2 {
    max-width: 800px;
    margin: 0 auto;
}

.vision-title2 {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 2rem;
    line-height: 1.2;
}

.vision-paragraph2 {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: #fff;
    line-height: 1.8;
    margin-bottom: 30px;
    text-align: left;
}




.vision-content {
    max-width: 800px;
    margin: 0 auto;
}

.vision-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--section-bg-green);
    margin-bottom: 2rem;
    line-height: 1.2;
}

.vision-paragraph {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: var(--section-bg-green);
    line-height: 1.8;
    margin-bottom: 0;
    text-align: left;
}

/* ========================================
   RESPONSIVE ADJUSTMENTS
   ======================================== */



/* Small Mobiles (max-width: 575px) */




/* Landscape Orientation */

/* Print Styles */
@media print {
    .navbar,
    .hero-cta,
    .social-media-buttons,
    .footer-social,
    .carousel-indicators {
        display: none !important;
    }
    
    .hero-section {
        min-height: auto;
        padding: 2rem 0;
    }
    
 
    
    .hero-title,
    .hero-description {
        color: var(--primary-black) !important;
    }
    
    /* Estilos responsivos para Vision Section en todas las pantallas */
    @media (max-width: 1199px) and (min-width: 768px) {
        .vision-title {
            font-size: 2.25rem;
        }
        
        .vision-paragraph {
            font-size: 1rem;
        }
        .vision-title2 {
            font-size: 2.25rem;
        }
        
        .vision-paragraph2 {
            font-size: 1rem;
        }
    }
    
    @media (max-width: 767px) and (min-width: 576px) {
                .vision-title {
                    font-size: 2rem;
                }
                
                .vision-paragraph {
                    font-size: 1rem;
                }
                .vision-title2 {
                    font-size: 2rem;
                }
                
                .vision-paragraph2 {
                    font-size: 1rem;
                }
    }
    
    @media (max-width: 575px) {
        .vision-title {
            font-size: 1.75rem;
        }
        
        .vision-paragraph {
            font-size: 0.95rem;
        }
        .vision-title2 {
            font-size: 1.75rem;
        }
        
        .vision-paragraph2 {
            font-size: 0.95rem;
        }
    }
    
    @media (max-width: 374px) {
        .vision-title {
            font-size: 1.5rem;
        }
        
        .vision-paragraph {
            font-size: 0.9rem;
        }
        .vision-title2 {
            font-size: 1.5rem;
        }
        
        .vision-paragraph2 {
            font-size: 0.9rem;
        }
    }
}

/* ======================================== NEW SECTION - Nueva sección con fondo verde y texto blanco ======================================== */
.new-section {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding: 100px 0;
    z-index: 3;
}

.new-section-content {
    padding-right: 3rem;
}

.new-section-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;

    color: var(--text-white);
    margin-bottom: 2rem;
    line-height: 1.2;
}

.new-section-title .title-line-1 {
    display: block;
    font-size: 2rem;
    font-weight: 500;
}

.new-section-title .title-line-2 {
    display: block;
    font-size: 3rem;
    font-weight: 700;
    font-style: italic;
}

.new-section-paragraph {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: var(--text-white);
    line-height: 1.8;
    margin-bottom: 1.5rem;
    opacity: 0.95;
}

.new-section-image-container {
    position: relative;
    margin-bottom: 2rem;
}

.new-section-image {
    width: 100%;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.new-section-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-white);
    text-decoration: underline;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1.1rem;
    transition: all 0.3s ease;
}

.new-section-link:hover {
    color: var(--text-white);
    transform: translateY(-2px);
}

.new-section-link i {
    font-size: 0.9rem;
    transform: rotate(45deg);
}

/* Estilos responsivos para New Section en todas las pantallas */
@media (max-width: 1199px) and (min-width: 768px) { /* Tablets */
    .new-section-title {
        font-size: 2.25rem;
    }
    
    .new-section-title .title-line-1 {
        font-size: 1.75rem;
    }
    
    .new-section-title .title-line-2 {
        font-size: 2.5rem;
    }
    
    .new-section-paragraph {
        font-size: 1rem;
    }
    
    .new-section-content {
        padding-right: 2rem;
    }
    
    .new-section-image {
        height: 450px;
    }
}

@media (max-width: 767px) and (min-width: 576px) { /* Large Mobiles */
    .new-section-title {
        font-size: 2rem;
    }
    
    .new-section-title .title-line-1 {
        font-size: 1.5rem;
    }
    
    .new-section-title .title-line-2 {
        font-size: 2.25rem;
    }
    
    .new-section-paragraph {
        font-size: 1rem;
    }
    
    .new-section-content {
        padding-right: 0;
        text-align: center;
        margin-bottom: 2rem;
    }
    
    .new-section-image {
        width: 100vw;
        max-width: 100vw;
        height: auto;
        margin-left: 50%;
        transform: translateX(-50%);
        object-fit: cover;
        border-radius: 0;
    }
}



/* ========================================
   RESPONSIVE IMAGE TECHNIQUE - Técnica profesional para imágenes de ancho completo en móviles
   ======================================== */




/* ========================================
   RESPONSIVE SOCIAL BUTTONS - Estilos responsivos para botones sociales
   ======================================== */

/* Responsive para tablets */
@media (max-width: 1199px) and (min-width: 768px) {
    .social-btn {
        width: 45px;
        height: 45px;
        font-size: 1.1rem;
    }
}

/* Responsive para móviles grandes */
@media (max-width: 767px) and (min-width: 576px) {
    .social-btn {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }
}

/* Responsive para móviles pequeños */
@media (max-width: 575px) {
    .social-btn {
        width: 35px;
        height: 35px;
        font-size: 0.9rem;
    }
}

/* Responsive para móviles muy pequeños */
@media (max-width: 374px) {
    .social-btn {
        width: 30px;
        height: 30px;
        font-size: 0.8rem;
    }
} 

/* MEMBERSHIP PRICING SECTION - Estilos personalizados */
.pricing-section {
    background: var(--section-bg-white);
    padding: clamp(32px, 4vw, 60px) 0;
}
.pricing-section .container {
    background: var(--section-bg-green);
    border-radius: 0;
    padding: clamp(24px, 3vw, 48px) clamp(20px, 2.5vw, 40px) clamp(16px, 2vw, 32px) clamp(20px, 2.5vw, 40px);
    color: var(--text-white);
}
.pricing-title {
    font-family: var(--font-serif);
    font-size: clamp(1.5rem, 3vw, 2.8rem);
    font-weight: 400;
    margin-bottom: clamp(1rem, 2vw, 2rem);
    color: var(--primary-white);
}
.pricing-label {
    font-family: var(--font-serif);
    font-size: clamp(1rem, 1.2vw, 1.1rem);
    color: var(--primary-white);
    font-weight: 600;
    display: block;
    margin-bottom: 0.2rem;
}
.pricing-value {
    font-family: var(--font-sans);
    font-size: clamp(1rem, 1.2vw, 1.1rem);
    color: var(--text-white);
    font-weight: 400;
}
.pricing-info {
    font-size: clamp(0.95rem, 1.1vw, 1.05rem);
    color: var(--text-white);
}
.pricing-info .membership-link {
    margin-top: clamp(1rem, 2vw, 1.5rem);
    display: inline-block;
}
.benefits-table {
    background: transparent;
    color: var(--text-white);
    border-collapse: separate;
    border-spacing: 0;
    font-size: clamp(0.9rem, 1vw, 1.05rem);
    width: 100%; /* Asegura que la tabla use todo el ancho disponible */
    table-layout: auto; /* Permite que las columnas se ajusten automáticamente */
}
.benefits-table th, .benefits-table td {
    border: 1px solid #F8F8F8;
    background: transparent;
    color: var(--text-white);
    vertical-align: middle;
    padding: clamp(0.5rem, 1vw, 0.85rem) clamp(0.5rem, 1.2vw, 1rem);
    font-family: var(--font-sans);
    word-wrap: break-word; /* Permite que el texto se ajuste */
    white-space: normal; /* Permite saltos de línea */
}
.benefits-table th {
    font-family: var(--font-serif);
    font-size: clamp(1rem, 1.2vw, 1.1rem);
    font-weight: 600;
    background: transparent;
    color: var(--primary-white);
    text-align: left;
    position: sticky;
    top: 0;
    z-index: 10;
}
.benefits-table td {
    font-size: clamp(0.9rem, 1vw, 1.05rem);
    font-weight: 400;
}
.benefits-table i.fa-check {
    color: #F8F8F8;
    font-size: clamp(1rem, 1.3vw, 1.2rem);
}
.benefits-table i.fa-xmark {
    color: #F8F8F8;
    font-size: clamp(1rem, 1.3vw, 1.2rem);
}
.benefits-note {
    color: var(--text-white);
    font-size: clamp(0.9rem, 1vw, 1rem);
    margin-top: clamp(0.3rem, 1vw, 0.5rem);
}

/* Contenedor de tabla responsiva mejorado */
.table-responsive {
    border-radius: 8px;
    overflow: visible; /* Cambiado de hidden a visible */
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.table-responsive::-webkit-scrollbar {
    height: 6px;
}
.table-responsive::-webkit-scrollbar-track {
    background: rgba(248,248,248,0.1);
    border-radius: 3px;
}
.table-responsive::-webkit-scrollbar-thumb {
    background: rgba(248,248,248,0.3);
    border-radius: 3px;
}
.table-responsive::-webkit-scrollbar-thumb:hover {
    background: rgba(248,248,248,0.5);
}

/* Indicadores de scroll para móviles */
.scroll-indicator {
    display: none; /* Oculto por defecto */
    text-align: center;
    margin: 1rem 0;
    color: var(--text-white);
    font-size: 0.9rem;
}
.scroll-indicator i {
    margin: 0 0.5rem;
    opacity: 0.7;
}

/* Responsive breakpoints optimizados */






/* QUESTIONS SECTION - Sección de preguntas y formulario */
.questions-section {
    background: var(--section-bg-white);
    padding: clamp(40px, 6vw, 80px) 0;
}
.questions-title {
    font-family: var(--font-serif);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 400;
    color: var(--text-primary-dark);
    margin-bottom: clamp(1rem, 2vw, 1.5rem);
    text-align: center;
}
.contact-info {
    font-family: var(--font-sans);
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    color: var(--text-primary-dark);

    text-align: center;
}

.contact-email:hover {
    color: #0052a3;
    text-decoration: underline;
}
.questions-description {
    font-family: var(--font-sans);
    font-size: clamp(1rem, 1.2vw, 1.1rem);
    line-height: 1.6;
    margin-bottom: clamp(2rem, 4vw, 3rem);
    text-align: center;
}
.contact-form {
    max-width: 600px;
    margin: 0 auto;
}
.form-group {
    margin-bottom: clamp(1.5rem, 3vw, 2rem);
    position: relative;
}
.form-label {
    font-family: var(--font-sans);
    font-size: clamp(1rem, 1.1vw, 1.05rem);
    color: var(--text-primary-dark);
    font-weight: 500;
    display: block;
    margin-bottom: 0em;
    text-align: left;
}

/* Estilos para los campos de entrada */
.form-input {
    width: 100%;
    background: transparent;
    border: none;
    outline: none;
 
    font-family: var(--font-sans);
    font-size: clamp(1rem, 1.1vw, 1.05rem);
    color: var(--text-primary-dark);
    position: relative;
    z-index: 2;
}

.form-input::placeholder {
    color: transparent;
}

.form-input:focus::placeholder {
    color: rgba(0, 0, 0, 0.5);
}

/* Estilos específicos para select */
.form-select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.5rem center;
    background-size: 1rem;
    padding-right: 2rem;
}

.form-select option {
    background-color: white;
    color: var(--text-primary-dark);
    padding: 0.5rem;
}

/* Estilos para cuando el campo está enfocado */
.form-input:focus {
    color: var(--text-primary-dark);
}

/* Estilos para campos requeridos */
.form-input:required:invalid {
    box-shadow: none;
}

/* Estilos para validación personalizada */
.field-error {
    color: #e74c3c !important;
    font-size: 0.875rem !important;
    margin-top: 0.25rem !important;
    font-family: var(--font-sans) !important;
}

.form-line {
    height: 2px;
    background-color: var(--text-primary-dark);
    width: 100%;
    margin-top: 0.5rem;
    transition: background-color 0.3s ease;
    position: relative;
    z-index: 1;
}

.form-input:focus + .form-line,
.form-line:hover {
    background-color: var(--section-bg-green);
}
.submit-btn {
    background: none;
    border: none;
    font-family: var(--font-sans);
    font-size: clamp(1.1rem, 1.3vw, 1.2rem);
    color: var(--text-primary-dark);
    font-weight: 500;
    cursor: pointer;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
.submit-btn:hover {
    color: var(--section-bg-green);
    transform: translateY(-2px);
}
.submit-btn i {
    font-size: 0.9em;
    transition: transform 0.3s ease;
}
.submit-btn:hover i {
    transform: translate(2px, -2px);
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .questions-section {
        padding: clamp(32px, 5vw, 60px) 0;
    }
    .questions-title {
        font-size: clamp(1.8rem, 5vw, 2.5rem);
    }
    .contact-info {
        font-size: clamp(0.95rem, 1.5vw, 1.1rem);
    }
    .questions-description {
        font-size: clamp(0.95rem, 1.3vw, 1rem);
        text-align: center;
    }
    .contact-form {
        max-width: 100%;
    
    }
    .form-label {
        font-size: clamp(0.95rem, 1.2vw, 1rem);
    }

    .btn-enviar {
   width: 100%;
}
.casifinal {
    background: #F0F0F0;
    padding: 0px 0;
}
.founders-message-section2 {

    padding-bottom: 30px;
}
}

@media (max-width: 575px) {
    .questions-title {
        font-size: clamp(1.5rem, 6vw, 2rem);
    }
    .contact-info {
        font-size: clamp(0.9rem, 1.6vw, 1rem);
    }
    .questions-description {
        font-size: clamp(0.9rem, 1.4vw, 0.95rem);
    }
    .form-label {
        font-size: clamp(0.9rem, 1.3vw, 0.95rem);
    }
    .submit-btn {
        font-size: clamp(1rem, 1.4vw, 1.1rem);
    }
}

@media (max-width: 374px) {
    .questions-title {
        font-size: clamp(1.3rem, 7vw, 1.8rem);
    }
    .contact-info {
        font-size: clamp(0.85rem, 1.7vw, 0.95rem);
    }
    .questions-description {
        font-size: clamp(0.85rem, 1.5vw, 0.9rem);
    }
    .form-label {
        font-size: clamp(0.85rem, 1.4vw, 0.9rem);
    }
    .submit-btn {
        font-size: clamp(0.95rem, 1.5vw, 1rem);
    }
} 

/* PLAY PADEL SECTION - Sección de juega pádel */
.play-padel-section {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding: 100px 0;
    z-index: 3;
}

.play-padel-image {
    width: 100%;
    height: auto;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);

    transition: transform 0.3s ease;
}
.play-padel-image:hover {
    transform: scale(1.02);
}
.play-padel-content {
padding-left: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}
.play-padel-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;

    color: var(--text-white);
    margin-bottom: 2rem;
    line-height: 1.2;
}

.play-padel-title .title-line-1 {
    display: block;
}
.play-padel-paragraph {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: var(--text-white);
    line-height: 1.7;
    margin-bottom: clamp(2rem, 4vw, 3rem);
    font-weight: 400;
}
.play-padel-link {
    font-family: var(--font-sans);
    font-size: clamp(1.1rem, 1.3vw, 1.2rem);
    color: var(--primary-white);
    text-decoration: none;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    padding: 0;
    border: none;
    background: transparent;
}
.play-padel-link:hover {
    color: var(--primary-white);
    background: transparent;
    transform: translateY(-2px);
    text-decoration: underline;
}
.play-padel-link i {
    font-size: 0.9em;
    transition: transform 0.3s ease;
}
.play-padel-link:hover i {
    transform: translate(2px, -2px);
}





/* CLINICS SECTION - Sección de clínicas */
.clinics-section {
    background: var(--section-bg-white);
    padding: 100px 0;
}
.clinics-main-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    color: var(--text-primary-dark);
    margin-bottom: 2rem;
    line-height: 1.2;
}
.clinic-card {
    text-align: center;
 
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.clinic-icon {
    margin-bottom: clamp(1rem, 2vw, 1.5rem);
}
.clinic-icon i {
    font-size: clamp(2.5rem, 4vw, 3.5rem);
    color: var(--text-primary-dark);
    opacity: 0.8;
}
.clinic-title {
    font-family: var(--font-serif);
    font-size: clamp(1.3rem, 2vw, 1.8rem);
    font-weight: 600;
    color: var(--text-primary-dark);
    margin-bottom: clamp(0.5rem, 1vw, 1rem);
    line-height: 1.3;
}
.clinic-subtitle {
    font-family: var(--font-sans);
    font-size: clamp(0.9rem, 1.1vw, 1rem);
    color: var(--text-secondary-gray);
    margin-bottom: clamp(0.5rem, 1vw, 1rem);
    font-style: italic;
}
.clinic-description {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-secondary-gray);
    line-height: 1.6;
    margin-bottom: 0;
    flex-grow: 1;
}

/* Responsive adjustments */
@media (max-width: 1199px) and (min-width: 768px) {
    .clinics-main-title {
        font-size: clamp(1.8rem, 3vw, 2.8rem);
    }
    .clinic-title {
        font-size: clamp(1.2rem, 1.8vw, 1.6rem);
    }
    .clinic-description {
        font-size: clamp(0.9rem, 1.1vw, 1rem);
    }
}

@media (max-width: 767px) and (min-width: 576px) {
    .clinics-section {
        padding: clamp(40px, 6vw, 80px) 0;
    }
    .clinics-main-title {
        font-size: clamp(1.6rem, 4vw, 2.2rem);
    }
    .clinic-card {
        padding: clamp(15px, 3vw, 25px);
        margin-bottom: clamp(20px, 4vw, 30px);
    }
    .clinic-icon i {
        font-size: clamp(2rem, 4.5vw, 2.8rem);
    }
    .clinic-title {
        font-size: clamp(1.1rem, 2.5vw, 1.4rem);
    }
    .clinic-description {
        font-size: clamp(0.85rem, 1.3vw, 0.95rem);
    }
}

@media (max-width: 575px) {
    .clinics-section {
        padding: 70px 0;
    }
    .clinics-main-title {
        font-size: clamp(1.4rem, 5vw, 1.8rem);
    }
    .clinic-card {
        padding: clamp(12px, 3vw, 20px);
        margin-bottom: clamp(15px, 3vw, 25px);
    }
    .clinic-icon i {
        font-size: clamp(1.8rem, 5vw, 2.2rem);
    }
    .clinic-title {
        font-size: clamp(1rem, 2.8vw, 1.2rem);
    }
    .clinic-subtitle {
        font-size: clamp(0.8rem, 1.2vw, 0.9rem);
    }
    .clinic-description {
        font-size: clamp(0.8rem, 1.4vw, 0.9rem);
    }
}

@media (max-width: 374px) {
    .clinics-main-title {
        font-size: clamp(1.2rem, 6vw, 1.6rem);
    }
    .clinic-icon i {
        font-size: clamp(1.6rem, 5.5vw, 2rem);
    }
    .clinic-title {
        font-size: clamp(0.9rem, 3vw, 1.1rem);
    }
    .clinic-subtitle {
        font-size: clamp(0.75rem, 1.3vw, 0.85rem);
    }
    .clinic-description {
        font-size: clamp(0.75rem, 1.5vw, 0.85rem);
    }
} 

/* COACHES SECTION - Sección de coaches expertos */
.coaches-section {
    background: var(--section-bg-white);
    padding:100px 0 ;
}

.coaches-image {
    width: 100%;
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);

    transition: transform 0.3s ease;
}
.coaches-image:hover {
    transform: scale(1.02);
}
.coaches-content {
    padding-left: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}
.coaches-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    color: var(--text-primary-dark);
    margin-bottom: 2rem;
    line-height: 1.2;
}
.coaches-paragraph {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: #000;
    line-height: 1.7;
    margin-bottom: clamp(2rem, 4vw, 3rem);
    font-weight: 400;
}
.coaches-link {
    font-family: var(--font-sans);
    font-size: clamp(1.1rem, 1.3vw, 1.2rem);
    color: var(--text-primary-dark);
    text-decoration: underline;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    padding: 0;
    border: none;
    background: transparent;
}
.coaches-link:hover {
    color: var(--section-bg-green);
    text-decoration: underline;
    transform: translateY(-2px);
}
.coaches-link i {
    font-size: 0.9em;
    transition: transform 0.3s ease;
}
.coaches-link:hover i {
    transform: translate(2px, -2px);
}







/* APP DOWNLOAD SECTION - Sección de descarga de la app */
.app-download-section {
    background: var(--section-bg-white);
    padding: 100px 0;
}
.app-download-content {
    padding-right: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}
.app-download-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    color: var(--text-primary-dark);
    margin-bottom: 2rem;
    line-height: 1.2;
}
.app-download-paragraph {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    color: #000;
    line-height: 1.7;
    margin-bottom: clamp(2rem, 4vw, 3rem);
    font-weight: 400;
}
.app-download-link {
    font-family: var(--font-sans);
    font-size: clamp(1.1rem, 1.3vw, 1.2rem);
    color: var(--text-primary-dark);
    text-decoration: underline;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    padding: 0;
    border: none;
    background: transparent;
}
.app-download-link:hover {
    color: var(--section-bg-green);
    text-decoration: underline;
    transform: translateY(-2px);
}
.app-download-link i {
    font-size: 0.9em;
    transition: transform 0.3s ease;
}
.app-download-link:hover i {
    transform: translate(2px, -2px);
}

.app-download-image {
    width: 100%;
    box-shadow: 0 8px 32px rgba(0,0,0,0.15);
    transition: transform 0.3s ease;
}
.app-download-image:hover {
    transform: scale(1.02);
}







/* CONTACT INFO SECTION - Sección de información de contacto */
.contact-info-section {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding: 100px 0;
    z-index: 3;
}

.contact-info-message {
    font-family: var(--font-serif);
    font-size: clamp(1.2rem, 2vw, 1.8rem);
    font-weight: 400;
    color: var(--primary-white);
    line-height: 1.5;
    margin-bottom: clamp(2rem, 4vw, 3rem);
    text-align: center;
}
.contact-details {
    font-family: var(--font-sans);
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    color: var(--text-white);
    line-height: 1.8;
}
.contact-email {
    margin-bottom: clamp(0.5rem, 1vw, 1rem);
    font-weight: 500;
}
.contact-address {
    margin-bottom: clamp(0.5rem, 1vw, 1rem);
    font-weight: 400;
    font-family: var(--font-serif)!important;
        font-weight: bold;
    font-size: 1.5rem!important;
}
.contact-instagram {
    margin-bottom: 0;
    font-weight: 400;
}



/* ====================================================================================
   ABOUT SECTION - Clases específicas para cada imagen
   ==================================================================================== */

.about-img-top-left-specific {
    width: 50%;
    height: auto;
    /* height: 220px; object-fit: cover; */
}

.about-img-bottom-left-specific {
    width: 100%;
    height: auto;
    /* height: 180px; object-fit: cover; */
}

.about-img-top-right-specific {
    width: 100%;
    height: auto;
    /* height: 220px; object-fit: cover; */
}

.about-img-bottom-right-specific {
    width: 100%;
    height: auto;
    /* height: 180px; object-fit: cover; */
}

.caja-carrusel {
    background-image: url(../img/c1.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

  
}

.caja-carrusel2 {
    background-image: url(../img/c2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

  
}
.caja-carrusel3 {
    background-image: url(../img/c3.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

  
}
.caja-carrusel4 {
    background-image: url(../img/c4.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

  
}

/* ========================================
   HERO SECTION - Clases personalizadas
   ======================================== */

.hero-container-custom {
    margin-left: 4%;
}

@media (max-width: 768px) {


    .footer-middle {
    padding: 40px 0;
    text-align: center;
}

    .footer-top {
    padding: 40px 0 40px;
}

    .chao{
        display: none;

    }

    .contact-section

 {
    background-color: var(--section-bg-white);
    padding-top: 0px;
    padding-bottom: 60px;
}


    .contact-section2

 {
    background-color: var(--section-bg-white);
    padding-top: 60px;
    padding-bottom: 60px;
}
    .faq-section {
    background-color: var(--section-bg-white);
    padding: 60px 0;
    z-index: 3;
}
    .founders-message-section {
    position: relative;
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding: 60px 0;
    z-index: 1;
}
    .carousel-section {
    position: relative;
    background-color: var(--section-bg-white);
    padding-top: 60px;
    padding-bottom: 40px;
    z-index: 1;
}

    .matching-image{
        margin-bottom: 30px;
    }
    .matching-image2{
        margin-bottom: 0px;
    }
    .matching-content {
    padding-right: 0rem;
}
    .matching-section {
    position: relative;
    background-color: var(--section-bg-white);
    padding: 0px 0;
    z-index: 1;
    text-align: center;
}
    .about-content {
    padding: 0;
    z-index: 4;
    text-align: center;
}
    .about-section {
    background-color: var(--section-bg-white);
    padding: 60px 0;
    z-index: 3;
}
    .hero-description {
    font-family: var(--font-sans);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 2rem;
    color: var(--primary-white);
    max-width: 560px;
}
.hero-container-custom {
    margin-left: 0%;
}

.hero-title{
    font-size: 3.5rem;
}
.title-line-2 {
    Margin-left: 0%;
}
}

@media (max-width: 1470px) {
.about-img-top-left {
    position: relative;
    z-index: 10;
    top: -9rem;
    left: 60%;
}
}
@media (max-width: 1024px) {
.about-img-top-left {
    position: relative;
    z-index: 10;
    top: -9rem;
    left: 40%;
}
}





@media (max-width: 768px) {
    .contact-info-section {
        background-color: var(--section-bg-green);
        color: var(--text-white);
        padding: 70px 0;
        z-index: 3;
    }
    .app-download-image {
        width: 100%;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
        transition: transform 0.3s ease;
        margin-top: 30px;
        margin-bottom: 70px;

    }
    .app-download-image2 {
        width: 100%;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
        transition: transform 0.3s ease;
        margin-top: 30px;
        margin-bottom: 0px;

    }
    .coaches-content {
        padding-left: 0rem;
        display: flex
    ;
        flex-direction: column;
        justify-content: center;
        height: 100%;
    }
    .coaches-image-container{
        margin-bottom: 30px;
    }
    .app-download-section {
        background: var(--section-bg-white);
        padding: 0px 0;
    }

    .app-download-section2 {
        background: var(--section-bg-white);
        padding: 70px 0 !important;
    }
    .coaches-section {
        background: var(--section-bg-white);
        padding: 70px 0;
    }
    .play-padel-section {
        background-color: var(--section-bg-green);
        color: var(--text-white);
        padding: 70px 0;
        z-index: 3;
    }

    .play-padel-image {
        width: 100%;
        height: auto;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
        transition: transform 0.3s ease;

        margin-bottom: 30px;
    }
    .vision-section2 {
        background-color: #16382C;
        color: #fff;
        padding: 70px 0;
        z-index: 3;
    }
    .play-padel-content {
        padding-left: 0rem;
        display: flex
    ;
        flex-direction: column;
        justify-content: center;
        height: 100%;
    }
    .table{
        margin: 0;
    }
    .pricing-section {
        background-color: var(--section-bg-green);
        padding: 0px;
        text-align: center;
    }
    .new-section-image-container {
    position: relative;
    margin-bottom: 0rem;
}

    .new-section-image-container{

        margin-top: 60px;
    }
    .new-section {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding: 60px 0;
    z-index: 3;
}
    .vision-section {
    background-color: #FEFFE1;
    color: var(--section-bg-green);
    padding: 60px 0;
    z-index: 3;
}

    .membership-section {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding-top: 0px;
    padding-bottom: 100px;
}
    .membership-section2 {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding-top: 70px;
    padding-bottom: 100px;
}
    .membership-content {
    padding-left: 0rem;
}
    .membership-title-container {
    padding-right: 0rem;
}
    .about-content-text {
    padding-left: 0rem;
}
    .about-content-image {
    width: 100%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);

}
    .about-content-section {
    background-color: var(--section-bg-green);
    color: var(--text-white);
    padding: 70px 0;
    z-index: 3;
}
    .hero-title2 {
    font-family: Behind The Nineties Regular;
    font-size: 2rem;
    line-height: 1.1;
    margin-bottom: 1.5rem;
    color: var(--primary-white);
}
    .hero-content2 {
         padding: 98px 0 47px;
    color: var(--primary-white);
    z-index: 3;
}
  .navbar-collapse {
        background-color: rgba(26, 54, 43, 0.95);
        backdrop-filter: blur(10px);
        border-radius: 8px;
        margin-top: 10px;
        padding: 15px;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    }
.about-image-bottom-left, .about-image-bottom-right {
display: none;
}
.about-image-top-left{
    display: none;
}

.about-image-top-right{
    display: none;
}

.about-content-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    color: var(--text-white);
    margin-bottom: 2rem;
    line-height: 1.2;

    text-align: center;
}

.membership-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--text-white);
    margin-bottom: 1rem;
    line-height: 1.2;
    text-align: center;
}
.new-section-content {
    padding-right: 0rem;
}
.new-section-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    color: var(--text-white);
    margin-bottom: 2rem;
    line-height: 1.2;
    text-align: center;
}
.play-padel-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    color: var(--text-white);
    margin-bottom: 2rem;
    line-height: 1.2;
    text-align: center;
}
.app-download-content {
    padding-right: 0rem;
    display: flex
;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}
.app-download-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    color: var(--text-primary-dark);
    margin-bottom: 2rem;
    line-height: 1.2;
    text-align: center; 
}
}


.comparison-card {
    background: #ffffffc2;
    border-radius: 20px;
    padding: 48px 36px;
    text-align: center;
    box-shadow: 0 18px 60px rgba(0,0,0,0.08);
    border: 1px solid rgba(0,0,0,0.06);
 
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(10px);
}

.card-right {
    background: #223c32d1; /* tono verde grisáceo similar a la imagen */
    color: #fefee1;
}

.comparison-card-title{
     font-family: var(--font-serif);
    font-size: 3rem;
    font-weight: 400;
    margin: 0 0 10px 0;
    color: #16382C;
}.comparison-card-title3{
margin-top: 70px;
margin-bottom: 30px;
}

.card-right .comparison-card-title{
    color: #fefee1;
}

.comparison-card-title::after{
    content: '';
    display: block;
    height: 2px;
    width: 140px;
    margin: 18px auto;
    background: rgba(0,0,0,0.12);
}

.card-right .comparison-card-title::after{
    background: rgba(255,255,255,0.15);
}

.comparison-list{
    list-style: none;
    padding: 0;
    margin: 20px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: center;
}

.comparison-list li{
    font-size: 1.25rem;
    color: #6b6b6b;
}

.card-right .comparison-list li{
    color: rgba(255,255,255,0.9);
}

.comparison-list li + li::before{
    content: '+';
    display: block;
    color: #bdbdbd;
    margin-bottom: 6px;
    font-size: 1.2rem;
}

.card-right .comparison-list li + li::before{
    color: rgba(255,255,255,0.9);
}

.comparison-price{
    font-size: 3.6rem;
    font-weight: 700;
    color: #16382C;
       margin-top: 20px;
}

.card-right .comparison-price{
    color: #fefee1;
}

/* Responsive tweaks */
@media (max-width: 991px){
    .comparison-card{height: auto; padding: 30px;}
    .comparison-card-title{font-size:2.4rem}
    .comparison-price{font-size:2.6rem}
}

@media (max-width: 575px){
    .comparison-card{padding: 22px}
    .comparison-card-title{font-size:2rem}
    .comparison-price{font-size:2rem}
}

/* ========================================
   FORMULARIO CLUB - ESTILOS
   ======================================== */
.formulario-club {

    padding: 60px 0;
    margin: 40px 0;
}

.form-container {
    background: white;
    border-radius: 20px;
    padding: 50px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    max-width: 1000px;
    margin: 0 auto;
}

.form-main-title {
    font-family: 'Behind The Nineties Regular', serif;
    font-size: 2.8rem;
    color: #284137;
    text-align: center;
    margin-bottom: 10px;
    line-height: 1.2;
}

.form-main-title em {
    font-style: italic;
    color: #284137;
    
}

.form-subtitle {
    font-family: 'inter-regular', sans-serif;
    font-size: 1.3rem;
    color: #284137;
    text-align: center;
    margin-bottom: 50px;
    font-weight: 500;
}

.form-question-section {
    margin-bottom: 40px;
}

.form-question-section:last-child {
    margin-top: auto;
    margin-bottom: 0;
}

.form-left-column {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.form-question {
    font-family: 'inter-regular', sans-serif;
    font-size: 1.1rem;
    color: #284137;
    margin-bottom: 25px;
    font-weight: 600;
    line-height: 1.4;
        text-align: left;
}

.form-radio-group {
    margin-bottom: 30px;
}

.form-radio-item {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    cursor: pointer;
}

.form-radio-item input[type="radio"] {
    width: 20px;
    height: 20px;
    margin-right: 15px;
    accent-color: #2c5d4e;
}

.form-radio-item label {
    font-family: 'inter-regular', sans-serif;
    font-size: 1rem;
    color: #555;
    cursor: pointer;
    margin-bottom: 0;
}

.form-select-custom {
    width: 100%;
    padding: 8px 20px;
    font-family: 'inter-regular', sans-serif;
    font-size: 1rem;
    color: #333;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    background-color: white;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.form-select-custom:focus {
    outline: none;
    border-color: #2c5d4e;
}

.contact-form-section {

}

.contact-form-title {
    font-family: 'inter-regular', sans-serif;
    font-size: 1.1rem;
    color: #16382C;
    margin-bottom: 25px;
    line-height: 1.5;
    font-weight: 500;
    text-align: left;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-group {
    margin-bottom: 0;
}

.form-control-custom {
    width: 100%;
    padding: 8px 20px;
    font-family: 'inter-regular', sans-serif;
    font-size: 1rem;
    color: #333;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    background-color: white;
    transition: border-color 0.3s ease;
}

.form-control-custom:focus {
    outline: none;
    border-color: #2c5d4e;
    box-shadow: 0 0 0 3px rgba(44, 93, 78, 0.1);
}

.form-control-custom::placeholder {
    color: #999;
    font-weight: 400;
}

.btn-enviar {
    background: #284137;
    color: #FEFFE1;
    border: none;
    padding: 10px 70px;
    border-radius: 10px;
    font-family: 'inter-regular', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    align-self: flex-start;
    margin-top: 10px;
}

.btn-enviar:hover {
    background: #1e4635;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(44, 93, 78, 0.3);
}

/* Estilos para mensajes del formulario */
.mensaje-formulario {
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 15px;
    font-family: 'inter-regular', sans-serif;
    font-size: 0.9rem;
    line-height: 1.4;
    white-space: pre-line;
}

.mensaje-formulario.success {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}

.mensaje-formulario.error {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

.btn-loading {
    display: none;
}

.btn-enviar:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

.btn-enviar:disabled:hover {
    transform: none;
    box-shadow: none;
}

/* Responsive para el formulario */
@media (max-width: 991px) {
    .contact-form-section {
        margin-left: 0;
        margin-top: 30px;
    }
    
    .form-container {
        padding: 30px;
    }
    
    .form-main-title {
        font-size: 2.2rem;
    }
}

@media (max-width: 768px) {
    .asd33{
        padding: 0px;
    }
    .img4 {
    position: relative;
    bottom: 0px;
}
    .ocutarp{

        display: none;
    }
.asd3 {
    margin-top: 0px;
    margin-bottom: 0px;
    background: #1a362c;
            padding-left: 15px;
        padding-right: 15px;
}
.rpimg {
    margin-top: 80px;
    margin-bottom: 30px;
}
.nem3 {
    font-family: 'Sloop-Script', cursive !important;
    text-align: center;
    font-family: DancingScript-Regular;
    font-size: 5.5rem;
    color: #1a362c;
}
.hero-section3 {
    position: relative;
    min-height: 80vh;
    display: flex
;
    align-items: center;
    z-index: 1;
    overflow: hidden;
    background-image: url(../img/lobby2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.title22 h2 {
    font-size: 2rem;
}
.nem4 {
    font-family: 'Sloop-Script', cursive !important;
    text-align: center;
    font-family: DancingScript-Regular;
    font-size: 3.5rem;
    color: #1a362c;
    margin-bottom: 90px;
}
    .matching-content2 {
        padding-left: 0rem;
        text-align: center;
        margin-top: 80px;
        margin-bottom: 80px;
    }
    
.matching-title3 {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    padding: 0;
    margin: 0%;
    color: #FEFFE1;
    margin-bottom: 20px;
}
       .formulario-club {
        padding: 0px 0px;
    }
    
    .form-container {
        padding: 25px;
    }
    
    .form-main-title {
        font-size: 1.8rem;
    }
    
    .form-subtitle {
        font-size: 1.1rem;
    }
    
  
}

/* ========================================
   ANIMACIONES DE SCROLL
   ======================================== */

/* Elementos que aparecerán con animación */
.animate-on-scroll {
    opacity: 0;
    transition: all 0.8s ease-out;
}

/* Animación de fade in */
.fade-in {
    opacity: 0;
    transition: opacity 0.8s ease-out;
}

.fade-in.animate {
    opacity: 1;
}

/* Animación de slide up */
.slide-up {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s ease-out;
}

.slide-up.animate {
    opacity: 1;
    transform: translateY(0);
}

/* Animación de slide left */
.slide-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: all 0.8s ease-out;
}

.slide-left.animate {
    opacity: 1;
    transform: translateX(0);
}

/* Animación de slide right */
.slide-right {
    opacity: 0;
    transform: translateX(50px);
    transition: all 0.8s ease-out;
}

.slide-right.animate {
    opacity: 1;
    transform: translateX(0);
}

/* Animación de zoom in */
.zoom-in {
    opacity: 0;
    transform: scale(0.9);
    transition: all 0.8s ease-out;
}

.zoom-in.animate {
    opacity: 1;
    transform: scale(1);
}

/* Animación con delay para elementos consecutivos */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }

/* Animación específica para cards */
.animate-card {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
    transition: all 0.6s ease-out;
}

.animate-card.animate {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* fin de estilos añadidos */