/**
 * PaperMag Pro — Apple-Quality CSS Override
 *
 * Pixel-perfect PaperMag clone. Every rule targets exact class names from the
 * theme PHP templates. All rules use !important for guaranteed override of
 * papermag-pro.css, polish.css, and final-polish.css.
 *
 * Load order: papermag-pro.css -> polish.css -> final-polish.css -> apple-quality.css
 * Enqueue at wp_enqueue_scripts priority 35.
 *
 * @package PaperMag_Pro
 * @since   1.1.0
 */

/* ==========================================================================
 * 0. DESIGN TOKENS — PaperMag Reference Palette
 * ========================================================================== */

:root {
    --pm-font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    --pm-font-body: 'Source Serif 4', Georgia, 'Times New Roman', serif !important;
    --pm-font-ui: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important;

    --pm-blue: #0066FF !important;
    --pm-black: #111111 !important;
    --pm-white: #FFFFFF !important;
    --pm-gray-50: #FAFAFA !important;
    --pm-gray-100: #F5F5F5 !important;
    --pm-gray-200: #EEEEEE !important;
    --pm-gray-300: #E0E0E0 !important;
    --pm-gray-400: #BDBDBD !important;
    --pm-gray-500: #999999 !important;
    --pm-gray-600: #777777 !important;
    --pm-gray-700: #555555 !important;
    --pm-gray-800: #333333 !important;
    --pm-gray-900: #111111 !important;

    --pm-radius-sm: 4px !important;
    --pm-radius-md: 8px !important;
    --pm-radius-lg: 12px !important;
    --pm-radius-pill: 20px !important;

    --pm-ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    --pm-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1) !important;

    --pm-container: 1280px !important;
}

/* ==========================================================================
 * 1. GLOBAL RESET & TYPOGRAPHY
 * ========================================================================== */

body {
    font-family: var(--pm-font-body) !important;
    color: var(--pm-gray-900) !important;
    background: var(--pm-white) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    line-height: 1.6 !important;
    text-rendering: optimizeLegibility !important;
}

.pm-container {
    max-width: var(--pm-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.pm-container--narrow {
    max-width: 750px !important;
}

/* Skip link — screen-reader first-element pattern */
.pm-skip-link {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    z-index: 999999 !important;
}

.pm-skip-link:focus {
    left: 10px !important;
    top: 10px !important;
    width: auto !important;
    height: auto !important;
    padding: 8px 16px !important;
    background: var(--pm-blue) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    outline: 2px solid var(--pm-blue) !important;
    outline-offset: 2px !important;
}

/* ==========================================================================
 * 2. TOPBAR — Solid black, 48px height
 * ========================================================================== */

.pm-topbar {
    background: #000 !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    border-bottom: none !important;
    position: relative !important;
    z-index: 101 !important;
}

.pm-topbar__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 100% !important;
}

.pm-topbar__nav {
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
}

.pm-topbar__list {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 24px !important;
    align-items: center !important;
}

.pm-topbar__item {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pm-topbar__list a,
.pm-topbar__item a,
.pm-topbar__list li a {
    color: #fff !important;
    font-family: var(--pm-font-ui) !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    letter-spacing: 0.3px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: opacity 0.2s ease !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.pm-topbar__list a:hover,
.pm-topbar__item a:hover {
    opacity: 0.7 !important;
    color: #fff !important;
}

/* Topbar social icons */
.pm-topbar__social {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.pm-topbar__social-link {
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    transition: opacity 0.2s ease !important;
}

.pm-topbar__social-link:hover {
    opacity: 0.7 !important;
}

.pm-topbar__social-link svg {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
}

/* ==========================================================================
 * 3. MAIN HEADER — White, sticky, with shadow on scroll
 * ========================================================================== */

.pm-header {
    background: #fff !important;
    border-bottom: 1px solid #eee !important;
    padding: 0 !important;
    height: 72px !important;
    position: sticky !important;
    overflow: visible !important;
    top: 0 !important;
    z-index: 100 !important;
    transition: box-shadow 0.3s ease, background-color 0.3s ease !important;
    box-shadow: none !important;
}

.pm-header--sticky {
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06) !important;
}

.pm-header__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 72px !important;
    gap: 32px !important;
}

/* Logo */
.pm-header__logo {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.pm-header__logo img,
.pm-header__logo .custom-logo {
    max-height: 44px !important;
    width: auto !important;
    object-fit: contain !important;
}

.pm-header__site-title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: 26px !important;
    color: var(--pm-gray-900) !important;
    letter-spacing: -0.5px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: color 0.2s ease !important;
}

.pm-header__site-title:hover {
    color: var(--pm-blue) !important;
}

/* Primary navigation */
.pm-header__nav {
    flex: 1 1 0% !important;
    display: flex !important;
    justify-content: center !important;
    min-width: 0 !important;
    overflow: visible !important;
}

.pm-nav__list {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 16px !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    max-width: 100% !important;
}

.pm-nav__list > li {
    margin: 0 !important;
    padding: 0 !important;
}

.pm-nav__list a,
.pm-nav__list > li > a,
.pm-nav__list .menu-item > a {
    font-family: var(--pm-font-ui) !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    color: var(--pm-gray-800) !important;
    text-decoration: none !important;
    letter-spacing: 0.2px !important;
    transition: color 0.2s ease !important;
    position: relative !important;
    padding: 4px 0 !important;
    white-space: nowrap !important;
}

.pm-nav__list a:hover,
.pm-nav__list > li > a:hover {
    color: var(--pm-blue) !important;
}

/* Active nav underline */
.pm-nav__list .current-menu-item > a,
.pm-nav__list .current_page_item > a {
    color: var(--pm-blue) !important;
}

.pm-nav__list .current-menu-item > a::after,
.pm-nav__list .current_page_item > a::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: var(--pm-blue) !important;
    border-radius: 1px !important;
}

/* Submenu */
.pm-nav__list .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(8px) !important;
    background: #fff !important;
    border: 1px solid #eee !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1) !important;
    padding: 8px 0 !important;
    min-width: 200px !important;
    list-style: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
    z-index: 200 !important;
}

.pm-nav__list > li:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
}

.pm-nav__list .sub-menu a {
    display: block !important;
    padding: 8px 20px !important;
    font-size: 14px !important;
    color: var(--pm-gray-700) !important;
}

.pm-nav__list .sub-menu a:hover {
    background: var(--pm-gray-100) !important;
    color: var(--pm-blue) !important;
}

/* Header actions (dark toggle + search) */
.pm-header__actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
}

/* Ensure actions sit above nav overflow */
.pm-header__actions {
    position: relative !important;
    z-index: 2 !important;
    background: #fff !important;
}

[data-theme="dark"] .pm-header__actions {
    background: var(--pm-gray-900, #111) !important;
}

/* Dark mode toggle */
.pm-dark-toggle {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid #ddd !important;
    border-radius: 20px !important;
    padding: 6px 16px !important;
    background: transparent !important;
    cursor: pointer !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--pm-gray-700) !important;
    transition: border-color 0.2s ease, background 0.2s ease !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

.pm-dark-toggle:hover {
    border-color: var(--pm-gray-400) !important;
    background: var(--pm-gray-50) !important;
}

.pm-dark-toggle__dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: var(--pm-gray-900) !important;
    transition: background 0.2s ease !important;
}

.pm-dark-toggle__label {
    display: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* Search form (desktop) */
.pm-header__search {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}

.pm-header__search-input {
    background: var(--pm-gray-100) !important;
    border: none !important;
    border-radius: 24px !important;
    padding: 10px 40px 10px 20px !important;
    width: 220px !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 14px !important;
    color: var(--pm-gray-800) !important;
    outline: none !important;
    transition: width 0.3s ease, background 0.2s ease, box-shadow 0.2s ease !important;
}

.pm-header__search-input::placeholder {
    color: var(--pm-gray-500) !important;
}

.pm-header__search-input:focus {
    width: 260px !important;
    background: #fff !important;
    box-shadow: 0 0 0 2px var(--pm-blue) !important;
}

.pm-header__search-btn {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: var(--pm-gray-500) !important;
    padding: 4px !important;
    display: flex !important;
    align-items: center !important;
    transition: color 0.2s ease !important;
}

.pm-header__search-btn:hover {
    color: var(--pm-blue) !important;
}

/* Mobile search toggle — hidden on desktop */
.pm-header__search-toggle {
    display: none !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: var(--pm-gray-700) !important;
    padding: 8px !important;
}

/* Hamburger — hidden on desktop */
.pm-hamburger {
    display: none !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 44px !important;
    height: 44px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 10px !important;
}

.pm-hamburger__line {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    background: var(--pm-gray-800) !important;
    border-radius: 2px !important;
    transition: transform 0.3s ease, opacity 0.3s ease !important;
}

/* Hamburger open state */
.pm-hamburger[aria-expanded="true"] .pm-hamburger__line:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
}

.pm-hamburger[aria-expanded="true"] .pm-hamburger__line:nth-child(2) {
    opacity: 0 !important;
}

.pm-hamburger[aria-expanded="true"] .pm-hamburger__line:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
}

