/* ═══════════════════════════════════════════════════════════════
   FRONTERA VERACRUZ — Portada & Artículo (capa de layout)
   Clases con prefijo .fvp- para no chocar con el style.css base.
   Usa los tokens --fv-* ya definidos en el child theme.
   ═══════════════════════════════════════════════════════════════ */

.fvp-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.fvp-front,.fvp-single{color:var(--fv-off)}
.fvp-ph{overflow:hidden;background:var(--fv-bg2);border-radius:var(--fv-radius)}
.fvp-ph img{display:block;width:100%;height:100%;object-fit:cover}
.fvp-noimg{display:block;width:100%;height:100%;min-height:120px;background:
  linear-gradient(135deg,var(--fv-bg2),var(--fv-surface))}
.fvp-meta{font-size:12px;color:var(--fv-muted);margin-top:9px;display:flex;align-items:center;gap:7px}
.fvp-sep{width:3px;height:3px;border-radius:50%;background:var(--fv-dimmer);display:inline-block}
.fvp-dek{font-size:14px;color:var(--fv-muted);margin-top:10px;line-height:1.5}

/* Kicker (categoría roja) */
.fvp-kicker{display:inline-block;font-family:var(--fv-font-sans);font-size:11px;font-weight:700;
  letter-spacing:1.3px;text-transform:uppercase;color:var(--fv-red)!important;margin-bottom:8px}
a.fvp-kicker:hover{color:var(--fv-red-hover)!important}

/* ── Barra superior global ── */
.fvp-topbar{background:var(--fv-surface);border-bottom:1px solid var(--fv-border);font-size:12px}
.fvp-topbar .fvp-wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
.fvp-tb-date{color:var(--fv-muted);letter-spacing:.3px}
.fvp-tb-social{display:flex;gap:14px}
.fvp-tb-social a{color:var(--fv-muted)}
.fvp-tb-social a:hover{color:var(--fv-red)}

/* ── Barra Última hora ── */
.fvp-breaking{background:var(--fv-bg2);border-bottom:1px solid var(--fv-border)}
.fvp-breaking .fvp-wrap{display:flex;align-items:center;gap:16px;height:44px;overflow:hidden}
.fvp-bn-tag{background:var(--fv-red);color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;
  text-transform:uppercase;padding:5px 11px;white-space:nowrap;display:flex;align-items:center;gap:7px;flex-shrink:0}
