/* css/components.css */

/* --- Elementos de Título de Sección --- */
.section-title-divider {
    flex-grow: 1;
    border: none;
    height: 2px;
    background-color: #FEA116; /* Naranja/Ámbar característico */
    margin: 0;
}

.section-title-header {
    color: #FEA116;
    margin: 0 1.5rem;
    white-space: nowrap;
    font-weight: 600;
    font-size: 1.1rem; /* Consistencia con otros títulos */
}

/* --- Títulos Principales de Sección --- */
.section-main-title {
    line-height: 1.2;
}

.section-main-title .subtitle {
    color: black;
    font-weight: 700;
    font-size: 0.8em;
}

.section-main-title .highlight {
    color: #FEA116;
    font-weight: 700;
}

/* --- Fondos y Superposiciones --- */
.background-cover {
    background-size: cover;
    background-position: center;
    position: relative;
}

.dark-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
}

.content-on-overlay {
    position: relative;
    z-index: 2;
}

/* --- Utilidades de Imagen --- */
.img-cover {
    object-fit: cover;
}

/* --- Sobre Nosotros --- */
.about-us-header-wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.about-us-header-text {
    color: #FEA116;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    padding-right: 1em;
    font-weight: 600;
    flex-shrink: 0;
}

/* --- Lugares Cercanos Subtitle --- */
.section-subtitle-large {
    font-weight: 400;
    font-size: 2rem;
}
.section-subtitle-large .text-black-bold {
    color: black;
    font-weight: bold;
}
.section-subtitle-large .text-highlight-bold {
    color: #FEA116;
    font-weight: bold;
}

/* Reusable Play/Pause button for Swiper instances */
.swiper-control-button {
    position: absolute;
    bottom: 8px;
    right: 8px;
    z-index: 20; /* Higher than nav buttons */
    color: #333;
    font-size: 1rem;
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(4px);
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    padding: 0;
    border: 1px solid rgba(0,0,0,0.1);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.swiper-control-button:hover {
    background-color: rgba(255,255,255,0.9);
}

.swiper-control-button:focus {
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.5);
    outline: none;
}

/* Estilos para el valor del descuento en el cupón */
.cupon-discount-value {
    font-size: 2.8rem;
    font-weight: 800;
    color: #FEA116;
    line-height: 1.1;
    margin-bottom: 0.75rem;
}

.cupon-discount-value .discount-off-text {
    font-size: 1.5rem;
    font-weight: 600;
    color: #333;
    margin-left: 0.25rem;
}

/* En vista mobile, ajustamos el tamaño de la fuente */
@media (max-width: 767px) {
    .cupon-info-responsive {
        text-align: center;
    }
    .cupon-discount-value {
        font-size: 2.2rem;
    }
    .cupon-discount-value .discount-off-text {
        font-size: 1.2rem;
    }
}
