@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&family=Cinzel+Decorative:wght@400;700;900&family=Cookie&family=Diplomata+SC&family=Fleur+De+Leah&family=Monsieur+La+Doulaise&family=Montserrat+Alternates:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Rouge+Script&family=Rye&family=Tangerine:wght@400;700&family=Zain:ital,wght@0,200;0,300;0,400;0,700;0,800;0,900;1,300;1,400&display=swap');

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {

    font-family: Arial, sans-serif;
    color: #AA934D;
    background-color: #E7F2ED;

}
/*Estilos para el sobre de invitación*/
.envelope-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: rgba(0, 0, 0, 0.8);
            z-index: 2000;
            cursor: pointer;
            transition: opacity 0.5s ease;
        }
        
        .envelope-wrapper {
            position: relative;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            max-width: 100vw;
            max-height: 100vh;
        }
        
        .envelope-image {
            max-width: 90%;
            max-height: 90%;
            object-fit: contain;
            box-shadow: 0 0 20px rgba(255, 255, 255, 0.3);
            transition: transform 0.3s ease;
            display: none;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }
        
        .envelope-image:hover {
            transform: translate(-50%, -50%) scale(1.02);
        }

        .invitation-content {
            opacity: 0;
            transition: opacity 1s ease;
        }

        .invitation-content.visible {
            opacity: 1;
        }


/* Fondo blanco transparente para el contador */
        .countdown-container {
            background-color: rgba(255, 255, 255, 0.7);
            border-radius: 15px;
            /*padding: 15px;*/
           /* margin-top: 20px;*/
            display: inline-block;
        }
        
        /* Estilos para la sección de fecha del evento */
        .event-date-container {
            text-align: center;
            margin-bottom: 20px;
        }
        
        .event-date-icon {
            width: 120px;
            margin: 0 auto 15px;
        }
        
        .event-date-text {
            font-family: 'Cinzel Decorative', serif;
            color: #000;
            font-size: 22px;
            
        }
        
        .event-date {
            font-family: 'Playfair Display', serif;
            color: #ab8929;
            font-size: 28px;
            font-weight: bold;
            margin-bottom: 15px;
        }

        .event-limit-date-text{
            font-family: 'Cinzel Decorative', serif;
            color: #000;
            font-size: 22px;
            
        }
        
        /* Media queries para la fecha del evento */
        @media only screen and (max-width: 600px) {
            .event-date-icon {
                width: 80px;
            }
            
            .event-date-text,.event-limit-date-text {
                font-size: 18px;
            }
            
            .event-date {
                font-size: 24px;
            }
        }



/* Orientación horizontal para PC, laptop y tablet */
        @media (min-width: 768px) {
            .envelope-image-desktop {
                display: block;
                width: auto;
                height: auto;
                max-height: 80vh;
                max-width: 90vw;
            }
        }
        
        /* Orientación vertical para móviles */
        @media (max-width: 767px) {
            .envelope-image-mobile {
                display: block;
                width: auto;
                height: auto;
                max-width: 90vw;
                max-height: 90vh;
            }
        }
        
        .hidden {
            opacity: 0;
            pointer-events: none;
            transition: opacity 1s ease;
        }



