/* ==========================================================================
   BLOG B2B STYLES (GeneratePress) - Future Maker
   - Elegante, legible, enfoque técnico/B2B
   - Solo afecta a entradas (post) y archivos del blog
   ========================================================================== */

/* Scope blog/archives */
body.blog,
body.single-post,
body.archive.category,
body.archive.tag,
body.search {
  --fmp-ink: #1e3a5f;
  --fmp-accent: #f5a623;
  --fmp-muted: rgba(30, 58, 95, 0.7);
  --fmp-card: #ffffff;
  --fmp-bg: #f5f7fa;
  --fmp-border: rgba(30, 58, 95, 0.12);
  --fmp-shadow: 0 8px 22px rgba(2, 51, 91, 0.10);
  --fmp-shadow-hover: 0 18px 46px rgba(2, 51, 91, 0.18);
  --fmp-font: "Roboto", "Open Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

/* Fondo de sección (para que las cards blancas resalten) */
body.blog,
body.archive.category,
body.archive.tag,
body.search {
  background: var(--fmp-bg);
}

/* Alineación del título del Global Hero (alineado con el grid) */
body.blog .fmp-global-hero-title-text,
body.blog .fmp-global-hero-content-wrapper,
body.blog .fmp-global-hero-banner .fmp-global-hero-content-wrapper,
body.blog .fmp-global-hero-banner .fmp-global-hero-title-text {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

/* Preferencia cliente: título TOTALMENTE centrado (ganar al tema padre) */
body.blog .fmp-global-hero-content-wrapper,
body.blog .fmp-global-hero-banner .fmp-global-hero-content-wrapper {
  text-align: center !important;
  margin: 0 auto !important;
  width: 100% !important;
}
body.blog h2.fmp-global-hero-title-text,
body.blog .fmp-global-hero-title-text {
  text-align: center !important;
  margin: 0 auto !important;
  width: 100% !important;
}

/* Hero premium (blog index/archives/search) */
body.blog .fmp-blog-hero,
body.archive.category .fmp-blog-hero,
body.archive.tag .fmp-blog-hero,
body.search .fmp-blog-hero {
  background: linear-gradient(rgba(30, 58, 95, 0.78), rgba(42, 74, 122, 0.82)),
    url("https://images.unsplash.com/photo-1504917595217-d4dc5ebe6122?q=80&w=2400&auto=format&fit=crop&ixlib=rb-4.1.0") center/cover no-repeat;
  position: relative;
  overflow: hidden;
  margin: 0 0 26px 0;
}

body.blog .fmp-blog-hero::before,
body.archive.category .fmp-blog-hero::before,
body.archive.tag .fmp-blog-hero::before,
body.search .fmp-blog-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 20%, rgba(245, 166, 35, 0.18), transparent 45%),
    radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.10), transparent 50%);
  opacity: 1;
}

.fmp-blog-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  padding: 42px 20px;
}

.fmp-blog-hero-title {
  margin: 0 0 10px 0 !important;
  font-weight: 900 !important;
  letter-spacing: -0.6px !important;
  line-height: 1.1 !important;
  font-size: clamp(1.6rem, 3.2vw, 2.6rem) !important;
  color: #fff !important;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.fmp-blog-hero-subtitle {
  margin: 0 0 18px 0 !important;
  max-width: 78ch;
  color: rgba(255, 255, 255, 0.88) !important;
  line-height: 1.6 !important;
  font-size: 1.02rem;
}

.fmp-blog-hero-ctas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.fmp-blog-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none !important;
  font-weight: 800;
  letter-spacing: 0.2px;
  border: 2px solid transparent;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
  will-change: transform;
}

.fmp-blog-cta-primary {
  background: linear-gradient(45deg, #f5a623 0%, #ffcc66 100%);
  color: #02335b !important;
  box-shadow: 0 10px 25px rgba(245, 166, 35, 0.35);
}
.fmp-blog-cta-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(245, 166, 35, 0.48);
}