/* ==========================================================================
 * 4. MOBILE DRAWER
 * ========================================================================== */

.pm-drawer {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1000 !important;
    display: none !important;
}

.pm-drawer[hidden] {
    display: none !important;
}

.pm-drawer:not([hidden]) {
    display: block !important;
}

.pm-drawer__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.5) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    z-index: 1 !important;
}

.pm-drawer--open .pm-drawer__overlay {
    opacity: 1 !important;
}

.pm-drawer__panel {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 300px !important;
    max-width: 85vw !important;
    height: 100% !important;
    background: #fff !important;
    transform: translateX(100%) !important;
    transition: transform 0.3s var(--pm-ease-out) !important;
    overflow-y: auto !important;
    padding: 24px !important;
    box-shadow: -4px 0 30px rgba(0, 0, 0, 0.1) !important;
    z-index: 10 !important;
}

.pm-drawer--open .pm-drawer__panel {
    transform: translateX(0) !important;
}

.pm-drawer__close {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border: none !important;
    background: var(--pm-gray-100) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    margin-bottom: 20px !important;
    margin-left: auto !important;
    color: var(--pm-gray-700) !important;
    transition: background 0.2s ease !important;
}

.pm-drawer__close:hover {
    background: var(--pm-gray-200) !important;
}

.pm-drawer__search {
    display: flex !important;
    gap: 8px !important;
    margin-bottom: 24px !important;
}

.pm-drawer__search-input {
    flex: 1 !important;
    padding: 12px 16px !important;
    border: 1px solid #eee !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-family: var(--pm-font-ui) !important;
    outline: none !important;
}

.pm-drawer__search-input:focus {
    border-color: var(--pm-blue) !important;
    box-shadow: 0 0 0 2px rgba(0, 102, 255, 0.15) !important;
}

.pm-drawer__search-btn {
    padding: 12px !important;
    background: var(--pm-blue) !important;
    border: none !important;
    border-radius: 8px !important;
    color: #fff !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
}

.pm-drawer__nav {
    margin: 0 !important;
}

/* Drawer nav list — force vertical layout for ANY list inside drawer */
.pm-drawer__list,
.pm-drawer__nav ul,
.pm-drawer__nav .pm-nav__list,
.pm-drawer__nav .menu {
    display: flex !important;
    flex-direction: column !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    flex-wrap: nowrap !important;
}

.pm-drawer__list li,
.pm-drawer__nav ul li,
.pm-drawer__nav .pm-nav__list li,
.pm-drawer__nav .menu li {
    border-bottom: 1px solid #f0f0f0 !important;
    width: 100% !important;
    flex-shrink: 0 !important;
}

.pm-drawer__list a,
.pm-drawer__nav ul a,
.pm-drawer__nav .pm-nav__list a,
.pm-drawer__nav .menu a {
    display: block !important;
    padding: 14px 0 !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--pm-gray-800) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    white-space: nowrap !important;
}

.pm-drawer__list a:hover,
.pm-drawer__nav ul a:hover,
.pm-drawer__nav .pm-nav__list a:hover,
.pm-drawer__nav .menu a:hover {
    color: var(--pm-blue) !important;
}

/* Drawer submenu: indented */
.pm-drawer__nav .sub-menu,
.pm-drawer__nav ul ul {
    display: flex !important;
    flex-direction: column !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 0 0 20px !important;
}

.pm-drawer__nav .sub-menu a,
.pm-drawer__nav ul ul a {
    font-size: 15px !important;
    color: var(--pm-gray-600) !important;
    padding: 10px 0 !important;
}

/* ==========================================================================
 * 5. SEARCH OVERLAY (mobile)
 * ========================================================================== */

.pm-search-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1001 !important;
    align-items: center !important;
    /* display: flex set ONLY when open — hidden attribute must work */
    display: none !important;
}

.pm-search-overlay[hidden] {
    display: none !important;
}

.pm-search-overlay:not([hidden]) {
    display: flex !important;
    justify-content: center !important;
}

.pm-search-overlay__backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.7) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
}

.pm-search-overlay--open .pm-search-overlay__backdrop {
    opacity: 1 !important;
}

.pm-search-overlay__content {
    position: relative !important;
    z-index: 1 !important;
    width: 90% !important;
    max-width: 600px !important;
    transform: translateY(-20px) !important;
    opacity: 0 !important;
    transition: transform 0.3s ease, opacity 0.3s ease !important;
}

.pm-search-overlay--open .pm-search-overlay__content {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

.pm-search-overlay__close {
    position: absolute !important;
    top: -50px !important;
    right: 0 !important;
    background: none !important;
    border: none !important;
    color: #fff !important;
    cursor: pointer !important;
    padding: 8px !important;
}

.pm-search-overlay__input {
    width: 100% !important;
    padding: 20px 24px !important;
    font-size: 20px !important;
    font-family: var(--pm-font-ui) !important;
    border: none !important;
    border-radius: 12px !important;
    outline: none !important;
    box-shadow: 0 4px 40px rgba(0, 0, 0, 0.2) !important;
}

/* ==========================================================================
 * 6. SECTION HEADERS — Shared label + title pattern
 * ========================================================================== */

.pm-section-header {
    margin-bottom: 32px !important;
}

.pm-section-header--with-tabs {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 24px !important;
    flex-wrap: wrap !important;
}

.pm-section-header__left {
    flex-shrink: 0 !important;
}

.pm-section-label {
    display: block !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--pm-gray-500) !important;
    margin-bottom: 4px !important;
}

.pm-section-label--light {
    color: rgba(255, 255, 255, 0.5) !important;
}

.pm-section-title {
    font-family: var(--pm-font-heading) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--pm-gray-900) !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

.pm-section-title--light {
    color: #fff !important;
}

/* ==========================================================================
 * 7. HERO SPLIT — 60/40 signature layout
 * ========================================================================== */

.pm-hero-split {
    padding: 0 !important;
    margin-bottom: 48px !important;
    background: none !important;
}

.pm-hero-split__inner {
    display: grid !important;
    grid-template-columns: 1.5fr 1fr !important;
    gap: 0 !important;
    min-height: 550px !important;
}

/* LEFT panel */
.pm-hero-split__left {
    position: relative !important;
    min-height: 550px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
}

.pm-hero-split__link {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    text-decoration: none !important;
    color: #fff !important;
    overflow: hidden !important;
}

.pm-hero-split__image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 6s ease !important;
    filter: none !important;
}

.pm-hero-split__link:hover .pm-hero-split__image {
    transform: scale(1.03) !important;
}

.pm-hero-split__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 35%, rgba(0, 0, 0, 0.1) 55%, transparent 70%) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 40px !important;
    z-index: 1 !important;
}

.pm-hero-split__meta-top {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
}

.pm-hero-split__title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(1.75rem, 4vw, 2.75rem) !important;
    color: #fff !important;
    line-height: 1.15 !important;
    margin: 0 0 20px !important;
    max-width: 600px !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

.pm-hero-split__author {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
}

/* Hero/overlay context: larger avatar with white border */
.pm-meta__avatar--hero,
.pm-card-overlay__meta-bottom .pm-meta__avatar,
.pm-from-us__meta .pm-meta__avatar {
    width: 36px !important;
    height: 36px !important;
    font-size: 15px !important;
    border: 2px solid rgba(255, 255, 255, 0.5) !important;
}

/* RIGHT panel — trending sidebar */
.pm-hero-split__right {
    background: var(--pm-white) !important;
    padding: 32px !important;
    display: flex !important;
    flex-direction: column !important;
    border-left: 1px solid #eee !important;
}

.pm-hero-split__right .pm-section-label {
    color: var(--pm-gray-500) !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
    margin-bottom: 4px !important;
}

.pm-trending-title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    color: var(--pm-gray-900) !important;
    margin: 0 0 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #eee !important;
    line-height: 1.3 !important;
}

.pm-trending-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    flex: 1 !important;
}

/* ==========================================================================
 * 8. BADGES — Category colored text, no background
 * ========================================================================== */

.pm-badge {
    font-family: var(--pm-font-ui) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    transition: opacity 0.2s ease !important;
    display: inline-block !important;
    line-height: 1.4 !important;
}

.pm-badge:hover {
    opacity: 0.75 !important;
}

.pm-badge--overlay {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.pm-badge--large {
    font-size: 14px !important;
    letter-spacing: 0.8px !important;
}

.pm-badge--small {
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
}

/* ==========================================================================
 * 9. META — Author, date, views, comments
 * ========================================================================== */

.pm-avatar {
    border-radius: 50% !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
}

.pm-avatar--small {
    width: 32px !important;
    height: 32px !important;
}

.pm-avatar--large {
    width: 80px !important;
    height: 80px !important;
}

/* ==========================================================================
 * POST META — Initial-letter avatar + single-row layout
 * ========================================================================== */

.pm-meta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
}

