@font-face {
    font-family: 'Hijrnotes';
    src: url("../assets/fonts/Hijrnotes.ttf") format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Myriad';
    src: url("../assets/fonts/Myriad.ttf") format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Caslon';
    src: url("../assets/fonts/Caslon.ttf") format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Caslon-Italic';
    src: url("../assets/fonts/Caslon-Italic.ttf") format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Amoura';
    src: url("../assets/fonts/Amoura.otf") format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Avila-Regular';
    src: url("../assets/fonts/Avila-Regular.otf") format('truetype');
    font-weight: normal;
    font-style: normal;
}

body {
    background-color: #f8f8f8   ;
    /*
    background-image: url('https://img.freepik.com/foto-gratis/textura-papel_1154-610.jpg?semt=ais_hybrid');
    background-size: cover;
    /* Cubre todo el fondo 
    background-position: center;
    /* Centra la imagen 
    background-repeat: no-repeat;
    /* Evita que la imagen se repita 
    background-attachment: fixed;
    /* Fija el fondo para que no se desplace con el scroll 
    */
}

.hero {
    background-image: url("../assets/img/hero.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    height: 100vh;
    overflow: hidden;
    position: relative;
}

.hero-content {
    margin-top: 8%;
    text-align: center;
}

.counter {
    background: transparent;
    color: #d89d63;
    font-weight: bold;
    padding: 50px 0;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
}

.counter-content {
    display: flex;
    justify-content: center;
    align-items: center;
}

.counter-days,
.counter-days2 {
    font-size: 48px;
    margin: 0;
    padding: 0;
}

.counter-days2 {
    font-family: 'Hijrnotes';
    margin-left: 10px;
}

.information {
    position: relative;
    z-index: 1;
}

.information-flower {
    margin-top: -880px;
    z-index: -100;
    opacity: 1;
}

@media (max-width: 768px) {
    .information-flower {
        opacity: 0.3;
    }
}

.information-flower4 {
    margin-top: -730px;
    z-index: -100;
}

@media (max-width: 768px) {
    .information-flower4 {
        opacity: 0.3;
    }
}

.information-content {
    color: #626b66;
    padding: 10px;
    text-align: center;
    margin-top: 4%;
    margin-bottom: 3%;
}

.information-content p {
    color: #626b66;
    text-align: center;
    font-family: Caslon;
    font-size: 23.5px;
}

.information-content .information-italic {
    color: #626b66;
    text-align: center;
    font-family: Caslon-Italic;
    font-size: 23.5px;
}

@media (max-width: 768px) {
    .information-content p {
        font-size: 20px; /* Ajusta según sea necesario */
    }
 .information-content .information-italic{
    font-size: 19px;
 }
}

.inspiration {
    padding: 95px 0;
    background: url("../assets/img/inspiration.png") no-repeat;
    background-position: center center; /* Centrar la imagen */
    background-size: cover; /* Cubrir todo el contenedor */
    position: relative;
}

.inspiration::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.inspiration-content p {
    font-family: 'Hijrnotes';
    font-size: 48px;
    font-weight: bold;
    color: #ffff;
    text-align: center;
}

@media (min-width: 1024px) {
    .inspiration {
        background-attachment: fixed; /* Efecto parallax en desktop */
    }
}

@media (max-width: 1023px) {
    .inspiration {
        background-attachment: scroll; /* Desactivar parallax en tablets y móviles */
        background-position: center center; /* Centrar la imagen en tablets y móviles */
    }
}

.locations {
    position: relative;
    overflow: hidden;
}

.locations img {
    max-width: 100%;
    height: auto;
}

.locations-flower4 {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: -1;
    max-width: 100%;
    height: auto;
}

.locations-hojagrande {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: -1;
    max-width: 100%;
    height: auto;
}


@media (max-width: 768px) {
    .locations-hojagrande {
        opacity: 0.3;
    }
}

.locations-flower3 {
    position: absolute;
    top: 50%;
    left: -150px;
    transform: translateY(-50%);
    z-index: -1;
    max-width: 100%;
    height: auto;
}

.locations-caslon-italic {
    font-family: Caslon-Italic;
    font-size: 25px;
    color: #5a615c;
    margin-top: -15px;
}

.locations-caslon {
    font-family: Caslon;
    font-size: 30px;
    color: #E9B7AD;
    margin-top: -15px;
    letter-spacing: 2px;
}

.locations-avila {
    margin-top: -45px;
    font-family: Avila-Regular;
    font-size: 35px;
    letter-spacing: 4.5px;
    color: #e9b5aa;
    text-align: center;
}

.locations-amoura {
    font-family: Amoura;
    font-size: 105px;
    color: #5a615c;
    margin-top: -25px;
    text-align: center;
}

@media (max-width: 768px) {
    .locations-amoura {
        font-size: 50px;
    }

    .locations-avila {
        font-size: 25px;
    }

    .locations-caslon {
        font-size: 20px;
    }

    .locations-caslon-italic {
        font-size: 18px;
    }
}

.location-btn {
    background-color: #E9B7AD;
    color: #FFFFFF;
    border: none;
    padding: 10px 30px;
    font-family: Avila-Regular;
    font-size: 33.5px;
    letter-spacing: 4.5px;
    border-radius: 8px;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.location-btn:hover {
    background-color: #d9a397;
    color: #FFFFFF;
    text-decoration: none;
}

.end-flower5 {
    margin-top: -23%;
    margin-bottom: -50px;
}

.dress-myriad {
    font-family: Myriad;
    font-size: 40px;
    letter-spacing: 4.5px;
    color: #c9c699;
}

.dress-caslonitalic {
    margin-top: 15px;
    font-family: Caslon-Italic;
    text-align: center;
    font-size: 26px;
    letter-spacing: 4.5px;
    color: #4B4546;
}

.dress-code {
    margin-top: 80px;
}

.yellow-flower {
    margin-top: -247px;
}

.dress-flower {
    margin-top: -800px;
}

.timeline-myriad {
    font-family: Myriad;
    font-size: 40px;
    letter-spacing: 4.5px;
    color: #c9c699;
    text-align: center;
}

.timeline-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin: 0 auto;
    width: 90%;
    max-width: 1200px;
}

.timeline-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
    text-align: center;
    margin-bottom: 30px;
}

