:root {
    --primary-color: #000000;
    --blanco: #ffffff;
    --poppins: 'Poppins', sans-serif;
    --play: 'Playfair Display', serif;
}

/* hero */

.hero {
    width: 100%;
    height: 100vh;
    background-image: url('../img/Inicio.png');
    background-size: cover;
    background-position: center;
    color: var(--blanco);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;    
}

.hero-info {
    margin-top: 30rem;
}

.hero-title {
    font-size: 10rem;
    margin-bottom: 1rem;
    text-align: center;
    color: var(--primary-color);
    -webkit-text-stroke: .3px var(--blanco);
    text-shadow:
      -.3px -.3px 0 var(--blanco),
      .3px -.3px 0 var(--blanco),
      -.3px .3px 0 var(--blanco),
      .3px .3px 0 var(--blanco);
}

.hero-subtitle {
    font-size: 3rem;
    text-align: center;
    color: var(--blanco);
    font-family: var(--poppins);
}

.apellidos{
    font-weight: 100;
}

.frase {
    font-size: 2rem;
    text-align: center;
    font-style: italic;
    color: var(--blanco);
    font-family: var(--play);
    margin: 3rem;
    padding: 2rem;
    border: 1px solid var(--blanco);
    border-radius: 0.8rem;
}

/* divisor */
.divisor {
    height: .5rem;
    width: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.582), rgb(255, 255, 255), rgba(255, 255, 255, 0.603));
}