.fvp-pulse{width:7px;height:7px;border-radius:50%;background:#fff;animation:fvp-pulse 1.4s infinite}
@keyframes fvp-pulse{0%,100%{opacity:1}50%{opacity:.25}}
.fvp-bn-txt{font-size:14px;color:var(--fv-off);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fvp-bn-txt:hover{color:var(--fv-white)}

/* ── Encabezado de sección ── */
.fvp-sechead{display:flex;align-items:center;gap:14px;margin:44px 0 22px}
.fvp-sechead h2{font-family:var(--fv-font-display)!important;font-size:24px;font-weight:800;
  color:var(--fv-white)!important;white-space:nowrap;margin:0}
.fvp-sechead h2 span{color:var(--fv-red)!important}
.fvp-rule{flex:1;height:1px;background:var(--fv-border)}
.fvp-more{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;
  color:var(--fv-muted);white-space:nowrap}
.fvp-more:hover{color:var(--fv-red)}

/* ── Tarjeta ── */
.fvp-card .fvp-ph{aspect-ratio:3/2;margin-bottom:13px}
.fvp-card .fvp-ph img{transition:transform .5s}
.fvp-card:hover .fvp-ph img{transform:scale(1.04)}
.fvp-card h3{font-family:var(--fv-font-display)!important;font-size:18.5px;line-height:1.2;
  font-weight:700;color:var(--fv-off)!important;margin:0}
.fvp-card:hover h3{color:var(--fv-white)!important}

/* ── Hero ── */
.fvp-hero{display:grid;grid-template-columns:1.62fr 1fr;gap:30px;margin-top:34px}
.fvp-lead .fvp-ph{aspect-ratio:16/9}
.fvp-lead .fvp-ph img{transition:transform .5s}
.fvp-lead:hover .fvp-ph img{transform:scale(1.03)}
.fvp-lead-body{padding:22px 2px 0}
.fvp-lead h1{font-family:var(--fv-font-display)!important;font-size:38px;line-height:1.06;
  font-weight:800;color:var(--fv-white)!important;margin:2px 0 0}
.fvp-lead .fvp-dek{font-size:15.5px;max-width:62ch}
.fvp-side{display:flex;flex-direction:column;gap:18px}
.fvp-scard{display:grid;grid-template-columns:104px 1fr;gap:15px;padding-bottom:18px;
  border-bottom:1px solid var(--fv-border)}
.fvp-scard:last-child{border-bottom:none;padding-bottom:0}
.fvp-scard .fvp-ph{aspect-ratio:1/1}
.fvp-scard h3{font-family:var(--fv-font-display)!important;font-size:17px;line-height:1.22;
  font-weight:700;color:var(--fv-off)!important;margin:4px 0 0}
.fvp-scard:hover h3{color:var(--fv-white)!important}
.fvp-scard .fvp-kicker{margin-bottom:5px;font-size:10px}

/* ── Grids ── */
.fvp-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.fvp-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}

/* ── Dos columnas (feed + sidebar) ── */
.fvp-body2{display:grid;grid-template-columns:1fr 320px;gap:44px}
.fvp-feed .fvp-item{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:22px 0;
  border-bottom:1px solid var(--fv-border)}
.fvp-feed .fvp-item:first-child{padding-top:0}
.fvp-feed .fvp-item .fvp-ph{aspect-ratio:16/10}
.fvp-feed .fvp-item h3{font-family:var(--fv-font-display)!important;font-size:21px;line-height:1.18;
  font-weight:700;color:var(--fv-off)!important;margin:3px 0 0}
.fvp-feed .fvp-item:hover h3{color:var(--fv-white)!important}

.fvp-aside .fvp-block{background:var(--fv-surface);border:1px solid var(--fv-border);
  border-radius:4px;padding:22px}
.fvp-aside .fvp-block + .fvp-block{margin-top:26px}
.fvp-blocktitle{font-family:var(--fv-font-display)!important;font-size:19px;font-weight:800;
  color:var(--fv-white)!important;margin-bottom:5px}
.fvp-blocktitle span{color:var(--fv-red)!important}
.fvp-underrule{height:2px;width:42px;background:var(--fv-red);margin-bottom:18px}
.fvp-pop{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:13px 0;
  border-bottom:1px solid var(--fv-border);align-items:start}
.fvp-pop:last-child{border-bottom:none;padding-bottom:0}
.fvp-num{font-family:var(--fv-font-display)!important;font-size:30px;font-weight:900;line-height:.8;
  color:var(--fv-red-dim)}
.fvp-pop:hover .fvp-num{color:var(--fv-red)}
.fvp-pop h4{font-size:14.5px;line-height:1.3;font-weight:600;color:var(--fv-off);margin:0}
.fvp-pop:hover h4{color:var(--fv-white)}
.fvp-news p{font-size:13px;color:var(--fv-muted);margin:6px 0 15px}
.fvp-field{display:flex;border:1px solid var(--fv-border);border-radius:3px;overflow:hidden}
.fvp-field input{flex:1;background:var(--fv-bg);border:none;color:var(--fv-off);
  padding:11px 13px;font-family:var(--fv-font-sans);font-size:13px;outline:none}
.fvp-field button{background:var(--fv-red);color:#fff;border:none;padding:0 16px;font-weight:700;
  font-size:12px;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}
.fvp-field button:hover{background:var(--fv-red-hover)}

/* ═══════════════════════════════════════════════════════════════
   ARTÍCULO INDIVIDUAL (single)
   ═══════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════
   ARTÍCULO INDIVIDUAL (single) — Defensivo PURO CSS
   Forzamos el layout sin tocar filtros PHP de Kadence.
   ═══════════════════════════════════════════════════════════════ */

/* Romper TODOS los wrappers estrechos que Kadence pueda imponer en singles.
   Apuntamos a cada nombre conocido entre versiones del tema padre. */
body.fv-single-template #primary,
body.fv-single-template #main,
body.fv-single-template .content-area,
body.fv-single-template .entry-content-wrap,
body.fv-single-template .entry-content,
body.fv-single-template .content-container,
body.fv-single-template .site-container,
body.fv-single-template .site-main,
body.fv-single-template main.site-main,
body.fv-single-template .wp-site-blocks,
body.fv-single-template .entry-wrap,
body.fv-single-template .single-content{
  max-width:100%!important;width:100%!important;padding:0!important;margin:0!important;float:none!important
}
/* Ocultar elementos que Kadence dibuja por defecto en el single */
body.fv-single-template .entry-hero,
body.fv-single-template .above-entry-meta,
body.fv-single-template .below-entry-meta,
body.fv-single-template .entry-header:not(.fvp-article-head),
body.fv-single-template .post-thumbnail:not(.fvp-article-media),
body.fv-single-template > #wrapper > main > article > header.entry-header{display:none!important}
/* Si Kadence aún dibuja su sidebar, lo escondemos */
body.fv-single-template #secondary,
body.fv-single-template .secondary,
body.fv-single-template aside.widget-area.sidebar-primary,
body.fv-single-template aside.widget-area:not(.fvp-sidebar){display:none!important}

.fvp-single{padding:0;width:100%;clear:both}
.fvp-single-grid{max-width:1240px;margin:0 auto;padding:30px 24px 0;display:grid;
  grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start;width:100%;box-sizing:border-box}
.fvp-article{max-width:none;margin:0;padding:0;min-width:0;width:auto}
.fvp-article-head{text-align:left;margin-bottom:24px}
.fvp-article-title{font-family:var(--fv-font-display)!important;font-size:clamp(26px,3vw,38px);
  line-height:1.14;font-weight:800;color:var(--fv-white)!important;margin:8px 0 16px}
.fvp-byline{display:flex;justify-content:flex-start;align-items:center;gap:10px;font-size:13.5px;
  color:var(--fv-muted);margin-bottom:16px;flex-wrap:wrap}
.fvp-author{color:var(--fv-off)}
.fvp-share{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap}
.fvp-share-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--fv-dimmer)}
.fvp-share a{font-size:12px;font-weight:600;padding:6px 14px;border:1px solid var(--fv-border);
  border-radius:3px;color:var(--fv-off);transition:.15s}