.fmp-blog-cta-secondary {
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.32);
  color: #fff !important;
}
.fmp-blog-cta-secondary:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.42);
}

/* Keep content width readable */
body.single-post .site-main,
body.blog .site-main,
body.archive.category .site-main,
body.archive.tag .site-main,
body.search .site-main {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  font-family: var(--fmp-font);
}

/* Ocultar sidebar en blog/archivos/search (look B2B limpio) */
body.blog .widget-area,
body.archive.category .widget-area,
body.archive.tag .widget-area,
body.search .widget-area,
body.blog #right-sidebar,
body.archive.category #right-sidebar,
body.archive.tag #right-sidebar,
body.search #right-sidebar,
body.blog #left-sidebar,
body.archive.category #left-sidebar,
body.archive.tag #left-sidebar,
body.search #left-sidebar {
  display: none !important;
}
body.blog .content-area,
body.archive.category .content-area,
body.archive.tag .content-area,
body.search .content-area {
  width: 100% !important;
  max-width: 100% !important;
}

/* FIX CRÍTICO: si el layout GP es "sidebar/content" y ocultamos la sidebar,
   se queda un hueco a la izquierda por floats/anchos de #primary. */
body.blog #primary,
body.archive #primary,
body.search #primary,
body.blog .content-area,
body.archive .content-area,
body.search .content-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: 0 auto !important;
}

