/* FEDUBA — estilo 2026 · modernización sobre VMagazine (misma estructura, mejor terminación) */

:root {
  --fb-azul: #1a7fb3;        /* azul institucional (logo / barra de menú) */
  --fb-azul-osc: #0f4c6e;
  --fb-azul-noche: #0b2f45;
  --fb-texto: #1f2933;
  --fb-texto-2: #52606d;
  --fb-borde: #e4e9ef;
  --fb-fondo-suave: #f4f7fa;
  --fb-radio: 8px;
  --fb-fuente: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ---------- Tipografía: una sola familia, legible (antes caía en Times por falta de «Raleway») ---------- */
body,
body *:not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not([class^="icon_"]):not([class*=" icon_"]):not([class^="arrow_"]):not([class*=" arrow_"]):not([class^="social_"]):not([class*=" social_"]):not([class*="so-slider"]):not(i) {
  font-family: var(--fb-fuente) !important;
}
body { color: var(--fb-texto); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { color: var(--fb-azul); transition: color .15s ease; }
a:hover, a:focus { color: var(--fb-azul-osc); }
h1, h2, h3, h4, h5, h6 { color: var(--fb-texto); letter-spacing: -0.01em; }

/* ---------- Barra superior: de negro a azul noche, más compacta ---------- */
.vmagazine-lite-top-header { background: var(--fb-azul-noche) !important; }
.vmagazine-lite-top-header a {
  font-size: 12px !important; font-weight: 600 !important; letter-spacing: .06em;
  text-transform: uppercase; color: rgba(255, 255, 255, .85) !important;
}
.vmagazine-lite-top-header a:hover { color: #fff !important; }
@media (min-width: 992px) {
  .vmagazine-lite-top-header .top-men-wrap { width: 100% !important; float: none !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
  .vmagazine-lite-top-header .top-menu, .vmagazine-lite-top-header .top-men-wrapp, .vmagazine-lite-top-header .top-left { width: auto !important; max-width: none !important; float: none !important; }
  .vmagazine-lite-top-header .vmagazine-lite-container > .top-men-wrap { width: 100% !important; }
  .vmagazine-lite-top-header ul.menu { display: flex; flex-wrap: nowrap; }
  .vmagazine-lite-top-header ul.menu > li > a { white-space: nowrap; }
  .vmagazine-lite-top-header .top-left { margin-left: auto !important; }
  .vmagazine-lite-top-header ul.social { float: none !important; display: flex; gap: 4px; }
}
.vmagazine-lite-top-header .top-men-wrapp ul.menu > li > a { padding: 12px 14px 11px !important; }
.vmagazine-lite-top-header .top-men-wrapp ul.menu > li:first-child > a { padding-left: 0 !important; }

/* ---------- Menú principal (barra azul institucional) ---------- */
header.header-layout1 .vmagazine-lite-nav-wrapper { background: var(--fb-azul) !important; }
nav.main-navigation .nav-wrapper .index-icon { display: none !important; }
.vmagazine-block-post-slider .slider-bigthumb .slider-img:before { background: none !important; }
.main-navigation a {
  font-size: 13px !important; font-weight: 600 !important; letter-spacing: .03em; text-transform: uppercase;
}
.main-navigation > div > ul > li > a:hover,
.main-navigation > ul > li > a:hover { background: rgba(255, 255, 255, .12); }
.main-navigation .menu-mmnu-container > ul > li.menu-item { margin-right: 0 !important; }
.main-navigation .menu-mmnu-container > ul > li.menu-item > a { padding-left: 11px !important; padding-right: 11px !important; }
@media (max-width: 1200px) { .main-navigation .menu-mmnu-container > ul > li.menu-item > a { padding-left: 7px !important; padding-right: 7px !important; font-size: 12px !important; letter-spacing: .01em !important; } }
header.header-layout1 nav.main-navigation .nav-wrapper .menu-mmnu-container > ul > li.menu-item-has-children > a,
header.header-layout1 nav.main-navigation .nav-wrapper .menu-mmnu-container > ul > li.has-mega-menu > a { padding-right: 24px !important; }
header.header-layout1 nav.main-navigation .nav-wrapper .menu-mmnu-container > ul > li.menu-item-has-children > a:before,
header.header-layout1 nav.main-navigation .nav-wrapper .menu-mmnu-container > ul > li.has-mega-menu > a:before { margin-right: 8px !important; font-size: 13px !important; opacity: .85; }
.main-navigation ul ul { border-radius: 0 0 var(--fb-radio) var(--fb-radio); box-shadow: 0 10px 30px rgba(15, 76, 110, .18); overflow: hidden; }
.main-navigation ul ul a { text-transform: none; font-weight: 500 !important; font-size: 14px !important; letter-spacing: 0; }

/* ---------- Carrusel de portada: degradado suave para legibilidad + resaltado celeste de títulos ---------- */
.slider-bigthumb, .slider-smallthumb { position: relative; overflow: hidden; border-radius: var(--fb-radio); }
.slider-bigthumb .slider-img img, .slider-smallthumb .slider-img img { transition: transform .5s ease; }
.slider-bigthumb:hover .slider-img img, .slider-smallthumb:hover .slider-img img { transform: scale(1.03); }
/* Bloque de texto del carrusel: abajo, compacto (etiquetas + fecha en un renglón, título debajo) */
.slider-bigthumb .slider-img, .slider-smallthumb .slider-img { position: relative; }
.slider-bigthumb .slider-img::after, .slider-smallthumb .slider-img::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(8, 28, 42, 0) 35%, rgba(8, 28, 42, .55) 70%, rgba(8, 28, 42, .85) 100%);
}
.slider-bigthumb .post-captions, .slider-smallthumb .post-captions {
  top: auto !important; bottom: 0 !important; left: 0 !important; right: 0 !important; width: auto !important;
  background: none !important; padding: 0 22px 20px !important;
  display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px;
}
.slider-smallthumb .post-captions { padding: 0 12px 12px !important; gap: 6px; }
.slider-bigthumb .post-captions > *, .slider-smallthumb .post-captions > * { margin: 0 !important; }
.slider-bigthumb .post-captions h3.large-font, .slider-smallthumb .post-captions h3.large-font { flex-basis: 100%; padding: 0 !important; background: none !important; }
.slider-bigthumb .post-captions .cat-links { display: flex !important; flex-wrap: wrap; gap: 6px; }
.slider-bigthumb .post-captions .cat-links a { margin: 0 !important; }
/* Fecha legible sobre cualquier foto */
.post-captions .post-meta { display: flex !important; }
.post-captions .post-meta .posted-on {
  display: inline-flex; align-items: center; min-height: 22px; box-sizing: border-box;
  background: rgba(8, 28, 42, .7); color: #fff !important; border-radius: 999px;
  padding: 4px 10px; font-size: 12px !important; font-weight: 600; line-height: 1 !important; margin: 0 !important;
}
.post-captions .post-meta .posted-on i { margin-right: 5px; opacity: .85; }
.slider-smallthumb .post-captions .post-meta .posted-on { font-size: 11px !important; padding: 2px 8px; }
h3.large-font a { box-shadow: none !important; font-weight: 700 !important; line-height: 1.25; }
/* Resaltado celeste institucional detrás de los títulos (se conserva, más prolijo: sigue cada renglón) */
.slider-bigthumb h3.large-font a, .slider-smallthumb h3.large-font a {
  display: inline !important; color: #fff !important; background: rgba(26, 127, 179, .92) !important;
  padding: 2px 8px !important; line-height: 1.6 !important;
  -webkit-box-decoration-break: clone; box-decoration-break: clone; border-radius: 3px;
}
.slider-bigthumb h3.large-font a:hover, .slider-smallthumb h3.large-font a:hover { background: var(--fb-azul-osc) !important; }
.slider-smallthumb h3.large-font a { padding: 2px 7px !important; }
/* Mismo resaltado celeste en la nota destacada de cada bloque (p. ej. Gremiales) y en el carrusel de Posgrados y Becas */
.post-caption-wrapper h3.large-font a,
.vmagazine-lite-slider-tab-carousel .post-caption h3.large-font a {
  display: inline !important; color: #fff !important; background: rgba(26, 127, 179, .92) !important;
  line-height: 1.6 !important; -webkit-box-decoration-break: clone; box-decoration-break: clone; border-radius: 3px;
}
.post-caption-wrapper h3.large-font a { font-size: 21px !important; padding: 2px 8px !important; }
.vmagazine-lite-slider-tab-carousel .post-caption h3.large-font a { font-size: 14px !important; padding: 1px 6px !important; }
.post-caption-wrapper h3.large-font a:hover,
.vmagazine-lite-slider-tab-carousel .post-caption h3.large-font a:hover { background: var(--fb-azul-osc) !important; color: #fff !important; }

/* Controles del carrusel */
.slick-arrow {
  background: #fff !important; color: var(--fb-azul) !important; border-radius: 50% !important;
  width: 34px !important; height: 34px !important; padding: 0 !important; box-shadow: 0 2px 10px rgba(15, 76, 110, .2);
}
.slick-arrow::before { color: var(--fb-azul) !important; opacity: 1 !important; } /* el ícono va en ::before (antes quedaba blanco sobre blanco) */
.slick-arrow:hover { background: var(--fb-azul) !important; color: #fff !important; }
.slick-arrow:hover::before { color: #fff !important; }
.slick-dots li button { background: #c9d6e2 !important; border-radius: 999px !important; padding: 0 !important; width: 8px !important; height: 8px !important; }
.slick-dots li.slick-active button { background: var(--fb-azul) !important; width: 22px !important; }
.slider-bigthumb h3.large-font a { font-size: 28px !important; }
.slider-smallthumb h3.large-font a { font-size: 16px !important; }
.post-captions .post-meta, .post-captions .post-meta * { color: rgba(255, 255, 255, .85) !important; }

/* Etiquetas de categoría: píldoras sobrias */
.cat-links a {
  display: inline-flex !important; align-items: center; justify-content: center;
  height: auto !important; min-height: 22px; line-height: 1 !important; box-sizing: border-box; white-space: nowrap;
  border-radius: 999px !important; padding: 5px 10px 5px 11px !important; font-size: 11px !important;
  font-weight: 700 !important; letter-spacing: .04em; text-transform: uppercase;
}
/* Centrado óptico exacto de las mayúsculas (navegadores actuales; los demás usan el relleno de arriba) */
@supports (text-box: trim-both cap alphabetic) {
  .cat-links a { text-box: trim-both cap alphabetic; padding-top: 6px !important; padding-bottom: 6px !important; }
  .slider-bigthumb .cat-links a { padding-top: 5px !important; padding-bottom: 5px !important; }
  .post-captions .post-meta .posted-on { text-box: trim-both cap alphabetic; padding-top: 6px; padding-bottom: 6px; }
}

/* Comentarios cerrados en el sitio: se oculta el contador «0» que no aporta */
.post-meta .comments, .entry-meta .comments { display: none !important; }
.post-meta, .post-meta a, .posted-on { font-size: 12.5px !important; color: var(--fb-texto-2); }

/* ---------- Títulos de sección («Gremiales», «Posgrados y becas»…) ---------- */
h4.block-title, .widget-title {
  font-size: 20px !important; font-weight: 800 !important; letter-spacing: -0.01em;
  border-left: 4px solid var(--fb-azul); padding-left: 12px !important; line-height: 1.2;
}
h4.block-title::after, h4.block-title span::after { display: none !important; }

/* ---------- Listados de notas ---------- */
.panel-grid img, .widget img, .post-thumb img, .entry-thumb img { border-radius: calc(var(--fb-radio) - 2px); }
.panel-grid h3 a, .panel-grid h4 a, .widget h3 a, .widget h4 a { color: var(--fb-texto); font-weight: 650; line-height: 1.3; }
.panel-grid h3 a:hover, .panel-grid h4 a:hover { color: var(--fb-azul); }
.panel-grid h3.large-font a:hover { color: #fff !important; }

/* Banners laterales (imágenes enlazadas): bordes redondeados y sombra suave */
.widget_media_image img, .widget_sow-image img {
  border-radius: var(--fb-radio); box-shadow: 0 6px 18px rgba(15, 76, 110, .12);
  transition: transform .2s ease, box-shadow .2s ease;
}
.widget_media_image a:hover img, .widget_sow-image a:hover img { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(15, 76, 110, .2); }

/* ---------- Páginas internas: banda con el título y migas de pan ---------- */
.vmagazine-lite-breadcrumb-wrapper { background: var(--fb-fondo-suave); border-bottom: 1px solid var(--fb-borde); margin-bottom: 28px; }
body.home .vmagazine-lite-breadcrumb-wrapper { display: none !important; } /* en la portada solo decía «Inicio» */
.vmagazine-lite-breadcrumb-wrapper .vmagazine-lite-bread-home { display: block !important; padding: 26px 15px 18px !important; background: none !important; }
.vmagazine-lite-breadcrumb-wrapper .breadcrumb-title h1.page-title {
  font-size: 32px !important; font-weight: 800 !important; letter-spacing: -0.02em; color: var(--fb-texto) !important;
  margin: 0 0 6px !important; text-transform: none; border-left: 5px solid var(--fb-azul); padding-left: 14px;
}
.vmagazine-lite-breadcrumb .trail-items { margin: 0 !important; padding: 0 0 0 19px !important; display: flex; flex-wrap: wrap; gap: 6px; list-style: none; }
.vmagazine-lite-breadcrumb .trail-items li, .vmagazine-lite-breadcrumb .trail-items li * { font-size: 13px !important; color: var(--fb-texto-2) !important; }
.vmagazine-lite-breadcrumb .trail-items li a:hover span { color: var(--fb-azul) !important; }
.vmagazine-lite-breadcrumb .trail-items li + li::before { content: "›"; margin-right: 6px; color: var(--fb-texto-2); }
.vmagazine-lite-breadcrumb .trail-items li::after { display: none !important; }
.vmagazine-lite-breadcrumb .trail-items li { margin: 0 !important; padding: 0 !important; }

/* Páginas sin barra lateral: renglones de largo cómodo */
body.page:not(.home) .entry-content { max-width: 820px; }

/* ---------- Contenido de notas y páginas ---------- */
.entry-content, .entry-content p, .entry-content li { font-size: 17px; line-height: 1.7; color: var(--fb-texto); }
.entry-content h2 { font-size: 26px; font-weight: 800; margin-top: 1.6em; }
.entry-content h3 { font-size: 21px; font-weight: 700; margin-top: 1.4em; }
.entry-content img { border-radius: var(--fb-radio); height: auto; }
.entry-content blockquote { border-left: 4px solid var(--fb-azul); background: var(--fb-fondo-suave); padding: 16px 20px; border-radius: 0 var(--fb-radio) var(--fb-radio) 0; }
h1.entry-title, .entry-header h1 { font-size: 34px !important; font-weight: 800 !important; line-height: 1.2; letter-spacing: -0.02em; }

/* ---------- Formularios y botones ---------- */
input[type="text"], input[type="email"], input[type="search"], input[type="tel"], select, textarea {
  border: 1px solid var(--fb-borde) !important; border-radius: 6px !important; padding: 9px 12px !important;
}
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(26, 127, 179, .35); outline-offset: 1px; border-color: var(--fb-azul) !important; }
/* Solo botones de formularios (no los del tema: flechas del menú, carruseles, etc.) */
input[type="submit"], input[type="button"], .wpcf7-submit, .search-submit, form button[type="submit"] {
  background: var(--fb-azul) !important; color: #fff !important; border: 0 !important; border-radius: 6px !important;
  padding: 10px 18px !important; font-weight: 600 !important; cursor: pointer;
}
input[type="submit"]:hover, input[type="button"]:hover, .wpcf7-submit:hover, .search-submit:hover, form button[type="submit"]:hover { background: var(--fb-azul-osc) !important; }

/* ---------- Pie (azul institucional con logo centrado; franja inferior azul noche) ---------- */
.middle-footer-wrap { background: var(--fb-azul) !important; }
.middle-footer-wrap .middle-ftr-wrap { justify-content: center; }
.site-footer .footer-btm-wrap { background: var(--fb-azul-noche) !important; }
.footer-credit .site-info { font-size: 0 !important; color: transparent; }
.footer-credit .site-info a { display: none !important; }
.footer-credit .site-info::before {
  content: "© FEDUBA · Sindicato de Docentes de la UBA"; font-size: 13px; color: rgba(255, 255, 255, .7);
}

/* ---------- Accesibilidad: foco visible ---------- */
a:focus-visible, button:focus-visible { outline: 2px solid var(--fb-azul); outline-offset: 2px; border-radius: 3px; }

/* ---------- Celular ---------- */
.vmagazine-lite-mob-outer { background: #fff !important; box-shadow: 0 2px 12px rgba(15, 76, 110, .12); position: relative; z-index: 5; }
/* botones del encabezado móvil: el tema los dibuja en blanco; sobre el fondo blanco van en azul */
.vmagazine-lite-mob-outer .mob-search-icon, .vmagazine-lite-mob-outer .mob-search-icon i, .vmagazine-lite-mob-outer .btn-transparent-toggle { color: var(--fb-azul) !important; }
.vmagazine-lite-mob-outer .toggle-wrap span, .vmagazine-lite-mob-outer .toggle-wrap span::before, .vmagazine-lite-mob-outer .toggle-wrap span::after { background: var(--fb-azul) !important; }
@media (max-width: 768px) {
  .slider-bigthumb h3.large-font a { font-size: 19px !important; }
  .slider-smallthumb h3.large-font a { font-size: 13.5px !important; line-height: 1.45 !important; padding: 1px 6px !important; }
  .slider-smallthumb .post-meta { display: none !important; }
  .slider-bigthumb .cat-links a { font-size: 10px !important; padding: 4px 8px 4px 9px !important; min-height: 20px; }
  h1.entry-title, .entry-header h1 { font-size: 26px !important; }
  .entry-content, .entry-content p, .entry-content li { font-size: 16.5px; }
  h4.block-title, .widget-title { font-size: 18px !important; }
}

/* ---------- Página 404 ---------- */
.error-404 .page-title, .error404 .error-num { color: var(--fb-texto) !important; }
.error404 .error-num, .error-404 .error-num { color: var(--fb-azul) !important; font-weight: 800 !important; letter-spacing: .08em; }
