.body{
    background: #000000;
    color: #ffffff;
    align-items: center;
    font-family: 'Raleway', sans-serif;
}

.presentacion {
    width: 100%;
    height: 500px; /* Ajusta según necesites */
    background-image: url("../IMG/reunion.png");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* Capa oscura opcional para dar contraste */
.presentacion::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35); /* Ajusta la opacidad */
}

.informacion {
    position: relative; /* Para estar encima de la capa oscura */
    text-align: center; /* Centra ambos elementos */
}

.informacion h2 {
    font-size: 48px;
    color: #c8a45a; /* Dorado */
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: all 0.3s ease;
    padding: 10px 25px;
    border: 2px solid #c8a45a; /* Línea dorada */
    display: inline-block;
    position: relative;
    top: -125px;
    margin: 0;
}

/* Hover negro sobre dorado */
.informacion h2:hover {
    background-color: #c8a45a;
    color: #000000;
}

.informacion p {
    font-family: 'Raleway', sans-serif;
    margin-top: 15px; /* Ajusta la distancia entre h2 y p */
    font-size: 20px;
    color: #ffffff;
    position: relative;
    top: -115px; /* Ajusta para compensar el -125px del h2 */
}

/* ------------------------------ */
/*   CONTENEDOR PRINCIPAL         */
/* ------------------------------ */

.Beneficios {
    width: 100%;
    padding: 60px 40px;
    background: #000000;
    border: 3px solid #c8a45a; /* Marco dorado */
    box-shadow: 0 0 25px rgba(200, 164, 90, 0.25);
    margin: 80px auto;
    max-width: 1100px;
    border-radius: 12px;
}

/* ------------------------------ */
/*   TÍTULO                       */
/* ------------------------------ */

.title {
    text-align: center;
    margin-top: -5%;
}

.title h3 {
    font-size: 42px;
    font-family: 'Cinzel', serif;
    background: radial-gradient(ellipse at center, #3a2a00, #000000 65%);
    font-weight: 400;
    letter-spacing: 2px;
    color: white;
    padding: 10px 20px;
    display: inline-block;
    border-radius: 6px;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
}


/* ------------------------------ */
/*   RETÍCULA 2×2                 */
/* ------------------------------ */

.tarjetas {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}


/* ------------------------------ */
/*   TARJETAS                     */
/* ------------------------------ */

.card {
    height: 220px;
    background: #000;  /* Fondo negro inicial */
    border: 2px solid #c8a45a; /* Dorado */
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    cursor: pointer;

    /* transiciones suaves */
    transition: 
        transform 0.4s ease,
        box-shadow 0.4s ease,
        filter 0.4s ease;
}

/* Texto dentro de cada card */
.card h4 {
    z-index: 2;
    position: relative;
    font-size: 26px;
    font-family: 'Cinzel', serif;
    color: #c8a45a;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-align: center;
    pointer-events: none;
    transition: color 0.4s ease;
}

/* Imagen asociada como capa para hover */
.card::before {
    content: "";
    position: absolute;
    inset: 0;
    display: block;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 0.4s ease, transform 0.4s ease;
    transform: scale(1.2);
    z-index: 1; /* MUY IMPORTANTE */
}

/* ------------------------------ */
/*   HOVER                        */
/* ------------------------------ */

.card:hover {
    transform: scale(1.05);
    box-shadow: 0 0 25px rgba(200, 164, 90, 0.4);
    filter: brightness(1.15);
}

.card:hover::before {
    opacity: 1;      /* Mostrar imagen */
    transform: scale(1); /* Acercar suavemente */
}

.card:hover h4 {
    color: #ffffff; /* Se vuelve blanco sobre la imagen */
}


/* ------------------------------ */
/*   IMÁGENES PARA CADA CARD      */
/* ------------------------------ */
/* Puedes cambiar los URLs por los definitivos */

#card1::before {
    background-image: url("../IMG/servicio_completo.png");
}

#card2::before {
    background-image: url("../IMG/club.jpg");
}

#card3::before {
    background-image: url("../IMG/foto.png");
}

