/* =========================================================
   PULSO1 — Sistema visual basado en demo.html
   Esta capa se carga después de los estilos V4 para preservar
   toda la lógica existente y cambiar solamente la presentación.
   ========================================================= */
:root {
    --pp-primary: #B32025;
    --pp-primary-dk: #141414;
    --pp-primary-lt: #d55a5e;
    --pp-accent: #c99a2e;
    --pp-accent-lt: #e8c46a;
    --pp-light-green: #f6f5f2;
    --pp-bg: #ffffff;
    --pp-white: #ffffff;
    --pp-text: #141414;
    --pp-text-mid: #5c5c58;
    --pp-text-light: #9c988f;
    --pp-border: #e6e3dc;
    --pp-light-grn: #f6f5f2;
    --pp-soft: #f6f5f2;
    --pp-text-lt: #5c5c58;
    --pp-shadow-sm: 0 2px 6px rgba(20,20,20,.06);
    --pp-shadow-md: 0 8px 22px rgba(20,20,20,.10);
    --pp-shadow-lg: 0 18px 40px rgba(20,20,20,.14);
    --pp-card-shadow: none;
    --pp-card-hover: 0 10px 24px rgba(20,20,20,.08);
    --pp-radius: 2px;
    --pp-radius-sm: 2px;
    --pp-font-head: 'IBM Plex Serif', Georgia, serif;
    --pp-font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --pp-mono: 'IBM Plex Mono', monospace;
}

body { background: var(--pp-white); color: var(--pp-text); font-family: var(--pp-font-body); line-height: 1.5; }
body, .pp-dashboard, .ppd-panel, .main-content-area { color: var(--pp-text); }
body a { color: inherit; }
body a:hover { color: var(--pp-primary); }
.pp1-wrap { max-width: 1180px; width: 100%; margin: 0 auto; padding: 0 24px; }
.screen-reader-text { position: absolute; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; white-space: nowrap; }