/* Fecha */
.fecha {
    width: 100%;
    height: 50rem;
    background-image: url('../img/Fecha.png');
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fecha-info {
    text-align: center;
    color: var(--blanco);
    font-family: var(--poppins);
    
    /* Forma romboide central */
    position: relative;
    width: 80%;
    margin: 5rem 0 0 0;
    padding: 5rem;
    background: rgb(0, 0, 0);
    border: 1px solid rgba(255,255,255,0.5);
    clip-path: polygon(10% 0, 90% 0, 100% 50%, 90% 100%, 10% 100%, 0 50%);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.fecha-text {
    font-size: 1.5rem;
}

.fecha-span{
    display: inline-block;
    margin: 2rem 0;
    font-size: 2rem;
    font-weight: bold;
    font-style: italic;
}

/* Contador regresivo */
.contador-content {
    width: 100%;
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    align-items: center;
    margin-top: 2rem;
}
.countdown-item {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.884), rgb(255, 255, 255), rgba(255, 255, 255, 0.884));
    text-align: center;
    width: 9rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.countdown-number {
    display: block;
    font-size: 1.3rem;
    color: var(--primary-color);
}
.countdown-label {
    display: block;
    font-size: .9rem;
    color: var(--primary-color);
    letter-spacing: 1px;
    margin-top: 0rem;
}

/* A mis padres */
.padres {
    width: 100%;
    height: 50rem;
    background-image: url('../img/3.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.padres::before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
    pointer-events: none;
}

.padres-info {
    text-align: center;
    color: var(--blanco);
    font-family: var(--poppins);
    z-index: 2;
}

.padres-title{
    font-size: 3rem;
    margin-bottom: 1rem;
}

.padres-nombres {
    margin-top: 1rem;
    font-size: 2.5rem;
    font-family: var(--play);
    font-weight: lighter;
}

.padres-message {
    margin-top: 2rem;
    font-size: 1.5rem;
    font-style: italic;
    padding: 0 2rem;
    line-height: 1.5;
}

/* Acción de gracias */
.accion{
    width: 100%;
    height: 30rem;
    background-image: url('../img/accion-gracias.png');
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    color: var(--blanco);
}

.accion-title{
    font-size: 3rem;
    margin-bottom: 1rem;
    text-align: center;
    font-family: var(--poppins);
    color: var(--primary-color);
    /* Contorno negro */
    -webkit-text-stroke: 1px var(--blanco);
    /* Fallback con text-shadow */
    text-shadow:
      -1px -1px 0 var(--blanco),
      1px -1px 0 var(--blanco),
      -1px 1px 0 var(--blanco),
      1px 1px 0 var(--blanco);
}

.accion-content{
    width: 90%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin: 2rem auto;
}

.accion-img{
    /* Ajuste para mostrar el fondo correcto */
    width: 75%; /* ajustar al ancho deseado */
    max-width: 600px;
    padding: 1rem;
    background-image: url('../img/Terraza.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.5rem;
    color: var(--blanco);
    font-family: var(--poppins);
    font-size: 1.5rem;
}

.accion-img__btn{
    border: 1px solid var(--blanco);
    padding: .3rem 2rem;
    border-radius: .4rem;
}

.accion-text{
    width: 50%;
    font-size: 1.5rem;
    font-style: italic;
    line-height: 1.5;
    font-family: var(--play);
    text-align: center;
}

/* Recepción */
.recepcion{
    width: 100%;
    height: 30rem;
    background-image: url('../img/Recepcion.png');
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    color: var(--blanco);
}

.recepcion-title{
    font-size: 3rem;
    margin-bottom: 1rem;
    text-align: center;
    font-family: var(--poppins);
    color: var(--primary-color);
    /* Contorno negro */
    -webkit-text-stroke: 1px var(--blanco);
    /* Fallback con text-shadow */
    text-shadow:
      -1px -1px 0 var(--blanco),
      1px -1px 0 var(--blanco),
      -1px 1px 0 var(--blanco),
      1px 1px 0 var(--blanco);
}

.recepcion-content{
    width: 90%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin: 2rem auto;
}

.recepcion-info{
    width: 50%;
    font-size: 1rem;
    font-style: italic;
    line-height: 1.5;
    font-family: var(--play);
    text-align: center;
}

.recepcion-info__text{
    font-size: 1.5rem;
}

.recepcion-info__btn{
    border: 1px solid var(--blanco);
    padding: .3rem 2rem;
    border-radius: .4rem;
    font-size: 1.5rem;
}

/* Itinerario */
.itinerario{
    width: 100%;
    height: 90rem;
    background-image: url('../img/Fondo-itinerario-8.png');
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    color: var(--blanco);
}

.itinerario-cont{
    width: 100%;
    position: absolute;
    top: 0;
    margin-top: 2rem;
    display: flex;
    padding: 0 2rem;
}

.itinerario-info{
    width: 35rem;
    height: 60rem;
    z-index: 3;
    position: relative;
}

.itinnerario-rombo{
    width: 50rem;
}

.itinerario-all{
    position: absolute;
    padding: 5rem;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.itinerario-title{
    display: inline-block;
    font-size: 2rem;
    font-weight: 100;
    text-align: center;
    font-family: var(--play);
    color: var(--blanco);
}

.itinerario-subtitle{
    font-size: 2.5rem;
    margin-top: 10rem;
    text-align: center;
    font-family: var(--poppins);
    color: var(--primary-color);
    /* Contorno negro */
    -webkit-text-stroke: .3px var(--blanco);
    /* Fallback con text-shadow */
    text-shadow:
      -.3px -.3px 0 var(--blanco),
      .3px -.3px 0 var(--blanco),
      -.3px .3px 0 var(--blanco),
      .3px .3px 0 var(--blanco);
}

.itinerario-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    width: 100%;
    margin-top: 1rem;
}
.itinerario-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 90%;
}
.itinerario-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
    filter: invert(1);
}
.itinerario-item-content {
    width: 50%;
    text-align: center;
}
.itinerario-item-label {
    font-family: var(--poppins);
    font-style: italic;
    font-size: 1.5rem;
    font-weight: 500;
    margin: 0;
}
.itinerario-item-description {
    font-family: var(--poppins);
    font-size: 1rem;
    color: var(--blanco);
}
.itinerario-item-time {
    font-family: var(--poppins);
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
}

.itinerario-cont__msg{
    width: 100%;
    position: absolute;
    bottom: 0;
}

.itinerario-gracias{
    font-size: 2rem;
    text-align: center;
    font-style: italic;
    color: var(--blanco);
    font-family: var(--poppins);
}

/* Fotos */
.fotos{
    width: 100%;
    height: 60rem;
    background-image: url('../img/Fondo-fotos.png');
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fotos-img{
    width: 90%;
    max-width: 400px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    position: relative;
    display: inline-block; /* Para que el contenedor se ajuste al tamaño de la imagen */
}

.fotos-img__photo {
    width: 100%;
    height: auto;
    display: block;
}

.fotos-img::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.74);
    z-index: 1;
    pointer-events: none;
}