body.blog .site-main,
body.archive .site-main,
body.search .site-main {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Limpieza B2B: ocultar footer/meta del post dentro del grid */
body.blog .site-main article .inside-article > footer.entry-meta,
body.archive.category .site-main article .inside-article > footer.entry-meta,
body.archive.tag .site-main article .inside-article > footer.entry-meta,
body.search .site-main article .inside-article > footer.entry-meta,
body.blog .site-main article .inside-article > .entry-footer,
body.archive.category .site-main article .inside-article > .entry-footer,
body.archive.tag .site-main article .inside-article > .entry-footer,
body.search .site-main article .inside-article > .entry-footer {
  display: none !important;
}

/* Header de sección (título + buscador compacto alineado) */
.fmp-blog-toolbar {
  grid-column: 1 / -1;
  margin: 22px 0 40px;
}
.fmp-blog-toolbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.blog .fmp-blog-toolbar-title {
  /* PROBLEMA 1: ocultar título duplicado debajo del hero */
  display: none !important;
}
.blog .fmp-blog-toolbar-inner {
  /* mantener el buscador arriba a la derecha */
  justify-content: flex-end !important;
}
.fmp-blog-toolbar-title {
  margin: 0 !important;
  color: var(--fmp-ink) !important;
  font-weight: 900 !important;
  letter-spacing: -0.6px;
  line-height: 1.15;
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
}
.fmp-blog-toolbar-search {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid rgba(30, 58, 95, 0.18);
  border-radius: 999px;
  padding: 8px 10px 8px 14px;
  box-shadow: 0 10px 22px rgba(2, 51, 91, 0.08);
}
.fmp-blog-toolbar-search input[type="search"] {
  border: 0;
  outline: 0;
  background: transparent;
  width: min(320px, 38vw);
  font-family: var(--fmp-font);
  font-size: 14px;
  color: #0f2238;
}
.fmp-blog-toolbar-search button {
  border: 0;
  background: var(--fmp-ink);
  color: #fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 900;
  cursor: pointer;
}
.fmp-blog-toolbar-search button:hover {
  background: #02335b;
}

/* Grid de cards en listados (3 columnas desktop, 1 móvil) */
body.blog .site-main,
body.archive.category .site-main,
body.archive.tag .site-main,
body.search .site-main {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}

/* Elementos que deben ocupar todo el ancho del grid */
body.blog .site-main > .page-header,
body.archive.category .site-main > .page-header,
body.archive.tag .site-main > .page-header,
body.search .site-main > .page-header,
body.blog .site-main > .paging-navigation,
body.archive.category .site-main > .paging-navigation,
body.archive.tag .site-main > .paging-navigation,
body.search .site-main > .paging-navigation,
body.blog .site-main > .navigation,
body.archive.category .site-main > .navigation,
body.archive.tag .site-main > .navigation,
body.search .site-main > .navigation,
body.blog .site-main > .no-results,
body.search .site-main > .no-results {
  grid-column: 1 / -1;
}

/* Ocultar el page header básico del tema (usamos .fmp-blog-toolbar) */
body.blog .page-header,
body.archive.category .page-header,
body.archive.tag .page-header,
body.search .page-header {
  display: none !important;
}

/* Page title / archive title */
body.blog .page-header .page-title,
body.archive.category .page-header .page-title,
body.archive.tag .page-header .page-title,
body.search .page-header .page-title,
body.blog .entry-title,
body.archive.category .entry-title,
body.archive.tag .entry-title {
  color: var(--fmp-ink) !important;
  letter-spacing: -0.5px;
}

/* FIX CRÍTICO: título desaparecido en la card real (forzar visibilidad/color/márgenes) */
body.blog .site-main article.post .entry-title,
body.blog .site-main article.post .entry-title a,
body.archive .site-main article.post .entry-title,
body.archive .site-main article.post .entry-title a,
body.search .site-main article.post .entry-title,
body.search .site-main article.post .entry-title a {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #1e293b !important;
}

body.blog .site-main article.post .entry-title {
  margin: 10px 0 10px !important;
}

/* Cards on archives */
body.blog .inside-article,
body.archive.category .inside-article,
body.archive.tag .inside-article,
body.search .inside-article {
  background: var(--fmp-card);
  border: 1px solid #e0e0e0;
  border-top: 4px solid var(--fmp-ink);
  border-radius: 16px;
  box-shadow: var(--fmp-shadow);
  overflow: hidden;
  padding: 0;
  transition: transform 180ms ease, box-shadow 180ms ease;
  will-change: transform;
  /* PROBLEMA 2: layout interno para alinear CTA al fondo */
  display: flex !important;
  flex-direction: column !important;
  /* (Opcional) centrado interno */
  text-align: center;
}

/* Reset spacing: el grid controla el gap */
body.blog article,
body.archive.category article,
body.archive.tag article,
body.search article {
  margin: 0 !important;
}

/* Hover "lift" premium */
body.blog article:hover .inside-article,
body.archive.category article:hover .inside-article,
body.archive.tag article:hover .inside-article,
body.search article:hover .inside-article {
  transform: translateY(-6px);
  box-shadow: var(--fmp-shadow-hover);
}

/* Featured image */
body.blog .inside-article .post-image,
body.archive.category .inside-article .post-image,
body.archive.tag .inside-article .post-image,
body.search .inside-article .post-image {
  margin: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(30, 58, 95, 0.08), rgba(245, 166, 35, 0.10));
}

body.blog .inside-article .post-image img,
body.archive.category .inside-article .post-image img,
body.archive.tag .inside-article .post-image img,
body.search .inside-article .post-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Placeholder cuando no hay imagen destacada */
.fmp-post-image-placeholder a {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  text-decoration: none !important;
  color: rgba(30, 58, 95, 0.65);
}
.fmp-post-image-placeholder .fmp-placeholder-icon {
  filter: drop-shadow(0 10px 20px rgba(2, 51, 91, 0.10));
}

/* Inner padding for text */
body.blog .inside-article .entry-header,
body.blog .inside-article .entry-summary,
body.blog .inside-article .entry-content,
body.archive.category .inside-article .entry-header,
body.archive.category .inside-article .entry-summary,
body.archive.tag .inside-article .entry-header,
body.archive.tag .inside-article .entry-summary,
body.search .inside-article .entry-header,
body.search .inside-article .entry-summary {
  padding: 18px 20px;
}