/* Barra superior, header y menú */
.pp1-utility { background: #141414; color: #c9c6c0; font-size: 13px; }
.pp1-utility-inner { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.pp1-utility-actions { display: flex; align-items: center; gap: 14px; }
.pp1-utility a { text-decoration: none; }
.pp1-utility-link { color: #c9c6c0; font-size: 12.5px; }
.pp1-utility-link:hover { color: #fff; }
.pp1-utility .pp1-live-button { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; color: #fff; background: #e00000; border: 1px solid #ff3636; border-radius: 20px; box-shadow: 0 0 0 0 rgba(224,0,0,.55); font-size: 12px; font-weight: 800; letter-spacing: .045em; line-height: 1; white-space: nowrap; animation: pp-live-pulse 2.2s infinite; transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease; }
.pp1-utility .pp1-live-button:hover { color: #fff; background: #ff1010; box-shadow: 0 4px 14px rgba(224,0,0,.42); transform: translateY(-1px) scale(1.03); animation: none; }
.pp1-utility .pp1-live-button:focus-visible { color: #fff; outline: 2px solid #fff; outline-offset: 2px; }
.pp1-utility .pp1-live-button:active { transform: translateY(0) scale(.98); }
.pp1-live-button svg { flex: none; }
@keyframes pp-live-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(224,0,0,.48); }
    50% { box-shadow: 0 0 0 5px rgba(224,0,0,0); }
}
@media (prefers-reduced-motion: reduce) {
    .pp1-utility .pp1-live-button { animation: none; }
}
.pp1-newsletter-pill { background: #B32025; color: #fff; padding: 7px 13px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.pp1-newsletter-pill:hover { color: #fff; opacity: .86; }
.pp1-premium-pill { background: linear-gradient(135deg,#e8c46a,#c99a2e); color: #141414; padding: 7px 14px; border-radius: 20px; font-size: 12px; font-weight: 700; }
.pp1-header { position: sticky; top: 0; z-index: 40; background: #fff; border-bottom: 1px solid #e6e3dc; }
.pp1-header-inner { min-height: 79px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.pp1-logo-row { display: flex; align-items: center; gap: 10px; color: #141414; text-decoration: none; white-space: nowrap; }
.pp1-logo-mark { display: block; width: 38px; height: 38px; flex: none; }
.pp1-logo-mark .pp-brand-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.pp1-brand { font-family: var(--pp-font-head); font-size: 25px; font-weight: 600; letter-spacing: -.02em; }
.pp1-brand strong { color: #B32025; font-weight: 600; }
.pp1-brand-inside { font-family: var(--pp-mono); font-size: 11px; font-weight: 600; letter-spacing: .13em; margin-right: 8px; vertical-align: middle; }
.pp1-brand-inside span { color: #B32025; }
.pp1-nav { margin-left: auto; }
.pp1-nav-menu { display: flex; align-items: center; gap: 22px; margin: 0; padding: 0; list-style: none; }
.pp1-nav-menu > li { position: relative; margin: 0; }
.pp1-nav-menu a, .pp1-nav-menu .nav-more-toggle { display: inline-block; padding: 8px 0; color: #141414; font: 600 14px var(--pp-font-body); background: transparent; border: 0; cursor: pointer; text-decoration: none; }
.pp1-nav-menu > li > a:not(.pp1-nav-cta)::after, .pp1-nav-menu .nav-more-toggle::after { content: ''; position: absolute; left: 0; right: 0; bottom: 3px; height: 2px; background: #B32025; transform: scaleX(0); transform-origin: left; transition: transform .18s ease; }
.pp1-nav-menu > li:hover > a:not(.pp1-nav-cta)::after, .pp1-nav-menu .nav-more-toggle:hover::after, .pp1-nav-menu .nav-more-item.open .nav-more-toggle::after { transform: scaleX(1); }
.pp1-nav-cta { color: #fff !important; background: #141414 !important; padding: 10px 16px !important; border-radius: 2px; }
.pp1-nav-cta:hover { background: #B32025 !important; color: #fff !important; }
.pp1-sections-dropdown { display: none; position: absolute; top: calc(100% + 12px); left: -16px; width: 235px; background: #fff; border: 1px solid #e6e3dc; box-shadow: 0 12px 28px rgba(0,0,0,.08); padding: 8px 0; list-style: none; z-index: 80; }
.pp1-sections-menu.open .pp1-sections-dropdown { display: block; }
.pp1-sections-dropdown li { margin: 0; }
.pp1-sections-dropdown a { display: flex; align-items: center; gap: 9px; width: 100%; padding: 10px 14px; font-size: 13px; font-weight: 500; }
.pp1-sections-dropdown a:hover { color: #B32025; background: #f6f5f2; }
.pp1-sections-dropdown i { width: 7px; height: 7px; border-radius: 50%; flex: none; }
.pp1-menu-toggle { display: none; width: 40px; height: 40px; padding: 9px; border: 1px solid #e6e3dc; background: #fff; cursor: pointer; }
.pp1-menu-toggle span { display: block; height: 2px; margin: 5px 0; background: #141414; transition: transform .18s; }
.pp1-user-menu { position: relative; }
.pp1-user-trigger { display: flex; align-items: center; gap: 7px; padding: 0; color: #c9c6c0; background: transparent; border: 0; font: 600 12px var(--pp-font-body); cursor: pointer; }
.pp1-user-trigger .tum-avatar { border: 1px solid #B32025; }
.pp1-utility .tum-dropdown { top: calc(100% + 12px); right: 0; left: auto; color: #141414; border: 1px solid #e6e3dc; border-radius: 2px; box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.pp1-utility .tum-profile-head { background: #f6f5f2; }
.pp1-utility .tum-dd-avatar { border-color: #B32025; }
.pp1-utility .tum-item:hover { background: #f6f5f2; color: #B32025 !important; }

/* Ticket / breaking news */
.pp1-ticker { display: flex; height: 43px; color: #d9d6cf; overflow: hidden; background: #141414; border-top: 1px solid #222; border-bottom: 2px solid #B32025; }
.pp1-ticker-label { display: flex; align-items: center; padding: 0 25px; color: #fff; background: #B32025; font: 500 11px var(--pp-mono); letter-spacing: .1em; z-index: 2; }
.pp1-ticker-window { flex: 1; min-width: 0; overflow: hidden; }
.pp1-ticker-track { display: flex; width: max-content; min-width: 100%; animation: pp1-ticker-run 80s linear infinite; }
.pp1-ticker:hover .pp1-ticker-track { animation-play-state: paused; }
.pp1-ticker-item { display: flex; align-items: center; gap: 9px; padding: 11px 26px; color: #d9d6cf; white-space: nowrap; text-decoration: none; font: 12px var(--pp-mono); }
.pp1-ticker-item:hover { color: #fff; }
.pp1-ticker-item span { color: #B32025; font-size: 10px; }
@keyframes pp1-ticker-run { to { transform: translateX(-50%); } }

/* Homepage */
.pp1-hero { padding: 56px 0 62px; background: #f6f5f2; border-bottom: 1px solid #e6e3dc; }
.pp1-hero-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 48px; align-items: start; }
.pp1-tag-badge { display: inline-flex; align-items: center; padding: 5px 10px; margin-bottom: 16px; background: #141414; color: #fff; font: 600 10.5px var(--pp-mono); letter-spacing: .07em; text-transform: uppercase; }
.pp1-hero h1 { max-width: 650px; margin: 0 0 20px; color: #141414; font: 600 clamp(32px,4.4vw,50px)/1.14 var(--pp-font-head); letter-spacing: -.02em; }
.pp1-hero h1 a { text-decoration: none; }
.pp1-hero h1 a:hover { color: #B32025; }
.pp1-hero-desc { max-width: 570px; margin: 0 0 22px; color: #5c5c58; font-size: 16px; line-height: 1.7; }
.pp1-hero-meta { display: flex; gap: 14px; margin-bottom: 26px; color: #9c988f; font: 12px var(--pp-mono); }
.pp1-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.pp1-btn { display: inline-flex; align-items: center; justify-content: center; padding: 11px 18px; border: 1.5px solid #141414; font-size: 13px; font-weight: 700; text-decoration: none; transition: background .15s,color .15s; }
.pp1-btn-red { border-color: #B32025; color: #fff; background: #B32025; }
.pp1-btn-red:hover { background: #8f1a1e; color: #fff; }
.pp1-btn-outline { color: #141414; background: transparent; }
.pp1-btn-outline:hover { color: #fff; background: #141414; }
.pp1-headline-list { display: flex; flex-direction: column; gap: 10px; }
.pp1-headline-card { display: block; padding: 18px 19px; color: #141414; background: #fff; border: 1px solid #e6e3dc; text-decoration: none; transition: border-color .15s; }
.pp1-headline-card:hover { border-color: #B32025; color: #141414; }
.pp1-headline-tag { display: block; margin-bottom: 9px; color: #B32025; font: 600 10px var(--pp-mono); letter-spacing: .07em; text-transform: uppercase; }
.pp1-headline-card h2 { margin: 0 0 9px; color: #141414; font: 500 16px/1.35 var(--pp-font-head); }
.pp1-headline-date { color: #9c988f; font: 11px var(--pp-mono); }
.pp1-headline-empty { padding: 20px; color: #5c5c58; background: #fff; border: 1px solid #e6e3dc; font-size: 14px; }
.pp1-latest { padding: 65px 0; border-bottom: 1px solid #e6e3dc; }
.pp1-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.pp1-kicker, .pp1-digest-eyebrow { display: flex; align-items: center; gap: 10px; color: #B32025; font: 500 11px var(--pp-mono); letter-spacing: .1em; text-transform: uppercase; }
.pp1-kicker::before, .pp1-digest-eyebrow::before { display: block; width: 20px; height: 2px; content: ''; background: #B32025; }
.pp1-section-head h2 { margin: 8px 0 0; color: #141414; font: 600 32px/1.15 var(--pp-font-head); }
.pp1-section-head > a { padding-bottom: 4px; color: #B32025; font: 600 12px var(--pp-mono); text-decoration: none; }
.pp1-news-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.pp1-news-card { min-width: 0; border: 1px solid #e6e3dc; background: #fff; transition: border-color .15s; }
.pp1-news-card:hover { border-color: #B32025; }
.pp1-news-image { display: flex; height: 154px; overflow: hidden; align-items: center; justify-content: center; color: #fff; background: #141414; text-decoration: none; }
.pp1-news-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .22s; }
.pp1-news-card:hover img { transform: scale(1.03); }
.pp1-news-image span { color: #B32025; font: 600 24px var(--pp-font-head); }
.pp1-news-content { padding: 16px; }
.pp1-news-content time { color: #9c988f; font: 10.5px var(--pp-mono); }
.pp1-news-content h3 { margin: 8px 0; font: 600 18px/1.3 var(--pp-font-head); }
.pp1-news-content h3 a { text-decoration: none; }
.pp1-news-content h3 a:hover { color: #B32025; }
.pp1-news-content p { display: -webkit-box; overflow: hidden; margin: 0; color: #5c5c58; font-size: 13px; line-height: 1.55; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.pp1-no-posts { color: #5c5c58; }

/* Bloque | INSIDE | copiado visualmente del demo */
.pp1-inside { padding: 72px 0; background: #f6f5f2; border-bottom: 1px solid #e6e3dc; }
.pp1-inside-inner { display: flex; align-items: center; gap: 46px; max-width: 860px; }
.pp1-inside-logo { width: 112px; height: 112px; flex: none; }
.pp1-inside-eyebrow { margin-bottom: 16px; color: #141414; font: 500 12px var(--pp-mono); letter-spacing: .1em; text-transform: uppercase; }
.pp1-inside-eyebrow span { color: #5c5c58; font-weight: 400; }
.pp1-inside h2 { margin: 0; color: #B32025; font: 700 clamp(31px,4vw,44px)/1 var(--pp-font-head); letter-spacing: -.02em; }
.pp1-inside h2 span { color: #141414; }
.pp1-inside-tagline { margin: 10px 0 17px; color: #141414; font-size: 17px; }
.pp1-inside-split { display: flex; width: 210px; height: 3px; margin-bottom: 17px; }
.pp1-inside-split span:first-child { width: 68%; background: #B32025; }
.pp1-inside-split span:last-child { flex: 1; background: #141414; }
.pp1-inside-desc { max-width: 600px; margin: 0; color: #5c5c58; font-size: 15px; line-height: 1.7; }

/* Resumen diario */
.pp1-digest { padding: 72px 0; border-bottom: 1px solid #e6e3dc; background: #fff; }
.pp1-digest h2 { margin: 12px 0 9px; color: #141414; font: 600 32px/1.15 var(--pp-font-head); }
.pp1-digest-sub { max-width: 650px; margin: 0 0 43px; color: #5c5c58; font-size: 15.5px; }
.pp1-digest-group { display: grid; grid-template-columns: 200px 1fr; gap: 32px; padding: 31px 0; border-top: 1px solid #e6e3dc; }
.pp1-digest-group:first-child { border-top: 2px solid #141414; }
.pp1-digest-label { display: flex; align-items: flex-start; gap: 10px; }
.pp1-digest-icon { display: flex; width: 34px; height: 34px; align-items: center; justify-content: center; background: #f6f5f2; border-radius: 8px; color: #B32025; font-size: 16px; }
.pp1-digest-name { padding-top: 5px; color: #141414; font: 600 17px var(--pp-font-head); }
.pp1-digest-items { display: flex; flex-direction: column; gap: 14px; }
.pp1-digest-item { display: flex; gap: 10px; }
.pp1-digest-bullet { margin-top: 1px; color: #B32025; font-size: 14px; line-height: 1.6; }
.pp1-digest-item p { margin: 0; color: #141414; font-size: 15px; line-height: 1.65; }
.pp1-digest-item a { color: inherit; text-decoration: none; }
.pp1-digest-item a:hover strong { color: #B32025; }
.pp1-digest-summary { display: block; margin-top: 4px; color: #5c5c58; font-size: 14px; line-height: 1.55; }
.pp1-digest-why { display: block; margin-top: 4px; color: #5c5c58; font-size: 13px; }
.pp1-digest-why b { color: #B32025; }

/* Newsletter de la portada */
.pp1-newsletter { padding: 54px 0; color: #fff; background: #141414; }
.pp1-newsletter-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 54px; }
.pp1-newsletter .pp1-kicker { color: #e8c46a; }
.pp1-newsletter .pp1-kicker::before { background: #e8c46a; }
.pp1-newsletter h2 { margin: 9px 0 10px; color: #fff; font: 600 30px/1.15 var(--pp-font-head); }
.pp1-newsletter p { margin: 0; color: #c9c6c0; }
.pp1-newsletter-form { display: flex; position: relative; gap: 0; }
.pp1-newsletter-form input { min-width: 0; flex: 1; padding: 13px 14px; border: 1px solid #5c5c58; border-right: 0; border-radius: 0; color: #141414; background: #fff; font: 14px var(--pp-font-body); }
.pp1-newsletter-form button { padding: 0 18px; border: 1px solid #B32025; color: #fff; background: #B32025; font: 700 13px var(--pp-font-body); cursor: pointer; }
.pp1-newsletter-form button:hover { background: #8f1a1e; }
.pp1-newsletter-form .pp-newsletter-msg { position: absolute; top: calc(100% + 7px); left: 0; font-size: 12px; }
.pp1-newsletter-links { margin-top: 18px !important; font-size: 13px; }
.pp1-newsletter-links a { color: #e8c46a; }

/* Footer existente, manteniendo sus funciones y llevándolo al nuevo sistema */
.site-footer { color: #c9c6c0; background: #141414; border-top: 2px solid #B32025; }
.site-footer .footer-top { border-bottom-color: rgba(255,255,255,.12); }
.site-footer .site-title, .site-footer h4 { color: #fff !important; font-family: var(--pp-font-head); }
.site-footer .site-title span, .site-footer .footer-menu a:hover, .site-footer .footer-li-link:hover { color: #B32025 !important; }
.site-footer .footer-brand p, .site-footer .footer-menu a { color: #c9c6c0; }
.site-footer .footer-widget h4 { border-bottom-color: #B32025; }
.site-footer .footer-li-link { border-color: rgba(255,255,255,.16); color: #c9c6c0; }
.site-footer .footer-li-link:hover { background: rgba(179,32,37,.12); border-color: #B32025; }
.site-footer .footer-bottom { border-top-color: rgba(255,255,255,.12); }
.site-footer .btn-accent { color: #141414; background: #e8c46a; border-color: #e8c46a; }
.site-footer .btn-accent:hover { background: #c99a2e; }
.pp1-footer-logo { display: flex; width: 44px; height: 44px; flex: 0 0 44px; align-items: center; justify-content: center; }
.pp1-footer-logo svg, .pp1-footer-logo .pp-brand-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.pp1-footer-logo .pp-brand-image-footer-derived { filter: brightness(0) invert(1); }

/* Inner pages — incluidos Nosotros, artículos, podcast, directorio y cuenta */
body:not(.home) .main-content-area { gap: 34px; }
body:not(.home) .main-content > article, body:not(.home) .main-content > .single-article { background: #fff; }
body:not(.home) .main-content h1, body:not(.home) .main-content h2, body:not(.home) .main-content h3, body:not(.home) .sidebar h3 { color: #141414; font-family: var(--pp-font-head); }
body:not(.home) .article-title { font-family: var(--pp-font-head); color: #141414; }
body:not(.home) .article-content { color: #333; font-size: 17px; line-height: 1.8; }
body:not(.home) .article-content a { color: #B32025; text-decoration-color: rgba(179,32,37,.35); }
body:not(.home) .breadcrumb a, body:not(.home) .section-link { color: #B32025; }
body:not(.home) .article-category-tag, body:not(.home) .badge-free { background: #f6f5f2 !important; color: #141414 !important; }
body:not(.home) .badge-premium { background: #e8c46a !important; color: #141414 !important; }
body:not(.home) .podcast-hero { background: #141414 !important; }
body:not(.home) .pp-podcast-row { border: 1px solid #e6e3dc !important; border-radius: 2px !important; box-shadow: none !important; }
body:not(.home) .pp-podcast-row > div:first-child { background: #141414 !important; }
body:not(.home) [style*="linear-gradient(135deg,#6c3fc5"] { background: #141414 !important; }

/* Dashboard del usuario: mismos colores, sin cambios de comportamiento */
.pp-dashboard { max-width: 1180px; }
.ppd-profile-card, .ppd-nav, .ppd-stat-card, .ppd-sub-card, .ppd-plan-card, .ppd-no-sub, .ppd-quick-btn, .ppd-article-card, .ppd-table-wrap, .ppd-billing-method, .ppd-empty { border-radius: 2px; border-color: #e6e3dc; box-shadow: none; }
.ppd-avatar, .ppd-profile-avatar { border-color: #B32025; }
.ppd-nav-item:hover, .ppd-nav-item.active { color: #B32025; background: #f6f5f2; }
.ppd-nav-item.active { border-left-color: #B32025; }
.ppd-upgrade-banner { color: #fff; background: #141414 !important; border-left: 3px solid #B32025; border-radius: 2px; }
.ppd-panel-header h2, .ppd-display-name, .ppd-stat-val, .ppd-sub-plan-name, .ppd-section-title, .ppc-name, .ppc-amount { color: #141414; }
.ppd-perk, .ppd-avatar-section, .ppd-article-thumb-placeholder { color: #141414; background: #f6f5f2; }
.ppd-table thead { background: #141414; }
.ppd-plan-card-featured { border-color: #B32025; box-shadow: none; }
.ppc-tag { background: #B32025; }
.ppd-quick-btn:hover, .ppd-article-card:hover { border-color: #B32025; color: #B32025; }
.ss-active, .ppd-notice-success { color: #141414; background: #f6f5f2; border-color: #e6e3dc; }

/* Directorio y editor de empresas: se conserva toda la funcionalidad V4. */
.pp-dir-v4 { background: #f6f5f2; }
.pp-dir-hero, .pp-dir-cta-band { background: #141414 !important; }
.pp-dir-hero__text h1, .pp-biz-hero h1 { font-family: var(--pp-font-head); }
.pp-dir-v4 .pp-btn-primary, .pp-biz-single .pp-btn-primary { background: #B32025; }
.pp-dir-v4 .pp-btn-primary:hover, .pp-biz-single .pp-btn-primary:hover { background: #8f1a1e; }
.pp-dir-v4 .pp-btn-outline, .pp-biz-single .pp-btn-outline { color: #B32025; border-color: #B32025; }
.pp-dir-v4 .pp-btn-outline:hover, .pp-biz-single .pp-btn-outline:hover { color: #fff; background: #B32025; }
.pp-dir-v4 .pp-btn-gold, .pp-biz-single .pp-btn-gold { color: #141414; background: linear-gradient(135deg,#e8c46a,#c99a2e); }
.pp-dir-v4 .pp-eyebrow { color: #B32025; background: rgba(179,32,37,.1); }
.pp-dir-v4 .pp-biz-card, .pp-biz-single .pp-side-card, .pp-biz-single .pp-biz-section { border-color: #e6e3dc; border-radius: 2px; box-shadow: none; }
.pp-dir-v4 .pp-biz-card:hover { border-color: #B32025; box-shadow: 0 8px 20px rgba(20,20,20,.08); }
.pp-dir-v4 .pp-dir-chips, .pp-dir-v4 .pp-dir-sidebar { border-color: #e6e3dc; }
.pp-emed-header { background: #141414 !important; }
.pp-emed-tabs, .pp-emed-footer, .pp-emed-map-preview .pp-emed-empty, .pp-emed-media-card, .pp-emed-gal-item, .pp-emed-add-gal { background: #f6f5f2; border-color: #e6e3dc; }
.pp-emed-tab:hover, .pp-emed-tab.is-active { color: #B32025; background: #fff; box-shadow: inset 0 -3px 0 #B32025; }
.pp-emed-notice-success { color: #141414; background: #f6f5f2; }
.pp-emed-pane input:focus, .pp-emed-pane textarea:focus { border-color: #B32025; box-shadow: 0 0 0 3px rgba(179,32,37,.14); }
.pp-emed-media-card strong, .pp-emed-add-gal { color: #141414; }
.pp-emed-footer .btn-primary { color: #141414; background: linear-gradient(135deg,#e8c46a,#c99a2e); }

/* Las plantillas de podcast tenían colores inline violetas: se adaptan sin
   tocar su funcionamiento de membresías ni reproductor. */
.podcast-hero [style*="108,63,197"] { border-color: #B32025 !important; background: rgba(179,32,37,.16) !important; }
.podcast-hero [style*="#a78bfa"] { color: #e8c46a !important; }
body:not(.home) [style*="#f0e8ff"] { color: #B32025 !important; background: #f6f5f2 !important; }
.sidebar [style*="#6c3fc5"] { color: #B32025 !important; }

/* Archivos de categorías INSIDE */
.pp2-category-page { background: #fff; }
.pp2-category-header { padding: 50px 0 46px; color: #fff; background: #141414; border-bottom: 3px solid #B32025; }
.pp2-category-eyebrow { margin-bottom: 12px; color: #e8c46a; font: 600 11px var(--pp-mono); letter-spacing: .12em; text-transform: uppercase; }
.pp2-category-header h1 { max-width: 800px; margin: 0; color: #fff; font: 600 clamp(35px,5vw,58px)/1.05 var(--pp-font-head); letter-spacing: -.02em; }
.pp2-category-header p { max-width: 720px; margin: 15px 0 0; color: #c9c6c0; font-size: 16px; line-height: 1.65; }
.pp2-category-content { padding-top: 54px; padding-bottom: 72px; }
.pp2-category-lead { display: grid; grid-template-columns: 1.1fr 1fr; overflow: hidden; margin-bottom: 50px; border: 1px solid #e6e3dc; background: #f6f5f2; }
.pp2-category-lead-image { display: flex; min-height: 360px; align-items: center; justify-content: center; overflow: hidden; color: #B32025; background: #141414; }
.pp2-category-lead-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.pp2-category-lead:hover .pp2-category-lead-image img { transform: scale(1.03); }
.pp2-category-lead-image span { font: 600 42px var(--pp-font-head); }
.pp2-category-lead-body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 42px; }
.pp2-category-label { display: block; margin-bottom: 10px; color: #B32025; font: 600 10.5px var(--pp-mono); letter-spacing: .08em; text-transform: uppercase; }
.pp2-category-lead h2 { margin: 0 0 16px; color: #141414; font: 600 clamp(26px,3vw,38px)/1.15 var(--pp-font-head); }
.pp2-category-lead h2 a, .pp2-category-card h2 a { color: inherit; text-decoration: none; }
.pp2-category-lead h2 a:hover, .pp2-category-card h2 a:hover { color: #B32025; }
.pp2-category-lead p { margin: 0 0 16px; color: #5c5c58; font-size: 15px; line-height: 1.7; }
.pp2-category-meta { margin: 0 0 21px; color: #9c988f; font: 11px var(--pp-mono); }
.pp2-category-meta span { margin: 0 5px; }
.pp2-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.pp2-loaded-batch { display: contents; }
.pp2-category-card { display: grid; grid-template-columns: 190px 1fr; min-width: 0; border-top: 1px solid #e6e3dc; border-bottom: 1px solid #e6e3dc; background: #fff; transition: background .16s ease; }
.pp2-category-card:hover { background: #f6f5f2; }
.pp2-category-image { display: flex; min-height: 155px; align-items: center; justify-content: center; overflow: hidden; color: #B32025; background: #141414; }
.pp2-category-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.pp2-category-card:hover .pp2-category-image img { transform: scale(1.04); }
.pp2-category-image span { font: 600 21px var(--pp-font-head); }
.pp2-category-card-body { min-width: 0; padding: 20px; }
.pp2-category-card h2 { margin: 0 0 9px; color: #141414; font: 600 20px/1.25 var(--pp-font-head); }
.pp2-category-card p { display: -webkit-box; overflow: hidden; margin: 0 0 12px; color: #5c5c58; font-size: 13px; line-height: 1.55; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.pp2-category-card .pp2-category-meta { margin: 0; }
.pp2-category-actions { display: flex; justify-content: center; gap: 10px; margin-top: 35px; }
.pp2-category-actions button { padding: 11px 18px; border: 1px solid #141414; color: #141414; background: #fff; font: 600 13px var(--pp-font-body); cursor: pointer; }
.pp2-category-actions .pp2-load-more { color: #fff; border-color: #B32025; background: #B32025; }
.pp2-category-actions .pp2-load-more:hover { background: #8f1a1e; }
.pp2-category-actions .pp2-show-less:hover { color: #fff; background: #141414; }
.pp2-category-actions button:disabled { opacity: .65; cursor: progress; }
.pp2-category-empty { padding: 40px; color: #5c5c58; text-align: center; border: 1px solid #e6e3dc; }

@media (max-width: 1050px) {
    .pp1-brand-inside { display: none; }
    .pp1-nav-menu { gap: 15px; }
    .pp1-nav-menu a, .pp1-nav-menu .nav-more-toggle { font-size: 13px; }
}
@media (max-width: 860px) {
    .pp1-wrap { padding: 0 18px; }
    .pp1-header-inner { min-height: 67px; }
    .pp1-logo-mark { width: 34px; height: 34px; }
    .pp1-brand { font-size: 22px; }
    .pp1-menu-toggle { display: block; }
    .pp1-nav { position: absolute; top: 100%; right: 0; left: 0; }
    .pp1-nav-menu { display: none; max-height: calc(100vh - 110px); overflow-y: auto; align-items: stretch; gap: 0; padding: 10px 18px 18px; background: #fff; border-bottom: 1px solid #e6e3dc; box-shadow: 0 12px 20px rgba(0,0,0,.08); }
    .pp1-nav-menu.open { display: block; }
    .pp1-nav-menu > li { border-bottom: 1px solid #e6e3dc; }
    .pp1-nav-menu > li > a, .pp1-nav-menu .nav-more-toggle { display: block; width: 100%; padding: 15px 0; text-align: left; font-size: 15px; }
    .pp1-nav-menu > li > a:not(.pp1-nav-cta)::after, .pp1-nav-menu .nav-more-toggle::after { display: none; }
    .pp1-nav-cta { display: inline-block !important; width: auto !important; margin: 11px 0; padding: 10px 15px !important; }
    .pp1-sections-dropdown { position: static; width: auto; margin: 0 -18px; border: 0; border-top: 1px solid #e6e3dc; box-shadow: none; background: #f6f5f2; }
    .pp1-sections-dropdown a { padding-left: 28px; }
    .pp1-hero-grid, .pp1-newsletter-inner { grid-template-columns: 1fr; gap: 30px; }
    .pp1-hero { padding: 42px 0 46px; }
    .pp1-news-grid { grid-template-columns: repeat(2, 1fr); }
    .pp1-inside-inner { gap: 26px; }
    .pp2-category-lead { grid-template-columns: 1fr; }
    .pp2-category-lead-image { min-height: 270px; }
    .pp2-category-grid { grid-template-columns: 1fr; }
    .pp1-digest-group { grid-template-columns: 1fr; gap: 17px; }
}
@media (max-width: 560px) {
    .pp1-utility-inner { min-height: 38px; font-size: 11px; }
    .pp1-utility-inner > div:first-child { display: none; }
    .pp1-utility-actions { width: 100%; justify-content: flex-end; gap: 9px; }
    .pp1-utility-link { font-size: 11px; }
    .pp1-newsletter-pill, .pp1-premium-pill { padding: 6px 9px; font-size: 10.5px; }
    .pp1-utility .pp1-live-button { gap: 5px; padding: 6px 9px; font-size: 10.5px; }
    .pp1-utility .pp1-live-button svg { width: 16px; height: 16px; }
    .pp1-logo-mark { width: 31px; height: 31px; }
    .pp1-brand { font-size: 19px; }
    .pp1-ticker-label { padding: 0 15px; }
    .pp1-hero h1 { font-size: 32px; }
    .pp1-news-grid { grid-template-columns: 1fr; }
    .pp1-inside { padding: 50px 0; }
    .pp1-inside-inner { align-items: flex-start; flex-direction: column; }
    .pp1-inside-logo { width: 74px; height: 74px; }
    .pp1-digest, .pp1-latest { padding: 50px 0; }
    .pp1-digest h2, .pp1-section-head h2 { font-size: 28px; }
    .pp1-section-head { align-items: flex-start; flex-direction: column; }
    .pp1-newsletter-form { flex-direction: column; gap: 8px; }
    .pp1-newsletter-form input { border-right: 1px solid #5c5c58; }
    .pp1-newsletter-form button { min-height: 44px; }
    .pp2-category-header { padding: 38px 0; }
    .pp2-category-content { padding-top: 34px; }
    .pp2-category-lead { margin-bottom: 35px; }
    .pp2-category-lead-body { padding: 26px; }
    .pp2-category-card { grid-template-columns: 120px 1fr; }
    .pp2-category-image { min-height: 130px; }
    .pp2-category-card-body { padding: 15px; }
    .pp2-category-card h2 { font-size: 18px; }
}

/* Podcast individual — reproductor tecnológico Pulso4 */
.pp-podcast-single { padding: 34px 0 72px; background: #f6f5f2; }
.pp-podcast-single > .container { max-width: 1180px; }
.pp-podcast-breadcrumb { margin-bottom: 34px; color: #77736d; font-size: 13px; }
.pp-podcast-breadcrumb a { color: #B32025; text-decoration: none; }
.pp-podcast-episode { width: 100%; }
.pp-podcast-heading { max-width: 980px; margin-bottom: 28px; }
.pp-podcast-kicker { margin-bottom: 10px; color: #B32025; font: 600 11px var(--pp-mono); letter-spacing: .14em; }
.pp-podcast-heading h1 { max-width: 1040px; margin: 0 0 18px; color: #141414; font: 600 clamp(34px,5vw,64px)/1.05 var(--pp-font-head); letter-spacing: -.025em; }
.pp-podcast-meta { display: flex; gap: 9px; flex-wrap: wrap; }
.pp-podcast-meta span { padding: 7px 11px; color: #5c5c58; background: #fff; border: 1px solid #dedbd4; border-radius: 20px; font: 500 11px var(--pp-mono); }
.pp-tech-player { position: relative; margin: 0 0 34px; padding: clamp(22px,4vw,42px); overflow: hidden; color: #fff; background: radial-gradient(circle at 82% 0,rgba(179,32,37,.3),transparent 36%),linear-gradient(145deg,#111 0%,#191919 52%,#0d0d0d 100%); border: 1px solid #333; border-radius: 16px; box-shadow: 0 24px 55px rgba(20,20,20,.22); }
.pp-tech-player::before { position: absolute; inset: 0; pointer-events: none; content: ''; background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(to bottom,#000,transparent 82%); }
.pp-tech-player-top,.pp-tech-progress-wrap,.pp-tech-controls { position: relative; z-index: 1; }
.pp-tech-player-top { display: flex; justify-content: space-between; align-items: center; gap: 15px; font: 600 11px var(--pp-mono); letter-spacing: .12em; }
.pp-tech-signal { display: flex; align-items: center; gap: 8px; color: #d7d3cd; }
.pp-tech-signal span { width: 8px; height: 8px; background: #B32025; border-radius: 50%; box-shadow: 0 0 0 5px rgba(179,32,37,.14); }
.pp-tech-episode { color: #e8c46a; }
.pp-tech-visual { position: relative; z-index: 1; display: flex; height: clamp(100px,16vw,180px); align-items: center; justify-content: center; gap: clamp(2px,.48vw,6px); margin: 14px 0 18px; overflow: hidden; }
.pp-tech-visual i { width: 100%; max-width: 9px; height: var(--bar); background: linear-gradient(to top,#761216,#e42b32 55%,#e8c46a); border-radius: 4px; opacity: .74; transform: scaleY(.3); transform-origin: center; transition: transform .25s ease,opacity .25s ease; }
.pp-tech-player.is-playing .pp-tech-visual i { opacity: 1; animation: pp-wave .72s ease-in-out infinite alternate; animation-delay: calc(var(--bar) * -8ms); }
@keyframes pp-wave { from { transform: scaleY(.32); } to { transform: scaleY(1); } }
.pp-tech-progress-wrap { display: grid; grid-template-columns: 58px 1fr 58px; align-items: center; gap: 13px; }
.pp-tech-time { color: #aaa69f; font: 500 11px var(--pp-mono); }
.pp-tech-time:last-child { text-align: right; }
.pp-tech-progress,.pp-tech-volume input { height: 4px; margin: 0; appearance: none; background: linear-gradient(to right,#B32025 0 var(--played,0%),#484848 var(--played,0%) 100%); border-radius: 4px; cursor: pointer; }
.pp-tech-progress::-webkit-slider-thumb,.pp-tech-volume input::-webkit-slider-thumb { width: 15px; height: 15px; appearance: none; background: #fff; border: 3px solid #B32025; border-radius: 50%; box-shadow: 0 0 0 4px rgba(179,32,37,.15); }
.pp-tech-controls { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; }
.pp-tech-controls-main,.pp-tech-controls-side { display: flex; align-items: center; gap: 14px; }
.pp-tech-controls button { color: #fff; border: 0; cursor: pointer; }
.pp-tech-play { display: grid; width: 62px; height: 62px; place-items: center; background: #B32025; border-radius: 50%; box-shadow: 0 0 0 8px rgba(179,32,37,.13),0 7px 22px rgba(0,0,0,.35); transition: transform .18s,background .18s; }
.pp-tech-play:hover { background: #df2930; transform: scale(1.06); }
.pp-tech-play svg { width: 27px; height: 27px; fill: currentColor; }
.pp-tech-play .pp-icon-pause,.pp-tech-player.is-playing .pp-icon-play { display: none; }
.pp-tech-player.is-playing .pp-icon-pause { display: block; }
.pp-tech-skip { display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; background: #2a2a2a; border: 1px solid #444 !important; border-radius: 50%; font-size: 22px; transition: background .18s,transform .18s; }
.pp-tech-skip:hover { background: #3a3a3a; transform: translateY(-2px); }
.pp-tech-skip small { margin-left: -7px; font: 600 9px var(--pp-mono); }
.pp-tech-volume { display: flex; align-items: center; gap: 10px; color: #8f8c86; font: 500 9px var(--pp-mono); }
.pp-tech-volume input { width: 100px; background: #484848; }
.pp-tech-speed select { padding: 8px 28px 8px 10px; color: #fff; background: #272727; border: 1px solid #444; border-radius: 6px; font: 500 11px var(--pp-mono); }
.pp-podcast-locked { padding: 48px 24px; margin-bottom: 34px; color: #fff; text-align: center; background: radial-gradient(circle at top,#3b1a1b,#141414 66%); border: 1px solid #493033; border-radius: 16px; }
.pp-podcast-lock-icon { font-size: 34px; }
.pp-podcast-locked h2 { margin: 12px 0 7px; color: #fff; }
.pp-podcast-locked p { margin: 0 auto 22px; color: #c9c6c0; }
.pp-podcast-analysis { position: relative; margin: 0 0 46px; overflow: hidden; color: #191918; background: #f8f7f4; border: 1px solid #d8d5cf; border-radius: 14px; box-shadow: 0 24px 65px rgba(20,20,20,.1); }
.pp-podcast-analysis::before { position: absolute; z-index: 0; top: 0; right: 0; width: 310px; height: 310px; background: radial-gradient(circle,rgba(179,32,37,.1),transparent 68%); content: ''; pointer-events: none; transform: translate(32%,-44%); }
.pp-report-header { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; padding: clamp(28px,5vw,58px) clamp(24px,5vw,62px) 30px; background: #fff; border-bottom: 1px solid #dedbd5; }
.pp-analysis-label { display: flex; align-items: center; gap: 10px; color: #B32025; font: 700 10px var(--pp-mono); letter-spacing: .18em; }
.pp-analysis-label span { width: 28px; height: 2px; background: #B32025; }
.pp-podcast-analysis h2 { margin: 14px 0 8px; color: #121212; font: 600 clamp(32px,4.6vw,54px)/1.03 var(--pp-font-head); letter-spacing: -.025em; }
.pp-report-deck { margin: 0; color: #716f6a; font-size: 15px; line-height: 1.55; }
.pp-report-status { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; padding: 10px 13px; color: #4e4b47; background: #f3f2ee; border: 1px solid #dfdcd5; border-radius: 999px; font: 700 9px var(--pp-mono); letter-spacing: .12em; }
.pp-report-status i { width: 7px; height: 7px; background: #B32025; border-radius: 50%; box-shadow: 0 0 0 4px rgba(179,32,37,.12); }
.pp-report-summary { position: relative; z-index: 1; display: grid; grid-template-columns: 48px 1fr; gap: 21px; margin: clamp(24px,4vw,42px) clamp(24px,5vw,62px); padding: clamp(24px,3vw,35px); color: #fff; background: linear-gradient(125deg,#171717 0%,#282726 70%,#351a1b 100%); border: 1px solid #343332; border-radius: 10px; box-shadow: 0 14px 35px rgba(15,15,15,.18); }
.pp-report-summary::after { position: absolute; top: 0; right: 0; width: 34%; height: 3px; background: linear-gradient(90deg,transparent,#c92d33); content: ''; }
.pp-report-summary-mark { display: grid; width: 48px; height: 48px; place-items: center; color: #fff; background: #B32025; border-radius: 4px; box-shadow: 0 7px 18px rgba(179,32,37,.35); }
.pp-report-summary-mark svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.pp-report-summary span,.pp-report-outlook > span { display: block; margin-bottom: 10px; color: #e3ad61; font: 700 9px var(--pp-mono); letter-spacing: .18em; }
.pp-report-summary p { max-width: 930px; margin: 0; color: #f3f1ec; font: 500 clamp(18px,2.2vw,23px)/1.55 var(--pp-font-head); }
.pp-report-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.75fr) minmax(250px,.75fr); gap: clamp(28px,5vw,60px); padding: 7px clamp(24px,5vw,62px) clamp(32px,5vw,55px); }
.pp-report-main { border-top: 1px solid #ccc9c2; }
.pp-report-section { display: grid; grid-template-columns: 43px 1fr; gap: 17px; padding: 27px 0 29px; border-bottom: 1px solid #d8d5cf; }
.pp-report-section-number { padding-top: 3px; color: #B32025; font: 700 11px var(--pp-mono); letter-spacing: .08em; }
.pp-report-section h3 { margin: 0 0 11px; color: #1a1a19; font: 600 clamp(20px,2.5vw,27px)/1.15 var(--pp-font-head); }
.pp-report-copy { color: #55524d; font-size: 15px; line-height: 1.75; }
.pp-report-copy p { margin: 0 0 12px; }
.pp-report-copy p:last-child { margin-bottom: 0; }
.pp-report-findings { align-self: start; padding: 24px 23px 8px; background: #fff; border: 1px solid #d9d6d0; border-top: 3px solid #B32025; border-radius: 5px; box-shadow: 0 12px 28px rgba(25,25,25,.06); }
.pp-report-aside-label { padding-bottom: 16px; color: #282725; border-bottom: 1px solid #e3e1dc; font: 700 10px var(--pp-mono); letter-spacing: .16em; }
.pp-report-findings ul { margin: 0; padding: 0; list-style: none; }
.pp-report-findings li { display: grid; grid-template-columns: 9px 1fr; gap: 11px; padding: 18px 0; border-bottom: 1px solid #e8e5df; }
.pp-report-findings li:last-child { border: 0; }
.pp-report-findings li > span { width: 7px; height: 7px; margin-top: 7px; background: #B32025; border-radius: 50%; }
.pp-report-findings p { margin: 0; color: #4e4b46; font-size: 13px; line-height: 1.6; }
.pp-report-conclusions { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(190px,.55fr) minmax(0,1.45fr); gap: 35px; margin: 0 clamp(24px,5vw,62px); padding: clamp(27px,4vw,42px); color: #fff; background: #B32025; border-radius: 8px; box-shadow: 0 15px 34px rgba(179,32,37,.21); }
.pp-report-conclusions-head span { display: block; margin-bottom: 12px; color: #f4c7c9; font: 700 9px var(--pp-mono); letter-spacing: .18em; }
.pp-report-conclusions-head strong { display: block; color: #fff; font: 600 clamp(23px,3vw,32px)/1.14 var(--pp-font-head); }
.pp-report-conclusions ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.pp-report-conclusions li { display: grid; grid-template-columns: 34px 1fr; gap: 13px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.22); }
.pp-report-conclusions li:first-child { padding-top: 0; }
.pp-report-conclusions li:last-child { padding-bottom: 0; border: 0; }
.pp-report-conclusions li > span { display: grid; width: 29px; height: 29px; place-items: center; color: #B32025; background: #fff; border-radius: 50%; font: 700 9px var(--pp-mono); }
.pp-report-conclusions p { margin: 2px 0 0; color: #fff; font-size: 14px; line-height: 1.6; }
.pp-report-outlook { position: relative; z-index: 1; margin: 26px clamp(24px,5vw,62px) 0; padding: 23px 27px; background: #efede8; border-left: 4px solid #d39a44; }
.pp-report-outlook > span { color: #9b671b; }
.pp-report-outlook p { margin: 0; color: #3f3d39; font: 500 16px/1.65 var(--pp-font-head); }
.pp-analysis-foot { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 20px; margin-top: 28px; padding: 18px clamp(24px,5vw,62px); color: #88857f; background: #efede8; border-top: 1px solid #dbd8d1; font: 600 9px/1.5 var(--pp-mono); letter-spacing: .05em; }
.pp-podcast-cover { margin: 0 0 30px; overflow: hidden; border-radius: 4px; }
.pp-podcast-cover img { display: block; width: 100%; max-height: 560px; object-fit: cover; }
.pp-podcast-content { max-width: 900px; margin: 0 auto 40px; }
@media (max-width: 680px) {
    .pp-podcast-single { padding-top: 22px; }
    .pp-tech-player { border-radius: 9px; }
    .pp-tech-controls { align-items: stretch; flex-direction: column; }
    .pp-tech-controls-main { justify-content: center; }
    .pp-tech-controls-side { justify-content: space-between; }
    .pp-tech-visual { height: 95px; gap: 2px; }
    .pp-tech-visual i:nth-child(even) { display: none; }
    .pp-tech-progress-wrap { grid-template-columns: 44px 1fr 44px; gap: 8px; }
    .pp-report-header { align-items: stretch; flex-direction: column; gap: 18px; }
    .pp-report-status { align-self: flex-start; }
    .pp-report-summary { grid-template-columns: 1fr; }
    .pp-report-grid { grid-template-columns: 1fr; }
    .pp-report-conclusions { grid-template-columns: 1fr; }
    .pp-analysis-foot { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .pp-tech-player.is-playing .pp-tech-visual i { animation: none; transform: scaleY(.72); }
}
