/* =========================================================
   PULSE theme for Varient — red/crimson editorial style
   Uses admin colors: --vr-theme-color (red), --vr-block-color (dark),
   --vr-mega-menu-color (deep red)
   ========================================================= */
body.pulse {
    --pl-red: var(--vr-theme-color);
    --pl-dark: var(--vr-block-color);
    --pl-deep: var(--vr-mega-menu-color);
    --pl-bg: #f4f4f6;
    --pl-card: #ffffff;
    --pl-text: #16161a;
    --pl-muted: #6b6b76;
    --pl-line: #ececf0;
    --pl-radius: 14px;
    --pl-shadow: 0 2px 10px rgba(20, 10, 15, .06);
    --pl-shadow-hover: 0 10px 28px rgba(20, 10, 15, .14);
    --pl-head: 'Poppins', var(--vr-font-secondary), sans-serif;
    background-color: var(--pl-bg);
    color: var(--pl-text);
    font-family: 'Inter', var(--vr-font-primary), sans-serif;
}
body.pulse h1, body.pulse h2, body.pulse h3, body.pulse h4,
body.pulse .title, body.pulse .font-title { font-family: var(--pl-head); letter-spacing: -.2px; }

/* ---------- Featured / Top stories ---------- */
body.pulse .pulse-featured { height: auto !important; overflow: visible !important; padding: 16px 0 0 !important; margin-bottom: 8px; }
body.pulse .pulse-featured .main-slider-container { height: 520px !important; margin-bottom: 0; }
body.pulse .pulse-label { display: inline-flex; align-items: center; gap: 8px; background: var(--pl-red); color: #fff; font-family: var(--pl-head); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px; padding: 6px 14px; border-radius: 30px; margin-bottom: 14px; }
body.pulse .pulse-label-dot { width: 8px; height: 8px; background: #fff; border-radius: 50%; animation: pulseDot 1.4s infinite; }
@keyframes pulseDot { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
body.pulse .pulse-featured .col-featured-left, body.pulse .pulse-featured .col-featured-right { width: 100%; padding: 0 calc(var(--bs-gutter-x) * .5) !important; }
@media (min-width: 992px) {
    body.pulse .pulse-featured .col-featured-left { width: 66.6667% !important; }
    body.pulse .pulse-featured .col-featured-right { width: 33.3333% !important; }
}
body.pulse .pulse-featured .main-slider, body.pulse .pulse-featured .main-slider .slick-list, body.pulse .pulse-featured .main-slider .slick-track { height: 100%; }
body.pulse .pulse-featured .main-slider-container { border-radius: var(--pl-radius); overflow: hidden; box-shadow: var(--pl-shadow-hover); position: relative; }
body.pulse .pulse-featured .main-slider-item { height: 520px; }
body.pulse .pulse-featured .main-slider-item .img-link::after { height: 75%; background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(10, 0, 4, .55) 45%, rgba(10, 0, 4, .92) 100%); }
body.pulse .pulse-breaking-tag { position: absolute; top: 18px; left: 18px; z-index: 3; background: var(--pl-red); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; padding: 5px 12px; border-radius: 30px; }
body.pulse .pulse-featured .main-slider-item .caption { padding: 32px; }
body.pulse .pulse-featured .main-slider-item .caption .title { color: #fff; font-size: 32px; line-height: 1.18; font-weight: 800; margin: 10px 0 8px; text-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
body.pulse .pulse-featured .main-slider-item .caption .summary { color: rgba(255, 255, 255, .85); font-size: 14px; max-width: 640px; margin-bottom: 10px; }
body.pulse .pulse-featured .main-slider-item .post-meta, body.pulse .pulse-featured .main-slider-item .post-meta a, body.pulse .pulse-featured .main-slider-item .post-meta span { color: rgba(255, 255, 255, .8) !important; }
body.pulse .pulse-featured .main-slider-nav button { background: rgba(255, 255, 255, .18); backdrop-filter: blur(6px); color: #fff; border-radius: 50%; width: 38px; height: 38px; }
body.pulse .pulse-featured .main-slider-nav button:hover { background: var(--pl-red); }

body.pulse .pulse-stack { display: flex; flex-direction: column; gap: 12px; height: 520px; }
body.pulse .pulse-stack-item { position: relative; flex: 1 1 0; min-height: 110px; border-radius: 12px; overflow: hidden; box-shadow: var(--pl-shadow); transition: transform .25s, box-shadow .25s; }
body.pulse .pulse-stack-item:hover { transform: translateY(-2px); box-shadow: var(--pl-shadow-hover); }
body.pulse .pulse-stack-item .img-link, body.pulse .pulse-stack-item img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.pulse .pulse-stack-item .img-link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 0, 4, .85) 0%, rgba(10, 0, 4, .55) 60%, rgba(10, 0, 4, .2) 100%); pointer-events: none; }
body.pulse .pulse-stack-item .caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 14px; z-index: 2; pointer-events: none; }
body.pulse .pulse-stack-item .caption a { pointer-events: auto; }
body.pulse .pulse-stack-item .title { font-size: 14px; line-height: 1.3; font-weight: 700; margin: 6px 0 4px; }
body.pulse .pulse-stack-item .title a { color: #fff !important; }
body.pulse .pulse-stack-item .post-meta, body.pulse .pulse-stack-item .post-meta a, body.pulse .pulse-stack-item .post-meta span { color: rgba(255, 255, 255, .75) !important; font-size: 11px; }

/* Category pills */
body.pulse .pulse-cat-pills { display: flex; gap: 10px; overflow-x: auto; padding: 18px 2px 6px; scrollbar-width: none; }
body.pulse .pulse-cat-pills::-webkit-scrollbar { display: none; }
body.pulse .pulse-pill { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; background: var(--pl-card); color: var(--pl-text); font-family: var(--pl-head); font-weight: 600; font-size: 13px; padding: 6px 16px 6px 6px; border-radius: 40px; box-shadow: var(--pl-shadow); transition: all .2s; }
body.pulse .pulse-pill:hover { background: var(--pl-red); color: #fff; transform: translateY(-1px); }
body.pulse .pulse-pill-icon { background-color: var(--pl-red) !important; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 12px; font-weight: 800; }

/* ---------- Badges ---------- */
body.pulse .badge-category { background-color: var(--pl-red) !important; color: #fff !important; border-radius: 30px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; padding: 5px 10px; }

/* ---------- Section titles ---------- */
body.pulse .section-title, body.pulse .widget-head { border-bottom: 0 !important; margin-bottom: 18px; }
body.pulse .section-title::after, body.pulse .widget-head::after { display: none !important; }
body.pulse .section-title .title, body.pulse .widget-head .title { display: inline-flex; align-items: center; gap: 10px; font-size: 21px; font-weight: 800; margin: 0; color: var(--pl-text); }
body.pulse .section-title .title::before, body.pulse .widget-head .title::before { content: ""; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 8px; background: var(--pl-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M13 2 3 14h7l-1 8 10-12h-7z'/%3E%3C/svg%3E") center/16px no-repeat; box-shadow: 0 4px 10px rgba(211, 18, 47, .3); }
body.pulse .widget-head .title { font-size: 15px; text-transform: uppercase; letter-spacing: .6px; }
body.pulse .widget-head .title::before { width: 24px; height: 24px; flex-basis: 24px; background-size: 13px; border-radius: 6px; }
body.pulse .section-title .view-all { background: var(--pl-card); color: var(--pl-text) !important; padding: 6px 14px; border-radius: 30px; box-shadow: var(--pl-shadow); font-size: 12px; }
body.pulse .section-title .view-all:hover { background: var(--pl-red); color: #fff !important; }
body.pulse .section-title .nav-tabs .nav-link, body.pulse .section-title .btn-cat-tab { border-radius: 30px; }

/* ---------- Post cards ---------- */
body.pulse .section { margin-bottom: 30px; }
body.pulse .post-item { background: var(--pl-card); border-radius: var(--pl-radius); box-shadow: var(--pl-shadow); padding: 0 0 16px; overflow: hidden; position: relative; transition: transform .25s, box-shadow .25s; margin-bottom: 24px; }
body.pulse .post-item:hover { transform: translateY(-3px); box-shadow: var(--pl-shadow-hover); }
body.pulse .post-item .image { border-radius: 0; margin-bottom: 14px; overflow: hidden; }
body.pulse .post-item .image img { transition: transform .5s; }
body.pulse .post-item:hover .image img { transform: scale(1.05); }
body.pulse .post-item > a > .badge-category { position: absolute; top: 12px; left: 12px; z-index: 3; }
body.pulse .post-item .title, body.pulse .post-item .post-meta, body.pulse .post-item .description { padding-left: 16px; padding-right: 16px; }
body.pulse .post-item .title { font-size: 16px; line-height: 1.35; font-weight: 700; }
body.pulse .post-item .title a:hover { color: var(--pl-red); }
body.pulse .post-item .description { color: var(--pl-muted); font-size: 13px; margin-bottom: 0; }
body.pulse .post-item-no-image { padding-top: 46px; }
body.pulse .post-meta, body.pulse .post-meta a, body.pulse .post-meta span { color: var(--pl-muted); font-size: 12px; }

/* overlay cards (category blocks) */
body.pulse .post-item-vr, body.pulse .section-cat-block .item, body.pulse .post-item-horizontal { border-radius: var(--pl-radius); overflow: hidden; }
body.pulse .post-item-vr { padding: 0; }
body.pulse .post-item-vr .title, body.pulse .post-item-vr .post-meta { padding: 0; }
body.pulse .post-item-vr .image img { border-radius: var(--pl-radius); }

/* small items (sidebar / footer) */
body.pulse .post-item-small { background: transparent; box-shadow: none; padding: 10px 0; border-bottom: 1px dashed var(--pl-line); margin: 0; border-radius: 0; }
body.pulse .post-item-small:hover { transform: none; box-shadow: none; }
body.pulse .post-item-small .title, body.pulse .post-item-small .post-meta { padding: 0; }
body.pulse .post-item-small .title { font-size: 14px; }
body.pulse .post-item-small .image img { border-radius: 10px; }

/* ---------- Sidebar widgets as cards ---------- */
body.pulse .sidebar-widget { background: var(--pl-card); border-radius: var(--pl-radius); box-shadow: var(--pl-shadow); padding: 18px; margin-bottom: 24px; }
body.pulse .widget-follow .item a { border-radius: 10px; }
body.pulse .tag-list li a, body.pulse .tags a { background: var(--pl-bg); border: 0; border-radius: 30px; padding: 6px 12px; font-size: 12px; }
body.pulse .tag-list li a:hover, body.pulse .tags a:hover { background: var(--pl-red); color: #fff; }

/* ---------- Buttons & forms ---------- */
body.pulse .btn-custom, body.pulse .btn-load-more, body.pulse .newsletter-button { background: var(--pl-red) !important; border-color: var(--pl-red) !important; color: #fff !important; border-radius: 30px; font-weight: 600; }
body.pulse .btn-custom:hover, body.pulse .btn-load-more:hover { filter: brightness(1.08); }
body.pulse .form-input, body.pulse .form-control { border-radius: 10px; }

/* ---------- Post detail ---------- */
body.pulse .post-content { background: var(--pl-card); border-radius: var(--pl-radius); box-shadow: var(--pl-shadow); padding: 26px; }
body.pulse .post-content .post-title { font-weight: 800; }
body.pulse .post-content .post-image img, body.pulse .post-image-inner img { border-radius: 12px; }
body.pulse .post-text blockquote { border-left: 4px solid var(--pl-red); background: var(--pl-bg); border-radius: 0 12px 12px 0; padding: 14px 18px; }
body.pulse .post-text a { color: var(--pl-red); }
body.pulse .breadcrumb .breadcrumb-item a:hover { color: var(--pl-red); }

/* ---------- Pagination ---------- */
body.pulse .pagination .page-link { border-radius: 8px !important; margin: 0 3px; border: 0; box-shadow: var(--pl-shadow); }
body.pulse .pagination .active .page-link { background: var(--pl-red); }

/* ---------- Scroll-up & misc ---------- */
body.pulse .scrollup { background: var(--pl-red); border-radius: 50%; }
body.pulse a:hover { color: var(--pl-red); }
body.pulse ::selection { background: var(--pl-red); color: #fff; }

/* ---------- Dark mode ---------- */
body.pulse.dark-mode { --pl-bg: #0d0d10; --pl-card: #17171c; --pl-text: #f1f1f4; --pl-muted: #9a9aa6; --pl-line: #26262e; --pl-shadow: 0 2px 10px rgba(0, 0, 0, .4); --pl-shadow-hover: 0 10px 28px rgba(0, 0, 0, .6); }
body.pulse.dark-mode .post-item .title a, body.pulse.dark-mode .section-title .title, body.pulse.dark-mode .widget-head .title { color: var(--pl-text); }

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
    body.pulse .pulse-featured .main-slider-container { height: 420px !important; margin-bottom: 12px; }
    body.pulse .pulse-featured .main-slider-item { height: 420px; }
    body.pulse .pulse-stack { height: auto; display: grid; grid-template-columns: 1fr 1fr; }
    body.pulse .pulse-stack-item { height: 170px; }
    body.pulse .pulse-featured .main-slider-item .caption .title { font-size: 24px; }
}
@media (max-width: 575.98px) {
    body.pulse .pulse-featured .main-slider-container { height: 340px !important; }
    body.pulse .pulse-featured .main-slider-item { height: 340px; }
    body.pulse .pulse-featured .main-slider-item .caption { padding: 18px; }
    body.pulse .pulse-featured .main-slider-item .caption .title { font-size: 20px; }
    body.pulse .pulse-featured .main-slider-item .caption .summary { display: none; }
    body.pulse .pulse-stack { grid-template-columns: 1fr; }
    body.pulse .pulse-stack-item { height: 130px; }
    body.pulse .section-title .title { font-size: 18px; }
    body.pulse .post-content { padding: 16px; }
}

/* overlay cards: sin franja blanca */
body.pulse .post-item.post-item-vr { background: transparent !important; box-shadow: none !important; padding: 0 !important; }
body.pulse .post-item.post-item-vr:hover { transform: translateY(-3px); }
body.pulse .post-item.post-item-vr .image { margin: 0; border-radius: var(--pl-radius); }

/* =========================================================
   PULSE v1.1 — full layout components
   ========================================================= */
body.pulse .pl-ico { display: inline-block; vertical-align: -2px; flex-shrink: 0; }
body.pulse .pl-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: pulseDot 1.4s infinite; }
body.pulse .pl-red { color: var(--pl-red); }
body.pulse .pl-amber { color: #f5b301; }

/* ---------- Header ---------- */
body.pulse #header.pl-header { background: none !important; box-shadow: none; margin-bottom: 0; min-height: 0; }
body.pulse .pl-desktop-header { background: #12070a; color: #fff; }
body.pulse .pl-topbar { background: linear-gradient(90deg, #6f0a1a, var(--pl-deep) 60%, #6f0a1a); height: 40px; display: flex; align-items: center; font-size: 12px; }
body.pulse .pl-top-left, body.pulse .pl-top-right { display: flex; align-items: center; gap: 14px; }
body.pulse .pl-top-date { display: inline-flex; align-items: center; gap: 7px; color: rgba(255, 255, 255, .85); }
body.pulse .pl-top-link { color: rgba(255, 255, 255, .75); }
body.pulse .pl-top-link:hover { color: #fff; }
body.pulse .pl-soc { color: rgba(255, 255, 255, .85); font-size: 13px; display: inline-flex; width: 22px; justify-content: center; }
body.pulse .pl-soc:hover { color: #fff; transform: translateY(-1px); }
body.pulse .pl-top-right { gap: 10px; }
body.pulse .pl-top-sep { width: 1px; height: 18px; background: rgba(255, 255, 255, .2); margin: 0 4px; }
body.pulse .pl-pill-btn { display: inline-flex; align-items: center; gap: 6px; background: rgba(0, 0, 0, .25); color: #fff !important; border-radius: 30px; padding: 4px 12px; font-size: 11.5px; font-weight: 600; border: 1px solid rgba(255, 255, 255, .12); }
body.pulse .pl-pill-btn:hover { background: rgba(0, 0, 0, .4); }
body.pulse .pl-top-avatar { border-radius: 50%; }
body.pulse .pl-topbar .dropdown-menu { font-size: 13px; border-radius: 12px; border: 0; box-shadow: var(--pl-shadow-hover); }
body.pulse .pl-mode-switch { position: relative; width: 46px; height: 24px; border-radius: 30px; background: rgba(0, 0, 0, .35); border: 1px solid rgba(255, 255, 255, .18); padding: 0; cursor: pointer; }
body.pulse .pl-mode-knob { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: left .25s; box-shadow: 0 1px 4px rgba(0, 0, 0, .4); }
body.pulse .pl-mode-moon { position: absolute; right: 7px; top: 2px; font-size: 12px; color: #fff; line-height: 18px; }
body.pulse .pl-mode-switch.is-dark .pl-mode-knob { left: 25px; }
body.pulse .pl-mode-switch.is-dark .pl-mode-moon { left: 7px; right: auto; }

body.pulse .pl-brandrow { background: radial-gradient(ellipse at 15% 0%, rgba(211, 18, 47, .18), transparent 60%), #12070a; padding: 18px 0; border-bottom: 1px solid rgba(255, 255, 255, .06); }
body.pulse .pl-brand { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
body.pulse .pl-brand-logo { max-height: 58px; width: auto; display: block; }
body.pulse .pl-brand-tagline { font-size: 9.5px; letter-spacing: 2.4px; color: rgba(255, 255, 255, .55); text-transform: uppercase; white-space: nowrap; }
body.pulse .pl-brand-ad { flex: 0 1 728px; margin-left: 30px; }
body.pulse .pl-brand-ad .bn-content, body.pulse .pl-brand-ad > div { margin: 0 !important; }
body.pulse .pl-ad-placeholder { height: 90px; border: 1px dashed rgba(255, 255, 255, .18); border-radius: 12px; background: rgba(255, 255, 255, .03); display: flex; align-items: center; justify-content: center; gap: 10px; color: rgba(255, 255, 255, .55); font-size: 12.5px; padding: 0 16px; text-align: center; }
body.pulse .pl-ad-placeholder span { background: rgba(255, 255, 255, .12); color: #fff; font-size: 9px; font-weight: 700; padding: 2px 6px; border-radius: 4px; letter-spacing: 1px; }

body.pulse .pl-navbar { background: #170a0e; border-bottom: 1px solid rgba(255, 255, 255, .05); position: relative; z-index: 50; }
body.pulse .pl-navbar > .container-xl { min-height: 56px; }
body.pulse .pl-menu { display: flex; align-items: center; gap: 2px; flex: 1; min-width: 0; }
body.pulse .pl-home { width: 40px; height: 40px; border-radius: 10px; background: var(--pl-red); color: #fff !important; display: inline-flex; align-items: center; justify-content: center; margin-right: 8px; box-shadow: 0 4px 14px rgba(211, 18, 47, .45); }
body.pulse .pl-menu-item { position: relative; }
body.pulse .pl-menu-link { display: inline-flex; align-items: center; gap: 7px; color: #fff !important; font-family: var(--pl-head); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .4px; padding: 10px 11px; border-radius: 8px; white-space: nowrap; }
body.pulse .pl-menu-ico { color: var(--pl-red); display: inline-flex; }
body.pulse .pl-menu-link:hover { background: rgba(255, 255, 255, .07); }
body.pulse .pl-more { color: rgba(255, 255, 255, .7) !important; }
body.pulse .pl-more i { font-size: 9px; }
body.pulse .pl-sub { position: absolute; top: 100%; left: 0; min-width: 200px; background: #fff; border-radius: 12px; box-shadow: 0 14px 40px rgba(0, 0, 0, .25); padding: 8px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: all .18s; z-index: 100; }
body.pulse .pl-menu-item.has-sub:hover .pl-sub { opacity: 1; visibility: visible; transform: none; }
body.pulse .pl-sub a { display: block; padding: 8px 12px; border-radius: 8px; color: #16161a; font-size: 13px; font-weight: 600; }
body.pulse .pl-sub a:hover { background: var(--pl-red); color: #fff; }
body.pulse .pl-nav-actions { display: flex; align-items: center; gap: 10px; margin-left: 10px; }
body.pulse .pl-search-btn { width: 38px; height: 38px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .08); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
body.pulse .pl-search-btn:hover { background: rgba(255, 255, 255, .16); }
body.pulse .pl-nav-actions .search-form { position: absolute; right: 0; top: 48px; width: 340px; background: #fff; padding: 8px; border-radius: 14px; box-shadow: 0 14px 40px rgba(0, 0, 0, .3); display: none; z-index: 200; }
body.pulse .pl-nav-actions .search-form.open { display: block; }
body.pulse .pl-nav-actions .search-form form { display: flex; gap: 6px; }
body.pulse .pl-nav-actions .search-form .btn-custom { border-radius: 10px !important; padding: 0 12px; }
body.pulse .pl-join { display: inline-flex; align-items: center; gap: 7px; background: #1fb85a; color: #fff !important; font-weight: 700; font-size: 12.5px; padding: 9px 16px; border-radius: 30px; box-shadow: 0 4px 14px rgba(31, 184, 90, .4); white-space: nowrap; }
body.pulse .pl-join:hover { background: #18a14d; }

body.pulse .pl-ticker { display: flex; align-items: center; height: 38px; background: #12070a; overflow: hidden; border-top: 1px solid rgba(255, 255, 255, .05); }
body.pulse .pl-ticker-label { flex: 0 0 auto; height: 100%; display: flex; align-items: center; gap: 7px; background: var(--pl-red); color: #fff; font-family: var(--pl-head); font-weight: 800; font-size: 12px; letter-spacing: 1px; padding: 0 26px 0 18px; clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
body.pulse .pl-ticker-track { flex: 1; overflow: hidden; position: relative; mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
body.pulse .pl-ticker-move { display: inline-flex; white-space: nowrap; animation: plTicker 60s linear infinite; }
body.pulse .pl-ticker:hover .pl-ticker-move { animation-play-state: paused; }
body.pulse .pl-ticker-move a { color: #f1f1f4; font-size: 12.5px; font-weight: 600; padding: 0 22px; }
body.pulse .pl-ticker-move a:hover { color: #ff5a72; }
body.pulse .pl-ticker-bullet { color: #f5b301; margin-right: 10px; }
@keyframes plTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Hero tweaks ---------- */
body.pulse .pl-top-label { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
body.pulse .pl-top-label .pulse-label { margin: 0; border-radius: 6px; padding: 5px 12px; font-size: 11px; gap: 6px; }
body.pulse .pl-top-line { flex: 1; height: 2px; background: linear-gradient(90deg, rgba(211, 18, 47, .5), transparent); }
body.pulse .pulse-breaking-tag { display: inline-flex; align-items: center; gap: 6px; }
body.pulse .badge-category { display: inline-flex !important; align-items: center; gap: 5px; }
body.pulse .pl-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 11.5px; color: var(--pl-muted); }
body.pulse .pl-meta span, body.pulse .pl-meta a { display: inline-flex; align-items: center; gap: 4px; color: inherit; }
body.pulse .pl-meta-light { color: rgba(255, 255, 255, .82); }
body.pulse .pl-meta-light .pl-avatar { background: rgba(255, 255, 255, .9); color: #555; }
body.pulse .pl-avatar { width: 18px; height: 18px; border-radius: 50%; background: #e9e9ef; color: #777; display: inline-flex; align-items: center; justify-content: center; }
body.pulse .pl-meta-author { font-weight: 600; }
body.pulse .pulse-pill-icon { border-radius: 9px; width: 30px; height: 30px; }
body.pulse .pulse-pill { padding: 6px 16px 6px 6px; border-radius: 12px; }

/* ---------- Main + section heads ---------- */
body.pulse .pl-main { padding: 22px 0 10px; }
body.pulse .pl-section { margin-bottom: 34px; }
body.pulse .pl-sec-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
body.pulse .pl-sec-title { display: flex; align-items: center; gap: 11px; font-size: 21px; font-weight: 800; margin: 0; color: var(--pl-text); }
body.pulse .pl-sec-ico { width: 34px; height: 34px; border-radius: 10px; background: var(--pl-red); color: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(211, 18, 47, .35); }
body.pulse .pl-sec-sub { margin: 4px 0 0 45px; font-size: 12.5px; color: var(--pl-muted); }
body.pulse .pl-viewall { display: inline-flex; align-items: center; gap: 6px; background: var(--pl-card); color: var(--pl-text) !important; font-size: 12px; font-weight: 700; padding: 7px 14px; border-radius: 30px; box-shadow: var(--pl-shadow); white-space: nowrap; }
body.pulse .pl-viewall:hover { background: var(--pl-red); color: #fff !important; }

/* ---------- Card ---------- */
body.pulse .pl-card { background: var(--pl-card); border-radius: var(--pl-radius); box-shadow: var(--pl-shadow); overflow: hidden; height: 100%; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
body.pulse .pl-card:hover { transform: translateY(-3px); box-shadow: var(--pl-shadow-hover); }
body.pulse .pl-card-img { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #e6e6ea; }
body.pulse .pl-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
body.pulse .pl-card:hover .pl-card-img img { transform: scale(1.05); }
body.pulse .pl-card-noimg { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #bbb; }
body.pulse .pl-trending { position: absolute; top: 10px; right: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 4px; background: rgba(20, 10, 12, .82); color: #f5b301; font-size: 9.5px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; padding: 4px 9px; border-radius: 30px; backdrop-filter: blur(4px); }
body.pulse .pl-card-body { padding: 12px 14px 14px; display: flex; flex-direction: column; flex: 1; }
body.pulse .pl-catbar { display: flex; align-items: center; gap: 6px; background: linear-gradient(90deg, var(--pl-red), var(--pl-deep)); color: #fff !important; font-size: 9.5px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; padding: 5px 10px; border-radius: 30px; margin-bottom: 10px; }
body.pulse .pl-card-title { font-size: 15.5px; line-height: 1.35; font-weight: 800; margin: 0 0 6px; }
body.pulse .pl-card-title a { color: var(--pl-text); }
body.pulse .pl-card-title a:hover { color: var(--pl-red); }
body.pulse .pl-card-desc { font-size: 12.5px; color: var(--pl-muted); margin: 0 0 10px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.pulse .pl-card .pl-meta { margin-top: auto; }
body.pulse .pl-card-compact .pl-card-title { font-size: 13.5px; }
body.pulse .pl-card-compact .pl-card-body { padding: 10px 12px 12px; }
body.pulse .pl-card-compact .pl-meta { font-size: 10.5px; gap: 3px 9px; }

/* ---------- Sidebar ---------- */
body.pulse .pl-sidebar { display: flex; flex-direction: column; gap: 22px; position: sticky; top: 16px; }
body.pulse .pl-widget { background: var(--pl-card); border-radius: var(--pl-radius); box-shadow: var(--pl-shadow); padding: 16px; }
body.pulse .pl-widget-head { display: flex; align-items: center; gap: 9px; font-family: var(--pl-head); font-weight: 800; font-size: 12.5px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--pl-text); margin-bottom: 14px; }
body.pulse .pl-widget-head .pl-ico { color: var(--pl-red); }

body.pulse .pl-weather { border-radius: var(--pl-radius); overflow: hidden; box-shadow: var(--pl-shadow); background: var(--pl-card); }
body.pulse .pl-weather-top { position: relative; background: linear-gradient(135deg, var(--pl-red), var(--pl-deep)); color: #fff; padding: 16px; overflow: hidden; }
body.pulse .pl-weather-top::after { content: ""; position: absolute; right: -30px; top: -40px; width: 140px; height: 140px; border-radius: 50%; background: rgba(255, 255, 255, .08); }
body.pulse .pl-weather-date { font-size: 12.5px; font-weight: 700; margin-bottom: 8px; }
body.pulse .pl-weather-loc { display: inline-flex; align-items: center; gap: 5px; background: rgba(0, 0, 0, .22); padding: 4px 10px; border-radius: 30px; font-size: 11.5px; font-weight: 700; }
body.pulse .pl-weather-body { padding: 14px 16px 16px; }
body.pulse .pl-weather-now { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
body.pulse .pl-weather-ico { font-size: 34px; line-height: 1; }
body.pulse .pl-weather-temp { font-family: var(--pl-head); font-size: 26px; font-weight: 800; line-height: 1; color: var(--pl-text); }
body.pulse .pl-weather-desc { font-size: 12px; color: var(--pl-muted); }
body.pulse .pl-weather-feels { margin-left: auto; font-size: 11px; color: var(--pl-muted); }
body.pulse .pl-weather-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
body.pulse .pl-weather-stats span { display: flex; align-items: center; gap: 6px; background: var(--pl-bg); border-radius: 10px; padding: 8px 10px; font-size: 12px; color: var(--pl-text); }
body.pulse .pl-weather-stats .pl-ico { color: var(--pl-red); }
body.pulse .pl-weather-days { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
body.pulse .pl-wday { border: 1px solid var(--pl-line); border-radius: 12px; padding: 8px 4px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 2px; }
body.pulse .pl-wday small { font-size: 10px; font-weight: 700; text-transform: uppercase; color: var(--pl-muted); }
body.pulse .pl-wday span { font-size: 20px; }
body.pulse .pl-wday b { font-size: 12px; color: var(--pl-text); }
body.pulse .pl-wday b i { font-style: normal; color: var(--pl-muted); font-weight: 500; }

body.pulse .pl-widget-red { padding: 0; overflow: hidden; }
body.pulse .pl-widget-redhead { display: flex; align-items: center; justify-content: space-between; background: linear-gradient(90deg, var(--pl-red), var(--pl-deep)); color: #fff; padding: 12px 16px; font-family: var(--pl-head); font-weight: 800; font-size: 12.5px; letter-spacing: 1.6px; text-transform: uppercase; }
body.pulse .pl-widget-redhead > span:first-child { display: inline-flex; align-items: center; gap: 8px; }
body.pulse .pl-trend-list { padding: 6px 16px 10px; }
body.pulse .pl-trend-item { display: flex; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--pl-line); }
body.pulse .pl-trend-item:last-child { border-bottom: 0; }
body.pulse .pl-trend-num { font-family: var(--pl-head); font-size: 26px; font-weight: 800; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px var(--pl-red); min-width: 36px; }
body.pulse .pl-trend-item:nth-child(n+4) .pl-trend-num { -webkit-text-stroke-color: #c9c9d1; }
body.pulse .pl-trend-title { display: block; font-family: var(--pl-head); font-size: 13px; font-weight: 700; line-height: 1.35; color: var(--pl-text); margin-bottom: 4px; }
body.pulse .pl-trend-title:hover { color: var(--pl-red); }
body.pulse .pl-trend-meta { display: flex; flex-wrap: wrap; gap: 3px 10px; font-size: 10.5px; color: var(--pl-muted); }
body.pulse .pl-trend-meta span { display: inline-flex; align-items: center; gap: 3px; }
body.pulse .pl-trend-cat { color: var(--pl-red) !important; font-weight: 700; }

body.pulse .pl-briefing { position: relative; overflow: hidden; background: linear-gradient(140deg, var(--pl-red), var(--pl-deep) 70%, #5a0714); color: #fff; border-radius: var(--pl-radius); padding: 20px 18px; box-shadow: 0 10px 28px rgba(211, 18, 47, .3); }
body.pulse .pl-briefing-plane { position: absolute; right: -12px; top: -14px; color: rgba(255, 255, 255, .12); transform: rotate(10deg); }
body.pulse .pl-briefing h4 { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 17px; font-weight: 800; margin: 0 0 6px; }
body.pulse .pl-briefing h4 .pl-ico { color: #f5b301; }
body.pulse .pl-briefing p { font-size: 12px; color: rgba(255, 255, 255, .8); margin-bottom: 14px; }
body.pulse .pl-briefing-input { background: rgba(255, 255, 255, .14) !important; border: 1px solid rgba(255, 255, 255, .22) !important; color: #fff !important; border-radius: 10px !important; height: 42px; margin-bottom: 10px; }
body.pulse .pl-briefing-input::placeholder { color: rgba(255, 255, 255, .65); }
body.pulse .pl-briefing-btn { width: 100%; height: 42px; border: 0; border-radius: 10px; background: #fff; color: var(--pl-red); font-weight: 800; font-size: 13px; display: flex; align-items: center; justify-content: center; gap: 7px; }
body.pulse .pl-briefing-btn:hover { background: #ffecef; }

body.pulse .pl-follow { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
body.pulse .pl-f { display: flex; align-items: center; gap: 10px; color: #fff !important; border-radius: 10px; padding: 9px 12px; transition: transform .2s, filter .2s; }
body.pulse .pl-f:hover { transform: translateY(-2px); filter: brightness(1.08); }
body.pulse .pl-f i { font-size: 16px; }
body.pulse .pl-f span { display: flex; flex-direction: column; line-height: 1.15; }
body.pulse .pl-f b { font-size: 13px; }
body.pulse .pl-f small { font-size: 10px; opacity: .85; }
body.pulse .pl-f-fb { background: #1877f2; }
body.pulse .pl-f-x { background: #000; }
body.pulse .pl-f-ig { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
body.pulse .pl-f-yt { background: #ff0000; }
body.pulse .pl-f-wa { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 8px; background: #1fb85a; color: #fff !important; font-weight: 700; font-size: 13px; padding: 10px; border-radius: 10px; }
body.pulse .pl-f-wa:hover { background: #18a14d; }

body.pulse .pl-topics { display: flex; flex-wrap: wrap; gap: 7px; }
body.pulse .pl-topics a { display: inline-flex; align-items: center; gap: 4px; background: var(--pl-bg); color: var(--pl-text); border: 1px solid var(--pl-line); border-radius: 30px; padding: 6px 12px; font-size: 12px; font-weight: 600; }
body.pulse .pl-topics a .pl-ico { color: var(--pl-muted); }
body.pulse .pl-topics a:hover { background: var(--pl-red); border-color: var(--pl-red); color: #fff; }
body.pulse .pl-topics a:hover .pl-ico { color: #fff; }

body.pulse .pl-help { display: flex; flex-direction: column; gap: 8px; }
body.pulse .pl-help a { display: flex; align-items: center; gap: 10px; background: var(--pl-bg); border-radius: 10px; padding: 9px 12px; color: var(--pl-text); font-size: 13px; font-weight: 600; word-break: break-all; }
body.pulse .pl-help a:hover { background: #ffecef; }
body.pulse .pl-help-ico { display: inline-flex; font-size: 14px; }
body.pulse .pl-c-red { color: var(--pl-red); }
body.pulse .pl-c-green { color: #1fb85a; }
body.pulse .pl-c-amber { color: #f59e0b; }

/* ---------- Editors' picks ---------- */
body.pulse .pl-picks-wrap { padding: 10px 0 30px; }
body.pulse .pl-picks { background: #0f0a0c; border-radius: 22px; padding: 28px 26px 30px; box-shadow: 0 20px 50px rgba(0, 0, 0, .25); }
body.pulse .pl-picks-kicker { display: inline-flex; align-items: center; gap: 6px; color: #f5b301; font-size: 10.5px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; }
body.pulse .pl-picks-title { color: #fff; font-size: 23px; font-weight: 800; margin: 6px 0 20px; }

/* ---------- CTA band ---------- */
body.pulse .pl-cta-wrap { padding: 0 0 40px; }
body.pulse .pl-cta { position: relative; overflow: hidden; text-align: center; background: linear-gradient(120deg, var(--pl-red), var(--pl-deep) 70%, #5a0714); border-radius: 22px; padding: 44px 20px; color: #fff; box-shadow: 0 16px 40px rgba(211, 18, 47, .3); }
body.pulse .pl-cta::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 15% 20%, rgba(255, 255, 255, .12), transparent 40%), radial-gradient(circle at 85% 80%, rgba(0, 0, 0, .2), transparent 45%); pointer-events: none; }
body.pulse .pl-cta h2 { position: relative; color: #fff; font-size: 30px; font-weight: 800; margin: 0 0 6px; }
body.pulse .pl-cta p { position: relative; color: rgba(255, 255, 255, .85); font-size: 13.5px; margin: 0 0 18px; }
body.pulse .pl-cta-form { position: relative; display: flex; justify-content: center; gap: 8px; max-width: 520px; margin: 0 auto; }
body.pulse .pl-cta-form input[type=email] { flex: 1; height: 46px; border-radius: 10px !important; border: 0 !important; }
body.pulse .pl-cta-form button { height: 46px; border: 0; border-radius: 10px; background: #12070a; color: #fff; font-weight: 800; padding: 0 22px; }
body.pulse .pl-cta-form button:hover { background: #000; }

/* ---------- Footer ---------- */
body.pulse #footer.pl-footer { background: #0e0809; border-top: 4px solid var(--pl-red); color: rgba(255, 255, 255, .7); padding: 0; margin-top: 0; }
body.pulse .pl-foot-news { padding: 26px 0; border-bottom: 1px solid rgba(255, 255, 255, .07); }
body.pulse .pl-foot-news-ico { width: 54px; height: 54px; border-radius: 14px; background: linear-gradient(135deg, var(--pl-red), var(--pl-deep)); color: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px rgba(211, 18, 47, .35); flex-shrink: 0; }
body.pulse .pl-foot-news h4 { color: #fff; font-size: 20px; font-weight: 800; margin: 0 0 3px; }
body.pulse .pl-foot-news p { margin: 0; font-size: 12.5px; color: rgba(255, 255, 255, .6); }
body.pulse .pl-foot-form { position: relative; display: flex; align-items: center; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; padding: 5px; width: 100%; max-width: 440px; }
body.pulse .pl-foot-form-ico { color: rgba(255, 255, 255, .5); padding: 0 8px 0 10px; display: inline-flex; }
body.pulse .pl-foot-form input[type=email] { flex: 1; background: transparent !important; border: 0 !important; color: #fff !important; box-shadow: none !important; padding-left: 0; }
body.pulse .pl-foot-form input::placeholder { color: rgba(255, 255, 255, .45); }
body.pulse .pl-foot-form button { display: inline-flex; align-items: center; gap: 6px; height: 38px; border: 0; border-radius: 9px; background: var(--pl-red); color: #fff; font-weight: 700; font-size: 12.5px; padding: 0 16px; }
body.pulse .pl-foot-main { padding: 40px 0 30px; background: radial-gradient(ellipse at 10% 0%, rgba(211, 18, 47, .1), transparent 55%); }
body.pulse .pl-foot-logo { max-height: 48px; width: auto; margin-bottom: 14px; }
body.pulse .pl-foot-about { font-size: 12.5px; line-height: 1.7; color: rgba(255, 255, 255, .6); margin-bottom: 16px; }
body.pulse .pl-foot-social { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
body.pulse .pl-foot-social a { width: 36px; height: 36px; border-radius: 10px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .08); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; }
body.pulse .pl-foot-social a:hover { background: var(--pl-red); border-color: var(--pl-red); }
body.pulse .pl-foot-label { font-size: 10px; letter-spacing: 1.8px; text-transform: uppercase; font-weight: 800; color: rgba(255, 255, 255, .5); margin-bottom: 8px; }
body.pulse .pl-gplay { display: inline-flex; align-items: center; gap: 9px; background: #000; border: 1px solid rgba(255, 255, 255, .25); border-radius: 9px; padding: 6px 14px 6px 10px; color: #fff !important; margin-bottom: 16px; }
body.pulse .pl-gplay span { display: flex; flex-direction: column; line-height: 1.05; font-size: 15px; font-weight: 700; }
body.pulse .pl-gplay small { font-size: 8.5px; font-weight: 500; letter-spacing: .5px; }
body.pulse .pl-foot-trust { display: flex; align-items: center; gap: 6px; font-size: 10px; letter-spacing: 1.6px; font-weight: 700; color: rgba(255, 255, 255, .45); }
body.pulse .pl-foot-h { color: #fff; font-family: var(--pl-head); font-size: 12.5px; letter-spacing: 2px; text-transform: uppercase; font-weight: 800; padding-left: 10px; border-left: 3px solid var(--pl-red); margin-bottom: 16px; }
body.pulse .pl-foot-h-amber { border-color: #f5b301; }
body.pulse .pl-foot-h-green { border-color: #1fb85a; }
body.pulse .pl-foot-list { list-style: none; padding: 0; margin: 0; }
body.pulse .pl-foot-list li { margin-bottom: 4px; }
body.pulse .pl-foot-list a { display: flex; align-items: center; gap: 9px; color: rgba(255, 255, 255, .72); font-size: 13px; padding: 5px 0; }
body.pulse .pl-foot-list a:hover { color: #fff; transform: translateX(3px); }
body.pulse .pl-foot-list a .pl-ico { color: rgba(255, 255, 255, .45); }
body.pulse .pl-foot-cat-ico { color: var(--pl-red); display: inline-flex; }
body.pulse .pl-foot-cat-ico .pl-ico { color: var(--pl-red) !important; }
body.pulse .pl-count { margin-left: auto; min-width: 22px; height: 20px; border-radius: 30px; background: rgba(255, 255, 255, .07); font-size: 10.5px; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px; color: rgba(255, 255, 255, .7); }
body.pulse .pl-touch { display: flex; align-items: center; gap: 12px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .07); border-radius: 12px; padding: 11px 13px; margin-bottom: 10px; color: #fff !important; font-size: 13px; font-weight: 600; word-break: break-word; }
body.pulse a.pl-touch:hover { background: rgba(255, 255, 255, .08); }
body.pulse .pl-touch span:last-child { display: flex; flex-direction: column; line-height: 1.3; }
body.pulse .pl-touch small { font-size: 9.5px; letter-spacing: 1.4px; text-transform: uppercase; color: rgba(255, 255, 255, .45); font-weight: 700; }
body.pulse .pl-touch-ico { width: 38px; height: 38px; border-radius: 10px; color: #fff; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 15px; }
body.pulse .pl-bg-red { background: var(--pl-red); }
body.pulse .pl-bg-green { background: #1fb85a; }
body.pulse .pl-bg-amber { background: #f59e0b; }
body.pulse .pl-foot-bottom { background: #080405; border-top: 1px solid rgba(255, 255, 255, .06); padding: 16px 0; font-size: 12px; color: rgba(255, 255, 255, .5); }
body.pulse .pl-foot-bottom-links { display: flex; flex-wrap: wrap; gap: 16px; }
body.pulse .pl-foot-bottom-links a { color: rgba(255, 255, 255, .55); }
body.pulse .pl-foot-bottom-links a:hover { color: #fff; }

/* ---------- Radio ---------- */
body.pulse .pl-radio { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 9990; width: min(920px, calc(100% - 110px)); display: flex; align-items: center; gap: 16px; padding: 10px 14px; border-radius: 18px; color: #fff; background: linear-gradient(100deg, #7a0a1c, var(--pl-red) 50%, #7a0a1c); box-shadow: 0 18px 40px rgba(120, 0, 20, .45), inset 0 1px 0 rgba(255, 255, 255, .15); transition: all .3s; }
body.pulse .pl-radio-logo { width: 54px; height: 54px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: #fff; border: 3px solid rgba(255, 255, 255, .5); display: flex; align-items: center; justify-content: center; }
body.pulse .pl-radio-logo img { width: 100%; height: 100%; object-fit: cover; }
body.pulse .pl-radio-logo span { color: var(--pl-red); font-family: var(--pl-head); font-weight: 800; font-size: 13px; }
body.pulse .pl-radio.is-playing .pl-radio-logo { animation: plSpin 8s linear infinite; }
@keyframes plSpin { to { transform: rotate(360deg); } }
body.pulse .pl-radio-info { flex: 1; min-width: 0; text-align: center; position: relative; }
body.pulse .pl-radio-name { font-family: var(--pl-head); font-weight: 800; font-size: 15px; line-height: 1.1; }
body.pulse .pl-radio-status { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; letter-spacing: 1.2px; color: #ffd84d; margin: 2px 0; }
body.pulse .pl-radio-led { width: 7px; height: 7px; border-radius: 50%; background: #ffd84d; }
body.pulse .pl-radio.is-playing .pl-radio-status { color: #b9ffcf; }
body.pulse .pl-radio.is-playing .pl-radio-led { background: #2ee66b; animation: pulseDot 1s infinite; }
body.pulse .pl-radio-marquee { overflow: hidden; white-space: nowrap; font-size: 11.5px; color: rgba(255, 255, 255, .85); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
body.pulse .pl-radio-marquee div { display: inline-flex; animation: plTicker 18s linear infinite; }
body.pulse .pl-radio-marquee span { padding: 0 40px; }
body.pulse .pl-radio-eq { display: flex; justify-content: center; gap: 3px; height: 8px; margin-top: 4px; align-items: flex-end; }
body.pulse .pl-radio-eq i { width: 3px; height: 3px; background: rgba(255, 255, 255, .35); border-radius: 2px; }
body.pulse .pl-radio.is-playing .pl-radio-eq i { background: #fff; animation: plEq .9s ease-in-out infinite; }
body.pulse .pl-radio.is-playing .pl-radio-eq i:nth-child(2n) { animation-delay: .2s; }
body.pulse .pl-radio.is-playing .pl-radio-eq i:nth-child(3n) { animation-delay: .4s; }
@keyframes plEq { 0%, 100% { height: 2px; } 50% { height: 8px; } }
body.pulse .pl-radio-ctrl { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
body.pulse .pl-radio-play { width: 48px; height: 48px; border-radius: 50%; border: 0; background: #fff; color: var(--pl-red); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(0, 0, 0, .25); }
body.pulse .pl-radio-play:hover { transform: scale(1.06); }
body.pulse .pl-i-pause, body.pulse .pl-radio.is-playing .pl-i-play { display: none; }
body.pulse .pl-radio.is-playing .pl-i-pause { display: inline-flex; }
body.pulse .pl-i-play { margin-left: 3px; display: inline-flex; }
body.pulse .pl-radio-vol-ico { display: inline-flex; opacity: .9; }
body.pulse .pl-radio-vol { width: 90px; accent-color: #fff; }
body.pulse .pl-radio-min { width: 26px; height: 26px; border-radius: 50%; border: 0; background: rgba(0, 0, 0, .25); color: #fff; font-weight: 800; line-height: 1; }
body.pulse .pl-radio.is-min { width: auto; left: auto; right: 86px; transform: none; padding: 6px; }
body.pulse .pl-radio.is-min .pl-radio-info, body.pulse .pl-radio.is-min .pl-radio-vol, body.pulse .pl-radio.is-min .pl-radio-vol-ico { display: none; }
body.pulse .pl-radio.is-min .pl-radio-logo { width: 42px; height: 42px; }
body.pulse .pl-radio.is-min .pl-radio-play { width: 40px; height: 40px; }
body.pulse .pl-wa-float { position: fixed; right: 20px; bottom: 26px; z-index: 9991; width: 54px; height: 54px; border-radius: 50%; background: #1fb85a; color: #fff !important; font-size: 26px; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 24px rgba(31, 184, 90, .5); animation: plWa 2.4s infinite; }
@keyframes plWa { 0%, 100% { box-shadow: 0 0 0 0 rgba(31, 184, 90, .55), 0 10px 24px rgba(31, 184, 90, .4); } 60% { box-shadow: 0 0 0 14px rgba(31, 184, 90, 0), 0 10px 24px rgba(31, 184, 90, .4); } }
body.pulse .scrollup { bottom: 92px !important; }
body.pulse .pl-foot-bottom { padding-bottom: 96px; }

/* ---------- Dark mode extras ---------- */
body.pulse.dark-mode .pl-sub { background: #1c1c22; }
body.pulse.dark-mode .pl-sub a { color: #eee; }
body.pulse.dark-mode .pl-help a:hover { background: #2a1418; }
body.pulse.dark-mode .pl-trend-item:nth-child(n+4) .pl-trend-num { -webkit-text-stroke-color: #4a4a55; }
body.pulse.dark-mode .pl-card-img { background: #222; }

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
    body.pulse .pl-menu-link { padding: 9px 7px; font-size: 11px; }
    body.pulse .pl-menu-ico { display: none; }
    body.pulse .pl-brand-ad { flex-basis: 560px; }
}
@media (max-width: 991.98px) {
    body.pulse .pl-desktop-header { display: none; }
    body.pulse #header.pl-header { min-height: 64px; margin-bottom: 0; }
    body.pulse .pl-sidebar { position: static; }
    body.pulse .pl-radio { width: calc(100% - 96px); left: 12px; transform: none; bottom: 12px; gap: 10px; padding: 8px 10px; }
    body.pulse .pl-radio-vol, body.pulse .pl-radio-vol-ico, body.pulse .pl-radio-eq { display: none; }
    body.pulse .pl-radio-info { text-align: left; }
    body.pulse .pl-radio-logo { width: 42px; height: 42px; }
    body.pulse .pl-radio-play { width: 42px; height: 42px; }
    body.pulse .pl-radio.is-min { right: 84px; left: auto; width: auto; }
    body.pulse .pl-wa-float { right: 14px; bottom: 16px; }
    body.pulse .pl-picks { padding: 22px 16px; }
}
@media (max-width: 575.98px) {
    body.pulse .pl-sec-title { font-size: 18px; }
    body.pulse .pl-sec-sub { display: none; }
    body.pulse .pl-cta h2 { font-size: 22px; }
    body.pulse .pl-cta-form { flex-direction: column; }
    body.pulse .pl-foot-news h4 { font-size: 17px; }
    body.pulse .pl-radio-name { font-size: 13px; }
}

/* ---------- Mobile header ---------- */
body.pulse .header-mobile, body.pulse .mobile-search-form { background: linear-gradient(100deg, #12070a, var(--pl-deep) 70%, var(--pl-red)) !important; border-bottom: 0 !important; }
body.pulse .header-mobile svg { color: #fff !important; stroke: #fff !important; }
body.pulse .header-mobile .logo { max-height: 44px; width: auto; }
body.pulse .nav-mobile { background-color: #12070a; }
body.pulse .nav-mobile .nav-item .nav-link, body.pulse .nav-mobile .dropdown-item, body.pulse .nav-mobile a { color: #fff; }
@media (min-width: 992px) {
    body.pulse #header.pl-header { margin-bottom: 18px; }
    body.pulse .pulse-featured { padding-top: 0 !important; }
}

/* =========================================================
   PULSE v1.2 — full width + adaptive grids
   ========================================================= */
body.pulse.pl-full .container-xl { max-width: 100%; padding-left: clamp(12px, 2.6vw, 56px); padding-right: clamp(12px, 2.6vw, 56px); }
/* article pages keep a comfortable reading width */
body.pulse.pl-full #postDetailsPage .container-xl, body.pulse.pl-full .section-page .container-xl { max-width: 1480px; }

/* main + sidebar */
body.pulse .pl-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
@media (min-width: 992px) { body.pulse .pl-layout { grid-template-columns: minmax(0, 1fr) 330px; } }
@media (min-width: 1600px) { body.pulse.pl-full .pl-layout { grid-template-columns: minmax(0, 1fr) 370px; gap: 36px; } }
body.pulse .pl-layout-main, body.pulse .pl-layout-side { min-width: 0; }

/* adaptive card grid: as many columns as fit */
body.pulse .pl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 18px; }
@media (min-width: 1800px) { body.pulse.pl-full .pl-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; } }
@media (max-width: 575.98px) { body.pulse .pl-grid { grid-template-columns: 1fr; gap: 16px; } }
body.pulse .pl-grid-picks { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }

/* subcategory sections */
body.pulse .pl-sec-parent { font-size: .62em; font-weight: 700; color: var(--pl-muted); text-transform: uppercase; letter-spacing: 1px; }
body.pulse .pl-section-sub .pl-sec-ico { background: var(--pl-deep); }

/* hero scales with screen (full-width mode only) */
body.pulse.pl-full .pulse-featured .main-slider-container, body.pulse.pl-full .pulse-featured .main-slider-item { height: clamp(360px, 31vw, 760px) !important; }
body.pulse.pl-full .pulse-stack { height: clamp(360px, 31vw, 760px); }
body.pulse.pl-full .pulse-featured .main-slider-item .caption .title { font-size: clamp(22px, 2.1vw, 46px); }
@media (min-width: 1800px) {
    body.pulse.pl-full .pulse-stack-item .title { font-size: 17px; }
    body.pulse.pl-full .pulse-featured .main-slider-item .caption .summary { font-size: 16px; max-width: 900px; }
}

/* Explore by category (lines) */
body.pulse .pl-lines-wrap { padding: 6px 0 34px; }
body.pulse .pl-lines { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
body.pulse .pl-line { background: var(--pl-card); border-radius: var(--pl-radius); box-shadow: var(--pl-shadow); padding: 14px; display: flex; flex-direction: column; border-top: 3px solid var(--pl-red); }
body.pulse .pl-line-head { display: flex; align-items: center; gap: 9px; margin-bottom: 10px; }
body.pulse .pl-line-ico { width: 28px; height: 28px; border-radius: 8px; background: var(--pl-red); color: #fff; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
body.pulse .pl-line-name { font-family: var(--pl-head); font-weight: 800; font-size: 15px; color: var(--pl-text); flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.pulse .pl-line-name:hover { color: var(--pl-red); }
body.pulse .pl-line-count { font-size: 11px; font-weight: 700; background: var(--pl-bg); color: var(--pl-muted); border-radius: 30px; padding: 2px 9px; }
body.pulse .pl-line-item { display: flex; flex-direction: column; gap: 8px; padding: 9px 0; border-bottom: 1px dashed var(--pl-line); color: var(--pl-text); }
body.pulse .pl-line-item:hover .pl-line-title { color: var(--pl-red); }
body.pulse .pl-line-img { display: block; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: #e6e6ea; }
body.pulse .pl-line-img img { width: 100%; height: 100%; object-fit: cover; }
body.pulse .pl-line-text { display: flex; flex-direction: column; gap: 3px; }
body.pulse .pl-line-item:not(.is-first) .pl-line-text { padding-left: 14px; position: relative; }
body.pulse .pl-line-item:not(.is-first) .pl-line-text::before { content: ""; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; border-radius: 50%; background: var(--pl-red); }
body.pulse .pl-line-title { font-family: var(--pl-head); font-size: 13.5px; font-weight: 700; line-height: 1.35; }
body.pulse .pl-line-item.is-first .pl-line-title { font-size: 15px; }
body.pulse .pl-line-meta { font-size: 10.5px; color: var(--pl-muted); display: inline-flex; align-items: center; gap: 4px; }
body.pulse .pl-line-more { margin-top: auto; padding-top: 10px; font-size: 12px; font-weight: 700; color: var(--pl-red) !important; display: inline-flex; align-items: center; gap: 5px; }
body.pulse.dark-mode .pl-line-img { background: #222; }

/* picks/cta/footer follow full width automatically via .container-xl */
@media (min-width: 1800px) {
    body.pulse.pl-full .pl-card-title { font-size: 16.5px; }
    body.pulse.pl-full .pl-sec-title { font-size: 24px; }
}
@media (max-width: 991.98px) {
    body.pulse .pulse-stack { height: auto; }
    body.pulse .pulse-featured .main-slider-container, body.pulse .pulse-featured .main-slider-item { height: 420px !important; }
}
@media (max-width: 575.98px) {
    body.pulse .pulse-featured .main-slider-container, body.pulse .pulse-featured .main-slider-item { height: 340px !important; }
}
body.pulse .pl-lines { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
body.pulse .pl-grid-picks { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
/* post page: social icons now live in the reading toolbar */
body.pulse .post-share-buttons .btn-share:not(.ms-auto) { display: none !important; }
body.pulse .post-share-buttons .btn-share.ms-auto { margin-left: auto !important; }

/* =========================================================
   PULSE v1.7 — fixed columns, wide centered layout
   ========================================================= */
body.pulse:not(.pl-full) .container-xl { max-width: 1680px; padding-left: 20px; padding-right: 20px; }
body.pulse #postDetailsPage .container-xl, body.pulse .section-page .container-xl { max-width: 1320px; }
body.pulse .pl-grid { --pl-cols: 4; grid-template-columns: repeat(var(--pl-cols), minmax(0, 1fr)) !important; }
@media (max-width: 1199.98px) { body.pulse .pl-grid { --pl-cols: 2 !important; } }
@media (max-width: 575.98px) { body.pulse .pl-grid { --pl-cols: 1 !important; } }
/* card meta always on one line */
body.pulse .pl-card .pl-meta { flex-wrap: nowrap; gap: 0 9px; font-size: 11px; overflow: hidden; white-space: nowrap; }
body.pulse .pl-card .pl-meta > * { flex-shrink: 0; }
body.pulse .pl-card .pl-meta .pl-meta-author { flex-shrink: 1; min-width: 0; }
body.pulse .pl-card .pl-an { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
body.pulse .pl-card .pl-meta .pl-ico { width: 10px; height: 10px; }
/* narrower desktops: 4 columns stay readable */
@media (min-width: 1200px) and (max-width: 1499.98px) {
    body.pulse .pl-card .pl-meta-author { display: none !important; }
    body.pulse .pl-card .pl-card-title { font-size: 14.5px; }
}
