/* =========================================================================
   DECLARACIÓN DE FUENTES CORPORATIVAS (Google Sans Text .ttf)
   ========================================================================= */

@font-face {
    font-family: 'Google Sans Text';
    src: url('fonts/GoogleSansText-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Google Sans Text';
    src: url('fonts/GoogleSansText-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Google Sans Text';
    src: url('fonts/GoogleSansText-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

/* =========================================================================
   APLICACIÓN GLOBAL Y SANEAMIENTO DE FORMULARIOS
   ========================================================================= */

body, 
input, 
textarea, 
select, 
button, 
h1, 
h2, 
h3, 
h4, 
h5, 
h6, 
p, 
span, 
a, 
li, 
div { 
    font-family: 'Google Sans Text', sans-serif !important; 
}

body {
    background-color: #F2F4F7; 
    color: #3D3D3D;
}

/* Utilidades de Scroll */
.no-scrollbar::-webkit-scrollbar { 
    display: none; 
}

.no-scrollbar { 
    -ms-overflow-style: none; 
    scrollbar-width: none; 
}

/* Estilo específico para el Hero de index.html */
.hero-bg {
    background-image: linear-gradient(90deg, rgba(32, 35, 41, 0.9) 0%, rgba(32, 35, 41, 0.4) 100%), url('images/header_index.webp');
    background-size: cover;
    background-position: center;
}

/* Botones, inputs y elementos de formulario en forma de cápsula */
button, 
.btn, /* Botones, selectores e inputs de una sola línea en forma de cápsula */
button, 
.btn, 
input[type="text"]:not(.cuadro-suave),
input[type="tel"],
select {
    border-radius: 9999px !important;
}

/* Cuadrantes de texto y áreas de especificaciones con esquinas redondeadas suaves */
textarea,
.cuadro-suave {
    border-radius: 12px !important; /* Ajuste suave idéntico a cuadro_texto.png */
}

/* Anular transformaciones a mayúsculas para respetar el "Tipo oración" */
.uppercase, 
.tracking-wider, 
.tracking-wide {
    text-transform: none !important;
    letter-spacing: normal !important;
}

h1, h2, h3, h4, h5, h6, span, button, a {
    text-transform: none !important;
}

/* Componente Switch (Interruptor deslizante) */
.switch {
    position: relative;
    display: inline-block;
    width: 38px;
    height: 22px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #e5e7eb;
    transition: .3s;
    border-radius: 9999px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .3s;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

input:checked + .slider {
    background-color: #0861F2;
}

input:checked + .slider:before {
    transform: translateX(16px);
}

/* Contenedor de interruptores en barra lateral */
.filter-switch-container {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 9999px !important;
    padding: 0.65rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.filter-switch-container:hover {
    border-color: #cbd5e1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}