/* Initial-letter avatar circle */
.pm-meta__avatar {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: var(--pm-blue, #0066FF) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.pm-meta__avatar::after {
    content: attr(data-initial) !important;
    color: #fff !important;
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

.pm-meta__author {
    font-size: 13px !important;
    font-weight: 600 !important;
}

.pm-meta__author a {
    color: var(--pm-gray-900) !important;
    text-decoration: none !important;
}

.pm-meta__date {
    font-size: 12px !important;
    color: var(--pm-gray-500) !important;
}

/* Dark mode meta */
[data-theme="dark"] .pm-meta__author a {
    color: #cbd5e1 !important;
}

[data-theme="dark"] .pm-meta__date {
    color: #94a3b8 !important;
}

.pm-meta-author,
.pm-meta-author--link {
    font-family: var(--pm-font-ui) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--pm-gray-900) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.pm-meta-author--link:hover {
    color: var(--pm-blue) !important;
}

/* In overlay contexts (hero, from-us, dark section), author text is white */
.pm-hero-split__author .pm-meta-author,
.pm-card-overlay__meta-bottom .pm-meta-author,
.pm-from-us__meta .pm-meta-author,
.pm-newsletter__featured-meta .pm-meta-author {
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
}

.pm-meta-date {
    font-family: var(--pm-font-ui) !important;
    font-size: 13px !important;
    color: var(--pm-gray-500) !important;
}

.pm-hero-split__author .pm-meta-date,
.pm-card-overlay__meta-bottom .pm-meta-date,
.pm-from-us__meta .pm-meta-date,
.pm-newsletter__featured-meta .pm-meta-date {
    color: rgba(255, 255, 255, 0.65) !important;
}

.pm-meta-sep {
    color: var(--pm-gray-400) !important;
    margin: 0 2px !important;
}

.pm-hero-split__author .pm-meta-sep,
.pm-card-overlay__meta-bottom .pm-meta-sep,
.pm-from-us__meta .pm-meta-sep,
.pm-newsletter__featured-meta .pm-meta-sep {
    color: rgba(255, 255, 255, 0.4) !important;
}

.pm-meta-comments,
.pm-meta-views {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

.pm-meta-comments svg,
.pm-meta-views svg,
.pm-icon {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
}

.pm-meta-views--small {
    font-size: 12px !important;
    color: var(--pm-gray-500) !important;
}

.pm-meta-reading-time {
    font-family: var(--pm-font-ui) !important;
    font-size: 13px !important;
    color: var(--pm-gray-500) !important;
}

/* Post meta wrapper (from template-tags.php papermag_post_meta()) */
.pm-post-meta {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 12px !important;
}

/* ==========================================================================
 * 10. CARD: NUMBERED — Hero sidebar & dark section right
 * ========================================================================== */

.pm-card-numbered {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 18px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    text-decoration: none !important;
}

.pm-card-numbered:last-child {
    border-bottom: none !important;
}

.pm-card-numbered__number {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 32px !important;
    height: 32px !important;
    background: var(--pm-gray-900) !important;
    color: #fff !important;
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

.pm-card-numbered__image-link {
    flex-shrink: 0 !important;
    display: block !important;
    width: 110px !important;
    height: 80px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.pm-card-numbered__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}

.pm-card-numbered:hover .pm-card-numbered__image {
    transform: scale(1.05) !important;
}

.pm-card-numbered__body {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.pm-card-numbered__title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.pm-card-numbered__title a {
    color: var(--pm-gray-900) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.pm-card-numbered__title a:hover {
    color: var(--pm-blue) !important;
}

/* Dark section numbered cards: white text */
.pm-dark-section .pm-card-numbered {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
    background: transparent !important;
}

.pm-dark-section .pm-card-numbered__number {
    background: rgba(255, 255, 255, 0.15) !important;
}

.pm-dark-section .pm-card-numbered__title a {
    color: #fff !important;
}

.pm-dark-section .pm-card-numbered__title a:hover {
    color: var(--pm-blue) !important;
}

.pm-dark-section .pm-meta-views--small {
    color: rgba(255, 255, 255, 0.5) !important;
}

.pm-dark-section .pm-card-numbered .pm-badge {
    color: var(--pm-blue, #0066FF) !important;
}

.pm-dark-section .pm-card-numbered .pm-meta-views {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Hide view count when it shows "0" — no tracking data available */
.pm-meta-views:empty,
.pm-meta-views--small:empty {
    display: none !important;
}

/* ==========================================================================
 * 11. CARD: STANDARD — Image, category, title, excerpt, meta
 * ========================================================================== */

.pm-card-standard {
    background: var(--pm-white) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    transition: transform 0.3s var(--pm-ease-out), box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

.pm-card-standard:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08) !important;
}

.pm-card-standard__image-link {
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    text-decoration: none !important;
    aspect-ratio: 16/10 !important;
}

.pm-card-standard__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
    display: block !important;
}

.pm-card-standard:hover .pm-card-standard__image {
    transform: scale(1.04) !important;
}

.pm-card-standard__placeholder {
    width: 100% !important;
    height: 100% !important;
    background: var(--pm-gray-100) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    aspect-ratio: 16/10 !important;
}

.pm-card-standard__body {
    padding: 16px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex: 1 !important;
}

.pm-card-standard__title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 600 !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: var(--pm-card-title-lines, 3) !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.pm-card-standard__title a {
    color: var(--pm-gray-900) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.pm-card-standard__title a:hover {
    color: var(--pm-blue) !important;
}

.pm-card-standard__excerpt {
    font-family: var(--pm-font-body) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: var(--pm-gray-600) !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: var(--pm-card-excerpt-lines, 2) !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Dark section standard cards */
.pm-dark-section .pm-card-standard__title a {
    color: #fff !important;
}

.pm-dark-section .pm-card-standard__title a:hover {
    color: var(--pm-blue) !important;
}

.pm-dark-section .pm-card-standard__excerpt {
    color: rgba(255, 255, 255, 0.6) !important;
}

/* ==========================================================================
 * 12. CARD: OVERLAY — Full image bg, gradient scrim, white text
 * ========================================================================== */

.pm-card-overlay {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    min-height: 400px !important;
}

.pm-card-overlay__link {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 400px !important;
    text-decoration: none !important;
    color: #fff !important;
    overflow: hidden !important;
}

.pm-card-overlay__image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
    filter: none !important;
}

.pm-card-overlay:hover .pm-card-overlay__image {
    transform: scale(1.03) !important;
}

.pm-card-overlay__placeholder {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, var(--pm-gray-800), var(--pm-gray-900)) !important;
}

.pm-card-overlay__content {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.3) 45%, transparent 75%) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 32px !important;
    z-index: 1 !important;
}

.pm-card-overlay__meta-top {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 12px !important;
}

.pm-card-overlay__title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(1.25rem, 2.5vw, 1.75rem) !important;
    color: #fff !important;
    line-height: 1.2 !important;
    margin: 0 0 14px !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.pm-card-overlay__meta-bottom {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* ==========================================================================
 * 13. CARD: HORIZONTAL — Image left, content right
 * ========================================================================== */

.pm-card-horizontal {
    display: flex !important;
    gap: 16px !important;
    align-items: flex-start !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    transition: background 0.2s ease !important;
}

.pm-card-horizontal:last-child {
    border-bottom: none !important;
}

.pm-card-horizontal--dark {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

.pm-card-horizontal__image-link {
    flex-shrink: 0 !important;
    display: block !important;
    width: 130px !important;
    height: 90px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.pm-card-horizontal__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}

.pm-card-horizontal:hover .pm-card-horizontal__image {
    transform: scale(1.05) !important;
}

.pm-card-horizontal__body {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.pm-card-horizontal__title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.pm-card-horizontal__title a {
    color: var(--pm-gray-900) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.pm-card-horizontal__title a:hover {
    color: var(--pm-blue) !important;
}

.pm-card-horizontal--dark .pm-card-horizontal__title a {
    color: #fff !important;
}

.pm-card-horizontal--dark .pm-card-horizontal__title a:hover {
    color: var(--pm-blue) !important;
}

.pm-card-horizontal__excerpt {
    font-size: 13px !important;
    color: var(--pm-gray-600) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.pm-card-horizontal__meta {
    margin-top: auto !important;
}

/* ==========================================================================
 * 14. CARD: TEXT ONLY — Latest News right column
 * ========================================================================== */

.pm-card-text-only {
    padding: 20px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.pm-card-text-only:last-child {
    border-bottom: none !important;
}

.pm-card-text-only__title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 600 !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
    margin: 6px 0 8px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: var(--pm-card-title-lines, 2) !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.pm-card-text-only__title a {
    color: var(--pm-gray-900) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.pm-card-text-only__title a:hover {
    color: var(--pm-blue) !important;
}

.pm-card-text-only__excerpt {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: var(--pm-gray-600) !important;
    margin: 0 0 8px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: var(--pm-card-excerpt-lines, 2) !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.pm-card-text-only__meta {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* ==========================================================================
 * 15. TOP STORIES SECTION — 5-column grid
 * ========================================================================== */

.pm-top-stories {
    padding: 48px 0 !important;
    background: none !important;
}

.pm-top-stories__grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 24px !important;
}

.pm-top-stories .pm-card-standard__image-link {
    aspect-ratio: 4/3 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.pm-top-stories .pm-card-standard__title {
    font-size: 14px !important;
    -webkit-line-clamp: 2 !important;
}

.pm-top-stories .pm-card-standard__excerpt {
    display: none !important;
}

/* ==========================================================================
 * 16. WHAT'S NEW SECTION — Tabbed categories
 * ========================================================================== */

.pm-whats-new {
    padding: 48px 0 !important;
    background: none !important;
}

/* Tabs */
.pm-tabs {
    display: flex !important;
    gap: 4px !important;
    flex-wrap: wrap !important;
}

.pm-tabs__btn {
    font-family: var(--pm-font-ui) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--pm-gray-600) !important;
    background: none !important;
    border: none !important;
    padding: 8px 18px !important;
    border-radius: 20px !important;
    cursor: pointer !important;
    transition: color 0.2s ease, background 0.2s ease !important;
    white-space: nowrap !important;
}

.pm-tabs__btn:hover {
    color: var(--pm-gray-900) !important;
    background: var(--pm-gray-100) !important;
}

.pm-tabs__btn--active,
.pm-tabs__btn[aria-selected="true"] {
    color: #fff !important;
    background: var(--pm-gray-900) !important;
}

.pm-tabs__btn--active:hover,
.pm-tabs__btn[aria-selected="true"]:hover {
    color: #fff !important;
    background: var(--pm-gray-800) !important;
}

/* Tab panels */
.pm-whats-new__panel {
    display: none !important;
}

.pm-whats-new__panel--active,
.pm-whats-new__panel[hidden="false"],
.pm-whats-new__panel:not([hidden]) {
    display: block !important;
}

.pm-whats-new__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
}

/* First child (overlay card) spans full height of first column */
.pm-whats-new__grid .pm-card-overlay {
    grid-row: 1 / -1 !important;
    min-height: 450px !important;
}

.pm-whats-new__grid .pm-card-standard {
    border-bottom: 1px solid #f0f0f0 !important;
    padding-bottom: 20px !important;
}

.pm-whats-new__grid .pm-card-standard:last-child {
    border-bottom: none !important;
}

.pm-empty-state {
    color: var(--pm-gray-500) !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 14px !important;
    text-align: center !important;
    padding: 40px 20px !important;
}

/* ==========================================================================
 * 17. DARK SECTION — Rich black background
 * ========================================================================== */

.pm-dark-section {
    background: #111 !important;
    padding: 56px 0 !important;
    position: relative !important;
}

.pm-dark-section__grid {
    display: grid !important;
    grid-template-columns: 1fr 1.2fr 1fr !important;
    gap: 32px !important;
}

.pm-dark-section__left {
    display: flex !important;
    flex-direction: column !important;
}

.pm-dark-section__center {
    display: flex !important;
}

.pm-dark-section__center .pm-card-overlay {
    width: 100% !important;
    min-height: 100% !important;
}

.pm-dark-section__center .pm-card-overlay__link {
    min-height: 450px !important;
}

.pm-dark-section__right {
    display: flex !important;
    flex-direction: column !important;
}

/* ==========================================================================
 * 18. FROM US — Large parallax-style featured post
 * ========================================================================== */

.pm-from-us {
    padding: 48px 0 !important;
    background: none !important;
}

.pm-from-us__card {
    position: relative !important;
    min-height: 420px !important;
    background-size: cover !important;
    background-position: center !important;
    overflow: hidden !important;
    border-radius: 0 !important;
}

.pm-from-us__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.35) 40%, transparent 70%) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 48px !important;
}

.pm-from-us__title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(1.5rem, 3.5vw, 2.5rem) !important;
    line-height: 1.15 !important;
    margin: 12px 0 20px !important;
    max-width: 700px !important;
}

.pm-from-us__title a {
    color: #fff !important;
    text-decoration: none !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

.pm-from-us__meta {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* ==========================================================================
 * 19. NEWSLETTER SECTION — 2-column: featured + form
 * ========================================================================== */

.pm-newsletter {
    padding: 48px 0 !important;
    background: none !important;
}

.pm-newsletter__inner {
    display: grid !important;
    grid-template-columns: 55% 45% !important;
    gap: 32px !important;
    align-items: stretch !important;
}

/* Featured post left */
.pm-newsletter__featured {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    min-height: 380px !important;
}

.pm-newsletter__featured-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    text-decoration: none !important;
    color: #fff !important;
    overflow: hidden !important;
}

.pm-newsletter__featured-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

.pm-newsletter__featured:hover .pm-newsletter__featured-image {
    transform: scale(1.03) !important;
}

.pm-newsletter__featured-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    /* Anchored at bottom — height from content */
    background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.6) 60%, transparent 100%) !important;
    padding: 32px !important;
    z-index: 2 !important;
}

/* Constrain newsletter meta so it doesn't balloon and push title off-screen */
.pm-newsletter__featured-meta {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
}

.pm-newsletter__featured-meta .pm-meta__avatar,
.pm-newsletter__featured-meta .pm-meta__avatar img {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
}

.pm-newsletter__featured-meta .pm-meta__author,
.pm-newsletter__featured-meta .pm-meta__date {
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: #fff !important;
}

.pm-newsletter__featured-title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(1.25rem, 2.5vw, 1.75rem) !important;
    color: #fff !important;
    line-height: 1.2 !important;
    margin: 10px 0 14px !important;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5) !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.pm-newsletter__featured .pm-badge--overlay {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

.pm-newsletter__featured-meta {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Newsletter form right */
.pm-newsletter__sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.pm-newsletter__form-wrapper {
    background: var(--pm-gray-50) !important;
    padding: 32px !important;
    border-radius: 0 !important;
}

.pm-newsletter__heading {
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    color: var(--pm-gray-900) !important;
    margin: 0 0 10px !important;
}

.pm-newsletter__desc {
    font-size: 14px !important;
    color: var(--pm-gray-600) !important;
    line-height: 1.6 !important;
    margin: 0 0 20px !important;
}

.pm-newsletter__input-group {
    display: flex !important;
    gap: 0 !important;
}

.pm-newsletter__input {
    flex: 1 !important;
    padding: 14px 16px !important;
    border: 1px solid #ddd !important;
    border-right: none !important;
    border-radius: 4px 0 0 4px !important;
    font-size: 14px !important;
    font-family: var(--pm-font-ui) !important;
    outline: none !important;
    background: #fff !important;
    transition: border-color 0.2s ease !important;
}

.pm-newsletter__input:focus {
    border-color: var(--pm-blue) !important;
}

.pm-newsletter__submit {
    padding: 14px 24px !important;
    background: var(--pm-blue) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 4px 4px 0 !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background 0.2s ease !important;
}

.pm-newsletter__submit:hover {
    background: #0052cc !important;
}

/* Category links grid */
.pm-newsletter__categories {
    margin-top: auto !important;
}

.pm-newsletter__cat-heading {
    font-family: var(--pm-font-heading) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: var(--pm-gray-900) !important;
    margin: 0 0 14px !important;
}

.pm-newsletter__cat-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
}

.pm-newsletter__cat-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 14px !important;
    border-left: 3px solid !important;
    background: var(--pm-gray-50) !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--pm-gray-800) !important;
    text-decoration: none !important;
    transition: background 0.2s ease !important;
}

.pm-newsletter__cat-link:hover {
    background: var(--pm-gray-100) !important;
}

.pm-newsletter__cat-count {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--pm-gray-500) !important;
    background: var(--pm-gray-200) !important;
    padding: 2px 8px !important;
    border-radius: 10px !important;
    min-width: 24px !important;
    text-align: center !important;
}

/* ==========================================================================
 * 20. DISCOVER GRID — 3-column inspiration cards
 * ========================================================================== */

.pm-discover {
    padding: 48px 0 !important;
    background: none !important;
}

.pm-discover__grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}

/* ==========================================================================
 * 21. LATEST NEWS — Mixed layout: 3 image + 3 text-only
 * ========================================================================== */

.pm-latest-news {
    padding: 48px 0 !important;
    background: none !important;
}

.pm-latest-news__grid {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr !important;
    gap: 40px !important;
}

.pm-latest-news__left {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.pm-latest-news__right {
    display: flex !important;
    flex-direction: column !important;
    border-left: 1px solid #eee !important;
    padding-left: 40px !important;
}

.pm-latest-news__footer {
    text-align: center !important;
    margin-top: 40px !important;
}

/* Outline button */
.pm-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    padding: 12px 28px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.pm-btn--outline {
    color: var(--pm-gray-800) !important;
    background: none !important;
    border: 1px solid var(--pm-gray-300) !important;
}

.pm-btn--outline:hover {
    border-color: var(--pm-gray-900) !important;
    color: var(--pm-gray-900) !important;
    background: var(--pm-gray-50) !important;
}

/* ==========================================================================
 * 22. SINGLE POST
 * ========================================================================== */

.pm-main--single {
    padding-bottom: 60px !important;
}

.pm-single {
    margin: 0 !important;
}

/* Breadcrumbs */
.pm-breadcrumbs {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 16px 0 !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 13px !important;
    color: var(--pm-gray-500) !important;
}

.pm-breadcrumbs a {
    color: var(--pm-gray-500) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.pm-breadcrumbs a:hover {
    color: var(--pm-blue) !important;
}

.pm-breadcrumbs__sep {
    color: var(--pm-gray-400) !important;
}

/* Article header */
.pm-single__header {
    text-align: center !important;
    padding: 24px 0 32px !important;
}

.pm-single__title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(1.75rem, 4vw, 2.75rem) !important;
    line-height: 1.15 !important;
    color: var(--pm-gray-900) !important;
    margin: 16px 0 24px !important;
    max-width: 700px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.pm-single__meta {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    justify-content: center !important;
}

.pm-single__meta .pm-avatar {
    width: 44px !important;
    height: 44px !important;
}

.pm-single__meta-text {
    text-align: left !important;
}

.pm-single__meta-secondary {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* Featured image */
.pm-single__featured-image {
    margin: 0 0 40px !important;
    overflow: hidden !important;
}

.pm-single__featured-image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    aspect-ratio: 16/9 !important;
    object-fit: cover !important;
}

/* Article body */
.pm-single__content-wrap {
    padding: 0 !important;
}

.pm-article__body {
    font-family: var(--pm-font-body) !important;
    font-size: 18px !important;
    line-height: 1.8 !important;
    color: var(--pm-gray-800) !important;
}

.pm-article__body p {
    margin-bottom: 1.5em !important;
}

.pm-article__body h2 {
    font-family: var(--pm-font-heading) !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    margin: 2em 0 0.8em !important;
    color: var(--pm-gray-900) !important;
}

.pm-article__body h3 {
    font-family: var(--pm-font-heading) !important;
    font-weight: 600 !important;
    font-size: 20px !important;
    margin: 1.5em 0 0.6em !important;
    color: var(--pm-gray-900) !important;
}

.pm-article__body img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 4px !important;
    margin: 1.5em 0 !important;
}

.pm-article__body blockquote {
    border-left: 3px solid var(--pm-blue) !important;
    padding: 16px 24px !important;
    margin: 1.5em 0 !important;
    font-style: italic !important;
    color: var(--pm-gray-700) !important;
    background: var(--pm-gray-50) !important;
}

.pm-article__body a {
    color: var(--pm-blue) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.pm-article__body a:hover {
    text-decoration-color: var(--pm-blue) !important;
}

/* Share bar */
.pm-share-bar {
    display: flex !important;
    gap: 10px !important;
    padding: 20px 0 !important;
    border-top: 1px solid #eee !important;
    border-bottom: 1px solid #eee !important;
    margin: 32px 0 !important;
}

.pm-share-bar__link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    color: var(--pm-gray-600) !important;
    border: 1px solid #eee !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.pm-share-bar__link:hover {
    color: #fff !important;
    border-color: transparent !important;
}

/* Tags */
.pm-single__tags {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin: 24px 0 !important;
}

.pm-single__tags-label {
    font-family: var(--pm-font-ui) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--pm-gray-800) !important;
}

.pm-tag {
    display: inline-block !important;
    padding: 4px 14px !important;
    background: var(--pm-gray-100) !important;
    border-radius: 20px !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 13px !important;
    color: var(--pm-gray-600) !important;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

.pm-tag:hover {
    background: var(--pm-gray-900) !important;
    color: #fff !important;
}

/* Author bio box */
.pm-author-bio {
    display: flex !important;
    gap: 20px !important;
    padding: 28px !important;
    background: var(--pm-gray-50) !important;
    border-radius: 0 !important;
    margin: 32px 0 !important;
    align-items: flex-start !important;
}

.pm-author-bio__avatar {
    flex-shrink: 0 !important;
}

.pm-author-bio__content {
    flex: 1 !important;
}

.pm-author-bio__name {
    font-family: var(--pm-font-heading) !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    margin: 0 0 8px !important;
}

.pm-author-bio__name a {
    color: var(--pm-gray-900) !important;
    text-decoration: none !important;
}

.pm-author-bio__desc {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: var(--pm-gray-600) !important;
    margin: 0 0 12px !important;
}

.pm-author-bio__link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--pm-blue) !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease !important;
}

