/**
 * CEMEBA Modern CSS Reset & Base Styles
 *
 * @package Cemeba_Crecienta
 */

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--cmx-font-body);
    font-size: var(--cmx-fs-body);
    line-height: var(--cmx-lh-base);
    color: var(--cmx-text);
    background-color: var(--cmx-white);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Encabezados */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--cmx-font-heading);
    color: var(--cmx-navy);
    line-height: var(--cmx-lh-tight);
    font-weight: 700;
}

h1 { font-size: var(--cmx-fs-h1); }
h2 { font-size: var(--cmx-fs-h2); }
h3 { font-size: var(--cmx-fs-h3); }
h4 { font-size: var(--cmx-fs-h4); }

p {
    margin-bottom: 1rem;
}

p:last-child {
    margin-bottom: 0;
}

a {
    color: var(--cmx-teal);
    text-decoration: none;
    transition: var(--cmx-transition);
}

a:hover, a:focus {
    color: var(--cmx-blue-dark);
}

img, svg, video {
    display: block;
    max-width: 100%;
    height: auto;
}

ul, ol {
    list-style: none;
}

button, input, select, textarea {
    font: inherit;
    color: inherit;
}

button {
    background: none;
    border: none;
    cursor: pointer;
}

/* Accesibilidad Skip Link */
.cmx-skip-link {
    position: absolute;
    top: -999px;
    left: 20px;
    background: var(--cmx-navy);
    color: var(--cmx-white);
    padding: 10px 18px;
    z-index: 99999;
    border-radius: var(--cmx-radius-sm);
    font-weight: 600;
}

.cmx-skip-link:focus {
    top: 20px;
}

/* Contenedor central */
.cmx-container {
    width: 100%;
    max-width: var(--cmx-container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--cmx-container-pad);
    padding-right: var(--cmx-container-pad);
}

/* Encabezados de sección estándar */
.cmx-section-header {
    max-width: 760px;
    margin: 0 auto clamp(2rem, 4vw, 3.5rem);
}

.cmx-section-header.text-center {
    text-align: center;
}

.cmx-section-eyebrow {
    display: inline-block;
    color: var(--cmx-teal);
    font-family: var(--cmx-font-heading);
    font-size: var(--cmx-fs-small);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 0.6rem;
}

.cmx-section-title {
    margin-bottom: 0.9rem;
    color: var(--cmx-navy);
}

.cmx-section-subtitle {
    color: var(--cmx-muted);
    font-size: clamp(1rem, 0.4vw + 0.9rem, 1.15rem);
    line-height: var(--cmx-lh-snug);
}

.cmx-text-gradient {
    background: var(--cmx-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.cmx-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

