/* ==================================================================
   ARCHIVO 4: k0c.css (CONTENT SYSTEM LITE - GRID & UTILS)
   ================================================================== */
/**
 * K0C – Content Systems Lite
 * Layout grid, containers and generic utilities.
 * @version 2.0.0
 */

/* ==================================================================
   SPECIFIC VARIABLES
   ================================================================== */
.k0c {
    --k0c-max-width: 920px;
    --k0c-content-max-width: 680px;
    --k0c-gutter: 48px;
    --k0c-line-height: 1.5157;
    --k0c-line-height-tight: 1.2;
    --k0c-section-gap: 64px;
    --k0c-paragraph-gap: 24px;
}

/* ==================================================================
   BASE STYLES
   ================================================================== */
.k0c {
    font-family: var(--k0-font-text);
    font-optical-sizing: auto;
    font-weight: 400;
    color: var(--k0-this-ink);
    background-color: var(--k0-this-paper);
    font-size: var(--k0-pt-11);
    line-height: var(--k0c-line-height);
}

@media (max-width: 767px) {
    .k0c { font-size: var(--k0-pt-12); }
}

/* ==================================================================
   LAYOUT - COLUMN SYSTEM
   ================================================================== */
.k0c .mbody { padding: 0; position: relative; }

@media (max-width: 479px) { .k0c .mbody { margin: 0 32px; } }
@media (min-width: 480px) and (max-width: 999px) {
    .k0c .mbody { width: auto; max-width: var(--k0c-max-width); margin: 0 var(--k0c-gutter); }
}
@media (min-width: 1000px) { .k0c .mbody { width: var(--k0c-max-width); margin: 0 auto; } }

.k0c .row { display: flex; flex-wrap: wrap; margin-left: -0.75rem; margin-right: -0.75rem; }
.k0c [class*="col-"] { padding-left: 0.75rem; padding-right: 0.75rem; width: 100%; box-sizing: border-box; }

.k0c .col-1 { width: 8.333333%; }
.k0c .col-2 { width: 16.666667%; }
.k0c .col-3 { width: 25%; }
.k0c .col-4 { width: 33.333333%; }
.k0c .col-5 { width: 41.666667%; }
.k0c .col-6 { width: 50%; }
.k0c .col-7 { width: 58.333333%; }
.k0c .col-8 { width: 66.666667%; }
.k0c .col-9 { width: 75%; }
.k0c .col-10 { width: 83.333333%; }
.k0c .col-11 { width: 91.666667%; }
.k0c .col-12 { width: 100%; }

.k0c .col-auto { flex: 1; }
.k0c .col-2equal { width: 50%; }
.k0c .col-3equal { width: 33.333333%; }
.k0c .col-4equal { width: 25%; }

@media (max-width: 768px) {
    .k0c [class*="col-"] { width: 100%; margin-bottom: 1rem; }
    .k0c .col-mobile-2equal { width: 50%; }
}

.k0c .align-right { text-align: right; }

/* Margin utilities */
.k0c .mt-0 { margin-top: 0 !important; }
.k0c .mb-0 { margin-bottom: 0 !important; }
.k0c .mt-1 { margin-top: var(--k0-space-sm); }
.k0c .mb-1 { margin-bottom: var(--k0-space-sm); }
.k0c .mt-2 { margin-top: var(--k0-space-md); }
.k0c .mb-2 { margin-bottom: var(--k0-space-md); }
.k0c .mt-3 { margin-top: var(--k0-space-lg); }
.k0c .mb-3 { margin-bottom: var(--k0-space-lg); }
.k0c .mt-4 { margin-top: var(--k0-space-xl); }
.k0c .mb-4 { margin-bottom: var(--k0-space-xl); }