/* ════════════════════════════════════════════════════════════════
   miguelangelantolin.com · UN solo sistema para TODAS las paginas
   (portada incluida). Su web de siempre con un toque moderno:
   Poppins, su azul marino #0c1e50 y su rojo #e85555.
   Lo carga capa2026.php en wp_head prioridad 200 (despues del tema y
   del CSS del Personalizador) en todas las plantillas.
   ════════════════════════════════════════════════════════════════ */

:root{
  --bg:#ffffff;
  --navy:#0c1e50;
  --ink:#232525;
  --muted:#5b5e5e;
  --red:#e85555;          /* acento: subrayado activo, barras, selección */
  --red-ink:#c53f3f;      /* su rojo un punto más oscuro para TEXTO pequeño (5,05:1) */
  --grey:#f4f4f4;
  --line:#ececec;
  --max:1180px;
  --m:clamp(22px,4vw,64px);
}
*,*::before,*::after{ box-sizing:border-box; }

/* ⚠️ Su CSS personalizado trae `*, input[type="search"]{color:grey}`. `:where()`
   no suma especificidad: vale lo mismo que ese `*` y gana por ir después. */
:where(body) *{ color:inherit; }

body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:Poppins,system-ui,sans-serif; font-weight:400;
  font-size:clamp(17px,16.8px + .2vw,19px); line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; }