.fvp-share a:hover{border-color:var(--fv-red);background:var(--fv-red);color:#fff}

.fvp-article-media{margin:0 0 28px}
.fvp-article-media img{display:block;width:100%;max-height:480px;object-fit:cover;
  border-radius:var(--fv-radius)}
.fvp-article-media figcaption{font-size:12.5px;color:var(--fv-muted);padding:10px 2px 0;font-style:italic}

.fvp-article-body{font-family:var(--fv-font-serif);font-size:17.5px;line-height:1.75;color:var(--fv-off)}
.fvp-article-body p{margin:0 0 1.35em;color:var(--fv-off)}
.fvp-article-body h2,.fvp-article-body h3{margin:1.6em 0 .5em}
.fvp-article-body img{max-width:100%;height:auto;border-radius:var(--fv-radius);margin:1.5em 0}
.fvp-article-body a{color:var(--fv-red);text-decoration:underline;text-underline-offset:3px}

.fvp-tags{margin:30px 0 0;font-size:13px;color:var(--fv-muted)}
.fvp-tags a{color:var(--fv-off);border:1px solid var(--fv-border);border-radius:3px;
  padding:3px 10px;margin:0 4px 6px 0;display:inline-block}
.fvp-tags a:hover{border-color:var(--fv-red);color:var(--fv-red)}
.fvp-tags span{margin-right:8px}

.fvp-prevnext{margin:36px 0 0;display:flex;justify-content:space-between;gap:24px;
  padding-top:22px;border-top:1px solid var(--fv-border)}
.fvp-prevnext a{font-family:var(--fv-font-display)!important;font-size:15px;color:var(--fv-off);
  line-height:1.3;display:block}
.fvp-prevnext a:hover{color:var(--fv-red)}
.fvp-pn-next{text-align:right}

/* ── Sidebar derecho del artículo ── */
.fvp-sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:22px;min-width:0;width:auto}
.fvp-sidebar .fvp-block,
.fvp-sidebar .widget{background:var(--fv-surface);border:1px solid var(--fv-border);
  border-radius:4px;padding:20px;margin:0}