#card4::before {
    background-image: url("../IMG/aliados.png");
}
/* -------------------------------------------- */
/*   RESPONSIVE PARA ≤ 1200px                   */
/* -------------------------------------------- */

@media (max-width: 1100px) {

    /* Ajuste de la sección completa */
    .Beneficios {
        padding: 40px 20px;
        max-width: 95%;
    }

    /* Título más pequeño */
    .title h3 {
        font-size: 32px;
        padding: 8px 20px;
        letter-spacing: 1px;
    }

    /* Mantener la cuadrícula 2×2 */
    .tarjetas {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }

    /* Tarjetas compactadas */
    .card {
        height: 180px;
        border-width: 2px;
        border-radius: 8px;
    }

    /* Reducir tamaño del texto */
    .card h4 {
        font-size: 20px;
    }


    /* -------------------------------------------- */
    /*   ANIMACIÓN DE APARICIÓN SIN HOVER           */
    /* -------------------------------------------- */

    /* Estado inicial: ocultas */
    .card {
        opacity: 0;
        transform: translateY(40px);
        transition: opacity 1s ease, transform 1s ease;
    }

    /* Clase que se activa al entrar en viewport */
    .card.visible {
        opacity: 1;
        transform: translateY(0);
    }

    /* Imagen visible sin necesidad de hover */
    .card::before {
        opacity: 1 !important;  /* Siempre visible */
        transform: scale(1) !important;
    }
}




/* === SECCIÓN MEMBRESÍAS === */

.Membresías {
    background: none;
    border: none;
    text-align: center;
}

.Membresías .title {
    text-align: center;
    font-size: 42px;
    font-family: 'Cinzel', serif;
    background: radial-gradient(ellipse at center, #3a2a00, #000000 65%);
    font-weight: 400;
    letter-spacing: 2px;
    color: white;
    padding: 10px 25px;
    display: inline-block;
    border-radius: 6px;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
}

.Membresías .text {
    max-width: 1200px;   
    margin: 0 auto;
    text-align: center;
    font-size: 20px;
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    letter-spacing: 2px;
    color: white;
    padding: 20px 40px;
    border-radius: 6px;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
}


/* === RETÍCULA 1 × 3 (max-width 1200px) === */

.niveles {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    padding: 20px 10px;
}


/* === TARJETAS DE CADA NIVEL === */

.nivel {
    position: relative;
    height: 525px;
    background-size: cover;
    background-position: center;
}

/* marco dorado */
.nivel {
    border: 3px solid #d4af37;
    border-radius: 10px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: white;
    transition: all 0.35s ease;
}

/* === HOVER DE TARJETA === */

.nivel:hover {
    transform: scale(1.05);
    box-shadow: 0 0 25px rgba(212, 175, 55, 0.8);
    filter: brightness(1.15);
}


/* === BOTÓN DORADO === */

.nivel a button {
    font-family: 'Raleway', serif;
    background-color: #ffd650;
    color: black;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.25s ease;
}


/* === HOVER DEL BOTÓN === */

.nivel a button:hover {
    background-color: #f0d77c;
    transform: scale(1.07);
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.7);
}

#nivel1{
    background-image: url(../IMG/conectate.png);
}
#nivel2{
    background-image: url(../IMG/preferente.png);
}
#nivel3{
    background-image: url(../IMG/VIP.png);
}


/* ============================= */
/* ESTILOS GENERALES */
/* ============================= */
.modal {
	position:
		fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.65);
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s ease-in-out,
		visibility .4s ease-in-out;
	z-index: 9999;
}

/* Mostrar modal */
.modal.show {
	opacity: 1;
	visibility: visible;
}

/*
    ============================= */
/* CONTENIDO DEL MODAL */
/* ============================= */
.modal-content {
	background: #0c0c0c;
	border: 2px solid #d4af37;
	border-radius: 12px;
	width: 90%;
	max-width: 750px;
	padding: 35px;
	position: relative;
	color: white;
	opacity: 0;
	transform: scale(.85);
	animation: modalIn .4s ease forwards;
}

/*
    Animación fade + zoom */
