/* ================================================================
   PAISMINERO TEMPLATE — template.css  v3.0
   Joomla 6.10+ | Zero external dependencies | Mobile-first
   Usa variables CSS inyectadas por index.php (admin configurable)
   ================================================================ */

/* ── RESET ──────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background-color:var(--bg,#f0f0f0);
  font-family:'Trebuchet MS','Helvetica Neue',Arial,sans-serif;
  color:var(--text,#1a1a1a);
  overflow-x:hidden;
  min-height:100vh;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;font-family:inherit}
:focus-visible{outline:2px solid var(--accent,#e8292a);outline-offset:2px}

/* ── CSS VARIABLES — fallbacks (overridden by PHP :root block) ── */
:root{
  --accent:#e8292a;
  --accent-dark:#900;
  --primary:#1a2940;
  --bg:#f0f0f0;
  --surface:#fff;
  --border:#d4d4d4;
  --text:#1a1a1a;
  --muted:#666;
  --light:#999;
  --fh:'Georgia','Times New Roman',serif;
  --fu:Arial,Helvetica,sans-serif;
  --gap:10px;
  --r:2px;
  --max-w:1160px;
  /* Category palette */
  --c-mc:#2c2c2c; --c-mi:#555;    --c-mo:#c9a84c;
  --c-pn:#1a3a5c; --c-pc:#2155a0; --c-pi:#2d7dd2;
  --c-er:#2e7d32; --c-eg:#388e3c; --c-eas:#6abf69;
  --c-ai:#00695c; --c-aa:#00897b; --c-at:#26a69a;
  --c-em:#6a1b9a; --c-ei:#8e24aa; --c-ee:#ab47bc;
  --c-rm:#bf360c; --c-rp:#e64a19; --c-re:#ff7043;
  --c-ah:#37474f; --c-ae:#546e7a;
}

/* ── DARK MODE (system preference) ─────────────────────────── */
@media(prefers-color-scheme:dark){
  body:not(.pm-light){
    --bg:#111518;
    --surface:#1c2128;
    --border:#2d3748;
    --text:#e2e8f0;
    --muted:#a0aec0;
    --light:#718096;
  }
}
/* Force dark when .pm-dark class on body */
.pm-dark{
  --bg:#111518 !important;
  --surface:#1c2128 !important;
  --border:#2d3748 !important;
  --text:#e2e8f0 !important;
  --muted:#a0aec0 !important;
  --light:#718096 !important;
}

/* ── WRAPPER ─────────────────────────────────────────────────── */
.pm-wrap{width:100%;max-width:var(--max-w,1160px);margin:0 auto;padding:0 12px}