.timeline-item .icon img {
    max-width: 100%;
    height: auto;
}

.timeline-item .time {
    font-weight: bold;
    color: #333;
    font-size: 18px;
}

.timeline-item .description {
    font-family: Avila-Regular;
    font-size: 25px;
    letter-spacing: 4.5px;
    color: #c9c699;
}

@media (max-width: 768px) {
    .timeline-container {
        flex-direction: column;
        align-items: center;
    }

    .timeline-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin-bottom: 30px;
    }

    .timeline-container::before {
        display: none;
    }
}

.italic {
    font-family: Caslon;
}

.timeline-caslon {
    font-family: Caslon;
    font-size: 34.5px;
    color: #E9B7AD;
    margin-top: -15px;
    letter-spacing: 2px;
}

.portfolio .portfolio-filters {
    padding: 0;
    margin: 0 auto 20px auto;
    list-style: none;
    text-align: center;
}

.portfolio .portfolio-filters li {
    cursor: pointer;
    display: inline-block;
    padding: 8px 20px 10px 20px;
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 5px;
    border-radius: 4px;
    transition: all 0.3s ease-in-out;
    font-family: var(--heading-font);
}

.portfolio .portfolio-filters li:hover,
.portfolio .portfolio-filters li.filter-active {
    color: var(--contrast-color);
    background-color: var(--accent-color);
}

.portfolio .portfolio-filters li:first-child {
    margin-left: 0;
}

.portfolio .portfolio-filters li:last-child {
    margin-right: 0;
}

@media (max-width: 575px) {
    .portfolio .portfolio-filters li {
        font-size: 14px;
        margin: 0 0 10px 0;
    }
}

.portfolio .portfolio-item {
    position: relative;
    overflow: hidden;
}

.portfolio .portfolio-item .portfolio-info {
    opacity: 0;
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: -100%;
    z-index: 3;
    transition: all ease-in-out 0.5s;
    background: color-mix(in srgb, var(--background-color), transparent 10%);
    padding: 15px;
}

.portfolio .portfolio-item .portfolio-info h4 {
    font-size: 18px;
    font-weight: 600;
    padding-right: 50px;
}

.portfolio .portfolio-item .portfolio-info p {
    color: color-mix(in srgb, var(--default-color), transparent 30%);
    font-size: 14px;
    margin-bottom: 0;
    padding-right: 50px;
}

.portfolio .portfolio-item .portfolio-info .preview-link,
.portfolio .portfolio-item .portfolio-info .details-link {
    position: absolute;
    right: 50px;
    font-size: 24px;
    top: calc(50% - 14px);
    color: color-mix(in srgb, var(--default-color), transparent 30%);
    transition: 0.3s;
    line-height: 0;
}

.portfolio .portfolio-item .portfolio-info .preview-link:hover,
.portfolio .portfolio-item .portfolio-info .details-link:hover {
    color: var(--accent-color);
}

.portfolio .portfolio-item .portfolio-info .details-link {
    right: 14px;
    font-size: 28px;
}

.portfolio .portfolio-item:hover .portfolio-info {
    opacity: 1;
    bottom: 0;
}

.gift-container {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    padding: 20px; /* Añadir padding para evitar que los elementos toquen los bordes */
}

.gift-box {
    background-color: #E9B7AD;
    color: #FFFFFF;
    border: none;
    padding: 15px 30px; /* Ajustar padding para mejor espaciado */
    font-family: Avila-Regular, sans-serif; /* Añadir fuente de respaldo */
    font-size: 24px; /* Reducir el tamaño de la fuente para evitar desbordamiento */
    letter-spacing: 2px; /* Reducir el espaciado entre letras */
    border-radius: 8px;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column; /* Alinear ícono y texto verticalmente */
    text-align: center; /* Centrar el texto */
    width: 100%; /* Hacer que el ancho sea flexible */
    max-width: 280px; /* Limitar el ancho máximo */
}

