/* ==========================================================================
   MEDIOS CMS - CORE BASE & RESET
   Estilos base, resets, contenedor principal y utilidades elementales
   ========================================================================== */

* {
    box-sizing: border-box;
}

html, body {
    background-color: var(--bg-body, #ffffff) !important;
    font-family: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, h6, .font-display, .font-titles {
    font-family: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Contenedor central simétrico */
.cms-container {
    width: 100%;
    max-width: 1440px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    box-sizing: border-box;
}

/* Truncado multi-línea nativo */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Colores de marca primarios */
.text-primary {
    color: var(--primary-color) !important;
}

.bg-primary {
    background-color: var(--primary-color) !important;
}

.hover\:bg-primary:hover {
    background-color: var(--primary-color) !important;
}

.border-primary {
    border-color: var(--primary-color) !important;
}

/* Scrollbar invisible para listas horizontales */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