/* ════════════════════════════════════════════════════════════════
   TOP BAR
════════════════════════════════════════════════════════════════ */
#pm-topbar{
  background:#0f1e2e;color:#8a9bac;
  font-family:var(--fu);font-size:.68rem;
  padding:4px 0;border-bottom:1px solid #1e3248;
}
#pm-topbar .pm-wrap{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.pm-tb-links{display:flex;flex-wrap:wrap}
.pm-tb-links a{color:#7a8ea0;padding:0 7px;border-right:1px solid #2a3d52;transition:color .15s}
.pm-tb-links a:last-child{border:none}
.pm-tb-links a:hover{color:#fff}
.pm-tb-date{color:#4a5e70;white-space:nowrap;font-size:.67rem}

/* ════════════════════════════════════════════════════════════════
   HEADER
════════════════════════════════════════════════════════════════ */
#pm-header{
  background:linear-gradient(180deg,color-mix(in srgb, var(--primary) 90%, black) 0%, var(--primary) 100%);
  padding:10px 0 0;
}
.pm-hdr{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;flex-wrap:wrap}

/* Logo */
.pm-logo a{display:flex;flex-direction:column}
.pm-logo-text{
  font-family:var(--fh);color:#fff;
  font-size:clamp(1.4rem,3.5vw,2.2rem);
  font-weight:bold;letter-spacing:-1px;line-height:1;
}
.pm-logo-text em{color:var(--accent);font-style:normal}
.pm-logo-text .pm-dot{color:var(--accent);font-size:1.1em;vertical-align:-.06em}
.pm-logo-tag{color:#5a7a96;font-size:.63rem;font-family:var(--fu);letter-spacing:.8px;margin-top:3px;text-transform:uppercase}

/* Header right */
.pm-hdr-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.pm-social{display:flex;gap:3px;flex-wrap:wrap}
.pm-social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;background:#263548;border-radius:var(--r);
  color:#9ab;font-size:.72rem;font-weight:bold;font-family:var(--fu);
  transition:background .15s,color .15s;
}
.pm-social a:hover{background:var(--accent);color:#fff}
.pm-search{display:flex}
.pm-search input{
  background:#1e3350;border:1px solid #2e4a66;color:#ccc;
  padding:5px 10px;font-size:.75rem;outline:none;
  width:clamp(110px,18vw,190px);
  border-radius:var(--r) 0 0 var(--r);
}
.pm-search input::placeholder{color:#4a6070}
.pm-search button{
  background:var(--accent);border:none;color:#fff;
  padding:5px 10px;font-size:.85rem;
  border-radius:0 var(--r) var(--r) 0;
  transition:background .15s;
}
.pm-search button:hover{background:var(--accent-dark)}

/* Hamburger */
.pm-hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  background:none;
  border:none;
  padding:8px;
  width:44px;height:44px;  /* mínimo táctil 44×44px */
  flex-shrink:0;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  position:relative;
  z-index:700;             /* encima del nav móvil */
}
.pm-hamburger span{
  display:block;width:22px;height:2px;background:#fff;
  border-radius:2px;transition:transform .3s,opacity .3s;
}
.pm-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.pm-hamburger.open span:nth-child(2){opacity:0}
.pm-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ════════════════════════════════════════════════════════════════
   NAVIGATION
════════════════════════════════════════════════════════════════ */
/* Menú sticky — siempre fijo en la parte superior en todas las páginas */
#pm-mainnav{
  background:#1a1a1a;
  position:sticky;      /* sticky: se queda al llegar al top */
  top:0;
  left:0;
  right:0;
  z-index:500;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
/* Clase pm-sticky ya no es necesaria pero la mantenemos por compatibilidad */
#pm-mainnav.pm-sticky{
  box-shadow:0 2px 12px rgba(0,0,0,.5);
}
#pm-mainnav .pm-wrap{display:flex;align-items:center}

.pm-nav-desktop{
  display:flex;overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;flex:1;
}
.pm-nav-desktop::-webkit-scrollbar{display:none}
.pm-nav-desktop ul{display:flex;flex-shrink:0}
.pm-nav-desktop ul li a{
  display:block;padding:10px 13px;color:#ccc;
  font-family:var(--fu);font-size:.72rem;font-weight:bold;
  text-transform:uppercase;letter-spacing:.4px;
  border-right:1px solid #2a2a2a;white-space:nowrap;
  transition:background .15s,color .15s;
}
.pm-nav-desktop ul li a:hover,
.pm-nav-desktop ul li.active a,
.pm-nav-desktop ul li.current a{background:var(--accent);color:#fff}

/* Dropdown submenu */
.pm-nav-desktop ul li{position:relative}
.pm-nav-desktop .pm-dropdown{
  display:none;position:absolute;top:100%;left:0;
  background:#222;min-width:160px;z-index:300;
  box-shadow:0 6px 18px rgba(0,0,0,.4);
}
.pm-nav-desktop li.parent:hover .pm-dropdown{display:block}
.pm-nav-desktop .pm-dropdown li a{
  padding:8px 14px;border-right:none;border-bottom:1px solid #2e2e2e;
  font-size:.7rem;
}

/* Mobile nav */
.pm-nav-mobile{
  display:none;
  position:fixed;          /* fixed para que salga por encima de todo */
  top:0;left:0;right:0;
  background:#111;
  z-index:600;             /* por encima del sticky nav */
  border-top:2px solid var(--accent);
  box-shadow:0 8px 24px rgba(0,0,0,.55);
  max-height:0;
  overflow-y:auto;         /* scroll si hay muchos ítems */
  overflow-x:hidden;
  transition:max-height .35s ease;
  padding-top:0;
}
.pm-nav-mobile.open{
  max-height:100vh;        /* puede ocupar toda la pantalla si hay muchos ítems */
  padding-top:44px;        /* espacio para el botón hamburger encima */
}
.pm-nav-mobile a{
  display:block;
  padding:13px 20px;
  color:#ccc;
  font-family:var(--fu);
  font-size:.85rem;
  font-weight:bold;
  text-transform:uppercase;
  letter-spacing:.4px;
  border-bottom:1px solid #1e1e1e;
  transition:background .15s,color .15s;
  -webkit-tap-highlight-color:transparent;
}
.pm-nav-mobile a:hover,
.pm-nav-mobile a:active{background:#1e1e1e;color:#fff}
.pm-nav-mobile a.active{color:var(--accent)}
/* Sub-ítems del menú móvil */
.pm-nav-mobile .nav-child a,
.pm-nav-mobile .pm-dropdown a{
  padding-left:32px;
  font-size:.78rem;
  color:#999;
  text-transform:none;
  font-weight:normal;
  letter-spacing:0;
}

/* Sub navigation */
#pm-subnav{background:var(--surface);border-bottom:2px solid var(--border);overflow:hidden}
.pm-sn{display:flex;align-items:center;justify-content:space-between}
.pm-sn-links{
  display:flex;overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.pm-sn-links::-webkit-scrollbar{display:none}
.pm-sn-links a{
  display:block;padding:6px 9px;font-size:.67rem;color:var(--muted);
  font-family:var(--fu);text-transform:uppercase;letter-spacing:.3px;
  border-right:1px solid var(--border);white-space:nowrap;transition:color .15s;
}
.pm-sn-links a:hover{color:var(--accent)}
.pm-sn-search{display:flex;align-items:center;gap:4px;padding-right:4px;flex-shrink:0}
.pm-sn-search input{
  border:1px solid var(--border);padding:3px 7px;font-size:.72rem;
  outline:none;border-radius:var(--r);width:100px;
  color:var(--text);background:var(--surface);
}

/* ════════════════════════════════════════════════════════════════
   BREAKING NEWS TICKER
════════════════════════════════════════════════════════════════ */
/* ── Ticker corregido: texto centrado verticalmente ── */
#pm-ticker{
  background:var(--accent);
  display:flex;
  align-items:stretch;   /* hijos estiran a la altura completa */
  height:34px;
  overflow:hidden;
  position:relative;
  z-index:5;
}
.pm-tick-lbl{
  background:var(--accent-dark);
  color:#fff;
  font-family:var(--fu);
  font-size:.62rem;
  font-weight:bold;
  text-transform:uppercase;
  letter-spacing:1px;
  padding:0 12px;
  display:flex;
  align-items:center;    /* centra texto verticalmente */
  white-space:nowrap;
  flex-shrink:0;
  border-right:2px solid rgba(255,255,255,.2);
}
.pm-tick-wrap{
  flex:1;
  overflow:hidden;
  display:flex;
  align-items:center;    /* centra el track dentro del wrap */
}
.pm-tick-track{
  display:inline-flex;   /* inline-flex para que los ítems sean en línea */
  gap:0;
  white-space:nowrap;
  animation:pm-tick 15s linear infinite;
  align-items:center;
  line-height:1;         /* evita que line-height extra empuje el texto */
}
.pm-tick-track a{
  color:#fff;
  font-size:.72rem;
  font-family:var(--fu);
  line-height:1;
  padding:0 18px 0 0;
  display:inline-flex;
  align-items:center;
}
.pm-tick-track a::after{
  content:'·';
  padding-left:18px;
  color:rgba(255,255,255,.4);
}
.pm-tick-track span{
  color:rgba(255,255,255,.4);
  padding:0 4px;
}
@keyframes pm-tick{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
#pm-ticker:hover .pm-tick-track{animation-play-state:paused}

/* ════════════════════════════════════════════════════════════════
   CARRUSEL v4.0 — 5 tarjetas visibles, fondo blanco, título encima
   Lógica:
     • Fondo blanco configurable via --sl-bg
     • 5 imágenes uniformes lado a lado con borde delicado
     • Título siempre encima de la imagen (overlay superior degradado)
     • Avanza al hacer hover sobre las flechas
     • Responsive: 5→3→2→1 según ancho
════════════════════════════════════════════════════════════════ */

/* Contenedor principal */
#pm-slider{
  position:relative;
  width:100%;
  background:var(--sl-bg, #ffffff);
  padding:12px 44px;
  box-sizing:border-box;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

/* Track deslizable — JS lo mueve con transform */
.pm-sl-track{
  display:flex;
  gap:10px;
  width:100%;
  overflow:hidden;
}

/* ── Tarjeta individual ── */
.pm-slide{
  flex-shrink:0;
  background:#fff;
  border:1px solid #e0e0e0;       /* borde delicado */
  border-radius:3px;
  overflow:hidden;
  position:relative;
  transition:box-shadow .25s, transform .25s;
  cursor:pointer;
}
.pm-slide:hover{
  box-shadow:0 4px 16px rgba(0,0,0,.1);
  transform:translateY(-2px);
}

/* ── Imagen: misma altura en todas ── */
.pm-slide-img-wrap{
  width:100%;
  height:150px;              /* altura fija — igual en todas */
  overflow:hidden;
  position:relative;
  background:#f0f0f0;        /* placeholder mientras carga */
  flex-shrink:0;
}
.pm-slide-img-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  transition:transform .4s ease;
}
.pm-slide:hover .pm-slide-img-wrap img{
  transform:scale(1.06);
}

/* ── Título ENCIMA de la imagen — overlay degradado superior ──
   Siempre activo (es el único modo en v4.0)
   El degradado va de oscuro arriba (legible) a transparente abajo */
.pm-slide-cap{
  position:absolute;
  top:0; left:0; right:0;
  background:linear-gradient(
    rgba(0,0,0,.78) 0%,
    rgba(0,0,0,.45) 55%,
    transparent 100%
  );
  padding:8px 8px 20px;
  z-index:2;
}

/* Badge de categoría */
.pm-slide-badge{
  display:inline-block;
  color:#fff;
  font-size:.52rem;
  font-family:var(--fu);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  padding:1px 6px;
  border-radius:1px;
  margin-bottom:3px;
  background:var(--accent);
  line-height:1.4;
}

/* Título */
.pm-slide-cap h2{
  font-family:var(--fh);
  color:#fff;
  font-size:.72rem;
  line-height:1.25;
  margin:0;
  text-shadow:0 1px 4px rgba(0,0,0,.7);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.pm-slide-cap h2 a{
  color:#fff;
  text-decoration:none;
}
.pm-slide-cap h2 a:hover{
  text-decoration:underline;
}
.pm-slide-cap p{display:none}  /* ocultar descripción */

/* ── Flechas laterales ──
   Aparecen siempre, el hover sobre ellas activa el avance */
.pm-sl-btn{
  position:absolute;
  top:12px;                  /* igual al padding-top del contenedor */
  bottom:0;
  width:38px;
  background:rgba(255,255,255,.85);
  border:none;
  color:#333;
  font-size:1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s, color .2s;
  z-index:10;
  cursor:pointer;
}
.pm-sl-btn:hover{
  background:var(--accent);
  color:#fff;
}
.pm-sl-prev{left:0; border-right:1px solid #e0e0e0;}
.pm-sl-next{right:0; border-left:1px solid #e0e0e0;}

/* ── Puntos de paginación ── */
.pm-sl-dots{
  display:flex;
  justify-content:center;
  gap:5px;
  padding:7px 0 3px;
}
.pm-sl-dot{
  width:7px; height:7px;
  border-radius:50%;
  background:#d0d0d0;
  border:none; padding:0;
  cursor:pointer;
  transition:background .2s, transform .2s;
}
.pm-sl-dot.active{
  background:var(--accent);
  transform:scale(1.3);
}

/* ── Responsive ── */
@media(max-width:960px){
  #pm-slider{padding:10px 38px}
  /* JS ajusta a 3 visibles */
}
@media(max-width:600px){
  #pm-slider{padding:8px 32px}
  .pm-slide-img-wrap{height:120px}
  .pm-slide-cap h2{font-size:.66rem;-webkit-line-clamp:2}
  /* JS ajusta a 2 visibles */
}
@media(max-width:380px){
  #pm-slider{padding:8px 28px}
  .pm-slide-img-wrap{height:100px}
  /* JS ajusta a 1 visible */
}

/* ════════════════════════════════════════════════════════════════
   CONTENT AREA
════════════════════════════════════════════════════════════════ */
#pm-content{padding:12px 0;background:var(--bg)}

/* ── Posiciones mainbody — dentro de la vista de artículo ──
   mainbody-top    → encima del artículo
   mainbody        → también encima (zona extra, ej. publicidad)
   mainbody-bottom → debajo del artículo (ej. artículos relacionados)
*/
.pm-mainbody-top,
.pm-mainbody-extra{
  margin-bottom:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--border);
}
.pm-mainbody-bottom{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--border);
}
.pm-content-grid{display:grid;grid-template-columns:1fr 262px;gap:var(--gap);align-items:start}
.pm-no-sidebar .pm-content-grid{grid-template-columns:1fr}

/* ════════════════════════════════════════════════════════════════
   ROW / COLUMN SYSTEM
════════════════════════════════════════════════════════════════ */
.pm-row{
  margin-bottom:18px;
  border-top:3px solid var(--primary);      /* línea superior gruesa estilo NYT */
  border-bottom:1px solid var(--border);    /* línea inferior fina */
  padding:10px 0 12px;                      /* espacio interior arriba y abajo */
}
.pm-row-head{
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--border);
  padding-bottom:6px;
  margin-bottom:10px;
}

/* ── Título por columna (pm-col-title) ──────────────────────────
   Aparece cuando el módulo tiene "Mostrar título" activado en Joomla.
   Se muestra como cabecera discreta encima del contenido de la columna. */
.pm-col-title{
  font-family:var(--fh);
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--primary);
  border-top:3px solid var(--primary);
  padding:6px 0 6px 0;
  margin-bottom:8px;
}
/* Separador antes del segundo título — cuando hay módulos apilados */
.pm-col .pm-module-bg + .pm-col-title{
  margin-top:18px;
  padding-top:10px;
}

/* ══ BANNERS ENTRE FILAS ════════════════════════════════════════
   .pm-banner-zone  → contenedor del bloque banner
   .pm-banner-full  → 1 columna full width
   .pm-banner-cols  → 2 columnas con anchos configurables
   .pm-banner-col   → cada columna (ancho via style inline desde PHP)
══════════════════════════════════════════════════════════════ */
.pm-banner-zone{
  margin:10px 0;
  padding:10px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.pm-banner-full{
  width:100%;
}
.pm-banner-cols{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.pm-banner-col{
  min-width:0;
  box-sizing:border-box;
}

/* En móvil las columnas se apilan */
@media(max-width:600px){
  .pm-banner-cols{
    flex-direction:column;
  }
  .pm-banner-col{
    flex:0 0 100% !important;
    max-width:100% !important;
  }
}
/* Per-row accent from category color */
.pm-row[class*="cat-"] .pm-row-head{border-bottom-color:var(--cat-color,var(--accent))}

.pm-row-title{
  font-family:var(--fu);font-size:.7rem;font-weight:bold;
  text-transform:uppercase;letter-spacing:1px;color:var(--primary);
}
.pm-dark .pm-row-title{color:#e2e8f0}

.pm-row-btn{
  background:none;border:1px solid var(--border);font-size:.62rem;
  font-family:var(--fu);color:var(--muted);padding:2px 7px;
  border-radius:var(--r);transition:background .15s;flex-shrink:0;
}
.pm-row-btn:hover{background:var(--border)}

/* Row body grid */
.pm-row-body{
  display:grid;gap:var(--gap);overflow:hidden;
  transition:max-height .35s ease,opacity .3s ease;
}
.pm-row-body.c1{grid-template-columns:1fr}
.pm-row-body.c2{grid-template-columns:repeat(2,1fr)}
.pm-row-body.c3{grid-template-columns:repeat(3,1fr)}
.pm-row-body.collapsed{max-height:0!important;opacity:0;pointer-events:none}

/* ════════════════════════════════════════════════════════════════
   ARTICLE CARD
════════════════════════════════════════════════════════════════ */
.pm-card{background:var(--surface);border:1px solid var(--border);overflow:hidden}
.pm-card-img{position:relative;overflow:hidden}
.pm-card-img img,.pm-card-faux{
  width:100%;height:clamp(110px,12vw,150px);
  object-fit:cover;transition:transform .3s ease;
  display:flex;align-items:center;justify-content:center;
}
.pm-card:hover .pm-card-img img,
.pm-card:hover .pm-card-faux{transform:scale(1.04)}
.pm-card-cat{
  position:absolute;bottom:0;left:0;color:#fff;
  font-size:.57rem;font-family:var(--fu);font-weight:bold;
  text-transform:uppercase;padding:2px 8px;letter-spacing:.4px;
  background:var(--cat-color,var(--accent));
}
.pm-card-body{padding:9px 10px 10px}
.pm-card-meta{font-size:.63rem;color:var(--light);font-family:var(--fu);margin-bottom:3px}
.pm-card-title{
  font-family:var(--fh);font-size:.88rem;line-height:1.3;
  color:var(--text);margin-bottom:4px;
}
.pm-card-title a:hover{color:var(--accent)}
.pm-card-intro{
  font-size:.73rem;color:var(--muted);line-height:1.44;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.pm-readmore{display:inline-block;font-size:.65rem;color:var(--accent);font-family:var(--fu);margin-top:5px}
.pm-readmore:hover{text-decoration:underline}

/* ════════════════════════════════════════════════════════════════
   SIDEBAR
════════════════════════════════════════════════════════════════ */
#pm-sidebar{display:flex;flex-direction:column;gap:10px}
.pm-widget{background:var(--surface);border:1px solid var(--border)}
.pm-w-head{
  background:var(--primary);color:#fff;font-family:var(--fu);
  font-size:.67rem;font-weight:bold;text-transform:uppercase;
  letter-spacing:.8px;padding:7px 10px;
  display:flex;align-items:center;justify-content:space-between;
}
.pm-w-head .pm-all,
.pm-w-head a{color:var(--accent);font-size:.63rem;text-transform:none;font-weight:normal}
.pm-w-head a:hover{text-decoration:underline}
.pm-w-body{padding:8px}

/* Article list in sidebar */
.pm-alist{display:flex;flex-direction:column;gap:6px}
.pm-aitem{display:flex;gap:7px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.pm-aitem:last-child{border-bottom:none;padding-bottom:0}
.pm-athumb{flex-shrink:0;width:64px;height:50px;overflow:hidden}
.pm-athumb img,.pm-athumb-faux{width:100%;height:100%;object-fit:cover;display:flex;align-items:center;justify-content:center}
.pm-abody{flex:1;min-width:0}
.pm-acat{
  display:inline-block;color:#fff;font-size:.56rem;font-family:var(--fu);
  font-weight:bold;text-transform:uppercase;padding:1px 5px;
  border-radius:1px;margin-bottom:2px;letter-spacing:.3px;
  background:var(--cat-color,var(--accent));
}
.pm-atitle{font-size:.75rem;font-family:var(--fh);line-height:1.24;color:var(--text)}
.pm-atitle a:hover{color:var(--accent)}
.pm-adate{font-size:.6rem;color:var(--light);font-family:var(--fu);margin-top:1px}

/* Weather */
.pm-weather{text-align:center;padding:12px 8px}
.pm-wthr-city{font-size:1.05rem;font-family:var(--fh);margin-bottom:2px;color:var(--text)}
.pm-wthr-icon{font-size:1.8rem;margin:3px 0;line-height:1}
.pm-wthr-desc{font-size:.68rem;color:var(--muted);margin-bottom:5px}
.pm-wthr-temp{font-size:2rem;font-weight:bold;color:var(--primary);line-height:1}
.pm-wthr-det{font-size:.66rem;color:var(--muted);margin-top:5px}
.pm-wthr-dates{
  display:flex;justify-content:space-between;font-size:.64rem;
  color:var(--light);border-top:1px solid var(--border);
  margin-top:5px;padding-top:5px;font-family:var(--fu);
}

/* ════════════════════════════════════════════════════════════════
   BOTTOM TABS / VIDEOS
════════════════════════════════════════════════════════════════ */
#pm-bottom{padding:10px 0;background:var(--bg)}
.pm-tabs{background:var(--surface);border:1px solid var(--border)}
.pm-tabs-nav{
  display:flex;background:color-mix(in srgb,var(--surface) 60%,var(--border) 40%);
  border-bottom:1px solid var(--border);
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.pm-tabs-nav::-webkit-scrollbar{display:none}
.pm-tab-btn{
  background:none;border:none;padding:7px 14px;font-size:.68rem;
  font-family:var(--fu);font-weight:bold;text-transform:uppercase;
  color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;
  transition:color .15s;
}
.pm-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--surface)}
.pm-tab-pnl{display:none;padding:10px}
.pm-tab-pnl.active{display:block}
.pm-vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.pm-vcard{cursor:pointer}
.pm-vthumb{height:80px;overflow:hidden;position:relative}
.pm-vthumb img,.pm-vfaux{width:100%;height:100%;object-fit:cover;display:flex;align-items:center;justify-content:center}
.pm-vplay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25)}
.pm-vplay::after{content:'▶';color:rgba(255,255,255,.9);font-size:1.3rem;text-shadow:0 1px 4px rgba(0,0,0,.7)}
.pm-vcard h5{font-size:.68rem;font-family:var(--fh);margin-top:4px;line-height:1.25;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pm-vcard p{font-size:.6rem;color:var(--light);font-family:var(--fu);margin-top:1px}

/* ════════════════════════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════════════════════════ */
#pm-footer{background:var(--primary);color:#8a9bac;padding:20px 0 0}
.pm-fg{
    display:grid;
    grid-template-columns:repeat(8,1fr);
    gap:12px;
    padding-bottom:18px;
    border-bottom:1px solid #243548
}
@media(min-width:900px){.pm-fg{grid-template-columns:repeat(8,1fr)}}
.pm-fc h4{color:#fff;font-family:var(--fu);font-size:.68rem;font-weight:bold;text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid var(--accent)}
.pm-fc li{margin-bottom:4px}
.pm-fc li a{color:#7a8ea0;font-size:.72rem;transition:color .12s}
.pm-fc li a:hover{color:#fff}
.pm-fb{padding:8px 0;display:flex;justify-content:space-between;align-items:center;font-size:.63rem;color:#4a5e6f;flex-wrap:wrap;gap:4px}

/* ════════════════════════════════════════════════════════════════
   CATEGORY COLOR UTILITY CLASSES
   --cat-color is the CSS var consumed by cards, badges, row heads
════════════════════════════════════════════════════════════════ */
.cat-mineria-carbon         {--cat-color:var(--c-mc)}
.cat-mineria-interes        {--cat-color:var(--c-mi)}
.cat-mineria-oro            {--cat-color:var(--c-mo)}
.cat-petroleo-negocios      {--cat-color:var(--c-pn)}
.cat-petroleo-cifras        {--cat-color:var(--c-pc)}
.cat-petroleo-interes       {--cat-color:var(--c-pi)}
.cat-energia-renovable      {--cat-color:var(--c-er)}
.cat-energia-general        {--cat-color:var(--c-eg)}
.cat-energia-gas            {--cat-color:var(--c-eas)}
.cat-ambiente-interes       {--cat-color:var(--c-ai)}
.cat-ambiente-alternativas  {--cat-color:var(--c-aa)}
.cat-ambiente-tecnologias   {--cat-color:var(--c-at)}
.cat-economia-minera        {--cat-color:var(--c-em)}
.cat-economia-interes       {--cat-color:var(--c-ei)}
.cat-economia-energetica    {--cat-color:var(--c-ee)}
.cat-rse-mineria            {--cat-color:var(--c-rm)}
.cat-rse-petroleo           {--cat-color:var(--c-rp)}
.cat-rse-energia            {--cat-color:var(--c-re)}
.cat-autos-hibridos         {--cat-color:var(--c-ah)}
.cat-autos-electricos       {--cat-color:var(--c-ae)}

/* ════════════════════════════════════════════════════════════════
   JOOMLA 6 OVERRIDES
════════════════════════════════════════════════════════════════ */
.system-message-container{max-width:var(--max-w,1160px);margin:10px auto;padding:0 12px}
.alert{padding:10px 14px;border-radius:var(--r);font-family:var(--fu);font-size:.82rem;margin-bottom:8px}
.alert-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404}
.alert-error  {background:#f8d7da;border:1px solid #dc3545;color:#842029}
.alert-info   {background:#d1ecf1;border:1px solid #0c5460;color:#0c5460}
/* J6 uses .alert-message instead of .alert-error in some contexts */
.alert-message{background:#d1ecf1;border:1px solid #0c5460;color:#0c5460}
.mod-languages ul{display:flex;gap:6px}
.mod-languages ul li a{color:#7a8ea0;font-size:.72rem}

/* J6: com_content article view */
.com-content-article .article-header h1{
  font-family:var(--fh);font-size:1.5rem;line-height:1.3;
  color:var(--text);margin-bottom:.5rem;
}
.com-content-article .article-info{
  font-size:.72rem;color:var(--muted);font-family:var(--fu);margin-bottom:.75rem;
}
.com-content-article .article-fulltext{
  font-size:.9rem;line-height:1.65;color:var(--text);
}
.com-content-article .article-fulltext h2,
.com-content-article .article-fulltext h3{
  font-family:var(--fh);margin:1rem 0 .4rem;color:var(--primary);
}
.pm-dark .com-content-article .article-fulltext h2,
.pm-dark .com-content-article .article-fulltext h3{color:#e2e8f0}

/* J6: pagination */
.pagination{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0;justify-content:center}
.pagination .page-link{
  padding:5px 10px;border:1px solid var(--border);color:var(--text);
  font-size:.75rem;background:var(--surface);border-radius:var(--r);transition:background .15s;
}
.pagination .page-item.active .page-link{background:var(--accent);color:#fff;border-color:var(--accent)}
.pagination .page-link:hover{background:var(--border)}

/* ════════════════════════════════════════════════════════════════
   PM TABS WIDGET (reemplaza mod_tabs_gk5)
════════════════════════════════════════════════════════════════ */
.pm-tabs-widget{background:var(--surface);border:1px solid var(--border);overflow:hidden}
.pm-tw-nav{
  display:flex;overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  background:color-mix(in srgb,var(--surface) 60%,var(--border) 40%);
  border-bottom:2px solid var(--border);
}
.pm-tw-nav::-webkit-scrollbar{display:none}
.pm-tw-btn{
  background:none;border:none;border-bottom:3px solid transparent;
  padding:8px 12px;font-family:var(--fu);font-size:.68rem;
  font-weight:bold;text-transform:uppercase;letter-spacing:.4px;
  color:var(--muted);white-space:nowrap;cursor:pointer;
  transition:color .15s,border-color .15s,background .15s;flex-shrink:0;
}
.pm-tw-btn:hover{color:var(--accent);background:rgba(0,0,0,.03)}
.pm-tw-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--surface)}
.pm-tw-panel{display:none;padding:10px}
.pm-tw-panel.active{display:block}
.pm-tw-articles{display:flex;flex-direction:column;gap:0}
.pm-tw-featured{margin-bottom:10px}
.pm-tw-img{position:relative;overflow:hidden}
.pm-tw-img img{
  width:100%;height:clamp(130px,14vw,180px);
  object-fit:cover;transition:transform .3s ease;display:block;
}
.pm-tw-featured:hover .pm-tw-img img{transform:scale(1.04)}
.pm-tw-badge{
  position:absolute;bottom:0;left:0;
  background:var(--cat-color,var(--accent));color:#fff;
  font-size:.57rem;font-family:var(--fu);font-weight:bold;
  text-transform:uppercase;padding:2px 8px;letter-spacing:.4px;
}
.pm-tw-body{padding:8px 0 4px}
.pm-tw-meta{font-size:.62rem;color:var(--light);font-family:var(--fu);margin-bottom:3px}
.pm-tw-title{font-family:var(--fh);font-size:.9rem;line-height:1.3;color:var(--text);margin-bottom:4px}
.pm-tw-title a:hover{color:var(--accent)}
.pm-tw-intro{
  font-size:.72rem;color:var(--muted);line-height:1.44;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.pm-tw-item{display:flex;gap:8px;padding:7px 0;border-top:1px solid var(--border);align-items:flex-start}
.pm-tw-item-img{flex-shrink:0;width:72px;height:54px;overflow:hidden}
.pm-tw-item-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.pm-tw-item:hover .pm-tw-item-img img{transform:scale(1.06)}
.pm-tw-item-body{flex:1;min-width:0}
.pm-tw-item-title{
  font-family:var(--fh);font-size:.78rem;line-height:1.28;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.pm-tw-item-title a:hover{color:var(--accent)}
.pm-tw-footer{padding:8px 0 2px;border-top:1px solid var(--border);margin-top:4px;text-align:right}
.pm-tw-more{font-size:.67rem;color:var(--accent);font-family:var(--fu);font-weight:bold}
.pm-tw-more:hover{text-decoration:underline}

/* ════════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE FIRST
   Breakpoints: 1024 | 900 | 768 | 480 | 360
════════════════════════════════════════════════════════════════ */
@media(max-width:1024px){
  .pm-content-grid{grid-template-columns:1fr 230px}
  .pm-fg{grid-template-columns:repeat(2,1fr)}
  .pm-vgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .pm-content-grid{grid-template-columns:1fr}
  #pm-sidebar{flex-direction:row;flex-wrap:wrap}
  #pm-sidebar .pm-widget{flex:1 1 calc(50% - 5px);min-width:200px}
  /* Sidebar sigue visible en móvil — se apila debajo del contenido */
  #pm-sidebar .pm-widget .pm-ads-wrap{width:100% !important;max-width:100% !important}
  #pm-sidebar .pm-widget .pm-ad{width:100% !important}
  .pm-row-body.c3{grid-template-columns:repeat(2,1fr)}
  /* Publicidad en columnas del grid — visible en móvil */
  .pm-col .pm-ads-wrap{width:100% !important;max-width:100% !important}
  .pm-col .pm-ad{width:100% !important}
  .pm-sn-search{display:none}
}
@media(max-width:768px){
  .pm-tb-links{display:none}
  #pm-topbar .pm-wrap{justify-content:center}
  .pm-hdr{flex-direction:column;align-items:flex-start;gap:8px}
  .pm-hdr-r{width:100%;flex-direction:row;align-items:center;justify-content:space-between}
  .pm-search input{width:clamp(110px,35vw,190px)}
  .pm-nav-desktop{display:none}
  .pm-hamburger{display:flex}
  .pm-nav-mobile{display:block}
  .pm-sn-links a{padding:6px 8px;font-size:.65rem}
  #pm-slider{height:clamp(180px,30vw,260px)}
  .pm-slide-cap h2{font-size:clamp(.85rem,2.2vw,1.05rem)}
  .pm-row-body.c2,
  .pm-row-body.c3{grid-template-columns:1fr}
  .pm-card-img img,.pm-card-faux{height:185px}
  #pm-sidebar{flex-direction:column}
  #pm-sidebar .pm-widget{flex:none;width:100%}
  #pm-sidebar .pm-widget .pm-ads-wrap,
  #pm-sidebar .pm-widget .pm-ad,
  .pm-col .pm-ads-wrap,
  .pm-col .pm-ad{width:100% !important;max-width:100% !important}
  .pm-fg{grid-template-columns:repeat(2,1fr);gap:14px}
  .pm-tw-btn{padding:7px 10px;font-size:.63rem}
  .pm-tw-img img{height:160px}
}
@media(max-width:480px){
  html{font-size:14px}
  #pm-topbar{display:none}
  .pm-logo-tag{display:none}
  .pm-social a{width:26px;height:26px;font-size:.68rem}
  .pm-search input{width:110px;font-size:.7rem}
  .pm-tick-lbl{font-size:.58rem;padding:0 7px;letter-spacing:.5px}
  .pm-tick-track a{font-size:.68rem}
  #pm-slider{height:190px}
  .pm-slide-cap h2{font-size:.88rem}
  .pm-card-img img,.pm-card-faux{height:170px}
  .pm-vgrid{grid-template-columns:repeat(2,1fr)}
  .pm-vthumb,.pm-vfaux{height:65px}
  .pm-tab-btn{padding:6px 10px;font-size:.63rem}
  .pm-fg{grid-template-columns:1fr}
  .pm-fb{flex-direction:column;text-align:center;gap:4px}
  #pm-subnav{display:none}
  .pm-row-btn{font-size:.58rem;padding:2px 5px}
  .pm-tw-img img{height:140px}
  .pm-tw-item-img{width:62px;height:48px}
  .pm-tw-title{font-size:.85rem}
  .pm-tw-item-title{font-size:.74rem}
}
@media(max-width:360px){
  .pm-logo-text{font-size:1.3rem}
  .pm-search{display:none}
  #pm-slider{height:160px}
  .pm-slide-cap h2{font-size:.78rem}
  .pm-sl-btn{width:24px;height:36px;font-size:.85rem}
  .pm-vgrid{grid-template-columns:1fr}
}

/* Touch / hover:none devices */
@media(hover:none){
  .pm-card:hover .pm-card-img img,
  .pm-card:hover .pm-card-faux{transform:none}
  .pm-social a:hover{background:#263548;color:#9ab}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  .pm-tick-track{animation:none}
  .pm-slide,.pm-card-img img,.pm-card-faux,.pm-row-body{transition:none}
}


/* ════════════════════════════════════════════════════════════════
   VISTA DE CATEGORÍA — grid de 3 columnas (com_content override)
════════════════════════════════════════════════════════════════ */

/* Contenedor principal */
.pm-cat-wrap{
  max-width:100%;
}

/* ── Encabezado de sección ── */
.pm-cat-header{
  padding:12px 0 10px;
  margin-bottom:16px;
  border-bottom:1px solid var(--border);
}
.pm-cat-title{
  font-family:var(--fh);
  font-size:clamp(1.3rem,3vw,2rem);
  font-weight:700;
  line-height:1.15;
  margin-bottom:6px;
}
.pm-cat-desc{
  font-size:.9rem;
  color:var(--text);
  opacity:.75;
  margin-bottom:8px;
  line-height:1.6;
}

/* Subcategorías como pills */
.pm-cat-subcats{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-top:8px;
}
.pm-cat-subcats-label{
  font-size:.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--text);
  opacity:.5;
}
.pm-subcat-pill{
  font-size:.72rem;
  padding:3px 10px;
  border-radius:20px;
  border:1px solid var(--border);
  color:var(--text);
  background:var(--surface);
  transition:background .15s, color .15s;
  text-decoration:none;
}
.pm-subcat-pill:hover{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}

/* ── Grid de artículos ── */
.pm-cat-grid{
  display:grid !important;
  gap:18px 14px !important;
  width:100% !important;
}
.pm-cat-cols-1{ grid-template-columns:1fr !important }
.pm-cat-cols-2{ grid-template-columns:repeat(2,1fr) !important }
.pm-cat-cols-3{ grid-template-columns:repeat(3,1fr) !important }

/* Forzar que las tarjetas NO sean 100% del ancho */
.pm-cat-grid .pm-cat-card{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  float:none !important;
  display:flex !important;
  flex-direction:column !important;
}

/* ── Tarjeta individual ── */
.pm-cat-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:3px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:box-shadow .2s, transform .2s;
}
.pm-cat-card:hover{
  box-shadow:0 4px 16px rgba(0,0,0,.1);
  transform:translateY(-2px);
}

/* Imagen de la tarjeta */
.pm-cat-card-img{
  position:relative;
  overflow:hidden;
  flex-shrink:0;
}
.pm-cat-card-img a{display:block}
.pm-cat-card-img img{
  transition:transform .35s ease;
}
.pm-cat-card:hover .pm-cat-card-img img{
  transform:scale(1.05);
}
/* Placeholder si no hay imagen */
.pm-cat-card-faux{
  width:100%;
  height:200px;
  background:linear-gradient(135deg, var(--border) 0%, var(--bg) 100%);
}

/* Badge de categoría sobre la imagen */
.pm-cat-badge{
  position:absolute;
  bottom:8px;
  left:8px;
  font-size:.56rem;
  font-family:var(--fu);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  padding:2px 7px;
  border-radius:1px;
  color:#fff;
  background:var(--accent);
}

/* Cuerpo de la tarjeta */
.pm-cat-card-body{
  padding:10px 12px 14px;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:6px;
}

/* Meta: fecha + autor */
.pm-cat-card-meta{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.68rem;
  color:var(--text);
  opacity:.55;
}

/* Título */
.pm-cat-card-title{
  font-family:var(--fh);
  font-size:clamp(.85rem,1.4vw,1rem);
  font-weight:600;
  line-height:1.3;
  margin:0;
}
.pm-cat-card-title a{
  color:var(--text);
  text-decoration:none;
}
.pm-cat-card-title a:hover{
  color:var(--accent);
}

/* Intro */
.pm-cat-card-intro{
  font-size:.8rem;
  color:var(--text);
  opacity:.72;
  line-height:1.55;
  flex:1;
  /* Limitar a 3 líneas */
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Leer más */
.pm-cat-readmore{
  font-size:.72rem;
  font-family:var(--fu);
  font-weight:600;
  color:var(--accent);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-top:auto;
}
.pm-cat-readmore:hover{
  text-decoration:underline;
}

/* Sin artículos */
.pm-cat-empty{
  grid-column:1/-1;
  text-align:center;
  padding:40px 20px;
  color:var(--text);
  opacity:.5;
  font-size:.9rem;
}

/* ── Paginación ── */
.pm-cat-pagination{
  margin-top:20px;
  padding-top:12px;
  border-top:1px solid var(--border);
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:4px;
}
.pm-cat-pagination .pagination{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  list-style:none;
  margin:0;padding:0;
}
.pm-cat-pagination .pagination a,
.pm-cat-pagination .pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:32px;
  padding:0 8px;
  border:1px solid var(--border);
  border-radius:3px;
  font-size:.78rem;
  color:var(--text);
  text-decoration:none;
  transition:background .15s, color .15s;
}
.pm-cat-pagination .pagination .active span,
.pm-cat-pagination .pagination a:hover{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}



/* ── Reset CSS nativo de Joomla blog que rompe el grid ──
   Joomla inyecta estilos en .blog, .items-leading, .item, etc.
   que fuerzan display:block y width:100% en los artículos.
   Esto los neutraliza dentro de nuestro grid.               */
.pm-cat-wrap .blog,
.pm-cat-wrap .items-leading,
.pm-cat-wrap .items-row,
.pm-cat-wrap .items-more{
  display:contents !important; /* deja pasar los hijos al grid */
}
.pm-cat-wrap .blog-item,
.pm-cat-wrap .item,
.pm-cat-wrap article.item{
  width:auto !important;
  float:none !important;
  display:flex !important;
  flex-direction:column !important;
  padding:0 !important;
  margin:0 !important;
}
/* Quitar clearfix de Joomla */
.pm-cat-wrap .blog::after,
.pm-cat-wrap .items-row::after{
  display:none !important;
}

/* ── Responsive ── */
@media(max-width:900px){
  .pm-cat-cols-3{ grid-template-columns:repeat(2,1fr) !important }
}
@media(max-width:580px){
  .pm-cat-cols-3,
  .pm-cat-cols-2{ grid-template-columns:1fr !important }
  .pm-cat-card-title{ font-size:.9rem }
}

/* ════════════════════════════════════════════════════════════════
   MODO MIXED — combina card + list en el mismo módulo
════════════════════════════════════════════════════════════════ */
.pm-mixed{
  display:flex;
  flex-direction:column;
  gap:10px;
}
/* Bloque card dentro de mixed */
.pm-mixed-card{
  display:flex;
  flex-direction:column;
  gap:10px;
}
/* Bloque list dentro de mixed — sin thumbnail, solo texto */
.pm-mixed-list .pm-alist{
  border-top:1px solid var(--border);
  padding-top:6px;
}
.pm-mixed-list .pm-aitem{
  padding:6px 0;
  border-bottom:1px solid var(--border);
}
.pm-mixed-list .pm-aitem:last-child{
  border-bottom:none;
}
/* Separador visual entre bloques */
.pm-mixed-block-2{
  margin-top:4px;
  padding-top:4px;
}
/* ── Separador entre módulos apilados en la misma columna ──
   El módulo está envuelto en .pm-module-bg (del default.php).
   El selector + agrega separador entre el 2do, 3ro... módulo. */
.pm-col .pm-module-bg + .pm-module-bg{
  border-top:3px solid var(--primary);
  margin-top:16px;
  padding-top:14px;
}
/* También cubrir el caso sin color de fondo (div directo) */
.pm-col .pm-col-title ~ .pm-col-title{
  border-top:3px solid var(--primary);
  margin-top:16px;
  padding-top:14px;
}
#pm-market-bar{
    background:#1a2940 !important;
}

#pm-market-bar .pm-tick-lbl{
    background:#1a2940 !important;
}

#pm-market-bar .pm-tick-wrap{
    background:#1a2940 !important;
}

#pm-market-bar .pm-tick-track{
    background:#1a2940 !important;
}

#pm-market-bar .pm-market-time{
    background:#1a2940 !important;
}
#pm-market-bar .pm-mkt-up .pm-mkt-chg{
    color:#4caf50 !important;
}

#pm-market-bar .pm-mkt-down .pm-mkt-chg{
    color:#ff5252 !important;
}
#pm-footer .pm-fc h4,
#pm-footer .mod-custom h4{
    color:#fff;
    font-family:var(--fu);
    font-size:.68rem;
    font-weight:bold;
    text-transform:uppercase;
    letter-spacing:.8px;
    margin-bottom:10px;
    padding-bottom:5px;
    border-bottom:3px solid var(--accent);
    display:inline-block;
}
/* Imagen del artículo — forzar máximo 456px */
figure.item-image {
    float: right !important;
    margin: 0 0 16px 20px !important;
    max-width: 456px !important;
    width: 456px !important;
}

figure.item-image img {
    max-width: 456px !important;
    width: 100% !important;
    height: auto !important;
}

.com-content-article__body img {
    max-width: 456px !important;
    width: auto !important;
    height: auto !important;
    float: right !important;
    margin: 0 0 16px 20px !important;
}

.com-content-article__body::after {
    content: '';
    display: table;
    clear: both;
}

@media (max-width: 600px) {
    figure.item-image,
    figure.item-image img,
    .com-content-article__body img {
        float: none !important;
        margin: 0 auto 16px !important;
        display: block !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}
/* ── Estilos del cuerpo del artículo ── */

/* Todo el texto justificado */
.com-content-article__body p {
    text-align: justify;
    margin-bottom: 1.2em;
    line-height: 1.75;
}

/* Primer párrafo — negrita y azul oscuro */
.com-content-article__body p:first-of-type {
    font-weight: 700;
    color: #1a3a5c;
    font-size: 1.05em;
}
/* Espacio entre título y primer párrafo */
.com-content-article__body p:first-of-type {
    margin-top: 2em;
}

.page-header {
    margin-bottom: 2.0em;
}

/* Imagen alineada al top del primer párrafo */

/* Contenedor del artículo — posición relativa */
.com-content-article {
    position: relative;
}

/* Imagen flota dentro del contenido */
figure.item-image {
    float: right !important;
    margin: 0 0 16px 20px !important;
    max-width: 456px !important;
    width: 456px !important;
    clear: none !important;
}

figure.item-image img {
    max-width: 456px !important;
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* El cuerpo NO tiene overflow hidden — permite que el texto rodee la figura */
.com-content-article__body {
    overflow: visible !important;
}

/* Limpieza al final */
.com-content-article__body::after {
    content: '';
    display: table;
    clear: both;
}

/* Móvil */
@media (max-width: 600px) {
    figure.item-image {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 16px 0 !important;
    }
}
/* ── ARTÍCULOS DEL PIPELINE ─────────────────────────── */
.pm-article-body {
    font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #222;
    font-weight: 400;
}

.pm-article-body p {
    margin-bottom: 1.4em;
    text-align: justify;
    font-weight: 400;
}

.pm-article-body p:first-of-type {
    color: #1a3a5c;
    font-style: italic;
    font-weight: 700;
    font-size: 17px;
    line-height: 1.7;
}

.pm-article-body img {
    float: right;
    margin: 0 0 16px 20px;
    max-width: 45%;
    height: auto;
    border-radius: 3px;
}

.pm-article-body h2,
.pm-article-body h3 {
    color: #1a3a5c;
    margin: 1.5em 0 0.6em;
    font-weight: 700;
}

.pm-fuente {
    margin-top: 2em;
    padding: 10px 14px;
    background: #f5f5f5;
    border-left: 3px solid #1a3a5c;
    font-size: 13px;
    color: #555;
}

.pm-fuente a {
    color: #1a3a5c;
    font-weight: 700;
}
.pm-band-videos{background:var(--bg);padding:32px 16px;border-top:1px solid var(--border)}
.pm-band-videos .pm-band-inner{max-width:var(--max-w,1160px);margin:0 auto}
/* ============================================================
   FORMATO DE ARTÍCULOS PAISMINERO — v1 (julio 2026)
   Pegar al FINAL de: templates/paisminero/css/template.css
   ============================================================ */

/* 1. Cuerpo del artículo: texto justificado + interlineado 1.3 */
.com-content-article__body,
.item-page .com-content-article__body {
    text-align: justify;
    line-height: 1.3;
}

/* 2. Espacio entre párrafos (doble interlineado)
   Si lo quieres más amplio sube 1.3em a 1.6em o 2em */
.com-content-article__body p {
    margin-top: 0;
    margin-bottom: 1.3em;
}

/* 3. Primer párrafo: azul oscuro + negrita */
.com-content-article__body > p:first-of-type {
    color: var(--primary, #1a2940);
    font-weight: bold;
}

/* 4. Subtítulos dentro del artículo: negrita + aire arriba y abajo
   (deben crearse en el editor como "Encabezado 2" o "Encabezado 3") */
.com-content-article__body h2,
.com-content-article__body h3,
.com-content-article__body h4 {
    font-weight: bold;
    margin-top: 1.6em;
    margin-bottom: 0.8em;
    text-align: left; /* los subtítulos no se justifican */
}

/* 5. Fuente del artículo en negrita
   Funciona si la línea "Fuente: ..." es el ÚLTIMO párrafo del artículo */
.com-content-article__body > p:last-of-type {
    font-weight: bold;
}

/* 5b. Alternativa exacta: párrafos con la clase pm-fuente
   (para artículos donde la fuente NO sea el último párrafo) */
.com-content-article__body .pm-fuente {
    font-weight: bold;
}