/*Portada*/
.invitation-cover {
            position: relative;
            width: 100%;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 2rem;
            background-image: url('imgxv3/img_portadal.png');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }
        
        .overlay-cover {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
        }
        
        .content-cover {
            position: relative;
            z-index: 2;
            text-align: center;
            width: 100%;
            max-width: 600px;
        }
        
        .title-section {
            margin-bottom: 2rem;
        }
        
        .title-mis {
            font-family: 'Playfair Display';
            font-size: 5rem;
            color: #c5be89;

            font-weight: 300;
            line-height: 1;
            margin-bottom: 0.5rem;
        }
        
        .title-xv {
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .xv-image {
            max-width: 50%; /* Ajusta este valor según el tamaño deseado */
            height: auto;
            display: block;
        }
        
        .title-name {
            margin-top: 1rem;
        }

        .fecha-xv{
            font-size: clamp(22px, 4vw, 32px);
            text-align: center;
        }
        
        .name-ana {
            
            font-family: "Monsieur La Doulaise", cursive;
            font-size: 6rem;
            color: #000;
            font-weight: 300;
            margin-bottom: -0.5rem;
        }
        
        .name-paula {
            font-family: "Cinzel Decorative";
            font-size: 5.5rem;
            color: #c5be89;
            font-weight: 400;
            letter-spacing: 0.1em;
        }
        
        .countdown {

            /*margin-top: 3rem;*/
            display: flex;
            justify-content: center;
        }
        
        .countdown-item {
            /*margin: 0 1rem;*/
            text-align: center;
        }
        
        .countdown-number {
            font-family: 'Roboto';
            font-size: 2.5rem;
            font-weight: 400;
        }
        
        .countdown-label {
            font-family: 'Roboto';
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }
        
        .countdown-separator {
            font-size: 2.5rem;
            margin: 0 0.5rem;
            font-weight: 300;
            opacity: 0.7;
        }
        

/* Media queries para diferentes tamaños de pantalla */

/* Dispositivos extra pequeños (teléfonos, 600px y menos) */
@media only screen and (max-width: 600px) {
    .invitation-cover {
        /*min-height: 80vh;*/
        background-image: url('imgxv3/img_portadac.png'); /* Versión optimizada para móvil */
    }
    .invitation-cover {
                padding: 1rem;
            }
            
            .title-mis {
                font-size: 3.5rem;
            }
            
            .title-xv {
                font-size: 5rem;
            }
            
            .name-ana {
                font-size: 4.2rem;
            }
            
            .name-paula {
                font-size: 5rem;
            }
            
            .countdown {
                /*margin-top: 2rem;*/
            }
            
            .countdown-item {
                margin: 0 0.5rem;
            }
            
            .countdown-number {
                font-size: 1.5rem;
            }
            
            .countdown-separator {
                font-size: 1.5rem;
                margin: 0 0.2rem;
            }
            
            .countdown-label {
                font-size: 0.7rem;
            }
            .xv-image {
                max-width: 50%; /* Tamaño para móviles */
            }
    
  
}

/* Dispositivos pequeños (tablets en portrait, 600px y más) */
@media only screen and (min-width: 600px) and (max-width: 768px) {
    .invitation-cover {
       /* min-height: 90vh;*/
        background-image: url('imgxv3/img_portadat.png'); /* Versión optimizada para tablet */
    }
            .title-mis {
                font-size: 2rem;
            }
            
            .title-xv {
                font-size: 5rem;
            }
            
            .name-ana {
                font-size: 4.5rem;
            }
            
            .name-paula {
                font-size: 2.5rem;
            }
            
            .countdown-number {
                font-size: 2rem;
            }
            
            .countdown-separator {
                font-size: 2rem;
            }
            .xv-image {
                max-width: 50%; /* Tamaño para tablets */
            }
}

/*separador*/
.espaciado{
    background-color: #000;
    padding: 3px;

}

 /* Estilos para la clase active */
        .image-container-photo.active .image-wrapper-photo img {
            transform: scale(1.4);
            filter: brightness(1.3) contrast(1.2) saturate(1.2) blur(0);
            z-index: 10;
        }
        
        .image-container-photo.active .glass-effect-photo {
            opacity: 0.3;
            backdrop-filter: blur(0);
            -webkit-backdrop-filter: blur(0);
        }
        
        .image-container-photo {
            position: relative;
            margin: 20px auto;
            transition: transform 0.5s ease, box-shadow 0.5s ease;
            border-radius: 20px;
            overflow: hidden;
            display: block;
        }
        
        /* Para laptop y tablet */
        @media (min-width: 768px) {
            .image-container-photo {
                width: 600px;
                height: 600px;
            }
        }
        
        /* Para dispositivos móviles */
        @media (max-width: 767px) {
            .image-container-photo {
                width: 90vw;
                height: 90vw;
            }
        }
        
        .image-container-photo:hover,
        .image-container-photo.active,
        .image-container-photo:focus {
            transform: translateY(-10px) scale(1.02);
            box-shadow: 0 25px 50px rgba(255, 255, 255, 0.2);
            outline: none;
        }
        
        .image-wrapper-photo {
            position: relative;
            width: 100%;
            height: 100%;
            overflow: hidden;
        }
        
        .image-wrapper-photo img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.5s ease;
            transform-origin: center center;
            cursor: pointer;
        }
        
        .image-container-photo:hover .image-wrapper-photo img,
        .image-container-photo:active .image-wrapper-photo img,
        .image-container-photo:focus .image-wrapper-photo img {
            transform: scale(1.25);
            filter: brightness(1.2) contrast(1.1) saturate(1.1);
        }
        
        /* Efectos de brillo tipo cristal */
        .glass-effect-photo {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(
                135deg,
                rgba(255, 255, 255, 0.1) 0%,
                rgba(255, 255, 255, 0.05) 25%,
                rgba(255, 255, 255, 0) 50%,
                rgba(255, 255, 255, 0.05) 75%,
                rgba(255, 255, 255, 0.1) 100%
            );
            z-index: 2;
            opacity: 0;
            transition: opacity 0.5s ease, backdrop-filter 0.5s ease;
            border-radius: 20px;
            box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.2);
            backdrop-filter: blur(4px);
            -webkit-backdrop-filter: blur(4px);
            border: 1px solid rgba(255, 255, 255, 0.18);
        }
        
        .image-container-photo:hover .glass-effect-photo,
        .image-container-photo:active .glass-effect-photo,
        .image-container-photo:focus .glass-effect-photo {
            opacity: 1;
            backdrop-filter: blur(0px);
            -webkit-backdrop-filter: blur(0px);
        }
        
        /* Efecto de brillo movil */
        .shine {
            position: absolute;
            top: -100%;
            left: -100%;
            width: 120%;
            height: 120%;
            background: linear-gradient(
                45deg,
                rgba(255, 255, 255, 0) 0%,
                rgba(255, 255, 255, 0.1) 25%,
                rgba(255, 255, 255, 0.3) 50%,
                rgba(255, 255, 255, 0.1) 75%,
                rgba(255, 255, 255, 0) 100%
            );
            transform: rotate(45deg);
            animation: shine-effect 5s infinite linear;
            z-index: 3;
        }
        
        @keyframes shine-effect {
            0% {
                top: -120%;
                left: -120%;
            }
            100% {
                top: 120%;
                left: 120%;
            }
        }
        
        /* Efecto de reflejo cristal */
        .glass-reflection {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(
                135deg,
                rgba(255, 255, 255, 0.15) 0%,
                rgba(255, 255, 255, 0) 50%,
                rgba(255, 255, 255, 0) 100%
            );
            z-index: 1;
        }
        
        /* Efecto de partículas brillantes */
        .sparkles {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 4;
            overflow: hidden;
        }
        
        .sparkle {
            position: absolute;
            width: 6px;
            height: 6px;
            background-color: rgba(255, 255, 255, 0.8);
            border-radius: 50%;
            animation: sparkle-animation 4s infinite;
        }
        
        .sparkle:nth-child(1) {
            top: 20%;
            left: 15%;
            animation-delay: 0s;
        }
        
        .sparkle:nth-child(2) {
            top: 40%;
            left: 75%;
            animation-delay: 1s;
        }
        
        .sparkle:nth-child(3) {
            top: 70%;
            left: 35%;
            animation-delay: 2s;
        }
        
        .sparkle:nth-child(4) {
            top: 10%;
            left: 90%;
            animation-delay: 0.5s;
        }
        
        .sparkle:nth-child(5) {
            top: 55%;
            left: 10%;
            animation-delay: 1.5s;
        }
        
        .sparkle:nth-child(6) {
            top: 85%;
            left: 65%;
            animation-delay: 2.5s;
        }
        
        @keyframes sparkle-animation {
            0%, 100% {
                opacity: 0;
                transform: scale(0);
            }
            50% {
                opacity: 1;
                transform: scale(1);
            }
        }