/* PROBLEMA 2: el contenido crece y empuja el CTA al fondo */
body.blog .inside-article .entry-summary,
body.archive.category .inside-article .entry-summary,
body.archive.tag .inside-article .entry-summary,
body.search .inside-article .entry-summary {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

body.blog .inside-article .entry-summary .read-more-container,
body.archive.category .inside-article .entry-summary .read-more-container,
body.archive.tag .inside-article .entry-summary .read-more-container,
body.search .inside-article .entry-summary .read-more-container {
  margin-top: auto !important;
  padding-top: 14px;
  display: block !important;
}

/* Badge de categoría (estilo corporativo) */
body.blog .entry-header,
body.archive.category .entry-header,
body.archive.tag .entry-header,
body.search .entry-header {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.blog .entry-header .entry-meta,
body.archive.category .entry-header .entry-meta,
body.archive.tag .entry-header .entry-meta,
body.search .entry-header .entry-meta {
  order: -1;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* OCULTAR FECHAS Y AUTOR - Solo mostrar categorías - SELECTOR ULTRA ESPECÍFICO */
body.blog article .entry-header .entry-meta .posted-on,
body.archive.category article .entry-header .entry-meta .posted-on,
body.archive.tag article .entry-header .entry-meta .posted-on,
body.search article .entry-header .entry-meta .posted-on,
body.blog article .entry-header .entry-meta .entry-date,
body.archive.category article .entry-header .entry-meta .entry-date,
body.archive.tag article .entry-header .entry-meta .entry-date,
body.search article .entry-header .entry-meta .entry-date,
body.blog article .entry-header .entry-meta time,
body.archive.category article .entry-header .entry-meta time,
body.archive.tag article .entry-header .entry-meta time,
body.search article .entry-header .entry-meta time,
body.blog article .entry-header .entry-meta .published,
body.archive.category article .entry-header .entry-meta .published,
body.archive.tag article .entry-header .entry-meta .published,
body.search article .entry-header .entry-meta .published,
body.blog article .entry-header .entry-meta .byline,
body.archive.category article .entry-header .entry-meta .byline,
body.archive.tag article .entry-header .entry-meta .byline,
body.search article .entry-header .entry-meta .byline,
body.blog .site-main article .entry-header .entry-meta .posted-on,
body.archive.category .site-main article .entry-header .entry-meta .posted-on,
body.archive.tag .site-main article .entry-header .entry-meta .posted-on,
body.search .site-main article .entry-header .entry-meta .posted-on,
body.blog .site-main article .entry-header .entry-meta .byline,
body.archive.category .site-main article .entry-header .entry-meta .byline,
body.archive.tag .site-main article .entry-header .entry-meta .byline,
body.search .site-main article .entry-header .entry-meta .byline,
body.blog .inside-article .entry-header .entry-meta .posted-on,
body.archive.category .inside-article .entry-header .entry-meta .posted-on,
body.archive.tag .inside-article .entry-header .entry-meta .posted-on,
body.search .inside-article .entry-header .entry-meta .posted-on,
body.blog .inside-article .entry-header .entry-meta .byline,
body.archive.category .inside-article .entry-header .entry-meta .byline,
body.archive.tag .inside-article .entry-header .entry-meta .byline,
body.search .inside-article .entry-header .entry-meta .byline {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

body.blog .entry-header .cat-links,
body.archive.category .entry-header .cat-links,
body.archive.tag .entry-header .cat-links,
body.search .entry-header .cat-links {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

body.blog .entry-header .cat-links .gp-icon,
body.archive.category .entry-header .cat-links .gp-icon,
body.archive.tag .entry-header .cat-links .gp-icon,
body.search .entry-header .cat-links .gp-icon {
  display: none;
}

body.blog .entry-header .cat-links a,
body.archive.category .entry-header .cat-links a,
body.archive.tag .entry-header .cat-links a,
body.search .entry-header .cat-links a,
body.blog .fmp-entry-badge a,
body.archive.category .fmp-entry-badge a,
body.archive.tag .fmp-entry-badge a,
body.search .fmp-entry-badge a {
  display: inline-flex !important;
  align-items: center;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  background: linear-gradient(135deg, rgba(30, 58, 95, 0.1), rgba(30, 58, 95, 0.08)) !important;
  border: 1px solid rgba(30, 58, 95, 0.2) !important;
  color: var(--fmp-ink) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 4px rgba(30, 58, 95, 0.08) !important;
}

body.blog .entry-header .cat-links a:hover,
body.archive.category .entry-header .cat-links a:hover,
body.archive.tag .entry-header .cat-links a:hover,
body.search .entry-header .cat-links a:hover,
body.blog .fmp-entry-badge a:hover,
body.archive.category .fmp-entry-badge a:hover,
body.archive.tag .fmp-entry-badge a:hover,
body.search .fmp-entry-badge a:hover {
  background: linear-gradient(135deg, rgba(30, 58, 95, 0.15), rgba(30, 58, 95, 0.12)) !important;
  border-color: rgba(30, 58, 95, 0.3) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 8px rgba(30, 58, 95, 0.12) !important;
}

body.blog .fmp-entry-badge,
body.archive.category .fmp-entry-badge,
body.archive.tag .fmp-entry-badge,
body.search .fmp-entry-badge {
  margin: 0 !important;
}

/* Title link */
body.blog .entry-title a,
body.archive.category .entry-title a,
body.archive.tag .entry-title a,
body.search .entry-title a {
  color: var(--fmp-ink) !important;
  text-decoration: none !important;
}
body.blog .entry-title a:hover,
body.archive.category .entry-title a:hover,
body.archive.tag .entry-title a:hover,
body.search .entry-title a:hover {
  color: #02335b !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* Título como H3 premium */
body.blog .entry-title,
body.archive.category .entry-title,
body.archive.tag .entry-title,
body.search .entry-title {
  font-size: 1.15rem;
  font-weight: 900 !important;
  line-height: 1.25;
  letter-spacing: -0.4px;
  margin: 0 !important;
}

/* Extracto limitado a 3 líneas */
body.blog .entry-summary,
body.archive.category .entry-summary,
body.archive.tag .entry-summary,
body.search .entry-summary {
  color: rgba(15, 34, 56, 0.78);
  font-size: 0.98rem;
}
body.blog .entry-summary p,
body.archive.category .entry-summary p,
body.archive.tag .entry-summary p,
body.search .entry-summary p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-bottom: 0 !important;
}

/* Meta */
body.blog .entry-meta,
body.archive.category .entry-meta,
body.archive.tag .entry-meta,
body.search .entry-meta {
  color: var(--fmp-muted) !important;
  font-size: 0.9rem;
}

/* Sidebar widgets (premium box) */
body.blog .widget,
body.archive.category .widget,
body.archive.tag .widget,
body.search .widget {
  background: #fff;
  border: 1px solid var(--fmp-border);
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(2, 51, 91, 0.08);
  padding: 16px;
}

body.blog .widget-title,
body.archive.category .widget-title,
body.archive.tag .widget-title,
body.search .widget-title {
  color: var(--fmp-ink);
  font-weight: 900;
  letter-spacing: -0.3px;
  margin-bottom: 10px;
}

/* Search widget */
body.blog .widget_search form,
body.archive.category .widget_search form,
body.archive.tag .widget_search form,
body.search .widget_search form {
  display: flex;
  gap: 10px;
}
body.blog .widget_search input[type="search"],
body.archive.category .widget_search input[type="search"],
body.archive.tag .widget_search input[type="search"],
body.search .widget_search input[type="search"] {
  flex: 1;
  border-radius: 999px;
  border: 1px solid var(--fmp-border);
  padding: 10px 14px;
}
body.blog .widget_search input[type="submit"],
body.archive.category .widget_search input[type="submit"],
body.archive.tag .widget_search input[type="submit"],
body.search .widget_search input[type="submit"] {
  border-radius: 999px;
  border: 2px solid rgba(245, 166, 35, 0.6);
  background: rgba(245, 166, 35, 0.10);
  color: #02335b;
  font-weight: 800;
  padding: 10px 14px;
}

/* CTA "Leer más" como enlace con flecha */
body.blog .read-more-container a,
body.archive.category .read-more-container a,
body.archive.tag .read-more-container a,
body.search .read-more-container a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--fmp-accent) !important;
  font-weight: 900;
  text-decoration: none !important;
}

/* Si GeneratePress imprime <a class="read-more"> dentro del excerpt_more, lo igualamos */
body.blog a.read-more,
body.archive.category a.read-more,
body.archive.tag a.read-more,
body.search a.read-more,
body.blog a.read-more-link,
body.archive.category a.read-more-link,
body.archive.tag a.read-more-link,
body.search a.read-more-link {
  color: var(--fmp-accent) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
body.blog .read-more-container a:hover,
body.archive.category .read-more-container a:hover,
body.archive.tag .read-more-container a:hover,
body.search .read-more-container a:hover {
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* Single post typography */
/* ============================================================
   SINGLE POST (Lectura sin distracciones) - FIXES
   1) Evitar overlap con header fijo (topbar + nav)
   2) Ocultar sidebar y centrar lectura (800-900px)
   3) Ocultar autor/meta y comentarios
   4) Firma corporativa al final
   ============================================================ */

/* 1) Overlap del header fijo
   IMPORTANTE: el header custom ya añade padding-top al body.
   El header tiene: topbar (~40px) + navegación (~60px) = ~100px en móvil
   En desktop: topbar (~40px) + navegación (~100px) = ~140px */
body.single-post,
body.single {
  padding-top: var(--fmp-header-offset, 140px) !important;
}
body.admin-bar.single-post,
body.admin-bar.single {
  padding-top: calc(var(--fmp-header-offset, 140px) + 32px) !important;
}

/* MÓVIL: padding-top ajustado para header móvil */
@media (max-width: 768px) {
  body.single-post,
  body.single {
    /* Topbar móvil (~40px) + Header móvil (~60px) = ~100px + margen de seguridad */
    padding-top: 110px !important;
  }
  body.admin-bar.single-post,
  body.admin-bar.single {
    /* Header + Admin bar móvil (46px) */
    padding-top: 156px !important;
  }
  
  /* Asegurar que el contenido no se corte */
  body.single-post .site-content,
  body.single .site-content {
    padding-top: 10px !important;
    margin-top: 0 !important;
  }
  
  /* Contenido de entrada - mejor presentación en móvil */
  body.single-post .inside-article,
  body.single .inside-article {
    padding: 16px !important;
    margin: 0 !important;
    background: #ffffff !important;
  }
  
  /* Imagen destacada en móvil */
  body.single-post .post-image,
  body.single-post .featured-image {
    margin: 0 0 16px 0 !important;
    max-width: 100% !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }
  
  body.single-post .post-image img,
  body.single-post .featured-image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
  
  body.single-post .entry-content,
  body.single .entry-content {
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
  }
  
  body.single-post .entry-content p {
    margin-bottom: 1.2em !important;
  }
  
  body.single-post .entry-title,
  body.single .entry-title {
    font-size: 1.4rem !important;
    line-height: 1.3 !important;
    margin-bottom: 1rem !important;
    text-align: left !important;
    padding: 0 !important;
  }
  
  /* Permitir scroll correcto */
  body.single-post,
  body.single {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
}

/* Evitar margen superior extra del tema que empuja el primer párrafo */
body.single-post .inside-article,
body.single-post .entry-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Título visible (por si algún estilo lo vuelve transparente/oculto) */
body.single-post .entry-title,
body.single-post .entry-title a {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #1e3a5f !important;
}
body.single-post .entry-title {
  margin: 0 0 18px !important;
  text-align: center;
  white-space: pre-line !important; /* soporta "\n" en el título */
}

/* EN: evitar corte del texto en el Global Hero (títulos largos) */
body.single-post .fmp-global-hero,
body.single-post .fmp-global-hero-banner {
  height: auto !important;
  min-height: 260px !important;
  max-height: none !important;
  padding: 44px 0 34px !important;
}

/* ES: si existe el banner antiguo, lo ocultamos en single (evita bloque blanco/parpadeo) */
body.single-post .fmp-global-hero-banner {
  display: none !important;
}

/* Si el hero viene inyectado (ES), aseguramos fondo + layout (no depende de Elements) */
body.single-post .fmp-global-hero {
  background: linear-gradient(rgba(30, 58, 95, 0.7), rgba(42, 74, 122, 0.8)),
    url('https://images.unsplash.com/photo-1504917595217-d4dc5ebe6122?q=80&w=2670&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3Dp') center/cover no-repeat !important;
  background-attachment: fixed !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin: 0 !important;
}
body.single-post .fmp-global-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="particles" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="20" cy="20" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="80" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="50" r="0.5" fill="rgba(255,255,255,0.05)"/></pattern></defs><rect width="100" height="100" fill="url(%23particles)"/></svg>') !important;
  opacity: 0.3 !important;
  z-index: 1 !important;
}
body.single-post .fmp-hero-content {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1200px !important;
  width: 100% !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
}
@media (max-width: 768px) {
  body.single-post .fmp-hero-content {
    padding: 0 20px !important;
  }
}
body.single-post .fmp-hero-title,
body.single-post .fmp-global-hero-title-text {
  /* Permite 2 líneas (saltos \n) tras ":" y mantiene wrap normal */
  white-space: pre-line !important;
  padding: 0 20px !important;
}

/* Mejorar contraste del título en el hero (más legible sobre imagen) */
body.single-post .fmp-hero-title,
body.single-post .fmp-global-hero-title-text {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #ffffff !important;
  color: #ffffff !important;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.55) !important;
}

/* Añadir “placa” sutil detrás del texto para contraste constante */
body.single-post .fmp-hero-title {
  display: inline-block !important;
  padding: 10px 16px !important;
  border-radius: 14px !important;
  background: rgba(2, 15, 28, 0.25) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.18) !important;
}

/* Si el H1 viene de un hero custom (clase distinta), también lo centramos */
body.single-post .fmp-global-hero-title-text,
body.single-post h1.fmp-global-hero-title-text {
  text-align: center !important;
  white-space: pre-line !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Contenedor centrado del single (evita “hueco” lateral por layout con sidebar) */
body.single-post #primary,
body.single-post .content-area,
body.single #primary,
body.single .content-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: 0 auto !important;
}
body.single-post #secondary,
body.single-post #right-sidebar,
body.single-post #left-sidebar,
body.single-post .widget-area,
body.single #secondary,
body.single #right-sidebar,
body.single #left-sidebar,
body.single .widget-area {
  display: none !important;
}

body.single-post .site-content,
body.single .site-content {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Eliminar “espacio muerto” entre header fijo y hero */
body.single-post .site-content,
body.single .site-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.single-post .fmp-global-hero,
body.single-post .fmp-global-hero-banner,
body.single .fmp-global-hero,
body.single .fmp-global-hero-banner {
  margin-top: 0 !important;
}
body.single-post .fmp-global-hero + .site-content,
body.single .fmp-global-hero + .site-content {
  margin-top: 0 !important;
}

/* 2) Quitar sidebar y resetear layout GP */
body.single-post .widget-area,
body.single-post #right-sidebar,
body.single-post #left-sidebar,
body.single-post .sidebar,
body.single-post .sidebar .widget {
  display: none !important;
}
body.single-post #primary,
body.single-post .content-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
}

/* Contenedor de lectura */
body.single-post .inside-article {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* 3) Limpieza metadatos (autor/fecha) + comentarios */
body.single-post .entry-meta,
body.single-post .entry-header .entry-meta,
body.single-post .entry-header .comments-link,
body.single-post .entry-header .cat-links,
body.single-post .entry-header .tags-links {
  display: none !important;
}
body.single-post .comments-area,
body.single-post #comments {
  display: none !important;
}

body.single-post .entry-content {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  color: #0f2238;
  text-align: left;
}

/* Mejor centrado visual del cuerpo del texto (sin perder legibilidad) */
body.single-post .entry-content p,
body.single-post .entry-content li {
  max-width: 78ch;
  margin-left: 0;
  margin-right: 0;
}
body.single-post .entry-content ul,
body.single-post .entry-content ol {
  display: block;
  text-align: left;
  margin-left: 1.2rem;
  margin-right: 0;
  padding-left: 1rem;
}
body.single-post .entry-content table {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Quitar márgenes “típicos” que crean sensación de hueco antes del primer párrafo */
body.single-post .post-image,
body.single-post .featured-image,
body.single-post .wp-post-image {
  margin-top: 0 !important;
}

/* Imagen destacada: 20% más pequeña + borde redondeado */
body.single-post .featured-image.page-header-image-single,
body.single-post .post-image {
  max-width: 80% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 768px) {
  body.single-post .featured-image.page-header-image-single,
  body.single-post .post-image {
    max-width: 100% !important;
  }
}

body.single-post .featured-image.page-header-image-single img,
body.single-post .post-image img,
body.single-post img.wp-post-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 15px;
}

/* 4) Firma corporativa al final del contenido */
body.single-post .entry-content::after {
  content: "Departamento de Ingeniería - FM Pipefitting";
  display: block;
  margin-top: 44px;
  padding-top: 18px;
  border-top: 1px solid rgba(30, 58, 95, 0.15);
  color: rgba(30, 58, 95, 0.85);
  font-weight: 700;
  letter-spacing: 0.2px;
}
body.single-post .entry-content p,
body.single-post .entry-content li {
  line-height: 1.75;
}
body.single-post .entry-content h2,
body.single-post .entry-content h3 {
  color: var(--fmp-ink);
  letter-spacing: -0.3px;
  margin-top: 1.6em;
}

/* Callout box (use .fmp-callout in editor if desired) */
body.single-post .entry-content .fmp-callout {
  border-left: 4px solid var(--fmp-accent);
  background: rgba(245, 166, 35, 0.08);
  padding: 14px 16px;
  border-radius: 12px;
}

/* Responsive */
@media (max-width: 1024px) {
  body.blog .site-main,
  body.archive.category .site-main,
  body.archive.tag .site-main,
  body.search .site-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  body.blog .site-main,
  body.single-post .site-main,
  body.archive.category .site-main,
  body.archive.tag .site-main,
  body.search .site-main {
    padding-left: 16px;
    padding-right: 16px;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .fmp-blog-toolbar-inner {
    flex-direction: column;
    align-items: stretch;
  }
  .fmp-blog-toolbar-search {
    width: 100%;
    justify-content: space-between;
  }
  .fmp-blog-toolbar-search input[type="search"] {
    width: 100%;
  }
  .fmp-blog-hero-inner {
    padding: 32px 16px;
  }
  body.blog .inside-article .entry-header,
  body.blog .inside-article .entry-summary,
  body.archive.category .inside-article .entry-header,
  body.archive.category .inside-article .entry-summary,
  body.archive.tag .inside-article .entry-header,
  body.archive.tag .inside-article .entry-summary,
  body.search .inside-article .entry-header,
  body.search .inside-article .entry-summary {
    padding: 16px;
  }
}