.pm-author-bio__link:hover {
    opacity: 0.75 !important;
}

/* Related posts */
.pm-related {
    padding: 48px 0 !important;
    border-top: 1px solid #eee !important;
}

.pm-related__grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}

/* ==========================================================================
 * 23. FOOTER — Dark 4-column
 * ========================================================================== */

.pm-footer {
    background: #111 !important;
    padding: 56px 0 0 !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

.pm-footer__grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 40px !important;
    padding-bottom: 48px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.pm-footer__col {
    display: flex !important;
    flex-direction: column !important;
}

.pm-footer-widget__title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: #fff !important;
    margin: 0 0 20px !important;
    padding-bottom: 12px !important;
    position: relative !important;
}

.pm-footer-widget__title::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 30px !important;
    height: 3px !important;
    background: var(--pm-blue) !important;
    border-radius: 2px !important;
}

/* Categories (2-column layout) */
.pm-footer__categories-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 16px !important;
}

.pm-footer__cat-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pm-footer__cat-list li {
    margin-bottom: 10px !important;
}

.pm-footer__cat-list a {
    color: rgba(255, 255, 255, 0.6) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-family: var(--pm-font-ui) !important;
    transition: color 0.2s ease !important;
}

.pm-footer__cat-list a:hover {
    color: #fff !important;
}

