/*
Theme Name: MPPEU Theme
Theme URI: https://mppeu.gob.ve
Description: Tema hijo institucional del Ministerio del Poder Popular para la Educación Universitaria
Author: MPPEU
Author URI: https://mppeu.gob.ve
Template: generatepress
Version: 1.0.0
Text Domain: mppeu-theme
*/

/* =============================================
   1. VARIABLES GLOBALES
   ============================================= */
:root {
  /* Colores institucionales */
  --color-azul:          #003893;
  --color-azul-claro:    #1a4fad;
  --color-azul-oscuro:   #002570;
  --color-rojo:          #CF0921;
  --color-rojo-hover:    #a80018;
  --color-amarillo:      #FCD116;
  --color-blanco:        #ffffff;
  --color-blanco-suave:  rgba(255,254,254,0.4);
  --color-azul-suave:   rgba(0,56,147,0.08);
  --color-gris-claro:    #f4f5f7;
  --color-gris-medio:    #6b7280;
  --color-gris-borde:    rgba(0,56,147,0.12);
  --color-texto:         #1a1a2e;
  --color-texto-suave:   #4b5563;

  /* Fuentes */
  --fuente-principal: 'Inter', sans-serif;

  /* Tamaños de fuente */
  --texto-xs:   11px;
  --texto-sm:   13px;
  --texto-base: 16px;
  --texto-md:   18px;
  --texto-lg:   22px;
  --texto-xl:   28px;
  --texto-2xl:  36px;
  --texto-3xl:  48px;

  /* Espaciado */
  --espacio-xs:  4px;
  --espacio-sm:  8px;
  --espacio-md:  16px;
  --espacio-lg:  24px;
  --espacio-xl:  40px;
  --espacio-2xl: 64px;
  --espacio-3xl: 96px;

  /* Contenedor */
  --ancho-maximo:    1200px;
  --ancho-minimo-image: 800px;
  --padding-lateral: 32px;
  --alto-card-imagen: 180px;

  /* Alturas fijas */
  --alto-sintillo: 32px;
  --alto-header:   72px;

  /* Bordes */
  --radio-sm: 4px;
  --radio-md: 8px;
  --radio-lg: 12px;
  --radio-xl: 20px;

  /* Sombras */
  --sombra-suave:  0 2px 12px rgba(0,0,0,0.06);
  --sombra-media:  0 4px 24px rgba(0,0,0,0.10);
  --sombra-fuerte: 0 8px 40px rgba(0,0,0,0.14);

  /* Transiciones */
  --transicion-rapida: all 0.18s ease;
  --transicion-media:  all 0.28s ease;

  /* Z-index */
  --z-sintillo: 500;
  --z-header:   400;
  --z-dropdown: 300;
  --z-overlay:  200;
}

/* =============================================
   2. RESET Y BASE
   ============================================= */
*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--fuente-principal);
  font-size: var(--texto-base);
  color: var(--color-texto);
  background-color: var(--color-gris-claro);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

#page { padding: 0 !important; }

a { color: var(--color-azul); text-decoration: none; transition: var(--transicion-rapida); }
a:hover { color: var(--color-rojo); }

img { max-width: 100%; height: auto; display: block; }
ul, ol { padding-left: var(--espacio-lg); }
p { margin: 0 0 var(--espacio-md); line-height: 1.75; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--fuente-principal);
  font-weight: 700;
  color: var(--color-texto);
  line-height: 1.25;
  margin: 0 0 var(--espacio-md);
}

/* =============================================
   3. ANCHO COMPLETO — GeneratePress override
   Aplica a CPTs, taxonomías, búsqueda y páginas
   ============================================= */
.mppeu-full-width .site.grid-container,
.mppeu-full-width .site.grid-container.container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.mppeu-full-width #content,
.mppeu-full-width .site-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.mppeu-full-width .content-area,
body .site.grid-container,
.mppeu-full-width article.hentry {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* =============================================
   4. TABLAS
   ============================================= */
.mppeu-simple-table,
.mppeu-bordered-table,
.mppeu-striped-table {
    width: 100%;
    margin: 20px 0;
    border-collapse: collapse;
}

.mppeu-simple-table th, .mppeu-simple-table td,
.mppeu-bordered-table th, .mppeu-bordered-table td,
.mppeu-striped-table th, .mppeu-striped-table td {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: left;
}

.mppeu-simple-table th,
.mppeu-bordered-table th,
.mppeu-striped-table th {
    background-color: #f2f2f2;
    font-weight: bold;
}

.mppeu-striped-table tr:nth-child(even) { background-color: #f9f9f9; }
.mppeu-striped-table tr:hover { background-color: #f5f5f5; }

/* Search global — override específico */
body.search.mppeu-full-width .site.grid-container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

#mppeu-search-global {
    width: 100%;
}

#mppeu-search-global .arc-contenido {
    width: 100%;
}

#mppeu-search-global .mppeu-wrap {
    max-width: var(--ancho-maximo);
    margin-inline: auto;
    padding-inline: var(--padding-lateral);
}

@media (max-width: 768px) {
    .mppeu-simple-table,
    .mppeu-bordered-table,
    .mppeu-striped-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

/* =============================================
   5. RESPONSIVE BASE
   ============================================= */
@media (max-width: 480px) {
  :root {
    --texto-3xl: 32px;
    --texto-2xl: 26px;
    --texto-xl:  22px;
  }
}