/* Texto sobre la imagen */
.fotos-img .itinerario-gracias {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    color: var(--blanco);
    font-family: var(--poppins);
    font-size: 1.5rem;
    text-align: center;
    font-style: italic;
    padding: 1rem;
    margin: 0;
    width: 90%;
    line-height: 1.4;
    font-size: 2rem;
}

/* Vestimenta */
.vestimenta{
    width: 100%;
    height: 60rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-image: url('../img/vestime.png');
    background-size: cover;
    background-position: center;
    color: var(--blanco);
    text-align: center;
}

.vestimenta-text{
    font-family: var(--poppins);
    font-size: 2.5rem;
    color: var(--blanco);
}

.vestimenta-subtext{
    font-family: var(--poppins);
    font-size: 1.5rem;
}

.vestimenta-info{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin: 15rem auto;
    position: relative;
}

.vestimenta-vector{
    width: 33%;
    position: absolute;
}

.mujer{
    left: 0;
}

.hombre{
    right: 0;
}


.vestimenta-title{
    text-align: left;
    font-family: var(--poppins);
    font-weight: 100;
    font-size: 4rem;
    position: relative;
    margin-bottom: 1.5rem;
}
/* Línea decorativa debajo del título de vestimenta */
.vestimenta-title::after {
    content: '';
    position: absolute;
    bottom: -0.5rem;
    left: 0;
    width: 100%; /* El subrayado cubre todo el ancho del texto */
    height: 2px;
    background: var(--blanco);
}

.vestimenta-footer{
    font-family: var(--poppins);
    font-weight: 100;
    font-size: 1.5rem;
    color: var(--blanco);
}

/* Niños */
.ninos{
    width: 100%;
    height: 20rem;
    background-image: url('../img/Ninos.png');
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    color: var(--blanco);
    font-family: var(--poppins);
}

.ninos-text{
    font-size: 1.5rem;
    text-align: center;
    font-style: italic;
}

.ninos-subtext{
    display: block;
    font-size: 1.5rem;
    text-align: center;
    margin: 2rem auto;
}

/* Mesa de regalos */
.mesa{
    width: 100%;
    height: 50rem;
    background-image: url('../img/regalos.png');
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    color: var(--blanco);
    font-family: var(--poppins);
}

.mesa-title{
    font-size: 3rem;
    margin-bottom: 1rem;
    text-align: center;
    font-family: var(--poppins);
    color: var(--blanco);
    font-weight: 100;
    /* Contenido de la mesa de regalos */
}

.mesa-text{
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 2rem;
}

.mesa-info{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.palacio-logo{
    width: 10rem;
    margin-bottom: 1rem;
}

.mesa-code{
    font-size: 1.2rem;
    font-weight: 700;
}

/* Asistencia */
.confirmar{
    width: 100%;
    height: 30rem;
    background-image: url('../img/Confirmar-sistencia.png');
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    color: var(--blanco);
    font-family: var(--poppins);
    padding: 2rem;
}

.confirmar-title{
    font-size: 3rem;
    margin-bottom: 1rem;
    text-align: center;
    font-family: var(--poppins);
    color: var(--blanco);
    font-weight: 100;
}

.confirmar-info{
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 2rem;
    font-style: italic;
}

.confirmar-btn{
    border: 1px solid var(--blanco);
    padding: .5rem 2rem;
    border-radius: .4rem;
    font-size: 1.5rem;
    color: var(--blanco);
    text-decoration: none;
}

/* Botón flotante de audio */
.audio-toggle {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    width: 3rem;
    height: 3rem;
    border: none;
    border-radius: 50%;
    background: rgba(0,0,0,0.6);
    color: var(--blanco);
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 999;
}
.audio-toggle:hover {
    background: rgba(0,0,0,0.8);
}

.show{
    view-timeline-name:--image;
    view-timeline-axis:block;
    animation-timeline:--image;
    animation-name:show;
    animation-range:entry 25% cover 50%;
    animation-fill-mode:both
}


@keyframes show{
    from{
        opacity:0;
        scale:25%;
    }
    to{
        opacity:1;
        scale:100%;
    }
}