/* Newsroom links */
.pm-footer__link-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pm-footer__link-list li {
    margin-bottom: 10px !important;
}

.pm-footer__link-list a {
    color: rgba(255, 255, 255, 0.6) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-family: var(--pm-font-ui) !important;
    transition: color 0.2s ease !important;
}

.pm-footer__link-list a:hover {
    color: #fff !important;
}

/* Contact info */
.pm-footer__contact-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pm-footer__contact-item {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
    margin-bottom: 14px !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 14px !important;
}

.pm-footer__contact-item svg {
    flex-shrink: 0 !important;
    margin-top: 2px !important;
    color: rgba(255, 255, 255, 0.4) !important;
}

.pm-footer__contact-item a {
    color: rgba(255, 255, 255, 0.6) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.pm-footer__contact-item a:hover {
    color: #fff !important;
}

/* Most Popular posts */
.pm-footer__popular-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pm-footer__popular-item {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.pm-footer__popular-item:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.pm-footer__popular-thumb {
    flex-shrink: 0 !important;
    width: 60px !important;
    height: 60px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    display: block !important;
}

.pm-footer__popular-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.pm-footer__popular-info {
    flex: 1 !important;
    min-width: 0 !important;
}

.pm-footer__popular-title {
    display: block !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    margin-bottom: 4px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    transition: color 0.2s ease !important;
}

.pm-footer__popular-title:hover {
    color: #fff !important;
}

.pm-footer__popular-date {
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.4) !important;
}

/* Footer bottom bar */
.pm-footer__bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 20px 0 !important;
    background: transparent !important;
}

.pm-footer__copyright {
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.4) !important;
    font-family: var(--pm-font-ui) !important;
}

.pm-footer__bottom-social {
    display: flex !important;
    gap: 16px !important;
}

.pm-footer__social-link {
    color: rgba(255, 255, 255, 0.5) !important;
    display: flex !important;
    transition: color 0.2s ease !important;
}

.pm-footer__social-link:hover {
    color: #fff !important;
}

.pm-footer__social-link svg {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
}

/* ==========================================================================
 * 24. PAGINATION
 * ========================================================================== */

.pm-pagination {
    margin: 40px 0 !important;
    text-align: center !important;
}

.pm-pagination__list {
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pm-pagination__item a,
.pm-pagination__item span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    font-family: var(--pm-font-ui) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--pm-gray-700) !important;
    border: 1px solid #eee !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.pm-pagination__item a:hover {
    border-color: var(--pm-gray-900) !important;
    color: var(--pm-gray-900) !important;
}

.pm-pagination__item--active span,
.pm-pagination__item .current {
    background: var(--pm-gray-900) !important;
    color: #fff !important;
    border-color: var(--pm-gray-900) !important;
}

/* ==========================================================================
 * 25. COMMENTS
 * ========================================================================== */

.pm-comment {
    margin-bottom: 24px !important;
    padding-bottom: 24px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.pm-comment__body {
    margin: 0 !important;
}

.pm-comment__header {
    display: flex !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

.pm-comment__avatar img {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
}

.pm-comment__meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.pm-comment__author {
    font-family: var(--pm-font-ui) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--pm-gray-900) !important;
}

.pm-comment__author a {
    color: var(--pm-gray-900) !important;
    text-decoration: none !important;
}

.pm-comment__date {
    font-size: 12px !important;
    color: var(--pm-gray-500) !important;
}

.pm-comment__content {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: var(--pm-gray-700) !important;
}

.pm-comment__reply a {
    font-family: var(--pm-font-ui) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--pm-blue) !important;
    text-decoration: none !important;
}