@keyframes modalIn {
	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* Botón cerrar */
.modal-content .close {
	position: absolute;
	top: 12px;
	right: 18px;
	font-size: 32px;
	font-weight: bold;
	color:
		#d4af37;
	cursor: pointer;
	transition: .2s;
}

.modal-content .close:hover {
	color: #f5d46b;
}

/*
    ============================= */
/* TÍTULO */
/* ============================= */
.modal-content h2 {
	text-align:
		center;
	font-family: "Cinzel", serif;
	font-size: 32px;
	background: radial-gradient(ellipse at center, #3a2a00,
			#000000 65%);
	padding: 10px 25px;
	width: fit-content;
	margin: 0 auto 25px auto;
	border-radius: 6px;
	letter-spacing:
		1px;
	color: white;
	text-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
	border: 1px solid #d4af37;
}

/*
    ============================= */
/* SLIDER */
/* ============================= */
.foto {
	width: 100%;
	margin-bottom: 25px;
}

.slider {
	width: 100%;
	height: 320px;
	overflow: hidden;
	position: relative;
	position:
		relative;
	border-radius: 12px;
	border: 2px solid #d4af37;
}

.slide {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity .7s ease-in-out;
}

.slide.active {
	opacity: 1;
}

.slide .info {
	position: absolute;
	bottom: 0;
	width: 100%;
	padding:
		15px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
	color: white;
}

/*
    ============================= */
/* CONTROLES */
/* ============================= */
.controles {
	position:
		absolute;
	top: 50%;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: space-between;
	transform:
		translateY(-50%);
	pointer-events: none;
	/* para que solo capten clics prev y next */
}

.prev,
.next {
	font-size:
		45px;
	padding: 5px 15px;
	font-weight: bold;
	color: #d4af37;
	cursor: pointer;
	pointer-events: auto;
	transition: .25s;
}

.prev:hover,
.next:hover {
	color: #fce7a2;
}

/* ============================= */
/* TEXTO Y LISTAS INTERNAS */
/*
    ============================= */
.modal-content {
    font-family: 'Montserrat', sans-serif;
}
.modal-content p {
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 1.5;
}
.modal-content ul {
	margin-top: 10px;
	padding-left: 20px;
}
.modal-content ul li {
    font-family: 'Raleway', sans-serif;
	margin-bottom: 6px;
	font-size:16px;
}

.modal-content a button {
    background-color: #c8a45a;
    color: #000;
    border: none;
    padding: 10px 24px;
    font-size: 18px;
    font-family: 'Cinzel', serif;
    letter-spacing: 1px;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.3s ease,
                color 0.3s ease,
                transform 0.3s ease;
    margin-top: 20px;
}

.modal-content a button:hover {
    background-color: #e7c980;
    color: #000;
    transform: scale(1.05);
}

.modal-content a button:active {
    transform: scale(0.97);
}

@media (max-width: 600px) {
    .modal-content a button {
        padding: 10px 22px;
        font-size: 16px;
        border-radius: 5px;
    }
}

/* ===================================================== */
/*      RESPONSIVE 600px – 1000px (3 columnas + 9:16)    */
/* ===================================================== */
@media (min-width: 600px) and (max-width: 1000px) {

    /* ---- Contenedor ---- */
    .Membresías {
        padding: 30px 20px;
    }

    .Membresías .title {
        font-size: 34px;
        padding: 8px 24px;
    }

    /* ---- 3 columnas ---- */
    .niveles {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 20px;
        max-width: 95%;
        margin: 0 auto;
    }

    /* ---- Tarjeta (mantiene proporción) ---- */
    .nivel {
        width: 100%;
        aspect-ratio: 9 / 16;   /* 🔥 proporción perfecta */
        height: auto;

        border-width: 2px;
        padding: 16px;

        border-radius: 12px;
        background-size: cover;
        background-position: center;

        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }

    .nivel:hover {
        transform: scale(1.03);
    }

    /* ===================================================== */
    /*           BOTONES — reducción progresiva              */
    /* ===================================================== */

    /* 🔥 Tamaño reducido en pantallas de 600 a 1000px */
    .nivel a button {
        font-size: 14px;        /* antes 16px */
        padding: 6px 10px;      /* antes 12px 18px */
        border-radius: 6px;
    }

    /* 🔥 Sí quieres un comportamiento más fino */
    @media (max-width: 800px) {
        .nivel a button {
            font-size: 13px;
            padding: 3px 6px;
            margin-bottom: -10px;
        }
    }
}


/* =============================================== */
/*     RESPONSIVE COMPLETO — PANTALLAS ≤ 600px     */
/* =============================================== */

@media (max-width: 600px) {

    /* ---- Contenedor Membresías ---- */
    .Membresías {
        padding: 20px 10px;
    }

    .Membresías .title {
        font-size: 32px;
        padding: 8px 18px;
    }

    /* ---- Retícula cambia a 1 columna ---- */
    .niveles {
        grid-template-columns: 1fr !important;
        max-width: 90%;
        gap: 20px;
    }

    /* ---- Tarjetas (Niveles) ---- */
    .nivel {
        width: 100%;
        aspect-ratio: 9 / 16;          /* 🔥 PROPORCIÓN PERFECTA */
        height: auto;                  /* se ajusta automáticamente */
        border-width: 2px;
        padding: 16px;

        border-radius: 10px;
        background-size: cover;
        background-position: center;

        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }

    .nivel:hover {
        transform: scale(1.02) !important; 
    }

    /* ---- Botón en mobile ---- */
    .nivel a button {
        font-size: 15px;
        padding: 10px 15px;
    }
}

/* ===================================================== */
/*          RESPONSIVE SOLO PARA MODALES ≤ 600px         */
/* ===================================================== */

@media (max-width: 600px) {

    /* ----- Modal global ----- */
    .modal {
        padding: 20px; /* evita que el modal toque bordes */
    }

    /* ----- Caja del modal ----- */
    .modal-content {
        width: 100%;
        max-width: 95%;
        padding: 22px;
        border-width: 1.8px;
        border-radius: 10px;
    }

    /* ----- Título ----- */
    .modal-content h2 {
        font-size: 24px;
        padding: 8px 18px;
        margin-bottom: 18px;
        letter-spacing: 0.5px;
    }

    /* ----- Texto ----- */
    .modal-content p,
    .modal-content ul li {
        font-size: 14px;
        line-height: 1.45;
    }

    /* ----- Slider ----- */
    .slider {
        width: 100%;
        height: 250px;              /* se ajusta dinámicamente */
        aspect-ratio: 9 / 16;      /* 🔥 Proporción estilo “historia” */
        border-width: 1.8px;
    }

    .slide .info h3 {
        font-size: 16px;
    }

    .slide .info p {
        font-size: 13px;
    }

    /* ----- Imagen dentro del slider ----- */
    .foto {
        margin-bottom: 18px;
    }

    /* ----- Controles prev/next ----- */
    .prev,
    .next {
        font-size: 32px;
        padding: 5px 10px;
    }

    .controles {
        transform: translateY(-50%);
    }

    /* ----- Botón Cerrar ----- */
    .modal-content .close {
        font-size: 26px;
        top: 10px;
        right: 14px;
    }
}



/* =============================== */
/*   ANIMACIÓN DE ENTRADA          */
/* =============================== */
@keyframes Entrada_FundadorVIP {
    0% {
        opacity: 0;
        transform: translateY(25px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =============================== */
/*   CONTENEDOR GENERAL            */
/* =============================== */
.Fundador_VIP {
    width: 100%;
    max-width: 1100px;
    height: 400px;
    margin: 40px auto;
    display: flex;
    background: #0d0d0d;
    border-radius: 14px;
    overflow: hidden;
    animation: Entrada_FundadorVIP 1s ease forwards;
    position: relative;
}

.Fundador_VIP::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    padding: 0;
    border: 3px solid transparent;
    background: linear-gradient(90deg, #c8a45a, #e7d3a3, #c8a45a) border-box;
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    animation: BordeDoradoPulse 2.5s ease-in-out infinite;
    pointer-events: none;
}

/* Animación del pulso */
@keyframes BordeDoradoPulse {
    0% {
        opacity: 0.35;
        box-shadow: 0 0 6px #c8a45a;
    }
    50% {
        opacity: 1;
        box-shadow: 0 0 18px #e7d3a3;
    }
    100% {
        opacity: 0.35;
        box-shadow: 0 0 6px #c8a45a;
    }
}


/* =============================== */
/*   SECCIÓN IZQUIERDA             */
/* =============================== */
.Izquierda {
    width: 65%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.Izquierda img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
}


/* =============================== */
/*   SECCIÓN DERECHA               */
/* =============================== */
.Derecha {
    width: 35%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: white;
    padding: 25px;
    font-family: "Cinzel", serif;
    font-size: 22px;
    line-height: 1.4;
}

.Derecha span {
    background: linear-gradient(90deg, #c8a45a, #e7d3a3, #c8a45a);
    -webkit-background-clip: text;
    color: transparent;
    font-size: 28px;
    font-weight: bold;
}


/* =============================== */
/*   BOTÓN                         */
/* =============================== */
.Derecha a {
    text-decoration: none;
    margin-top: 25px;
    width: 100%;
}

.Derecha button {
    width: 100%;
    padding: 14px 0;
    font-size: 20px;
    font-family: "Cinzel", serif;
    background: #c8a45a;
    color: black;
    border: 2px solid black;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.25s ease-in-out;
    position: relative;
    overflow: hidden;
}

/* Brillo deslizante */
.Derecha button::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: rgba(255, 255, 255, 0.35);
    transform: skewX(-20deg);
    transition: 0.5s;
}

.Derecha button:hover::before {
    left: 120%;
}

/* Hover general */
.Derecha button:hover {
    background: black;
    color: #c8a45a;
    transform: scale(1.05);
    box-shadow: 0 0 14px rgba(200, 164, 90, 0.75);
}


/* =============================== */
/*   RESPONSIVE ≤ 1100px           */
/* =============================== */
@media (max-width: 1100px) {

    .Fundador_VIP {
        height: auto;
        padding: 20px;
    }

    .Izquierda {
        width: 60%;
        padding: 15px;
    }

    .Derecha {
        width: 40%;
        font-size: 20px;
        padding: 20px;
    }

    .Derecha span {
        font-size: 26px;
    }

    .Derecha button {
        font-size: 18px;
        padding: 12px 0;
    }
}


/* =============================== */
/*   RESPONSIVE ≤ 700px            */
/* =============================== */
@media (max-width: 700px) {

    .Fundador_VIP {
        flex-direction: column;
        height: auto;
        padding: 20px;
        text-align: center;
    }

    .Izquierda {
        width: 100%;
        padding: 10px;
    }

    .Derecha {
        width: 100%;
        font-size: 18px;
        padding: 15px;
    }

    .Derecha span {
        font-size: 24px;
    }

    .Derecha button {
        font-size: 18px;
        padding: 12px 0;
    }
}


/* ================================================= */
/* ESTILO GLOBAL PARA EFECTOS Y COLORES (SIN FORMAS) */
/* ================================================= */

/* Colores y visuales base */
.nivel a button,
.modal-content a button {
    background: #c8a45a !important;
    color: black !important;
    border: 2px solid black !important;
    position: relative;
    overflow: hidden;
    transition: all 0.25s ease-in-out;
}

/* Brillo deslizante */
.nivel a button::before,
.modal-content a button::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: rgba(255, 255, 255, 0.35);
    transform: skewX(-20deg);
    transition: 0.5s;
}

/* Activación del brillo */
.nivel a button:hover::before,
.modal-content a button:hover::before {
    left: 120%;
}

/* Hover general (solo colores y efectos, SIN afectar tamaño) */
.nivel a button:hover,
.modal-content a button:hover {
    background: black !important;
    color: #c8a45a !important;
    box-shadow: 0 0 14px rgba(200, 164, 90, 0.75);
}

/* Optional: efecto al presionar */
.nivel a button:active,
.modal-content a button:active {
    transform: scale(0.97);
}