:root{
--primary-color: #ddc570;
--secondary-color: #676561;
--custom-color: #ddc570;
--font-custom-color: #F7F7F7;
--bs-primary-rgb: 221, 197, 112;
--bs-body-font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial;
}

.sitemap-cols-2 {
    columns: 2;
    column-gap: 30px;
}
.sitemap-cols-3 {
    columns: 3;
    column-gap: 30px;
}
@media (max-width: 767px) {
    .sitemap-cols-2, .sitemap-cols-3 {
        columns: 1;
    }
}

/* ==========================================================================
   Estilos de Búsqueda Elegantes para defaultTheme
   ========================================================================== */

/* Entrada del cuadro de búsqueda en la página de resultados */
.service-section-row .form-control {
    border: 2px solid #cbd5e1 !important;
    background-color: #ffffff !important;
    color: #1e293b !important;
    border-radius: 8px !important;
    padding: 0.75rem 1.25rem !important;
    font-size: 1rem !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.service-section-row .form-control:focus {
    border-color: var(--primary-color) !important;
    background-color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary-color) 25%, transparent), inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* Formulario/línea de búsqueda en la cabecera/navbar */
.navbar-search-form {
    border-bottom: 2px solid #e2e8f0 !important;
    padding-bottom: 4px !important;
    transition: border-color 0.25s ease !important;
}

.navbar-search-form:focus-within {
    border-bottom-color: var(--primary-color) !important;
}

.navbar-search-input {
    border: none !important;
    background: transparent !important;
    padding: 8px 12px !important;
    font-size: 1.5rem !important;
    color: #1e293b !important;
}

.navbar-search-input:focus {
    outline: none !important;
}

/* ==========================================================================
   Reducción del tamaño del menú al hacer scroll (stuck state)
   ========================================================================== */

/* Suavizar la transición de tamaño del logo y su contenedor */
.rd-navbar-fullwidth .navbar-logo {
    transition: padding 0.3s cubic-bezier(0.4, 0, 0.2, 1), min-height 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.rd-navbar-fullwidth .navbar-logo img {
    transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1), max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Estilos específicos cuando el menú queda fijado al hacer scroll */
.rd-navbar-fullwidth.rd-navbar--is-stuck .navbar-logo {
    padding: 10px 0 !important;
    min-height: 65px !important; /* Reducción de la altura */
}

.rd-navbar-fullwidth.rd-navbar--is-stuck .navbar-logo img {
    height: 65px !important;     /* Reducción proporcional del logo */
    max-height: 65px !important;
}

/* ==========================================================================
   Soporte robusto para videos responsivos (Verticales y Horizontales)
   ========================================================================== */

.ratio {
    position: relative !important;
    width: 100% !important;
    display: block !important;
    overflow: hidden !important;
}

.ratio::before {
    display: block !important;
    padding-top: var(--bs-aspect-ratio) !important;
    content: "" !important;
}

.ratio > *,
.ratio-item {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}