.fvp-sidebar .widget-title,
.fvp-sidebar h2.widget-title,
.fvp-sidebar h3.widget-title{font-family:var(--fv-font-display)!important;font-size:17px;font-weight:800;
  color:var(--fv-white)!important;margin:0 0 14px;padding-bottom:10px;
  border-bottom:2px solid var(--fv-red);display:block;text-transform:uppercase;letter-spacing:.5px}
.fvp-sidebar .widget ul{list-style:none;margin:0;padding:0}
.fvp-sidebar .widget li{padding:9px 0;border-bottom:1px solid var(--fv-border);font-size:14px;color:var(--fv-off)}
.fvp-sidebar .widget li:last-child{border-bottom:none}
.fvp-sidebar .widget a{color:var(--fv-off)}
.fvp-sidebar .widget a:hover{color:var(--fv-red)}
.fvp-sidebar .widget img{max-width:100%;height:auto;border-radius:var(--fv-radius)}
.fvp-sidebar .widget p{font-size:14px;color:var(--fv-off);margin:0 0 .8em}
.fvp-sidebar .widget input[type=text],
.fvp-sidebar .widget input[type=search],
.fvp-sidebar .widget input[type=email]{width:100%;background:var(--fv-bg);border:1px solid var(--fv-border);
  color:var(--fv-off);padding:10px 12px;font-size:13px;border-radius:3px;font-family:var(--fv-font-sans)}

/* Relacionadas */
.fvp-related{background:var(--fv-bg2);border-top:1px solid var(--fv-border);margin-top:54px;
  padding:10px 0 50px}
.fvp-related .fvp-card h3{font-size:18px;word-break:normal;overflow-wrap:break-word;hyphens:none}

/* ═══════════════════════════════════════════════════════════════
   PORTADA — también rompemos wrappers en front-page
   ═══════════════════════════════════════════════════════════════ */
body.fv-front-template #primary,
body.fv-front-template #main,
body.fv-front-template .content-area,
body.fv-front-template .entry-content-wrap,
body.fv-front-template .entry-content,
body.fv-front-template .content-container,
body.fv-front-template .site-container,
body.fv-front-template main.site-main{
  max-width:100%!important;width:100%!important;padding:0!important;margin:0!important;float:none!important
}
body.fv-front-template #secondary,
body.fv-front-template aside.widget-area:not(.fvp-aside){display:none!important}

@media (max-width:1024px){
  .fvp-single-grid{grid-template-columns:minmax(0,1fr) 280px;gap:32px}
}
@media (max-width:900px){
  .fvp-single-grid{grid-template-columns:1fr;gap:36px;padding-top:20px}
  .fvp-sidebar{position:static}
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */
@media (max-width:900px){
  .fvp-hero{grid-template-columns:1fr}
  .fvp-lead h1{font-size:30px}
  .fvp-grid4{grid-template-columns:repeat(2,1fr)}
  .fvp-grid3{grid-template-columns:1fr}
  .fvp-body2{grid-template-columns:1fr}
  .fvp-feed .fvp-item{grid-template-columns:130px 1fr;gap:14px}
  .fvp-feed .fvp-item h3{font-size:18px}
  .fvp-topbar .fvp-tb-date{font-size:11px}
}
@media (max-width:560px){
  .fvp-grid4{grid-template-columns:1fr}
  .fvp-tb-social{display:none}
  .fvp-feed .fvp-item{grid-template-columns:1fr}
  .fvp-feed .fvp-item .fvp-ph{aspect-ratio:16/9}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