a{ text-decoration:none; }
::selection{ background:var(--red); color:#fff; }
a:focus-visible, button:focus-visible, input:focus-visible{ outline:3px solid var(--red-ink); outline-offset:3px; }
h1,h2,h3,h4{ color:var(--navy); font-family:Poppins,system-ui,sans-serif; }

/* ── enlaces: UNO solo (rojo, subrayado de 1px con separación) ───────── */
.entry-content a:not(.btn):not(.more-link),
.archive-description a{
  color:var(--red-ink);
  text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px;
  text-decoration-color:var(--red);
  border-bottom:0;
}
.entry-content a:not(.btn):not(.more-link):hover, .archive-description a:hover{ color:var(--navy); }

/* ── contenedor único: cabecera, contenido y pie, mismo borde izquierdo ─ */
.bar, .hero, .sec > .wrap, .foot, .site-inner{
  width:100%; max-width:var(--max); margin-left:auto; margin-right:auto;
  padding-left:var(--m); padding-right:var(--m);
}

/* ── cabecera ÚNICA (portada + interiores) ─────────────────────────── */
.bar{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding-top:18px; padding-bottom:18px; min-height:80px;
  background:var(--bg); position:static; border:0; box-shadow:none;
  font-family:Poppins,system-ui,sans-serif;
}
.bar *, .foot, .foot *{ font-family:Poppins,system-ui,sans-serif; text-transform:none; }
.brand{
  display:inline-flex; align-items:center; gap:12px;
  color:var(--navy); font-weight:600; font-size:17px; letter-spacing:-.01em; line-height:1.3;
  white-space:nowrap; text-decoration:none; border:0;
}
.brand__av{
  width:36px; height:36px; flex:0 0 36px; border-radius:50%;
  object-fit:cover; object-position:50% 20%; display:block; margin:0;
}
.brand__name{ color:var(--navy); }
.bar__nav, .js nav.bar__nav{ display:flex !important; visibility:visible; font-size:15px; margin:0; }
.nav__list{ display:flex; flex-wrap:wrap; gap:0 clamp(16px,2vw,32px); list-style:none; margin:0; padding:0; }
.nav__list li{ margin:0; padding:0; list-style:none; }
.nav__list a{
  display:inline-flex; align-items:center; min-height:44px; padding:0;
  color:var(--muted); font-size:15px; font-weight:500; letter-spacing:0; text-decoration:none;
  border:0; border-bottom:2px solid transparent;
  transition:color .25s,border-color .25s;
}
.nav__list a:hover,
.nav__list .current-menu-item > a,
.nav__list a[aria-current]{ color:var(--navy); border-bottom-color:var(--red); }

@media (max-width:760px){
  .bar{ flex-direction:column; align-items:flex-start; gap:2px; padding-top:14px; padding-bottom:8px; }
  .bar__nav{ width:100%; }
}
@media (max-width:400px){
  .brand{ font-size:15px; gap:10px; letter-spacing:-.015em; }
}

/* ── botones: uno primario y uno secundario ────────────────────────── */
.btn, .search-form input[type="submit"], .search-form-submit{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:0 24px; border:2px solid var(--navy); border-radius:6px;
  background:var(--navy); color:#fff; font:500 16px/1 Poppins,system-ui,sans-serif;
  text-decoration:none; cursor:pointer; transition:background .25s,color .25s,border-color .25s;
}
.btn:hover, .search-form input[type="submit"]:hover{ background:var(--red-ink); border-color:var(--red-ink); color:#fff; }
.btn--ghost{ background:transparent; color:var(--navy); }
.btn--ghost:hover{ background:var(--navy); border-color:var(--navy); color:#fff; }
.site-inner a.btn, .site-inner a.btn:hover{ text-decoration:none; color:#fff; }
.site-inner a.btn--ghost{ color:var(--navy); }
.site-inner a.btn--ghost:hover{ color:#fff; }

/* ── pie ÚNICO ─────────────────────────────────────────────────────── */
.foot{
  display:flex; flex-wrap:wrap; gap:8px 28px; align-items:center; justify-content:space-between;
  padding-top:clamp(28px,4vw,44px); padding-bottom:clamp(28px,4vw,44px);
  border-top:1px solid var(--line); font-size:15px; color:var(--navy);
}
.foot p{ margin:0; color:var(--navy); }
.foot a{ color:var(--navy); text-decoration:none; border:0 !important; display:inline-flex; align-items:center; min-height:44px; }
.foot a:hover{ color:var(--red-ink); }
.foot__links{ display:flex; gap:22px; }

/* ── lienzo de las interiores ─────────────────────────────────────── */
.site-container{ max-width:none; margin:0; padding:0; background:none; }
.site-inner{
  padding-top:clamp(24px,4vw,48px); padding-bottom:clamp(56px,8vw,100px);
  margin-top:0; position:relative; clear:both;
}
.site-inner{ margin-left:auto !important; margin-right:auto !important; max-width:var(--max) !important;
  padding-left:var(--m) !important; padding-right:var(--m) !important; }
.content-sidebar-wrap, .content{ width:100%; float:none; max-width:none; margin:0; padding:0; }
/* Archivos "contenido + barra": contenido a todo el ancho, sin barra fantasma */
.content-sidebar .content, .sidebar-content .content,
.content-sidebar .content-sidebar-wrap, .sidebar-content .content-sidebar-wrap{
  width:100% !important; float:none !important;
}
.sidebar-primary, .widget-area.sidebar-primary, .sidebar{ display:none !important; }

/* Columna de lectura: entradas, páginas y 404, centrada a 720px. Título y meta
   comparten borde izquierdo con el cuerpo. */
.single .content, .error404 .content,
.page:not(.page-template-page_blog) .content{
  max-width:720px; margin-left:auto; margin-right:auto;
}

/* ── H1 interior: una sola escala ─────────────────────────────────── */
.site-inner h1, .site-inner h1.entry-title, .site-inner .archive-title{
  font-size:clamp(32px,22.4px + 2vw,44px) !important; font-weight:700; letter-spacing:-.03em !important;
  line-height:1.1; color:var(--navy); text-align:left; text-transform:none;
  margin:0 0 clamp(20px,3vw,32px); padding:0; max-width:none;
}
.archive-description, .page .entry-header, .single .entry-header, .error404 .entry-header{
  text-align:left; padding:0; border:0; margin:0;
}
.archive-description{ margin-bottom:clamp(8px,2vw,20px); }
.archive-description p{ color:var(--muted); }

/* ── cabecera de cada entrada: título > meta ──────────────────────── */
.entry-header{ display:flex; flex-direction:column; }
.entry-header .entry-title{ order:1; }
.entry-header .entry-meta{ order:2; }
.entry-meta, .entry-header .entry-meta{
  font-size:13px; line-height:1.5; color:var(--muted); text-transform:none; letter-spacing:0;
  text-align:left; margin:0 0 12px; padding:0;
}
.entry-meta a{ color:var(--muted); text-decoration:none; }
.entry-meta a:hover{ color:var(--red-ink); }
.single .entry-header{ margin-bottom:clamp(24px,4vw,40px); }
.single .entry-header .entry-meta{ margin-top:-4px; }
.single .entry-header h1{ margin-bottom:12px; }

/* ── UNA tarjeta de listado: blog, categoría, etiqueta, búsqueda, fecha ─ */
.blog .entry, .archive .entry, .search-results .entry,
.page-template-page_blog .entry{
  display:block; padding:clamp(24px,3vw,36px) 0 !important; margin:0 !important;
  border-bottom:1px solid var(--line); text-align:left; background:none;
}
.blog .entry:last-of-type, .archive .entry:last-of-type,
.search-results .entry:last-of-type, .page-template-page_blog .entry:last-of-type{ border-bottom:0; }
.blog .entry, .archive .entry, .search-results .entry, .page-template-page_blog .entry{
  display:grid; grid-template-columns:minmax(0,1fr); }
@media (min-width:800px){
  .blog .entry, .archive .entry, .search-results .entry, .page-template-page_blog .entry{
    grid-template-columns:300px minmax(0,1fr); column-gap:32px; align-items:start; }
  .blog .entry > .entry-image-link, .archive .entry > .entry-image-link,
  .search-results .entry > .entry-image-link, .page-template-page_blog .entry > .entry-image-link{ grid-row:1 / span 3; grid-column:1; margin:0; }
  .blog .entry > :not(.entry-image-link), .archive .entry > :not(.entry-image-link),
  .search-results .entry > :not(.entry-image-link), .page-template-page_blog .entry > :not(.entry-image-link){ grid-column:2; }
}
.entry-image-link{
  display:block; float:none; width:100%; aspect-ratio:16/9; margin:0 0 18px;
  background:var(--grey); border-radius:6px; overflow:hidden; border:0; text-decoration:none;
}
.entry-image-link img, img.entry-image, img.post-image{
  display:block; float:none !important; width:100% !important; height:100% !important;
  max-width:100%; margin:0 !important; object-fit:contain; border-radius:0;
}
.entry .entry-header h2.entry-title, .site-inner h2.entry-title{
  font-size:24px !important; font-weight:700; letter-spacing:-.02em !important; line-height:1.25;
  color:var(--navy); text-align:left; text-transform:none; margin:0 0 8px; padding:0;
}
.entry-title a, .entry-title a:hover, .page-template-page_blog .entry-title a, .page-template-page_blog .entry-title a:hover{ color:var(--navy) !important; text-decoration:none; border:0; }
.entry-title a:hover, .page-template-page_blog .entry-title a:hover{ color:var(--red-ink) !important; }
.entry-content p{ color:var(--ink); }
.blog .entry-content p, .archive .entry-content p, .search-results .entry-content p,
.page-template-page_blog .entry-content p{ color:#444 !important; font-size:16px; line-height:1.6; max-width:68ch; margin:0; }
.blog .entry-content, .archive .entry-content, .search-results .entry-content,
.page-template-page_blog .entry-content{ margin:0; }
.more-link-wrap{ margin:4px 0 0; }
.more-link, .entry-content a.more-link, .site-inner a.more-link{
  display:inline-flex; align-items:center; min-height:44px;
  font-size:15px; font-weight:500; text-transform:none; letter-spacing:0;
  color:var(--red-ink); text-decoration:none; border:0;
}
.more-link::after{ content:' \2192'; white-space:pre; }
.more-link:hover, .site-inner a.more-link:hover{ color:var(--navy); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }

/* ── cuerpo de entrada / página ───────────────────────────────────── */
.single .entry-content, .page .entry-content{ font-size:17px; line-height:1.68; max-width:none; margin:0; }
.single .entry-content > * + *, .page .entry-content > * + *{ margin-top:1.15em; }
.entry-content h2{ font-size:clamp(24px,17.6px + 1.3vw,32px); font-weight:700; letter-spacing:-.025em; line-height:1.15; margin-top:2.1em; color:var(--navy); }
.entry-content h3{ font-size:clamp(19px,16.8px + .6vw,22.4px); font-weight:600; letter-spacing:-.015em; margin-top:1.7em; color:var(--navy); }
.entry-content ul{ list-style:disc; padding-left:1.3em; }
.entry-content ol{ list-style:decimal; padding-left:1.3em; }
.entry-content li + li{ margin-top:.4em; }
.entry-content li::marker{ color:var(--muted); }
.entry-content img{ border-radius:6px; }
.single .entry-content img, .page .entry-content img{ margin:1.8em 0; }
.entry-content blockquote{
  margin:1.8em 0; padding:22px 26px; background:var(--grey);
  border:0; border-left:3px solid var(--red); border-radius:0 6px 6px 0;
  font-size:17px; font-style:normal; color:var(--ink);
}
.entry-content blockquote::before{ content:none; }
.entry-content, .entry-content p, .entry-content li,
.single .entry-content, .single .entry-content p, .single .entry-content li,
.single .entry-content blockquote, .single .entry-content td, .single .entry-content th,
.page .entry-content, .page .entry-content p, .page .entry-content li{
  text-align:left !important;
  -webkit-hyphens:manual !important; hyphens:manual !important;
  word-break:normal; overflow-wrap:break-word;
}
.entry-content pre, .entry-content code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:15px;
}
.entry-content pre, .entry-content pre.wp-block-code, pre.wp-block-code{
  background:var(--navy) !important; color:#f2f2f2 !important; border:0;
  padding:20px 22px; border-radius:6px; overflow-x:auto; line-height:1.55; margin:1.7em 0;
}
.entry-content pre code, .entry-content pre.wp-block-code code{ color:#f2f2f2 !important; background:none !important; padding:0; }
.entry-content :not(pre) > code, .entry-content p code, .entry-content li code{
  color:var(--ink) !important; background:var(--grey) !important; padding:.12em .36em; border-radius:3px;
}
.entry-content table{ width:100%; border-collapse:collapse; font-size:15px; }
.entry-content th, .entry-content td{ padding:10px 12px; text-align:left; border-bottom:1px solid var(--line); }
.entry-content thead th{ background:var(--grey); font-weight:600; }
.entry-footer, .entry-footer .entry-meta{ margin-top:clamp(28px,4vw,48px); font-size:14px; color:var(--muted); }

/* migas: fuera */
.breadcrumb{ display:none !important; }

/* ── paginación: mismas formas que los botones ────────────────────── */
.archive-pagination, .pagination{ margin-top:40px; font-size:15px; clear:both; }
.archive-pagination ul, .pagination ul{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.archive-pagination li, .pagination li{ margin:0; padding:0; display:block; }
.archive-pagination li a, .pagination li a{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; min-height:44px; padding:0 14px; border-radius:6px;
  border:2px solid var(--navy); background:transparent; color:var(--navy);
  font-weight:500; text-decoration:none; text-transform:none; letter-spacing:0;
}
.archive-pagination li a:hover, .pagination li a:hover{ background:var(--navy); color:#fff; }
.archive-pagination li.active a, .pagination li.active a{ background:var(--red-ink); border-color:var(--red-ink); color:#fff; }

/* ── buscador y 404 ───────────────────────────────────────────────── */
.search-form, .search-form input[type="search"], .search-form input[type="submit"]{ font-family:Poppins,system-ui,sans-serif; font-size:17px; }
.search-form{ max-width:520px; margin-top:22px; display:flex; gap:10px; }
.search-form input[type="search"]{
  flex:1; min-width:0; min-height:48px; padding:0 16px; background:#fff; color:var(--ink);
  border:2px solid var(--navy); border-radius:6px; box-shadow:none;
}
.search-form input[type="search"]::placeholder{ color:var(--muted); }
.search-form input[type="search"]:focus{ outline:3px solid var(--red-ink); outline-offset:2px; }
.search-form input[type="submit"]{ min-height:48px; width:auto; }
.error404 .entry-content{ max-width:none; }
.notfound-links{ display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 0; }

/* ── Genesis: lo que no debe verse ────────────────────────────────── */
.genesis-skip-link{ position:absolute; top:0; left:0; margin:0; padding:0; list-style:none; z-index:100; }
.screen-reader-text, .screen-reader-shortcut,
.genesis-sidebar-title.screen-reader-text, .genesis-skip-link a{
  position:absolute !important; width:1px !important; height:1px !important;
  padding:0 !important; margin:-1px !important; overflow:hidden !important;
  clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;
}
.screen-reader-text:focus, .screen-reader-shortcut:focus, .genesis-skip-link a:focus{
  position:static !important; width:auto !important; height:auto !important; margin:0 !important;
  padding:12px 18px !important; clip:auto !important; white-space:normal !important;
  display:inline-block; background:var(--navy); color:#fff; z-index:50;
}
.site-header, .footer-widgets, .site-footer, button.menu-toggle, .sub-menu-toggle{ display:none !important; }