/* ==========================================================================
 * 26. ANIMATIONS — Scroll reveal + micro-interactions
 * ========================================================================== */

@keyframes pm-fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pm-fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Scroll reveal DISABLED — sections always visible.
   The IntersectionObserver approach caused blank-page issues when
   hero height was 0 or JS failed to fire for below-fold sections. */
.pm-hero-split,
.pm-top-stories,
.pm-whats-new,
.pm-dark-section,
.pm-from-us,
.pm-newsletter,
.pm-discover,
.pm-latest-news,
.pm-related {
    opacity: 1 !important;
    transform: none !important;
}

/* Card hover micro-interactions */
.pm-card-standard,
.pm-card-overlay,
.pm-card-horizontal {
    transition: transform 0.3s var(--pm-ease-out), box-shadow 0.3s ease !important;
}

.pm-card-standard img,
.pm-card-overlay__image,
.pm-card-horizontal__image {
    transition: transform 0.5s ease !important;
}

/* ==========================================================================
 * 27. DARK MODE
 * ========================================================================== */

[data-theme="dark"] body,
[data-theme="dark"] {
    --pm-bg: #0f172a !important;
    --pm-bg-alt: #1e293b !important;
    --pm-text: #f1f5f9 !important;
    --pm-text-body: #cbd5e1 !important;
    --pm-text-meta: #94a3b8 !important;
    --pm-border: #334155 !important;
    --pm-card-bg: #1e293b !important;
    --pm-gray-50: #1e293b !important;
    --pm-gray-100: #334155 !important;
    --pm-gray-900: #f1f5f9 !important;
}