.gift-box i {
    font-size: 2.5rem; /* Reducir el tamaño del ícono */
    margin-bottom: 10px; /* Espaciado entre ícono y texto */
}

.gift-box span {
    font-size: 1.2rem; /* Reducir el tamaño del texto */
    font-weight: bold;
    word-wrap: break-word; /* Permitir que el texto se divida en varias líneas */
}

.gift-box:hover {
    background-color: #d9a397;
    color: #FFFFFF;
    text-decoration: none;
}

.gift-myriad {
    font-family: Myriad;
    font-size: 40px;
    letter-spacing: 4.5px;
    color: #c9c699;
}

@media (max-width: 768px) {
    .gift-box {
        font-size: 20px; /* Reducir el tamaño de la fuente en móviles */
        padding: 10px 20px; /* Ajustar padding para móviles */
        height: auto; /* Altura automática para adaptarse al contenido */
    }

    .gift-box i {
        font-size: 2rem; /* Reducir el tamaño del ícono en móviles */
    }

    .gift-box span {
        font-size: 1rem; /* Reducir el tamaño del texto en móviles */
    }

    .gift-myriad {
        font-size: 28px; /* Reducir el tamaño de la fuente en móviles */
    }
}

.gallery-carousel {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    height: 80%;
}

.gallery-carousel {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    position: relative;
}

.owl-carousel .item {
    padding: 10px;
    text-align: center;
    height: 83vh;
    /* Ajusta la altura del contenedor al 80% del viewport */
    display: flex;
    align-items: center;
    justify-content: center;
}

.owl-carousel .item img {
    height: 100%;
    /* La imagen ocupa el 100% de la altura del contenedor */
    width: auto;
    /* El ancho se ajusta automáticamente para mantener la proporción */
    max-width: 100%;
    /* Evita que la imagen se desborde del contenedor */
    object-fit: cover;
    /* Ajusta la imagen para cubrir el contenedor sin distorsionarse */
}

.gallery-myriad {
    font-family: Myriad;
    margin-top: 30px;
    margin-bottom: 30px;
    font-size: 40px;
    letter-spacing: 4.5px;
    color: #c9c699;
}

/* Estilos para las flechas de navegación */
.nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    /* Elimina el fondo */
    color: white;
    /* Color de las flechas */
    border: none;
    width: 40px;
    height: 40px;
    font-size: 30px;
    /* Tamaño de las flechas */
    cursor: pointer;
    transition: opacity 0.2s ease;
    z-index: 1001;
    /* Asegura que las flechas estén sobre la imagen */
    opacity: 0.8;
    /* Hace las flechas ligeramente transparentes */
}

.nav-btn:hover {
    opacity: 1;
    /* Hace las flechas completamente visibles al pasar el mouse */
}

.prev-btn {
    left: 10px;
    /* Ajusta la posición para móviles */
}

.next-btn {
    right: 10px;
    /* Ajusta la posición para móviles */
}

/* Ajustes para pantallas pequeñas */
@media (max-width: 768px) {
    .prev-btn {
        left: 5px;
        /* Más cerca del borde en móviles */
    }

    .next-btn {
        right: 5px;
        /* Más cerca del borde en móviles */
    }
}

.nav-btn:hover {
    transform: translateY(-50%) scale(1.1);
}

.prev-btn {
    left: 10px;
    /* Ajusta la posición para móviles */
}

.next-btn {
    right: 10px;
    /* Ajusta la posición para móviles */
}

/* Ajustes para pantallas pequeñas */
@media (max-width: 768px) {
    .prev-btn {
        left: 5px;
        /* Más cerca del borde en móviles */
    }

    .next-btn {
        right: 5px;
        /* Más cerca del borde en móviles */
    }
}

/* Estilos del Loader */
#loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    opacity: 1;
    transition: opacity 0.5s ease;
}

#loader.hidden {
    opacity: 0;
    pointer-events: none;
}

.loader-circle {
    position: relative;
    width: 150px;
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loader-image {
    width: 85%;
    height: 85%;
    z-index: 2;
}

.loader-spinner {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 5px solid transparent;
    border-top-color: #AEB68C; /* Color principal */
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: 1;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Estilos para el botón de Back to Top */
#backToTopBtn {
    display: none; /* Oculto por defecto */
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
    background-color: white; /* Fondo blanco */
    color: #E9B7AD; /* Color del ícono */
    border: none;
    border-radius: 50%; /* Hace el botón circular */
    width: 50px; /* Ancho fijo */
    height: 50px; /* Alto fijo */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

#backToTopBtn:hover {
    background-color: #f8f8f8; /* Cambio de color al pasar el mouse */
    transform: scale(1.1); /* Efecto de escala al pasar el mouse */
}