/*Padres*/

       .main-papas {
            background-image: url('imgxv3/fondo2l.png');
            background-size: cover;
            background-position: center;
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            padding: 20px;
        }
        
        .overlay-papas {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            /*background-color: rgba(255, 255, 255, 0.6);*/
        }
        
        .content-papas {
            position: relative;
            z-index: 10;
            width: 100%;
            max-width: 600px;
            text-align: center;
            padding: 20px 0;
        }
        
        .golden-frame-papas {
            /*border: 2px solid #d4b04c;*/
            padding: 30px 20px;
            margin: 10px 0;
            /*background-color: rgba(234, 244, 236, 0.7);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);*/
        }
        
        .section-title {
            font-family: 'Cookie';
            font-size: clamp(45px, 7.5vw, 75px);
            color: #ab8929;
            margin-bottom: 20px;
            font-weight: normal;
            font-style: italic;
        }
        
        .name {
            font-family: "Cinzel Decorative";
            font-size: clamp(16px, 3vw, 20px);
            color: #ab8929;
            margin-bottom: 6px;
            text-transform: uppercase;
            letter-spacing: 2px;
        }
        
        .divider {
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 25px 0;
        }
        
        .divider-line {
            height: 1px;
            background-color: #d4b04c;
            flex-grow: 1;
            max-width: 80px;
        }
        
        .divider-flower {
            width: 40px;
            height: 20px;
            background-color: transparent;
            margin: 0 15px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .divider-flower::before {
            content: "❀";
            color: #d4b04c;
            font-size: 16px;
        }
        
        /* Media queries para diferentes tamaños de pantalla */
/*Papás*/
/* Dispositivos extra pequeños (teléfonos, 600px y menos) */
@media only screen and (max-width: 600px) {
    .main-papas {
        background-image: url('imgxv3/fondo2c.png'); /* Versión optimizada para móvil */
        padding: 10px;
    }
    .golden-frame-papas {
                padding: 15px 10px;
            }
            
            .divider {
                margin: 15px 0;
            }
            
            .divider-line {
                max-width: 40px;
            }
            
            .divider-flower {
                margin: 0 10px;
            }
            
  
}

/* Dispositivos pequeños (tablets en portrait, 600px y más) */
@media only screen and (min-width: 600px) and (max-width: 768px) {
    .main-papas {
        background-image: url('imgxv3/fondo2t.png'); /* Versión optimizada para tablet */
    }

    .golden-frame-papas {
                padding: 20px 15px;
            }
            
            .divider-line {
                max-width: 60px;
            }
            
}
        


/*boton música*/
.fixed-button {
    position: fixed;
    bottom: 150px; /* Espaciado desde la parte inferior */
    left: 10px; /* Espaciado desde la derecha */
    background-color: #fffff;
    color: black;
    border: none;
    border-radius: 5px;
    padding: 10px 15px;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    transition: transform 0.2s, background-color 0.3s;
}

/* Efectos al pasar el ratón */
.fixed-button:hover {
    background-color: #000;
    color: white;
    transform: scale(1.1); /* Aumenta el tamaño ligeramente */
}

/* Adaptación responsiva */
@media (max-width: 768px) {
    .fixed-button {
        font-size: 14px;
        padding: 8px 12px;
    }
}

@media (max-width: 480px) {
    .fixed-button {
        font-size: 12px;
        padding: 6px 10px;
    }
}



/*Datos y contador*/
.contador {
    display: flex;
    align-items: center;
    font-size: 2vw; /* Ajuste adaptable según la pantalla */
    color: #AA934D;
    text-align: center;
    justify-content: center;
    /*position: absolute;*/
    bottom: 200px;
}

.cuadro{

    padding: 10px;
    margin-left: 450px;
    margin-right: 450px;
}

.segmento {
    font-family: Spectral;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.segmento div {
    font-size: 4rem; /* Ajuste adaptable según la pantalla */
  
}

/*Titulos y separadores*/
.separador{
    width: 30%;
}

/*Itinerario*/
        .timeline-container {
            max-width: 1200px;
           background-size: cover;
            margin: 0 auto;
            padding: 40px 20px;
        }

        .header {
            text-align: center;
            margin-bottom: 50px;
        }

        .header h1 {
            font-family: "Bodoni Moda";
            font-size: 2.5rem;
            color: #ab8929;
            margin-bottom: 10px;
        }

        .header p {
            font-family: "Bodoni Moda";
            font-size: 1.2rem;
            color: #c5b389;
        }

        .timeline {
            position: relative;
            padding: 20px 0;
        }

        /* Línea vertical */
        .timeline::before {
            content: '';
            position: absolute;
            width: 4px;
            background-color: #000;
            top: 0;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
        }

        /* Línea que se ilumina con el scroll */
        .timeline-progress {
            position: absolute;
            width: 4px;
            background-color: #688E82;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            height: 0%;
            transition: height 0.3s ease;
            z-index: 1;
        }

        .event {
            position: relative;
            margin-bottom: 40px;
            opacity: 0;
            transform: translateY(20px);
            transition: all 0.5s ease;
        }

        .event.active {
            opacity: 1;
            transform: translateY(0);
        }

        .event:last-child {
            margin-bottom: 0;
        }

        .event-content {
            position: relative;
            width: 45%;
            padding: 10px;
            border-radius: 10px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }

        .event:nth-child(odd) .event-content {
            margin-left: auto;
        }

        /* Icono en la línea */
        .event-icon {
            position: absolute;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background: white;
            border: 4px solid #215752;
            top: 20px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 2;
        }

        .event-icon i {
            font-size: 20px;
            color: #215752;
        }

        .event h3 {
            font-family: "Bodoni Moda";
            color: #ab8929;
            font-size: 1.5rem;
            margin-bottom: 5px;
        }

        .event .time {
            font-family: "Zain";
            color: #000;
            font-weight: bold;
            margin-bottom: 5px;
            display: block;
        }

        .event p {
            font-family: "Zain";
            line-height: 1.6;
            color: #000;
        }

        /* Conectores */
        .event::after {
            content: '';
            position: absolute;
            width: 20px;
            height: 4px;
            background-color: #215752;
            top: 43px;
        }

        .event:nth-child(odd)::after {
            right: 55%;
        }

        .event:nth-child(even)::after {
            left: 55%;
        }

        /* Responsive para móviles */
        @media (max-width: 768px) {

            .fondo-iti{
            background-image: url('imgxv3/3.png');
            }

            .timeline::before {
                left: 30px;
            }

            .timeline-progress {
                left: 30px;
            }

            .event-icon {
                left: 30px;
            }

            .event-content {
                width: calc(100% - 70px);
                margin-left: 70px !important;
            }

            .event::after {
                width: 20px;
                left: 40px !important;
                right: auto !important;
            }
        }

/*Vestimenta nueva*/

       .main-vestimenta {
            background-image: url('imgxv3/fondo3l.png');
            background-size: cover;
            background-position: center;
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            padding: 20px;
        }
        
        .overlay-vestimenta {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            /*background-color: rgba(255, 255, 255, 0.6);*/
        }
        
        .content-vestimenta {
            position: relative;
            z-index: 10;
            width: 100%;
            max-width: 600px;
            text-align: center;
            padding: 20px 0;
        }
        
        .golden-frame-vest {
            /*border: 2px solid #d4b04c;*/
            padding: 30px 20px;
            margin: 10px 0;
            /*background-color: rgba(234, 244, 236, 0.7);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);*/
        }
        
        .section-title-vest {
            font-family: "Cookie";
            font-size: clamp(45px, 7.5vw, 75px);
            color: #ab8929;
            margin-bottom: 60px;
            font-weight: normal;
            font-style: italic;
        }
        
        .name-vest {
            font-family: "Playfair Display";
            font-size: clamp(28px, 5vw, 36px);
            color: #c5be89;
            margin-bottom: 10px;
            
            letter-spacing: 2px;
        }

        .codigo-vest {
            font-family: "Open Sans";
            font-size: clamp(16px, 3vw, 20px);
            color: #000;
            margin-bottom: 10px;
            font-weight: bold;
            letter-spacing: 2px;
        }

        .nota-vest{
            font-family: "Open Sans";
            font-size: clamp(10px, 2vw, 20px);
            color: #000;
            margin-bottom: 10px;
            letter-spacing: 2px;
        }   

         .item-vestime {
            flex: 1;
            margin: 0 10px;
            text-align: center;
        }

        .item-vestime img {
            width: 20%;
            max-width: 300px;
            border-radius: 8px;
            transition: transform 0.3s ease;
        }

        
        .item-vestime img:hover {
            transform: scale(1.05);
        }

    
///////////////////////////////////////////////////////////////////////////////
/* Media queries para diferentes tamaños de pantalla */
/*Vestimenta*/
/* Dispositivos extra pequeños (teléfonos, 600px y menos) */
@media only screen and (max-width: 600px) {
    .main-vestimenta {
        background-image: url('imgxv3/fondo3c.png'); /* Versión optimizada para móvil */
        padding: 10px;

    }
                
            .golden-frame-vest {
                padding: 15px 10px;
            }
            
            .divider {
                margin: 15px 0;
            }
            
            .divider-line {
                max-width: 40px;
            }
            
            .divider-flower {
                margin: 0 10px;
            }
    
           .item-vestime {
                margin: 10px 0;
            }

            .separador{
             width: 90%;
            } 
  
}

/* Dispositivos pequeños (tablets en portrait, 600px y más) */
@media only screen and (min-width: 600px) and (max-width: 768px) {
    .main-vestimenta {
        background-image: url('imgxv3/fondo3t.png'); /* Versión optimizada para tablet */
    }

    .golden-frame-vest {
                padding: 20px 15px;
            }
            
            .divider-line {
                max-width: 60px;
            }
            
}        
        




/*ubicaciones*/


        .main-ubicacion {
            background-image: url('imgxv3/fondo4l.png');
            background-size: cover;
            background-position: center;
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            padding: 20px;
        }

        .overlay-ubicacion {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            /*background-color: rgba(255, 255, 255, 0.6);*/
        }
        
        .content-ubicacion {
            position: relative;
            z-index: 10;
            width: 100%;
            max-width: 600px;
            text-align: center;
            padding: 20px 0;
        }
        
        .title-ubi {
            font-family: 'Cookie', cursive;
            color: #ab8929;
            font-size: clamp(45px, 7.5vw, 75px);
            margin-bottom: 40px;
        }
        
        .locations {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
            margin: 30px 0;
        }
        
        .location-card {
            flex: 1;
            min-width: 280px;
            max-width: 350px;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        
        .location-img-container {
            width: 200px;
            height: 350px;
            overflow: hidden;
            margin-top: 35px;
            margin-bottom: 15px;
        }
        
        .location-img {
            height: 100%;
            object-fit: cover;
        }
        
        .location-title {
            font-family: 'Dancing Script', cursive;
            color: #c5be89;
            font-size: 1.8rem;
            margin-bottom: 10px;
            text-align: center;
        }
        
        .location-name {
            font-family:'Montserrat Alternates';

            margin-bottom: 5px;
            text-align: center;
            color: #5a5a5a;
        }
        
        .location-address {
            font-family:'Montserrat Alternates';
            font-size: 0.9rem;
            margin-bottom: 15px;
            text-align: center;
            color: #5a5a5a;

        }
        
        .gps-btn {
            display: inline-flex;
            align-items: center;
            padding: 8px 15px;
            border: 1px solid #c6b16e;
            border-radius: 30px;
            color: #5a5a5a;
            text-decoration: none;
            font-size: 0.9rem;
            transition: all 0.3s ease;
        }
        
        .gps-btn:hover {
            background-color: #c6b16e;
            color: white;
        }
        
        .gps-icon {
            width: 18px;
            height: 18px;
            margin-right: 8px;
            fill: #c6b16e;
        }
        
        .gps-btn:hover .gps-icon {
            fill: white;
        }
        
///////////////////////////////////////////////////////////////////////////////
/* Media queries para diferentes tamaños de pantalla */
/*Ubicaciones*/
/* Dispositivos extra pequeños (teléfonos, 600px y menos) */

/* Dispositivos pequeños (tablets en portrait, 600px y más) */
@media only screen and (min-width: 600px) and (max-width: 768px) {
    .main-ubicacion {
        background-image: url('imgxv3/fondo4t.png'); /* Versión optimizada para tablet */
    }
    .locations {
                flex-direction: column;
                align-items: center;
            }
            
            .location-card {
                width: 100%;
            }
            
            .location-img-container {
                width: 75%;
               
            }
            
}

@media only screen and (max-width: 600px) {
    .main-ubicacion {
        background-image: url('imgxv3/fondo4c.png'); /* Versión optimizada para móvil */

    }
}


/*Regalos*/
.main-mesa {
            background-color: #f9f9f9;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            padding: 20px;
            background-image: url('imgxv3/fondo5l.png');
            background-size: cover;
            background-position: center;
            /*background-attachment: fixed;*/
        }
        
        .invitation-container {
            max-width: 800px;
            width: 100%;

            position: relative;

            padding: 40px;
            overflow: hidden;

        }
        
        .content-mesa {
            position: relative;
            z-index: 2;
            text-align: center;
            padding: 20px;
        }
        
        .title-mesa {
            font-family: 'Cookie';
            font-size: clamp(45px, 7.5vw, 75px);
            olor: #ab8929;
            margin-bottom: 40px;
            text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
        }
        
        .gift-table {
            margin-bottom: 30px;
        }
        
        .image-container {
            width: 100%;
            height: 100%;
            margin: 10px 0;
            overflow: hidden;
            position: relative;

        }
        
        .image-container img {
            width: 50%;
            height: 50%;
            object-fit: cover;
        }
        
        .divider-mesa {
            height: 2px;
            background: linear-gradient(to right, transparent, #c9a45c, transparent);
            margin: 10px auto;
            width: 60%;
        }
        
        .description {
            font-family:'Montserrat Alternates';
            font-size: 1.2rem;
            color: #555;
            margin-top: 10px;
            margin-bottom: 5px;
        }
        .link {
            font-family:'Montserrat Alternates';
            font-size: 1.2rem;
            color: #ab8929;
            margin-top: 10px;
            margin-bottom: 20px;
            text-decoration: none;

        }

/* Media queries para diferentes tamaños de pantalla */
/*Regalos*/
/* Dispositivos extra pequeños (teléfonos, 600px y menos) */
@media only screen and (max-width: 600px) {
    .main-mesa {
        background-image: url('imgxv3/fondo5c.png'); /* Versión optimizada para móvil */

    }
    .invitation-container {
                padding: 15px;
            }
            
            /*.title-mesa {
                font-size: 2rem;
                margin-bottom: 20px;
            }*/
            
            .image-container {
                height: 100%;
                /*border-radius: 50px;*/
            }
            
            .content-mesa {
                padding: 10px;
            }
    
}

/* Dispositivos pequeños (tablets en portrait, 600px y más) */
@media only screen and (min-width: 600px) and (max-width: 768px) {
    .main-mesa {
        background-image: url('imgxv3/fondo5t.png'); /* Versión optimizada para tablet */
    }
    .invitation-container {
                padding: 20px;
            }
            
            
            .image-container {
                height: 100%;
            }

    
            
}
       

/*Confirmar*/
        .main-confirmar {
            font-family: 'Cookie';
            background-color: #e8f0eb;
            color: #333;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            padding: 20px;
            background-image: url('imgxv3/fondo6l.png');
            background-size: cover;
            background-position: center;
            /*background-attachment: fixed;*/
        }
        
        .container-confirmar {
            max-width: 600px;
            width: 100%;
            padding: 40px;
            position: relative;
            overflow: hidden;
        }
        
        .content-confirmar {
            text-align: center;
            position: relative;
            z-index: 2;
            padding: 20px 0;
        }
        
        .title-confirmar {
            
            font-size: clamp(45px, 7.5vw, 75px);
            margin-bottom: 15px;
            font-family: 'Cookie';
            color: #ab8929;
        }
        
        .heart-decoration {
            color: #c5be89;
            font-size: 32px;
            margin-bottom: 15px;
        }
        
        .contact-list {
            list-style-type: none;
            margin: 30px 0;
        }
        
        .contact-item {
            margin: 10px 0;
            position: relative;
        }
        
        .contact-name {
            color: #ab8929;
            font-size: clamp(30px, 4vw, 40px);
            margin-top: 5px;
        }
        
        .whatsapp-icon {
            width: 100px;
            height: 100px;
            background-color: #c5be89;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0 auto 10px;
        }
        
        .whatsapp-icon i {
            color: white;
            font-size: 56px;
        }
        
        /* Media queries para diferentes tamaños de pantalla */
/*Asistencia*/
/* Dispositivos extra pequeños (teléfonos, 600px y menos) */
@media only screen and (max-width: 600px) {
    .main-confirmar {
        background-image: url('imgxv3/fondo6c.png'); /* Versión optimizada para móvil */

    }

    .confirmar-container {
                padding: 15px;
                margin: 10px;
            }

    
    
}

/* Dispositivos pequeños (tablets en portrait, 600px y más) */
@media only screen and (min-width: 600px) and (max-width: 768px) {
    .main-confirmar {
        background-image: url('imgxv3/fondo6t.png'); /* Versión optimizada para tablet */
    }
    .confirmar-container {
                padding: 20px;
            }
                      
            .whatsapp-icon {
                width: 100px;
                height: 100px;
            }
                 
}

/*footer*/
/* Estilos base para la sección de footer */
.main-footer {
    background-color: #e8f1ee;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background-image: url('imgxv3/fondo7l.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /*position: relative;*/
}

/* Overlay para mejorar la visibilidad del contenido sobre la imagen */
.overlay-footer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.2); /* Ajusta la opacidad según necesites */
    z-index: 1;
}

/* Contenedor del footer */
.container-footer {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Contenido del footer */
.content-footer {
    text-align: center;
    position: relative;
            z-index: 1;
}

/* Estilos para el nombre */
.name-footer {  
    color: #333;
}

.name-first {
    font-family: "Monsieur La Doulaise", cursive;
    font-size: clamp(60px, 7.5vw, 100px);
    font-weight: 300;
    margin-bottom: 5px;
}

.name-last {
    font-family: 'Cinzel Decorative';
    font-size: clamp(60px, 7.5vw, 100px);
   
    letter-spacing: 2px;
    color: #c5be89;
}

/* Media queries para diferentes tamaños de pantalla */

/* Dispositivos extra pequeños (teléfonos, 600px y menos) */
@media only screen and (max-width: 600px) {
    .main-footer {
        min-height: 80vh;
        background-image: url('imgxv3/fondo7c.png'); /* Versión optimizada para móvil */
        background-repeat: no-repeat;
    }
    .container-footer {
                padding: 20px;
                margin: 0 10px;
            }
  
}

/* Dispositivos pequeños (tablets en portrait, 600px y más) */
@media only screen and (min-width: 600px) and (max-width: 768px) {
    .main-footer {
        min-height: 90vh;
        background-image: url('imgxv3/fondo7t.png'); /* Versión optimizada para tablet */
        background-repeat: no-repeat;
    }
 
}


@media (max-width: 1400px) {
.cuadro{
    padding: 10px;
    margin-left: 100px;
    margin-right: 100px;
}
}


@media (max-width: 768px) {

p{
    margin-bottom: 0;
}

.fecha-1 {
    font-size: 3em;
}

    .contador {
        font-size: 5vw;
         bottom: 50px;
    }

    .segmento div {
        font-size: 13vw;
    }

    

}



/* Estilos para el mensaje de rotación */
#rotate-message {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.rotate-content {
    padding: 20px;
    color: white;
    font-family: 'Roboto', sans-serif;
    max-width: 90%;
}

.rotate-icon {
    font-size: 50px;
    margin-bottom: 20px;
    animation: rotate 2s infinite linear;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Estilos específicos para cuando está en modo landscape */
@media screen and (orientation: landscape) and (max-width: 900px) {
    body {
        /* Esto es una última opción si las otras soluciones no funcionan */
        /* No se recomienda usar transform aquí porque puede causar problemas */
    }
}