[data-theme="dark"] body {
    background: #0f172a !important;
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-header {
    background: #0f172a !important;
    border-bottom-color: #1e293b !important;
}

[data-theme="dark"] .pm-header--sticky {
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .pm-header__site-title {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-nav__list a {
    color: #cbd5e1 !important;
}

[data-theme="dark"] .pm-nav__list a:hover {
    color: var(--pm-blue) !important;
}

[data-theme="dark"] .pm-header__search-input {
    background: #1e293b !important;
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-dark-toggle {
    border-color: #334155 !important;
    color: #cbd5e1 !important;
}

[data-theme="dark"] .pm-dark-toggle__dot {
    background: #f1f5f9 !important;
}

[data-theme="dark"] .pm-hero-split__right {
    background: #0f172a !important;
    border-left-color: #1e293b !important;
}

[data-theme="dark"] .pm-trending-title {
    color: #f1f5f9 !important;
    border-bottom-color: #1e293b !important;
}

[data-theme="dark"] .pm-card-numbered {
    border-bottom-color: #1e293b !important;
}

[data-theme="dark"] .pm-card-numbered__number {
    background: #334155 !important;
}

[data-theme="dark"] .pm-card-numbered__title a {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-section-title {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-card-standard__title a {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-card-standard__excerpt {
    color: #94a3b8 !important;
}

[data-theme="dark"] .pm-card-text-only__title a {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-card-text-only__excerpt {
    color: #94a3b8 !important;
}

[data-theme="dark"] .pm-card-text-only {
    border-bottom-color: #1e293b !important;
}

[data-theme="dark"] .pm-card-horizontal__title a {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-card-horizontal {
    border-bottom-color: #1e293b !important;
}

[data-theme="dark"] .pm-latest-news__right {
    border-left-color: #1e293b !important;
}

[data-theme="dark"] .pm-newsletter__form-wrapper {
    background: #1e293b !important;
}

[data-theme="dark"] .pm-newsletter__heading {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-newsletter__input {
    background: #0f172a !important;
    border-color: #334155 !important;
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-newsletter__cat-link {
    background: #1e293b !important;
    color: #cbd5e1 !important;
}

[data-theme="dark"] .pm-tabs__btn {
    color: #94a3b8 !important;
}

[data-theme="dark"] .pm-tabs__btn:hover {
    color: #f1f5f9 !important;
    background: #1e293b !important;
}

[data-theme="dark"] .pm-single__title {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-article__body {
    color: #cbd5e1 !important;
}

[data-theme="dark"] .pm-article__body h2,
[data-theme="dark"] .pm-article__body h3 {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-article__body blockquote {
    background: #1e293b !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .pm-author-bio {
    background: #1e293b !important;
}

[data-theme="dark"] .pm-author-bio__name a {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-tag {
    background: #1e293b !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .pm-tag:hover {
    background: #334155 !important;
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-related {
    border-top-color: #1e293b !important;
}

/* Dark mode: card backgrounds (override final-polish.css #fff) */
[data-theme="dark"] .pm-card-standard,
[data-theme="dark"] .pm-card-overlay,
[data-theme="dark"] .pm-card-horizontal,
[data-theme="dark"] .pm-card-numbered,
[data-theme="dark"] .pm-card-text-only {
    background: #1e293b !important;
}

[data-theme="dark"] .pm-card-numbered {
    border-bottom-color: #334155 !important;
}

/* Dark mode: section labels */
[data-theme="dark"] .pm-section-label {
    color: #94a3b8 !important;
}

/* Dark mode: meta text */
[data-theme="dark"] .pm-meta-author,
[data-theme="dark"] .pm-meta-date,
[data-theme="dark"] .pm-meta__author a,
[data-theme="dark"] .pm-meta__date {
    color: #94a3b8 !important;
}

/* Dark mode: top stories cards */
[data-theme="dark"] .pm-top-stories {
    background: #0f172a !important;
}

/* Dark mode: footer already dark — keep as-is but fix link colors */
[data-theme="dark"] .pm-footer {
    background: #0a0f1a !important;
}

[data-theme="dark"] .pm-footer a {
    color: #94a3b8 !important;
}

[data-theme="dark"] .pm-footer a:hover {
    color: #f1f5f9 !important;
}

/* Dark mode: breadcrumbs */
[data-theme="dark"] .pm-breadcrumbs a {
    color: #94a3b8 !important;
}

[data-theme="dark"] .pm-breadcrumbs__current {
    color: #f1f5f9 !important;
}

/* Dark mode: discover section */
[data-theme="dark"] .pm-discover {
    background: #0f172a !important;
}

/* Dark mode: pagination */
[data-theme="dark"] .pm-pagination a {
    color: #cbd5e1 !important;
    border-color: #334155 !important;
}

/* Dark mode: search overlay */
[data-theme="dark"] .pm-search-overlay__content {
    background: #1e293b !important;
}

[data-theme="dark"] .pm-search-overlay__input {
    background: #0f172a !important;
    color: #f1f5f9 !important;
    border-color: #334155 !important;
}

[data-theme="dark"] .pm-drawer__panel {
    background: #1e293b !important;
}

[data-theme="dark"] .pm-drawer__list a {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-drawer__list li {
    border-bottom-color: #334155 !important;
}

[data-theme="dark"] .pm-btn--outline {
    border-color: #334155 !important;
    color: #cbd5e1 !important;
}

[data-theme="dark"] .pm-pagination__item a,
[data-theme="dark"] .pm-pagination__item span {
    border-color: #334155 !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .pm-share-bar {
    border-color: #1e293b !important;
}

[data-theme="dark"] .pm-share-bar__link {
    border-color: #334155 !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .pm-comment {
    border-bottom-color: #1e293b !important;
}

[data-theme="dark"] .pm-comment__author,
[data-theme="dark"] .pm-comment__author a {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .pm-comment__content {
    color: #cbd5e1 !important;
}

[data-theme="dark"] .pm-card-standard__placeholder {
    background: #1e293b !important;
}

[data-theme="dark"] .pm-nav__list .sub-menu {
    background: #1e293b !important;
    border-color: #334155 !important;
}

[data-theme="dark"] .pm-nav__list .sub-menu a {
    color: #94a3b8 !important;
}

[data-theme="dark"] .pm-nav__list .sub-menu a:hover {
    background: #334155 !important;
    color: var(--pm-blue) !important;
}

/* ==========================================================================
 * 28. RESPONSIVE — 1024, 768, 480px
 * ========================================================================== */

@media (max-width: 1024px) {
    /* Header: show hamburger + mobile search, hide desktop nav + search */
    .pm-header__nav {
        display: none !important;
    }

    .pm-header__search {
        display: none !important;
    }

    .pm-header__search-toggle {
        display: flex !important;
    }

    .pm-hamburger {
        display: flex !important;
    }

    /* Top Stories: 3 columns */
    .pm-top-stories__grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    /* Dark Section: 2 columns */
    .pm-dark-section__grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .pm-dark-section__right {
        grid-column: 1 / -1 !important;
    }

    /* Discover: 2 columns */
    .pm-discover__grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Related: 2 columns */
    .pm-related__grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Footer: 2 columns */
    .pm-footer__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 32px !important;
    }
}

@media (max-width: 768px) {
    /* Container padding */
    .pm-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* Topbar: hide on mobile */
    .pm-topbar {
        display: none !important;
    }

    /* Header height reduced */
    .pm-header {
        height: 60px !important;
    }

    .pm-header__inner {
        height: 60px !important;
    }

    /* Hero: single column stack */
    .pm-hero-split__inner {
        grid-template-columns: 1fr !important;
        min-height: auto !important;
    }

    .pm-hero-split__left {
        min-height: 350px !important;
    }

    .pm-hero-split__right {
        border-left: none !important;
        border-top: 1px solid #eee !important;
        padding: 24px 16px !important;
    }

    .pm-hero-split__overlay {
        padding: 24px !important;
    }

    .pm-hero-split__title {
        font-size: clamp(1.5rem, 5vw, 2rem) !important;
    }

    /* Top Stories: 2 columns */
    .pm-top-stories__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }

    /* What's New: single column */
    .pm-whats-new__grid {
        grid-template-columns: 1fr !important;
    }

    .pm-whats-new__grid .pm-card-overlay {
        grid-row: auto !important;
        min-height: 300px !important;
    }

    /* Section headers with tabs: stack */
    .pm-section-header--with-tabs {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    /* Dark Section: single column */
    .pm-dark-section__grid {
        grid-template-columns: 1fr !important;
    }

    .pm-dark-section__center .pm-card-overlay__link {
        min-height: 300px !important;
    }

    /* Newsletter: single column */
    .pm-newsletter__inner {
        grid-template-columns: 1fr !important;
    }

    .pm-newsletter__featured {
        min-height: 280px !important;
    }

    /* Discover: single column */
    .pm-discover__grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    /* Latest News: single column */
    .pm-latest-news__grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .pm-latest-news__right {
        border-left: none !important;
        padding-left: 0 !important;
        border-top: 1px solid #eee !important;
        padding-top: 24px !important;
    }

    /* From Us: reduce padding */
    .pm-from-us__card {
        min-height: 300px !important;
    }

    .pm-from-us__overlay {
        padding: 24px !important;
    }

    /* Related: 1 column */
    .pm-related__grid {
        grid-template-columns: 1fr !important;
    }

    /* Single post: reduce title */
    .pm-single__title {
        font-size: clamp(1.5rem, 5vw, 2rem) !important;
    }

    /* Author bio: stack */
    .pm-author-bio {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    /* Newsletter category grid: 1 column */
    .pm-newsletter__cat-grid {
        grid-template-columns: 1fr !important;
    }

    /* Footer: single column */
    .pm-footer__grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    .pm-footer__bottom {
        flex-direction: column !important;
        gap: 16px !important;
        text-align: center !important;
    }

    .pm-footer__bottom-social {
        justify-content: center !important;
    }
}

@media (max-width: 480px) {
    /* Top Stories: 1 column on very small screens */
    .pm-top-stories__grid {
        grid-template-columns: 1fr !important;
    }

    /* Hero title smaller */
    .pm-hero-split__title {
        font-size: 1.5rem !important;
    }

    .pm-hero-split__left {
        min-height: 280px !important;
    }

    /* Tabs: scroll horizontally */
    .pm-tabs {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .pm-tabs::-webkit-scrollbar {
        display: none !important;
    }

    /* Section titles smaller */
    .pm-section-title {
        font-size: 22px !important;
    }

    /* Single title smaller */
    .pm-single__title {
        font-size: 1.4rem !important;
    }

    /* Card numbered: tighter */
    .pm-card-numbered__image-link {
        width: 80px !important;
        height: 60px !important;
    }
}

/* ==========================================================================
 * 29. REDUCED MOTION
 * ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .pm-hero-split,
    .pm-top-stories,
    .pm-whats-new,
    .pm-dark-section,
    .pm-from-us,
    .pm-newsletter,
    .pm-discover,
    .pm-latest-news,
    .pm-related {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ==========================================================================
 * 30. PRINT STYLES
 * ========================================================================== */

@media print {
    .pm-topbar,
    .pm-header,
    .pm-footer,
    .pm-share-bar,
    .pm-related,
    .pm-newsletter,
    .pm-back-to-top,
    .pm-hamburger,
    .pm-dark-toggle,
    .pm-header__search,
    .pm-header__search-toggle,
    .pm-pagination,
    .pm-tabs {
        display: none !important;
    }

    body {
        color: #000 !important;
        background: #fff !important;
    }

    .pm-article__body {
        font-size: 12pt !important;
        line-height: 1.6 !important;
    }

    .pm-article__body a::after {
        content: ' (' attr(href) ')' !important;
        font-size: 10pt !important;
        color: #666 !important;
    }

    .pm-single__featured-image img {
        max-height: 400px !important;
        object-fit: contain !important;
    }
}

/* ==========================================================================
 * 31. WIDGET STYLES
 * ========================================================================== */

.pm-widget {
    margin-bottom: 24px !important;
}

.pm-widget__title {
    font-family: var(--pm-font-heading) !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    margin: 0 0 16px !important;
    color: var(--pm-gray-900) !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #eee !important;
}

/* ==========================================================================
 * 32. BACK TO TOP BUTTON
 * ========================================================================== */

.pm-back-to-top {
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: var(--pm-gray-900) !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(10px) !important;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background 0.2s ease !important;
    z-index: 90 !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15) !important;
}

.pm-back-to-top--visible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.pm-back-to-top:hover {
    background: var(--pm-blue) !important;
}

/* ==========================================================================
 * 33. HERO SLIDER — Fade-based auto-rotation
 * ========================================================================== */

.pm-hero-slider {
    position: relative !important;
    overflow: hidden !important;
    min-height: 550px !important;
}

.pm-hero-slide {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.8s ease, visibility 0.8s ease !important;
    text-decoration: none !important;
    color: #fff !important;
    display: block !important;
    /* Match .pm-hero-split__link styling */
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

.pm-hero-slide--active {
    position: relative !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
    min-height: 550px !important;
}

/* Hero slide images must fill the slide */
.pm-hero-slide .pm-hero-split__image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Hero slide overlay must cover the slide */
.pm-hero-slide .pm-hero-split__overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
}

.pm-hero-slider::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 3px !important;
    width: 0% !important;
    background: var(--pm-blue, #0066FF) !important;
    z-index: 5 !important;
}

.pm-hero-slider.pm-hero-slider--animating::after {
    animation: pm-hero-progress 15s linear forwards !important;
}

@keyframes pm-hero-progress {
    from { width: 0%; }
    to { width: 100%; }
}

.pm-hero-slider:hover::after,
.pm-hero-slider:focus-within::after {
    animation-play-state: paused !important;
}

@media (prefers-reduced-motion: reduce) {
    .pm-hero-slide {
        transition: none !important;
    }
    .pm-hero-slider::after {
        animation: none !important;
        display: none !important;
    }
}

/* ==========================================================================
 * DARK SECTION CENTER SLIDER
 * ========================================================================== */

.pm-dark-slider {
    position: relative !important;
    overflow: hidden !important;
    display: block !important; /* Override .pm-dark-section__center flex */
}

.pm-dark-slide {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    transition: opacity 0.8s ease !important;
    width: 100% !important;
}

.pm-dark-slide--active {
    position: relative !important;
    opacity: 1 !important;
    z-index: 1 !important;
    width: 100% !important;
}

.pm-dark-slide .pm-card-overlay {
    width: 100% !important;
    min-height: 100% !important;
    background: transparent !important;
}

.pm-dark-slide .pm-card-overlay__link {
    min-height: 450px !important;
    position: relative !important;
    display: block !important;
}

.pm-dark-slide .pm-card-overlay__image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.pm-dark-slide .pm-card-overlay__content {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
}

@media (prefers-reduced-motion: reduce) {
    .pm-dark-slide {
        transition: none !important;
    }
}

/* ==========================================================================
 * MOBILE RESPONSIVENESS FIXES — Article single page
 * ========================================================================== */

/* Global overflow protection — only on content areas, NOT header */
.pm-single,
.pm-single__content-wrap,
.pm-article__body,
article,
main {
    overflow-x: hidden !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100vw !important;
}

/* Tables must scroll horizontally on mobile, not overflow */
.pm-article__body table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important;
}

/* Images must never overflow container */
.pm-article__body img,
.pm-single__featured-image img,
img {
    max-width: 100% !important;
    height: auto !important;
}

@media (max-width: 768px) {

    /* HEADER: ensure hamburger and search are visible */
    .pm-header__inner {
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 8px !important;
    }

    .pm-header__logo {
        flex-shrink: 1 !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .pm-header__logo img {
        max-width: 120px !important;
        height: auto !important;
    }

    .pm-header__actions {
        flex-shrink: 0 !important;
        gap: 4px !important;
        background: transparent !important;
    }

    .pm-hamburger {
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
    }

    .pm-hamburger__line {
        display: block !important;
        width: 22px !important;
        height: 2px !important;
        background: var(--pm-gray-800, #1a1a1a) !important;
    }

    .pm-header__search-toggle {
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
    }

    .pm-dark-toggle {
        padding: 4px 8px !important;
        font-size: 0 !important;
        min-width: auto !important;
    }

    .pm-dark-toggle__label {
        display: none !important;
    }

    /* Breadcrumbs: wrap and don't overflow */
    .pm-breadcrumbs {
        flex-wrap: wrap !important;
        font-size: 12px !important;
        padding: 12px 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* Single article header: proper padding */
    .pm-single__header {
        padding: 16px 0 24px !important;
    }

    .pm-single__title {
        font-size: clamp(1.3rem, 5vw, 2rem) !important;
        max-width: 100% !important;
        padding: 0 !important;
    }

    /* Author meta: wrap on small screens */
    .pm-single__meta {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    /* Featured image: full width */
    .pm-single__featured-image {
        margin-left: -16px !important;
        margin-right: -16px !important;
        width: calc(100% + 32px) !important;
    }

    /* Article body: proper padding and overflow */
    .pm-article__body {
        padding: 0 !important;
        max-width: 100% !important;
    }

    .pm-article__body p,
    .pm-article__body li,
    .pm-article__body blockquote {
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }

    .pm-article__body h2 {
        font-size: clamp(1.2rem, 4vw, 1.6rem) !important;
        word-break: break-word !important;
    }

    .pm-article__body h3 {
        font-size: clamp(1rem, 3.5vw, 1.3rem) !important;
    }

    /* Blockquotes: reduce padding */
    .pm-article__body blockquote {
        padding: 16px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Tables: horizontal scroll wrapper */
    .pm-article__body table {
        font-size: 13px !important;
        min-width: 500px !important;
    }

    /* Share buttons: smaller */
    .pm-share {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    /* Author bio box */
    .pm-author-box {
        padding: 16px !important;
    }

    .pm-author-box__avatar {
        width: 60px !important;
        height: 60px !important;
    }

    /* Related posts: single column */
    .pm-related__grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    /* References list */
    .pm-article__body ol {
        padding-left: 20px !important;
    }

    .pm-article__body ol li {
        font-size: 14px !important;
        margin-bottom: 12px !important;
    }
}

@media (max-width: 480px) {

    /* Container: tighter padding */
    .pm-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .pm-single__title {
        font-size: 1.25rem !important;
    }

    .pm-article__body {
        font-size: 15px !important;
    }

    .pm-article__body p {
        font-size: 15px !important;
        line-height: 1.7 !important;
    }

    /* Featured image: full bleed */
    .pm-single__featured-image {
        margin-left: -12px !important;
        margin-right: -12px !important;
        width: calc(100% + 24px) !important;
    }

    .pm-breadcrumbs {
        font-size: 11px !important;
        gap: 4px !important;
    }
}

/* ============================================
 * PAPERMAG PRO — Envato-Quality Polish v2
 * ============================================ */

/* --- Card System --- */
/* Spring hover: translateY + shadow + image zoom */
.pm-card,
.pm-card-horizontal,
.pm-card-overlay {
    transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1),
                box-shadow 0.3s ease !important;
    overflow: hidden !important;
    border-radius: 8px !important;
}
.pm-card:hover,
.pm-card-horizontal:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 32px rgba(0,102,255,0.12) !important;
}
.pm-card__image-link img,
.pm-card-overlay__image {
    transition: transform 0.5s ease !important;
}
.pm-card:hover .pm-card__image-link img,
.pm-card-overlay:hover .pm-card-overlay__image {
    transform: scale(1.05) !important;
}

/* --- Category Badges --- */
.pm-badge,
.pm-badge--small {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    background: rgba(0,102,255,0.1) !important;
    color: var(--pm-blue, #0066FF) !important;
}

/* --- Section Headers with accent bar --- */
.pm-section-title {
    position: relative !important;
    padding-left: 16px !important;
}
.pm-section-title::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 4px !important;
    bottom: 4px !important;
    width: 4px !important;
    background: var(--pm-blue, #0066FF) !important;
    border-radius: 2px !important;
}

/* --- Article Body — Premium Typography --- */
.pm-article__body {
    max-width: 750px !important;
    margin: 0 auto !important;
    font-size: 18px !important;
    line-height: 1.8 !important;
    color: #2d3748 !important;
}
.pm-article__body h2 {
    margin-top: 48px !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #edf2f7 !important;
    font-size: 1.6rem !important;
    color: #1a202c !important;
}
.pm-article__body h3 {
    margin-top: 32px !important;
    font-size: 1.3rem !important;
    color: #2d3748 !important;
}
.pm-article__body p {
    margin-bottom: 1.5em !important;
}

/* --- Blockquotes — editorial style --- */
.pm-article__body blockquote {
    border-left: 4px solid var(--pm-blue, #0066FF) !important;
    background: #f7fafc !important;
    padding: 24px 28px !important;
    margin: 32px 0 !important;
    border-radius: 0 8px 8px 0 !important;
    font-style: italic !important;
    color: #4a5568 !important;
    font-size: 17px !important;
}

/* --- Code Blocks — dark developer theme --- */
.pm-article__body code {
    background: #1e293b !important;
    color: #e2e8f0 !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    font-family: 'JetBrains Mono', 'Fira Code', monospace !important;
    font-size: 0.85em !important;
}
.pm-article__body pre {
    background: #0f172a !important;
    color: #e2e8f0 !important;
    padding: 24px !important;
    border-radius: 8px !important;
    overflow-x: auto !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    border: 1px solid #1e293b !important;
}

/* --- Links — subtle underline on hover --- */
.pm-article__body a {
    color: var(--pm-blue, #0066FF) !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 0.2s ease !important;
}
.pm-article__body a:hover {
    border-bottom-color: var(--pm-blue, #0066FF) !important;
}

/* --- Tables — striped, bordered --- */
.pm-article__body table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 24px 0 !important;
    font-size: 15px !important;
}
.pm-article__body th {
    background: #f7fafc !important;
    font-weight: 600 !important;
    text-align: left !important;
    padding: 12px 16px !important;
    border-bottom: 2px solid #e2e8f0 !important;
}
.pm-article__body td {
    padding: 10px 16px !important;
    border-bottom: 1px solid #edf2f7 !important;
}
.pm-article__body tr:nth-child(even) td {
    background: #f7fafc !important;
}

/* --- Images in articles --- */
.pm-article__body img {
    border-radius: 8px !important;
    margin: 24px 0 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}

/* --- Lists — styled bullets --- */
.pm-article__body ul {
    padding-left: 0 !important;
    list-style: none !important;
}
.pm-article__body ul li {
    position: relative !important;
    padding-left: 24px !important;
    margin-bottom: 8px !important;
}
.pm-article__body ul li::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 10px !important;
    width: 6px !important;
    height: 6px !important;
    background: var(--pm-blue, #0066FF) !important;
    border-radius: 50% !important;
}

/* --- Footer — dark premium (reinforced) --- */
.pm-footer {
    background: #0f172a !important;
}
.pm-footer__inner {
    color: #94a3b8 !important;
}
.pm-footer a {
    color: #cbd5e1 !important;
    transition: color 0.2s ease !important;
}
.pm-footer a:hover {
    color: var(--pm-blue, #0066FF) !important;
}

/* --- Smooth scroll + focus visible --- */
html { scroll-behavior: smooth !important; }
*:focus-visible {
    outline: 2px solid var(--pm-blue, #0066FF) !important;
    outline-offset: 2px !important;
}

/* --- Skeleton loading animation for images --- */
@keyframes pm-shimmer {
    0% { background-position: -200px 0; }
    100% { background-position: calc(200px + 100%) 0; }
}
.pm-card__image-link {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%) !important;
    background-size: 200px 100% !important;
    animation: pm-shimmer 1.5s infinite !important;
}

/* --- Dark mode overrides --- */
[data-theme="dark"] .pm-article__body {
    color: #e2e8f0 !important;
}
[data-theme="dark"] .pm-article__body h2 {
    color: #f1f5f9 !important;
    border-bottom-color: #334155 !important;
}
[data-theme="dark"] .pm-article__body blockquote {
    background: #1e293b !important;
    border-left-color: #3b82f6 !important;
    color: #cbd5e1 !important;
}
[data-theme="dark"] .pm-article__body th {
    background: #1e293b !important;
}
[data-theme="dark"] .pm-article__body td {
    border-bottom-color: #334155 !important;
}
[data-theme="dark"] .pm-article__body tr:nth-child(even) td {
    background: #1e293b !important;
}

/* --- Print: hide shimmer/decorative, show article cleanly --- */
@media print {
    .pm-card__image-link { animation: none !important; background: none !important; }
    .pm-section-title::before { display: none !important; }
    .pm-article__body code { background: #f0f0f0 !important; color: #333 !important; }
    .pm-article__body pre { background: #f0f0f0 !important; color: #333 !important; border: 1px solid #ccc !important; }
}

/* --- Reduced motion: kill shimmer, spring hover --- */
@media (prefers-reduced-motion: reduce) {
    .pm-card, .pm-card-horizontal, .pm-card-overlay {
        transition: box-shadow 0.01ms !important;
    }
    .pm-card:hover, .pm-card-horizontal:hover {
        transform: none !important;
    }
    .pm-card__image-link img, .pm-card-overlay__image {
        transition: none !important;
    }
    .pm-card__image-link {
        animation: none !important;
    }
}
