/*
Theme Name: PressArabia (Kadence Child)
Theme URI: https://cre8website.com
Description: Child theme for Press Arabia news portal with modern RTL design.
Author: Mahdi NFL
Author URI: https://cre8website.com
Template: kadence
Version: 1.0.2
Text Domain: pressarabia-ct
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
    --pa-brand: #C1272D;
    --pa-brand-dark: #9B1E22;
    --pa-navy: #003366;
    --pa-white: #FFFFFF;
    --pa-bg: #F4F6F8;
    --pa-bg-card: #FFFFFF;
    --pa-border: #E2E8F0;
    --pa-text: #1A202C;
    --pa-text-muted: #718096;
    --pa-text-light: #A0AEC0;
    --cat-politics: #E53E3E;
    --cat-economy: #38A169;
    --cat-sports: #3182CE;
    --cat-tech: #805AD5;
    --cat-health: #DD6B20;
    --cat-misc: #D69E2E;
    --cat-default: #4A5568;
    --pa-font: 'Noto Kufi Arabic', 'Segoe UI', Tahoma, sans-serif;
    --pa-gap: 1rem;
    --pa-gap-sm: 0.5rem;
    --pa-gap-lg: 1.5rem;
    --pa-gap-xl: 2rem;
    --pa-gap-2xl: 3rem;
    --pa-container: 1400px;
    --pa-radius: 8px;
    --pa-radius-sm: 4px;
    --pa-radius-pill: 50px;
    --pa-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --pa-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
    --pa-shadow-lg: 0 4px 20px rgba(0, 0, 0, 0.14);
    --pa-transition: all 0.25s ease;
    --topbar-h: 40px;
    --logobar-h: 90px;
    --navbar-h: 52px;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    direction: rtl;
    font-size: 16px;
    scroll-behavior: smooth;
    font-family: var(--pa-font) !important;
}

body,
body.wp-site-blocks,
#page,
.pa-site-wrapper {
    font-family: var(--pa-font) !important;
    font-size: 1rem;
    color: var(--pa-text);
    background: var(--pa-bg);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

/* Ensure content area is always light (override any parent theme) */
#page.pa-site-wrapper,
.pa-site-wrapper {
    background: var(--pa-bg);
    min-height: 100vh;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--pa-transition);
}

a:hover {
    color: var(--pa-brand);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul,
ol {
    list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--pa-font);
    font-weight: 700;
    line-height: 1.3;
}

/* ============================================================
   LAYOUT
   ============================================================ */
.pa-container {
    max-width: var(--pa-container);
    margin: 0 auto;
    padding: 0 var(--pa-gap-lg);
}

.pa-row {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: var(--pa-gap-2xl);
    align-items: start;
    padding: var(--pa-gap-xl) 0;
}

.pa-main,
.pa-sidebar {
    min-width: 0;
}

/* ============================================================
   UNIFIED HEADER — 2-column layout
   Right col: logo spanning both rows
   Left col:  row-1 = utils (social + font + search)
              row-2 = nav menu (red background, sticky)
   ============================================================ */

/* Header height tokens */
:root {
    --pa-header-utils-h: 44px;
    /* top utility row */
    --pa-header-nav-h: 48px;
    /* nav menu row    */
    --pa-header-logo-w: 140px;
    /* logo column width */
}

/* Outer wrapper — white background for the utils row */
.pa-header {
    background: var(--pa-white);
    border-bottom: 1px solid var(--pa-border);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Inner grid: RTL — col 1 = logo (right), col 2 = content (left). Force RTL so logo stays right. */
.pa-header-inner {
    display: grid !important;
    grid-template-columns: var(--pa-header-logo-w) 1fr !important;
    align-items: stretch;
    min-height: calc(var(--pa-header-utils-h) + var(--pa-header-nav-h));
    direction: rtl;
}

/* ── LOGO COLUMN — column 1 = right side in RTL ─── */
.pa-header .pa-header-logo {
    grid-column: 1 !important;
    grid-row: 1;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    background: var(--pa-white);
}

.pa-header-logo .pa-logo-link,
.pa-header-logo .custom-logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

/* Force logo image to fit the column */
.pa-header-logo img,
.pa-header-logo .custom-logo {
    height: 100px !important;
    width: auto !important;
    max-height: 72px !important;
    max-width: 120px !important;
    object-fit: contain;
    display: block;
}

/* Text fallback logo */
.pa-logo-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: center;
}

.pa-logo-name {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--pa-brand);
    line-height: 1.1;
}

.pa-logo-tagline {
    font-size: 0.65rem;
    color: var(--pa-text-muted);
    font-weight: 500;
}

/* ── CONTENT COLUMN — column 2 = left side in RTL ─────── */
.pa-header .pa-header-content {
    grid-column: 2 !important;
    grid-row: 1;
    display: flex;
    flex-direction: column;
}

/* ── ROW 1: Utilities (font controls + search on left, social on right) ─── */
.pa-header-utils {
    height: var(--pa-header-utils-h);
    display: flex;
    align-items: center;
    padding: 0 var(--pa-gap-lg);
    gap: var(--pa-gap);
    background: var(--pa-white);
}

/* The spacer div is hidden; social uses margin-inline-start:auto instead */
.pa-header-utils-spacer {
    display: none;
}

/* Social icons — margin-inline-start:auto always pushes to physical right (RTL-safe) */
.pa-header-social {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-inline-start: auto;
}

.pa-header-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: var(--pa-text-muted);
    font-size: 0.9rem;
    transition: var(--pa-transition);
}

.pa-header-social-link:hover {
    color: var(--pa-brand);
    background: rgba(193, 39, 45, 0.08);
}

/* Font controls + search on LEFT side, social icons on RIGHT side (RTL) */
/* Spacer pushes social to the far right */
.pa-header-utils-spacer {
    flex: 1;
}

/* Font controls */
.pa-font-controls {
    display: flex;
    align-items: center;
    gap: 2px;
}

.pa-font-btn {
    background: var(--pa-bg);
    border: 1px solid var(--pa-border);
    color: var(--pa-text-muted);
    cursor: pointer;
    padding: 3px 8px;
    font-size: 0.78rem;
    border-radius: var(--pa-radius-sm);
    font-family: var(--pa-font);
    transition: var(--pa-transition);
    line-height: 1.4;
}

.pa-font-btn:hover {
    background: var(--pa-brand);
    border-color: var(--pa-brand);
    color: var(--pa-white);
}

/* Header Actions (Search & Hamburger) */
.pa-header-actions {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-inline-start: auto;
}

.pa-action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: var(--pa-text);
    cursor: pointer;
    padding: 0.375rem;
    border-radius: 0.25rem;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.pa-action-btn:hover {
    background-color: var(--pa-bg-hover, #f1f5f9);
}

/* ── ROW 2: Navigation menu ─────────────────────────────── */
.pa-header-nav {
    height: var(--pa-header-nav-h);
    background: var(--pa-white);
    display: flex;
    align-items: center;
    padding: 0 var(--pa-gap-lg);
    position: relative;
}

/* Reset list bullets — override any theme/plugin so nav has no dots */
.pa-header-nav .pa-nav-menu,
.pa-header-nav .pa-nav-menu li,
.pa-header-nav ul.pa-nav-menu,
.pa-header-nav ul.pa-nav-menu li {
    list-style: none !important;
    list-style-type: none !important;
    padding-inline-start: 0 !important;
    margin: 0 !important;
}

.pa-header-nav .pa-nav-menu li::marker {
    content: none !important;
    display: none !important;
}

.pa-header-nav ul.pa-nav-menu {
    display: flex !important;
}

.pa-nav-menu {
    display: flex !important;
    align-items: center;
    flex: 1;
    gap: 2px;
}

.pa-nav-menu li {
    position: relative;
}

.pa-nav-menu>li>a {
    display: flex;
    align-items: center;
    height: var(--pa-header-nav-h);
    padding: 0 var(--pa-gap);
    color: var(--pa-text);
    font-size: 0.92rem;
    font-weight: 600;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
}

/* Underline hover effect on nav links */
.pa-nav-menu>li>a:hover {
    color: var(--pa-brand);
    border-bottom-color: var(--pa-brand);
}

.pa-nav-menu>li.current-menu-item>a {
    color: var(--pa-brand);
    font-weight: 700;
    border-bottom-color: var(--pa-brand);
}

/* Dropdown sub-menu */
.pa-nav-menu .sub-menu {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 180px;
    background: var(--pa-white);
    border-radius: 0 0 var(--pa-radius) var(--pa-radius);
    box-shadow: var(--pa-shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: var(--pa-transition);
    z-index: 100;
}

.pa-nav-menu li:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.pa-nav-menu .sub-menu li a {
    display: block;
    padding: 10px 16px;
    color: var(--pa-text);
    font-size: 0.9rem;
    border-bottom: 1px solid var(--pa-border);
}

.pa-nav-menu .sub-menu li:last-child a {
    border-bottom: none;
}

.pa-nav-menu .sub-menu li a:hover {
    background: var(--pa-bg);
    color: var(--pa-brand);
}

/* Hamburger (hidden on desktop, shown on tablet + mobile) */
/* Hide the hamburger on large screens */
.pa-hamburger {
    display: none;
}




/* ============================================================
   SEARCH OVERLAY
   ============================================================ */
.pa-search-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 2000;
    align-items: flex-start;
    justify-content: center;
    padding-top: 100px;
}

.pa-search-overlay.active {
    display: flex;
}

.pa-search-box {
    background: var(--pa-white);
    border-radius: var(--pa-radius);
    padding: var(--pa-gap-xl);
    width: 90%;
    max-width: 600px;
    position: relative;
}

.pa-search-box input[type="search"] {
    width: 100%;
    padding: 14px 16px;
    font-size: 1.1rem;
    font-family: var(--pa-font);
    border: 2px solid var(--pa-border);
    border-radius: var(--pa-radius);
    direction: rtl;
    outline: none;
}

.pa-search-box input[type="search"]:focus {
    border-color: var(--pa-brand);
}

.pa-search-close {
    position: absolute;
    top: 12px;
    left: 12px;
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: var(--pa-text-muted);
}

/* ============================================================
   BREAKING NEWS TICKER
   ============================================================ */
.pa-ticker {
    background: linear-gradient(90deg, var(--pa-brand-dark) 0%, var(--pa-brand) 50%, var(--pa-brand-dark) 100%);
    color: var(--pa-white);
    height: 42px;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.pa-ticker-label {
    background: rgba(0, 0, 0, 0.2);
    padding: 0 14px;
    height: 100%;
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 0.82rem;
    white-space: nowrap;
    flex-shrink: 0;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pa-ticker-label::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background: var(--pa-white);
    border-radius: 50%;
    animation: pa-blink 1s infinite;
    flex-shrink: 0;
}

@keyframes pa-blink {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: 0.4
    }
}

.pa-ticker-track {
    flex: 1;
    overflow: hidden;
}

.pa-ticker-items {
    display: flex;
    animation: pa-ticker-scroll 40s linear infinite;
    white-space: nowrap;
}

.pa-ticker-items:hover {
    animation-play-state: paused;
}

.pa-ticker-item {
    padding: 0 2rem;
    font-size: 0.88rem;
    flex-shrink: 0;
    font-weight: 500;
}

.pa-ticker-item::after {
    content: ' · ';
    color: rgba(255, 255, 255, 0.35);
    margin-inline-start: 2rem;
}

@keyframes pa-ticker-scroll {
    0% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(100%)
    }
}

.pa-ticker-close {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    padding: 0 12px;
    font-size: 1.1rem;
    height: 100%;
    flex-shrink: 0;
    transition: color 0.2s;
}

.pa-ticker-close:hover {
    color: var(--pa-white);
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.pa-hero {
    padding: var(--pa-gap-2xl) 0 var(--pa-gap-xl);
}

.pa-hero-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: var(--pa-gap);
    height: 480px;
    border-radius: var(--pa-radius);
    overflow: hidden;
}

.pa-hero-main {
    grid-row: 1 / 3;
}

.pa-hero-card {
    position: relative;
    border-radius: var(--pa-radius);
    overflow: hidden;
    height: 100%;
    box-shadow: var(--pa-shadow);
}

.pa-hero-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.pa-hero-card:hover img {
    transform: scale(1.04);
}

.pa-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.35) 45%, transparent 70%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: var(--pa-gap-lg);
}

.pa-hero-overlay .pa-cat-badge {
    align-self: flex-start;
    margin-bottom: var(--pa-gap-sm);
}

.pa-hero-overlay h2,
.pa-hero-overlay h3 {
    color: var(--pa-white);
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.pa-hero-main .pa-hero-overlay h2 {
    font-size: 1.6rem;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.pa-hero-card:not(.pa-hero-main) .pa-hero-overlay h3 {
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.4;
}

.pa-hero-meta {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.8rem;
    margin-top: 6px;
    font-weight: 500;
}

/* ============================================================
   FEATURED ARTICLES SLIDER (last 5 articles: 1 large + 4 small)
   Override any parent/old styles so layout is correct.
   ============================================================ */
.pa-featured-slider {
    padding: var(--pa-gap-xl) 0 var(--pa-gap-xl);
}

.pa-featured-slider .pa-container {
    max-width: var(--pa-container);
}

.pa-featured-slider-grid {
    display: grid !important;
    grid-template-columns: 60% 1fr !important;
    grid-template-rows: 1fr !important;
    align-items: stretch !important;
    gap: 0;
    height: 420px;
    min-height: 420px;
    border-radius: 0;
    overflow: hidden;
    background: var(--pa-text);
}

.pa-featured-slider-grid--single {
    grid-template-columns: 1fr !important;
}

/* Large card (column 1 = right in RTL) */
.pa-featured-slider-main {
    position: relative;
    display: block !important;
    overflow: hidden;
    min-height: 420px;
    grid-column: 1;
    grid-row: 1;
}

.pa-featured-slider-main .pa-featured-slider-bg,
.pa-featured-slider-item .pa-featured-slider-bg {
    position: absolute;
    inset: 0;
}

.pa-featured-slider-main .pa-featured-slider-bg img,
.pa-featured-slider-item .pa-featured-slider-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.pa-featured-slider-main:hover .pa-featured-slider-bg img,
.pa-featured-slider-item:hover .pa-featured-slider-bg img {
    transform: scale(1.05);
}

.pa-featured-slider-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--pa-brand) 0%, var(--pa-navy) 100%);
}

.pa-featured-slider-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.35) 45%, transparent 65%);
    pointer-events: none;
}

.pa-featured-slider-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: var(--pa-gap-lg);
    pointer-events: none;
}

.pa-featured-slider-content .pa-cat-badge {
    align-self: flex-start;
    margin-bottom: var(--pa-gap-sm);
    pointer-events: auto;
}

.pa-featured-slider-content .pa-cat-badge a {
    pointer-events: auto;
}

.pa-featured-slider-title {
    color: var(--pa-white);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.4;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pa-featured-slider-main .pa-featured-slider-title {
    font-size: 1.5rem;
    -webkit-line-clamp: 4;
}

/* 2x2 grid of small cards (column 2 = left in RTL) — must not stack vertically */
.pa-featured-slider-grid-small {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    gap: 0;
    min-height: 0;
    height: 100%;
    align-self: stretch;
    grid-column: 2;
    grid-row: 1;
}

/* Force each of the 4 small items into 2x2 positions */
.pa-featured-slider-grid-small .pa-featured-slider-item:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
}

.pa-featured-slider-grid-small .pa-featured-slider-item:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.pa-featured-slider-grid-small .pa-featured-slider-item:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
}

.pa-featured-slider-grid-small .pa-featured-slider-item:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
}

.pa-featured-slider-item {
    position: relative;
    display: block !important;
    overflow: hidden;
    min-height: 0;
    min-width: 0;
}

.pa-featured-slider-item .pa-featured-slider-content {
    padding: var(--pa-gap);
}

.pa-featured-slider-item .pa-featured-slider-title {
    font-size: 0.9rem;
    font-weight: 700;
    -webkit-line-clamp: 2;
}

/* Tablet: single column — main on top, then 2x2 below */
@media (max-width: 1024px) {
    .pa-featured-slider-grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .pa-featured-slider-main {
        grid-column: 1;
        grid-row: 1;
        min-height: 380px;
        height: 380px;
    }

    .pa-featured-slider-grid-small {
        grid-column: 1;
        grid-row: 2;
        height: 380px;
        min-height: 380px;
    }

    .pa-featured-slider-main .pa-featured-slider-title {
        font-size: 1.25rem;
        -webkit-line-clamp: 3;
    }
}

/* Mobile: single column, smaller heights */
@media (max-width: 768px) {
    .pa-featured-slider {
        padding: 0 0 var(--pa-gap-lg);
    }

    .pa-featured-slider-grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .pa-featured-slider-main {
        grid-column: 1;
        grid-row: 1;
        min-height: 200px;
        height: 200px;
    }

    .pa-featured-slider-main .pa-featured-slider-content {
        padding: var(--pa-gap);
    }

    .pa-featured-slider-main .pa-featured-slider-title {
        font-size: 1rem;
        -webkit-line-clamp: 2;
    }

    .pa-featured-slider-grid-small {
        grid-column: 1;
        grid-row: 2;
        height: 320px;
        min-height: 320px;
    }

    .pa-featured-slider-item .pa-featured-slider-content {
        padding: var(--pa-gap-sm);
    }

    .pa-featured-slider-item .pa-featured-slider-title {
        font-size: 0.8rem;
        -webkit-line-clamp: 2;
    }
}

/* ============================================================
   CATEGORY SLIDER (4 visible, 10 total, step +1)
   ============================================================ */
.pa-category-slider {
    padding: var(--pa-gap-xl) 0;
}

.pa-category-slider-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pa-gap);
    margin-bottom: var(--pa-gap-lg);
    padding-bottom: var(--pa-gap-sm);
    border-bottom: 1px solid var(--pa-border);
}

.pa-category-slider-title {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0;
}

.pa-category-slider-title a {
    color: var(--pa-text);
}

.pa-category-slider-title a:hover {
    color: var(--pa-brand);
}

.pa-category-slider-more {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--pa-brand);
    text-decoration: none;
    border-bottom: 1px solid var(--pa-brand);
    padding-bottom: 2px;
    white-space: nowrap;
}

.pa-category-slider-more:hover {
    color: var(--pa-brand-dark);
    border-bottom-color: var(--pa-brand-dark);
}

.pa-category-slider-viewport-wrap {
    position: relative;
}

.pa-category-slider-viewport {
    overflow: hidden;
}

.pa-category-slider-track {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--pa-gap-lg);
    transition: transform 0.35s ease;
}

.pa-category-slider-card {
    flex: 0 0 calc(25% - var(--pa-gap-lg) * 3 / 4);
    min-width: 0;
    display: flex;
}

.pa-category-slider-card-link {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    text-decoration: none;
    color: inherit;
    background: var(--pa-bg-card);
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.2s ease;
}

.pa-category-slider-card-link:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    color: inherit;
}

.pa-category-slider-card-img {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--pa-bg);
}

.pa-category-slider-card-img img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    display: block;
    vertical-align: middle;
}

.pa-category-slider-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--pa-bg) 0%, var(--pa-border) 100%);
    color: var(--pa-text-light);
    font-size: 2rem;
}

.pa-category-slider-card-img .pa-cat-badge {
    position: absolute;
    top: var(--pa-gap-sm);
    inset-inline-end: var(--pa-gap-sm);
    margin: 0;
}

.pa-category-slider-card-body {
    padding: var(--pa-gap);
    display: flex;
    flex-direction: column;
    gap: var(--pa-gap-sm);
    flex: 1;
    min-height: 0;
}

.pa-category-slider-card-title {
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.45;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pa-category-slider-card-date {
    font-size: 0.7rem;
    color: var(--pa-text-muted);
    margin-top: auto;
}

.pa-category-slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    color: var(--pa-white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    z-index: 2;
    transition: background 0.2s ease;
}

.pa-category-slider-btn:hover {
    background: var(--pa-brand);
    color: var(--pa-white);
}

.pa-category-slider-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.pa-category-slider-btn:disabled:hover {
    background: rgba(0, 0, 0, 0.5);
}

/* Buttons half outside viewport (positioned relative to wrap) */
.pa-category-slider-prev {
    right: -22px;
    /* half of 44px = half outside */
}

.pa-category-slider-next {
    left: -22px;
}

@media (max-width: 1024px) {
    .pa-category-slider-card {
        flex: 0 0 calc(50% - var(--pa-gap-lg) / 2);
    }
}

@media (max-width: 768px) {
    .pa-category-slider-card {
        flex: 0 0 calc(100% - var(--pa-gap-lg));
    }

    .pa-category-slider-btn {
        width: 36px;
        height: 36px;
        font-size: 1rem;
    }

    .pa-category-slider-prev {
        right: -18px;
        /* half of 36px */
    }

    .pa-category-slider-next {
        left: -18px;
    }
}

/* ============================================================
   CATEGORY BADGE
   ============================================================ */
.pa-cat-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: var(--pa-radius-pill);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--pa-white);
    background: var(--cat-default);
}

.pa-cat-badge[data-cat="سياسة"] {
    background: var(--cat-politics);
}

.pa-cat-badge[data-cat="اقتصاد"] {
    background: var(--cat-economy);
}

.pa-cat-badge[data-cat="رياضة"] {
    background: var(--cat-sports);
}

.pa-cat-badge[data-cat="تكنولوجيا"] {
    background: var(--cat-tech);
}

.pa-cat-badge[data-cat="صحة"] {
    background: var(--cat-health);
}

.pa-cat-badge[data-cat="منوعات"] {
    background: var(--cat-misc);
}

/* ============================================================
   SECTION HEADER
   ============================================================ */
.pa-section {
    padding: var(--pa-gap-2xl) 0;
}

.pa-section:first-of-type {
    padding-top: var(--pa-gap-xl);
}

.pa-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--pa-gap-lg);
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--pa-border);
}

.pa-section-title {
    font-size: 1.2rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: var(--pa-gap);
    color: var(--pa-text);
}

.pa-section-title::before {
    content: '';
    display: block;
    width: 4px;
    height: 24px;
    background: linear-gradient(180deg, var(--pa-brand) 0%, var(--pa-brand-dark) 100%);
    border-radius: 2px;
}

.pa-section-link {
    font-size: 0.85rem;
    color: var(--pa-brand);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: var(--pa-radius-sm);
    transition: var(--pa-transition);
}

.pa-section-link:hover {
    background: rgba(193, 39, 45, 0.08);
    color: var(--pa-brand-dark);
}

/* ============================================================
   ARTICLE CARDS
   ============================================================ */
.pa-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pa-gap-xl);
}

.pa-card {
    background: var(--pa-bg-card);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--pa-shadow-sm);
    border: 1px solid var(--pa-border);
    transition: var(--pa-transition);
    display: flex;
    flex-direction: column;
}

.pa-card:hover {
    box-shadow: var(--pa-shadow-lg);
    transform: translateY(-4px);
    border-color: rgba(193, 39, 45, 0.15);
}

.pa-card-img {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: var(--pa-bg);
}

.pa-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.pa-card:hover .pa-card-img img {
    transform: scale(1.06);
}

.pa-card-img .pa-cat-badge {
    position: absolute;
    top: 12px;
    right: 12px;
}

.pa-card-body {
    padding: var(--pa-gap-lg);
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: var(--pa-gap-sm);
}

.pa-card-title {
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pa-card-title a {
    transition: color 0.2s;
}

.pa-card-title a:hover {
    color: var(--pa-brand);
}

.pa-card-excerpt {
    font-size: 0.875rem;
    color: var(--pa-text-muted);
    line-height: 1.65;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}

.pa-card-meta {
    display: flex;
    align-items: center;
    gap: var(--pa-gap);
    font-size: 0.78rem;
    color: var(--pa-text-light);
    margin-top: auto;
    padding-top: var(--pa-gap);
    border-top: 1px solid var(--pa-border);
}

.pa-card-img-placeholder {
    aspect-ratio: 16/9;
    background: linear-gradient(135deg, var(--pa-bg) 0%, var(--pa-border) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pa-text-light);
    font-size: 2rem;
}

/* ============================================================
   HEADLINE ITEMS (Timeline)
   ============================================================ */
.pa-headlines-list {
    display: flex;
    flex-direction: column;
}

.pa-headline-group-label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--pa-brand);
    padding: var(--pa-gap-sm) 0;
    border-bottom: 1px solid var(--pa-border);
    margin-bottom: var(--pa-gap-sm);
    text-transform: uppercase;
}

.pa-headline-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--pa-gap-sm);
    padding: var(--pa-gap-sm) 0;
    border-bottom: 1px solid var(--pa-border);
    align-items: start;
}

.pa-headline-item:last-child {
    border-bottom: none;
}

.pa-headline-time {
    font-size: 0.75rem;
    color: var(--pa-text-muted);
    font-weight: 600;
    white-space: nowrap;
    padding-top: 2px;
    min-width: 42px;
    text-align: center;
}

.pa-headline-content {
    min-width: 0;
}

.pa-headline-badges {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}

.pa-country-badge {
    font-size: 0.7rem;
    color: var(--pa-text-muted);
}

.pa-topic-badge {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 1px 7px;
    border-radius: var(--pa-radius-pill);
    color: var(--pa-white);
    background: var(--cat-default);
}

.pa-headline-title {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pa-headline-title:hover {
    color: var(--pa-brand);
}

/* ============================================================
   SIDEBAR WIDGETS
   ============================================================ */
.pa-widget {
    background: var(--pa-bg-card);
    border-radius: var(--pa-radius);
    box-shadow: var(--pa-shadow-sm);
    overflow: hidden;
    margin-bottom: var(--pa-gap-lg);
}

.pa-widget-header {
    background: var(--pa-brand);
    color: var(--pa-white);
    padding: 12px var(--pa-gap);
    font-size: 1rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pa-widget-header a {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.8rem;
    font-weight: 400;
}

.pa-widget-body {
    padding: var(--pa-gap);
}

.pa-country-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pa-country-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    border-radius: var(--pa-radius-sm);
    font-size: 0.9rem;
    transition: var(--pa-transition);
}

.pa-country-item:hover {
    background: var(--pa-bg);
    color: var(--pa-brand);
}

.pa-country-item-left {
    display: flex;
    align-items: center;
    gap: var(--pa-gap-sm);
}

.pa-country-count {
    font-size: 0.75rem;
    color: var(--pa-text-muted);
    background: var(--pa-bg);
    padding: 2px 8px;
    border-radius: var(--pa-radius-pill);
}

.pa-mostread-list {
    display: flex;
    flex-direction: column;
    gap: var(--pa-gap-sm);
}

.pa-mostread-item {
    display: grid;
    grid-template-columns: 24px 60px 1fr;
    gap: var(--pa-gap-sm);
    align-items: center;
    padding: var(--pa-gap-sm) 0;
    border-bottom: 1px solid var(--pa-border);
}

.pa-mostread-item:last-child {
    border-bottom: none;
}

.pa-mostread-num {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--pa-brand);
    text-align: center;
}

.pa-mostread-thumb {
    width: 60px;
    height: 45px;
    border-radius: var(--pa-radius-sm);
    overflow: hidden;
}

.pa-mostread-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pa-mostread-title {
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pa-mostread-title:hover {
    color: var(--pa-brand);
}

.pa-social-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pa-gap-sm);
}

.pa-social-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 8px;
    border-radius: var(--pa-radius);
    color: var(--pa-white);
    font-size: 0.75rem;
    gap: 4px;
    transition: var(--pa-transition);
}

.pa-social-btn:hover {
    opacity: 0.85;
    color: var(--pa-white);
    transform: translateY(-2px);
}

.pa-social-btn i {
    font-size: 1.2rem;
}

.pa-social-facebook {
    background: #1877F2;
}

.pa-social-instagram {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.pa-social-youtube {
    background: #FF0000;
}

.pa-social-twitter {
    background: #1DA1F2;
}

.pa-social-telegram {
    background: #0088CC;
}

.pa-social-whatsapp {
    background: #25D366;
}

/* ============================================================
   SINGLE ARTICLE
   ============================================================ */
.pa-single-wrap {
    padding: var(--pa-gap-xl) 0;
}

.pa-breadcrumb {
    font-size: 0.82rem;
    color: var(--pa-text-muted);
    margin-bottom: var(--pa-gap-lg);
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.pa-breadcrumb a {
    color: var(--pa-brand);
}

.pa-article-title {
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: var(--pa-gap);
}

.pa-article-meta {
    display: flex;
    align-items: center;
    gap: var(--pa-gap);
    font-size: 0.85rem;
    color: var(--pa-text-muted);
    flex-wrap: wrap;
}

.pa-article-meta a {
    color: var(--pa-brand);
}

.pa-article-featured-img {
    border-radius: var(--pa-radius);
    overflow: hidden;
    margin-bottom: var(--pa-gap-xl);
    aspect-ratio: 16/7;
}

.pa-article-featured-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pa-article-content {
    font-size: 1.05rem;
    line-height: 1.85;
}

.pa-article-content p {
    margin-bottom: var(--pa-gap-lg);
}

.pa-article-content figure,
.pa-article-content .wp-block-image {
    margin-bottom: var(--pa-gap-lg);
}

.pa-article-content img {
    max-width: 100%;
    height: auto;
    display: block;
}

.pa-article-content h2 {
    font-size: 1.3rem;
    margin: var(--pa-gap-xl) 0 var(--pa-gap);
}

.pa-article-content blockquote {
    border-right: 4px solid var(--pa-brand);
    padding: var(--pa-gap) var(--pa-gap-lg);
    background: var(--pa-bg);
    border-radius: 0 var(--pa-radius) var(--pa-radius) 0;
    font-style: italic;
    margin: var(--pa-gap-lg) 0;
}

.pa-share-bar {
    display: flex;
    align-items: center;
    gap: var(--pa-gap-sm);
    padding: var(--pa-gap) 0;
    border-top: 1px solid var(--pa-border);
    border-bottom: 1px solid var(--pa-border);
    margin: var(--pa-gap-xl) 0;
    flex-wrap: wrap;
}

.pa-share-label {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--pa-text-muted);
}

.pa-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: var(--pa-radius-pill);
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--pa-white);
    border: none;
    cursor: pointer;
    transition: var(--pa-transition);
}

.pa-share-btn:hover {
    opacity: 0.85;
    transform: translateY(-1px);
}

.pa-share-facebook {
    background: #1877F2;
}

.pa-share-twitter {
    background: #1DA1F2;
}

.pa-share-whatsapp {
    background: #25D366;
}

.pa-share-telegram {
    background: #0088CC;
}

.pa-share-copy {
    background: var(--pa-text-muted);
}

.pa-tags {
    display: flex;
    align-items: center;
    gap: var(--pa-gap-sm);
    flex-wrap: wrap;
    margin: var(--pa-gap-lg) 0;
}

.pa-tag {
    padding: 5px 12px;
    background: var(--pa-bg);
    border: 1px solid var(--pa-border);
    border-radius: var(--pa-radius-pill);
    font-size: 0.8rem;
    color: var(--pa-text-muted);
    transition: var(--pa-transition);
}

.pa-tag:hover {
    background: var(--pa-brand);
    border-color: var(--pa-brand);
    color: var(--pa-white);
}

.pa-author-box {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: var(--pa-gap-lg);
    padding: var(--pa-gap-lg);
    background: var(--pa-bg);
    border-radius: var(--pa-radius);
    margin: var(--pa-gap-xl) 0;
    align-items: center;
}

.pa-author-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--pa-brand);
}

.pa-author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pa-author-name {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 4px;
}

.pa-author-bio {
    font-size: 0.875rem;
    color: var(--pa-text-muted);
    line-height: 1.6;
}

.pa-author-link {
    display: inline-block;
    margin-top: var(--pa-gap-sm);
    font-size: 0.82rem;
    color: var(--pa-brand);
    font-weight: 600;
}

.pa-related-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: var(--pa-gap-lg);
    padding-bottom: var(--pa-gap-sm);
    border-bottom: 2px solid var(--pa-brand);
}

/* ============================================================
   SINGLE HEADLINE
   ============================================================ */
.pa-headline-single {
    padding: var(--pa-gap-xl) 0;
}

.pa-headline-single-title {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.5;
    margin: var(--pa-gap) 0;
}

.pa-headline-single-meta {
    display: flex;
    align-items: center;
    gap: var(--pa-gap);
    font-size: 0.85rem;
    color: var(--pa-text-muted);
    flex-wrap: wrap;
}

.pa-external-link-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--pa-gap-sm);
    padding: 14px 24px;
    background: var(--pa-brand);
    color: var(--pa-white);
    border-radius: var(--pa-radius);
    font-size: 1rem;
    font-weight: 700;
    margin: var(--pa-gap-xl) 0;
    transition: var(--pa-transition);
}

.pa-external-link-btn:hover {
    background: var(--pa-brand-dark);
    color: var(--pa-white);
    transform: translateY(-2px);
    box-shadow: var(--pa-shadow-lg);
}

/* ============================================================
   ARCHIVE HEADER (PREMIUM STYLE)
   ============================================================ */
.pa-archive-header {
    background: linear-gradient(135deg, var(--pa-brand) 0%, var(--pa-brand-dark) 100%);
    position: relative;
    overflow: hidden;
    color: var(--pa-white);
    padding: 4rem 0;
    margin-bottom: 3rem;
    box-shadow: inset 0 -10px 20px rgba(0, 0, 0, 0.05);
    text-align: center;
}

.pa-archive-header::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 15% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 40%);
    pointer-events: none;
}

.pa-archive-title {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--pa-white) !important;
    margin: 0;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    letter-spacing: -0.02em;
}

.pa-archive-desc {
    color: rgba(255, 255, 255, 0.95);
    margin-top: 1rem;
    font-size: 1.15rem;
    max-width: 900px;
    line-height: 1.6;
    font-weight: 500;
    margin-left: auto;
    margin-right: auto;
}

.pa-filter-bar {
    background: var(--pa-bg-card);
    border-radius: var(--pa-radius);
    padding: var(--pa-gap);
    margin-bottom: var(--pa-gap-xl);
    box-shadow: var(--pa-shadow-sm);
    display: flex;
    align-items: center;
    gap: var(--pa-gap);
    flex-wrap: wrap;
}

.pa-filter-bar select {
    padding: 8px 12px;
    border: 1px solid var(--pa-border);
    border-radius: var(--pa-radius-sm);
    font-family: var(--pa-font);
    font-size: 0.9rem;
    color: var(--pa-text);
    background: var(--pa-white);
    cursor: pointer;
    direction: rtl;
}

.pa-filter-bar select:focus {
    outline: none;
    border-color: var(--pa-brand);
}

/* ============================================================
   FOOTER
   ============================================================ */
.pa-footer {
    background: linear-gradient(180deg, #1A202C 0%, #0f1419 100%);
    color: rgba(255, 255, 255, 0.85);
    margin-top: var(--pa-gap-2xl);
    border-top: 3px solid var(--pa-brand);
}

.pa-footer-main {
    padding: var(--pa-gap-2xl) 0 var(--pa-gap-xl);
}

.pa-footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--pa-gap-xl);
}

.pa-footer-col-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--pa-white);
    margin-bottom: var(--pa-gap-lg);
    padding-bottom: var(--pa-gap-sm);
    border-bottom: 2px solid var(--pa-brand);
    display: inline-block;
}

.pa-footer-about-text {
    font-size: 0.875rem;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: var(--pa-gap);
}

.pa-footer-logo {
    margin-bottom: var(--pa-gap);
}

.pa-footer-logo img {
    height: 44px;
    width: auto;
    object-fit: contain;
}

.pa-footer-links {
    display: flex;
    flex-direction: column;
    gap: var(--pa-gap-sm);
}

.pa-footer-links a {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    gap: var(--pa-gap-sm);
    transition: var(--pa-transition);
}

.pa-footer-links a:hover {
    color: var(--pa-white);
    padding-right: 4px;
}

.pa-footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: var(--pa-gap-sm);
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: var(--pa-gap-sm);
}

.pa-footer-contact-item i {
    color: var(--pa-brand);
    margin-top: 3px;
}

.pa-footer-social {
    background: rgba(0, 0, 0, 0.25);
    padding: var(--pa-gap-lg) 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.pa-footer-social .pa-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--pa-gap);
    flex-wrap: wrap;
}

.pa-footer-social-label {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 600;
}

.pa-footer-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: var(--pa-white);
    font-size: 1.1rem;
    transition: var(--pa-transition);
}

.pa-footer-social-link:hover {
    background: var(--pa-brand);
    color: var(--pa-white);
    transform: translateY(-3px);
}

.pa-footer-copyright {
    padding: var(--pa-gap-lg) 0;
}

.pa-footer-copyright .pa-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--pa-gap);
}

.pa-footer-copyright-text {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.5);
}

.pa-footer-legal {
    display: flex;
    gap: var(--pa-gap-lg);
}

.pa-footer-legal a {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.5);
}

.pa-footer-legal a:hover {
    color: var(--pa-white);
}

/* ============================================================
   BACK TO TOP
   ============================================================ */
.pa-back-top {
    position: fixed;
    bottom: 24px;
    left: 24px;
    width: 44px;
    height: 44px;
    background: var(--pa-brand);
    color: var(--pa-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    cursor: pointer;
    box-shadow: var(--pa-shadow-lg);
    opacity: 0;
    visibility: hidden;
    transition: var(--pa-transition);
    z-index: 999;
    border: none;
}

.pa-back-top.visible {
    opacity: 1;
    visibility: visible;
}

.pa-back-top:hover {
    background: var(--pa-brand-dark);
    transform: translateY(-3px);
}

/* ============================================================
   MOBILE MENU
   ============================================================ */
.pa-mobile-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1500;
}

.pa-mobile-overlay.active {
    display: block;
}

.pa-mobile-panel {
    position: fixed;
    top: 0;
    right: -100%;
    width: 280px;
    height: 100%;
    background: var(--pa-white);
    z-index: 1600;
    overflow-y: auto;
    transition: right 0.3s ease;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.2);
}

.pa-mobile-panel.active {
    right: 0;
}

.pa-mobile-panel-header {
    background: var(--pa-brand);
    padding: var(--pa-gap);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pa-mobile-logo img,
.pa-mobile-logo .custom-logo {
    max-height: 44px !important;
    width: auto !important;
    object-fit: contain;
    display: block;
}

.pa-mobile-panel-close {
    background: none;
    border: none;
    color: var(--pa-white);
    font-size: 1.3rem;
    cursor: pointer;
}

.pa-mobile-nav {
    padding: var(--pa-gap);
    list-style: none !important;
    padding-inline-start: 0 !important;
}

.pa-mobile-nav ul,
.pa-mobile-nav li {
    list-style: none !important;
    padding-inline-start: 0 !important;
    margin: 0 !important;
}

.pa-mobile-nav a {
    display: block;
    padding: 12px var(--pa-gap);
    border-bottom: 1px solid var(--pa-border);
    font-size: 1rem;
    font-weight: 600;
    color: var(--pa-text);
}

.pa-mobile-nav a:hover {
    color: var(--pa-brand);
    background: var(--pa-bg);
}

/* ============================================================
   PAGINATION
   ============================================================ */
.pa-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--pa-gap-sm);
    margin: var(--pa-gap-xl) 0;
    flex-wrap: wrap;
}

.pa-pagination a,
.pa-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--pa-radius-sm);
    font-size: 0.9rem;
    font-weight: 600;
    border: 1px solid var(--pa-border);
    background: var(--pa-white);
    color: var(--pa-text);
    transition: var(--pa-transition);
}

.pa-pagination a:hover,
.pa-pagination .current {
    background: var(--pa-brand);
    border-color: var(--pa-brand);
    color: var(--pa-white);
}

/* ============================================================
   404 PAGE
   ============================================================ */
.pa-404 {
    text-align: center;
    padding: var(--pa-gap-2xl) 0;
}

.pa-404-code {
    font-size: 8rem;
    font-weight: 900;
    color: var(--pa-brand);
    line-height: 1;
    opacity: 0.15;
}

.pa-404-title {
    font-size: 1.75rem;
    font-weight: 800;
    margin-bottom: var(--pa-gap);
}

.pa-404-text {
    color: var(--pa-text-muted);
    margin-bottom: var(--pa-gap-xl);
}

/* ============================================================
   RESPONSIVE — TABLET
   ============================================================ */
@media (max-width: 1024px) {
    .pa-container {
        padding: 0 var(--pa-gap);
    }

    /* Header: hide desktop nav, show burger menu */
    .pa-header-nav .pa-nav-menu,
    .pa-header-nav ul.pa-nav-menu {
        display: none !important;
    }

    .pa-header-nav .pa-hamburger {
        display: flex !important;
    }

    .pa-header-nav {
        justify-content: space-between;
    }

    .pa-header-utils {
        padding: 0 var(--pa-gap);
    }

    .pa-header-utils .pa-font-controls {
        display: none;
    }

    .pa-row {
        grid-template-columns: 1fr 260px;
        gap: var(--pa-gap-xl);
        padding: var(--pa-gap-lg) 0;
    }

    .pa-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--pa-gap-lg);
    }

    .pa-hero-grid {
        height: 380px;
    }

    .pa-footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ============================================================
   RESPONSIVE — MOBILE
   ============================================================ */
@media (max-width: 768px) {

    /* Top bar (if present) */
    .pa-topbar {
        display: none;
    }

    /* Header logo column */
    .pa-header-logo img,
    .pa-header-logo .custom-logo {
        max-height: 72px !important;
    }

    .pa-logo-name {
        font-size: 1rem;
    }

    /* Header content: compact utils row, burger for nav */
    .pa-header-content {
        min-width: 0;
    }

    .pa-header-utils {
        height: 40px;
        padding: 0 var(--pa-gap);
        flex-wrap: wrap;
    }

    .pa-header-utils .pa-font-controls {
        display: none;
    }

    .pa-header-utils .pa-search-toggle span {
        display: none;
    }

    .pa-header-social-link {
        width: 28px;
        height: 28px;
        font-size: 0.9rem;
    }

    .pa-header-nav {
        height: 44px;
        padding: 0 var(--pa-gap);
    }

    .pa-header-nav .pa-nav-menu,
    .pa-header-nav ul.pa-nav-menu {
        display: none !important;
    }

    .pa-header-nav .pa-hamburger {
        display: flex !important;
    }

    .pa-header-nav {
        justify-content: space-between;
    }

    /* Legacy selectors (if used elsewhere) */
    .pa-logobar {
        height: 68px;
    }

    .pa-logo img {
        height: 44px;
    }

    .pa-nav-menu {
        display: none !important;
    }

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

    .pa-row {
        grid-template-columns: 1fr;
        padding: var(--pa-gap) 0;
    }

    .pa-sidebar {
        order: 2;
    }

    .pa-hero {
        padding: var(--pa-gap-lg) 0;
    }

    .pa-hero-grid {
        grid-template-columns: 1fr;
        grid-template-rows: 260px 140px 140px;
        height: auto;
        gap: var(--pa-gap-sm);
    }

    .pa-hero-main {
        grid-row: 1;
    }

    .pa-hero-main .pa-hero-overlay h2 {
        font-size: 1.25rem;
    }

    .pa-cards-grid {
        grid-template-columns: 1fr;
        gap: var(--pa-gap-lg);
    }

    .pa-section {
        padding: var(--pa-gap-xl) 0;
    }

    .pa-footer-grid {
        grid-template-columns: 1fr;
        gap: var(--pa-gap-lg);
    }

    .pa-footer-copyright .pa-container {
        flex-direction: column;
        text-align: center;
    }

    .pa-author-box {
        grid-template-columns: 60px 1fr;
    }

    .pa-author-avatar {
        width: 60px;
        height: 60px;
    }

    .pa-article-title {
        font-size: 1.3rem;
    }

    .pa-headline-single-title {
        font-size: 1.25rem;
    }

    .pa-back-top {
        bottom: 20px;
        left: 20px;
        width: 40px;
        height: 40px;
    }
}

@media print {

    .pa-topbar,
    .pa-navbar,
    .pa-ticker,
    .pa-sidebar,
    .pa-footer,
    .pa-back-top,
    .pa-share-bar {
        display: none !important;
    }

    .pa-row {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   NEWS AGGREGATION SYSTEM
   Covers: Source Archive, Subject Timeline, Single-Article Source Block
   ═══════════════════════════════════════════════════════════════════ */

/* ── Source Archive Header ──────────────────────────────────────── */
.pa-source-header {
    background: var(--pa-surface, #f8fafc);
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
    padding: 2rem 0;
    margin-bottom: 0;
}

.pa-source-hero {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.pa-source-logo-wrap {
    flex-shrink: 0;
}

.pa-source-logo {
    width: 80px;
    height: 80px;
    object-fit: contain;
    border-radius: 12px;
    border: 1px solid var(--pa-border, #e2e8f0);
    background: #fff;
    padding: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}

.pa-source-info {
    flex: 1;
    min-width: 0;
}

.pa-source-name {
    font-size: 1.7rem;
    font-weight: 800;
    color: var(--pa-text, #1a202c);
    margin: 0 0 0.4rem;
    line-height: 1.2;
}

.pa-source-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}

.pa-source-website {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--pa-primary, #c1272d);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: opacity .2s;
}

.pa-source-website:hover {
    opacity: .75;
}

.pa-source-count {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--pa-text-muted, #718096);
    font-size: 0.85rem;
}

.pa-source-desc {
    color: var(--pa-text-muted, #718096);
    font-size: 0.9rem;
    margin: 0;
    line-height: 1.6;
}

/* ── Subject Archive Header ─────────────────────────────────────── */
.pa-subject-header {
    background: var(--pa-surface, #f8fafc);
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
    padding: 2.5rem 0;
}

/* ── Hero Card (Common for Countries & Subjects) ─────────── */
.pa-country-hero,
.pa-subject-hero {
    display: flex;
    align-items: stretch;
    border-radius: 16px;
    overflow: hidden;
    background: var(--pa-surface, #f8fafc);
    border: 1px solid var(--pa-border, #e2e8f0);
    box-shadow: 0 4px 24px rgba(0, 0, 0, .07);
    margin: 0 0 2rem;
    min-height: 180px;
}

.pa-country-hero__image,
.pa-subject-hero__image {
    flex: 0 0 340px;
    position: relative;
    overflow: hidden;
}

.pa-country-hero__image img,
.pa-subject-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.pa-country-hero--has-cover .pa-country-hero__image::after,
.pa-subject-hero--has-cover .pa-subject-hero__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, rgba(0, 0, 0, .35) 0%, transparent 60%);
}

.pa-country-hero__body,
.pa-subject-hero__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem 2.5rem;
    gap: 0.5rem;
}

.pa-country-hero__flag {
    font-size: 3rem;
    line-height: 1;
}

.pa-country-hero__title,
.pa-subject-hero__title {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--pa-text, #1a202c);
    margin: 0;
    line-height: 1.2;
}

.pa-country-hero__desc,
.pa-subject-hero__desc {
    color: var(--pa-text-muted, #718096);
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0.25rem 0;
}

.pa-country-hero__stats,
.pa-subject-hero__stats {
    display: flex;
    gap: 1.2rem;
    flex-wrap: wrap;
    font-size: 0.9rem;
    color: var(--pa-text-muted, #718096);
    margin-top: 0.5rem;
}

.pa-country-hero__stats span,
.pa-subject-hero__stats span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

@media (max-width: 768px) {

    .pa-country-hero,
    .pa-subject-hero {
        flex-direction: column;
    }

    .pa-country-hero__image,
    .pa-subject-hero__image {
        flex: 0 0 180px;
        height: 180px;
        width: 100%;
    }

    .pa-country-hero__body,
    .pa-subject-hero__body {
        padding: 1.25rem 1.5rem;
    }

    .pa-country-hero__flag {
        font-size: 2.2rem;
    }

    .pa-country-hero__title,
    .pa-subject-hero__title {
        font-size: 1.6rem;
    }
}

.pa-subject-header--has-cover {
    background-size: cover;
    background-position: center;
    position: relative;
}

.pa-subject-header-overlay {
    position: relative;
    z-index: 1;
}

.pa-subject-header--has-cover .pa-subject-header-overlay {
    background: linear-gradient(135deg, rgba(0, 0, 0, .7) 0%, rgba(0, 0, 0, .45) 100%);
    padding: 2.5rem 0;
    margin: -2.5rem 0;
}

.pa-subject-header--has-cover .pa-subject-title,
.pa-subject-header--has-cover .pa-subject-meta,
.pa-subject-header--has-cover .pa-subject-desc {
    color: #fff;
}

.pa-subject-title {
    font-size: 1.9rem;
    font-weight: 800;
    color: var(--pa-text, #1a202c);
    margin: 0.5rem 0 0.5rem;
    line-height: 1.2;
}

.pa-subject-meta {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    flex-wrap: wrap;
    color: var(--pa-text-muted, #718096);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.pa-subject-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.pa-subject-desc {
    color: var(--pa-text-muted, #718096);
    font-size: 0.9rem;
    margin: 0;
    line-height: 1.6;
    max-width: 680px;
}

/* ── Subject Timeline ───────────────────────────────────────────── */
.pa-timeline-date-group {
    margin-bottom: 2rem;
}

.pa-timeline-date-label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: var(--pa-primary, #c1272d);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.2rem 0.75rem;
    border-radius: 20px;
    margin-bottom: 1rem;
}

.pa-timeline-items {
    border-right: 2px solid var(--pa-border, #e2e8f0);
    padding-right: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pa-timeline-item {
    position: relative;
    padding: 0.85rem 0 0.85rem 0;
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
    transition: background .15s;
}

.pa-timeline-item:last-child {
    border-bottom: none;
}

/* Dot on the timeline line */
.pa-timeline-item::before {
    content: '';
    position: absolute;
    right: calc(-1rem - 5px);
    top: 1rem;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--pa-primary, #c1272d);
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--pa-primary, #c1272d);
}

.pa-timeline-source {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}

.pa-timeline-source-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    text-decoration: none;
    transition: opacity .2s;
}

.pa-timeline-source-link:hover {
    opacity: .7;
}

.pa-timeline-src-logo {
    width: 24px;
    height: 24px;
    object-fit: contain;
    border-radius: 4px;
    border: 1px solid var(--pa-border, #e2e8f0);
    background: #fff;
}

.pa-timeline-src-name {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--pa-primary, #c1272d);
}

.pa-timeline-time {
    font-size: 0.75rem;
    color: var(--pa-text-muted, #718096);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-right: auto;
}

.pa-timeline-content {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.pa-timeline-thumb-link {
    flex-shrink: 0;
}

.pa-timeline-thumb {
    width: 90px;
    height: 60px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}

.pa-timeline-title {
    flex: 1;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--pa-text, #1a202c);
    text-decoration: none;
    line-height: 1.5;
    transition: color .2s;
}

.pa-timeline-title:hover {
    color: var(--pa-primary, #c1272d);
}

/* ── Source block on single.php ─────────────────────────────────── */
.pa-source-block {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 1.5rem 0 1rem;
    padding: 1rem 1.25rem;
    background: var(--pa-surface, #f8fafc);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-right: 4px solid var(--pa-primary, #c1272d);
    border-radius: 0 8px 8px 0;
}

.pa-source-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    background: #fff;
    border: 1px solid var(--pa-border, #e2e8f0);
    border-radius: 8px;
    padding: 0.3rem 0.7rem 0.3rem 0.5rem;
    transition: box-shadow .2s;
}

.pa-source-badge:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
}

.pa-source-badge-logo {
    width: 28px;
    height: 28px;
    object-fit: contain;
    border-radius: 4px;
}

.pa-source-badge-name {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--pa-text, #1a202c);
}

/* Read Original Button */
.pa-read-original-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: var(--pa-primary, #c1272d);
    color: #fff !important;
    text-decoration: none;
    padding: 0.5rem 1.1rem;
    border-radius: 8px;
    font-size: 0.88rem;
    font-weight: 700;
    transition: opacity .2s, transform .15s;
    margin-right: auto;
}

.pa-read-original-btn:hover {
    opacity: .88;
    transform: translateY(-1px);
}

/* ── Taxonomy tag rows on single.php ────────────────────────────── */
.pa-taxonomy-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.6rem 0;
}

.pa-taxonomy-label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--pa-text-muted, #718096);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: 0.25rem;
}

.pa-tax-badge {
    display: inline-flex;
    align-items: center;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.2rem 0.65rem;
    border-radius: 20px;
    text-decoration: none;
    transition: opacity .2s;
}

.pa-tax-badge:hover {
    opacity: .8;
}

.pa-tax-badge--subject {
    background: rgba(99, 102, 241, .12);
    color: #4338ca;
}

.pa-tax-badge--country {
    background: rgba(16, 185, 129, .12);
    color: #065f46;
}

/* ── Subject list widget (in subject archive sidebar) ───────────── */
.pa-widget--subjects .pa-subject-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pa-widget--subjects .pa-subject-list li {
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
}

.pa-widget--subjects .pa-subject-list li:last-child {
    border-bottom: none;
}

.pa-widget--subjects .pa-subject-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.55rem 0.25rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--pa-text, #1a202c);
    text-decoration: none;
    transition: color .2s;
}

.pa-widget--subjects .pa-subject-list a:hover {
    color: var(--pa-primary, #c1272d);
}

.pa-subject-count {
    font-size: 0.75rem;
    font-weight: 700;
    background: var(--pa-border, #e2e8f0);
    color: var(--pa-text-muted, #718096);
    padding: 1px 7px;
    border-radius: 10px;
}

/* ── No results ─────────────────────────────────────────────────── */
.pa-no-results {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--pa-text-muted, #718096);
    font-size: 1rem;
}

/* ── Responsive: Timeline ────────────────────────────────────────── */
@media (max-width: 640px) {
    .pa-source-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .pa-source-name {
        font-size: 1.3rem;
    }

    .pa-subject-title {
        font-size: 1.4rem;
    }

    .pa-timeline-thumb {
        width: 70px;
        height: 46px;
    }

    .pa-source-block {
        flex-direction: column;
        align-items: flex-start;
    }

    .pa-read-original-btn {
        margin-right: 0;
        width: 100%;
        justify-content: center;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   pa_summary — Single Summary Article Styles
   ═══════════════════════════════════════════════════════════════════ */

/* ── Source banner at top of summary ────────────────────────────── */
.pa-summary-source-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.6rem 1rem;
    background: var(--pa-surface, #f8fafc);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-right: 4px solid var(--pa-primary, #c1272d);
    border-radius: 0 8px 8px 0;
    margin-bottom: 1.25rem;
}

.pa-summary-source-link {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
    transition: opacity .2s;
}

.pa-summary-source-link:hover {
    opacity: .75;
}

.pa-summary-src-logo {
    width: 36px;
    height: 36px;
    object-fit: contain;
    border-radius: 6px;
    border: 1px solid var(--pa-border, #e2e8f0);
    background: #fff;
}

.pa-summary-src-name {
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--pa-text, #1a202c);
}

.pa-summary-label {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 700;
    background: rgba(193, 39, 45, .1);
    color: var(--pa-primary, #c1272d);
    padding: 0.2rem 0.65rem;
    border-radius: 20px;
    white-space: nowrap;
}

/* ── Large read-original button ─────────────────────────────────── */
.pa-summary-read-original {
    margin: 1.5rem 0;
    text-align: center;
}

.pa-read-original-btn--large {
    font-size: 1rem;
    padding: 0.75rem 1.75rem;
    border-radius: 10px;
    gap: 0.6rem;
    margin-right: 0;
    width: auto;
}

/* ── Related summaries from same source ─────────────────────────── */
.pa-summary-related-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.pa-summary-related-item {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.6rem 0;
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
}

.pa-summary-related-item:last-child {
    border-bottom: none;
}

.pa-summary-related-thumb {
    flex-shrink: 0;
}

.pa-summary-related-thumb img {
    width: 80px;
    height: 54px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}

.pa-summary-related-body {
    flex: 1;
    min-width: 0;
}

.pa-summary-related-title {
    display: block;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--pa-text, #1a202c);
    text-decoration: none;
    line-height: 1.4;
    margin-bottom: 0.25rem;
    transition: color .2s;
}

.pa-summary-related-title:hover {
    color: var(--pa-primary, #c1272d);
}

.pa-summary-related-date {
    font-size: 0.75rem;
    color: var(--pa-text-muted, #718096);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

/* ── Source info sidebar widget ─────────────────────────────────── */
.pa-widget--source-info {
    margin-top: 1.5rem;
}

.pa-source-widget-body {
    padding: 0.5rem 0;
    text-align: center;
}

.pa-source-widget-logo {
    width: 70px;
    height: 70px;
    object-fit: contain;
    border-radius: 10px;
    border: 1px solid var(--pa-border, #e2e8f0);
    padding: 6px;
    background: #fff;
    margin: 0 auto 0.5rem;
    display: block;
}

.pa-source-widget-name {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: var(--pa-text, #1a202c);
    margin-bottom: 0.4rem;
}

.pa-source-widget-body p {
    font-size: 0.82rem;
    color: var(--pa-text-muted, #718096);
    line-height: 1.5;
    margin-bottom: 0.75rem;
}

.pa-source-widget-links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* ── Utility: outline button ─────────────────────────────────────── */
.pa-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.45rem 1rem;
    border: 2px solid var(--pa-primary, #c1272d);
    color: var(--pa-primary, #c1272d);
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s, color .2s;
}

.pa-btn-outline:hover {
    background: var(--pa-primary, #c1272d);
    color: #fff;
}

/* ═══════════════════════════════════════════════════════════════════
   HOMEPAGE: Summaries (60%) + Breaking News (40%) Section
   ═══════════════════════════════════════════════════════════════════ */

.pa-sb-section {
    padding: 2rem 0;
    background: var(--pa-bg, #fff);
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
}

/* ── 60 / 40 grid ────────────────────────────────────────────────── */
.pa-sb-grid {
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 2rem;
    align-items: start;
}

/* ─────────────────────────────────────────────────────────────────
   LEFT — Summaries
───────────────────────────────────────────────────────────────── */
.pa-sb-summaries-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pa-sb-sum-item {
    display: flex;
    gap: 0.85rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
    align-items: flex-start;
    transition: background .15s;
}

.pa-sb-sum-item:first-child {
    padding-top: 0;
}

.pa-sb-sum-item:last-child {
    border-bottom: none;
}

.pa-sb-sum-item:hover {
    background: var(--pa-surface, #f8fafc);
}

/* Thumbnail */
.pa-sb-sum-thumb {
    flex-shrink: 0;
    display: block;
    width: 110px;
    height: 75px;
    border-radius: 8px;
    overflow: hidden;
}

.pa-sb-sum-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s;
}

.pa-sb-sum-item:hover .pa-sb-sum-thumb img {
    transform: scale(1.04);
}

.pa-sb-sum-thumb--placeholder {
    background: var(--pa-surface, #f1f5f9);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pa-text-muted, #94a3b8);
    font-size: 1.5rem;
}

/* Body */
.pa-sb-sum-body {
    flex: 1;
    min-width: 0;
}

/* Source badge */
.pa-sb-sum-source {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    text-decoration: none;
    margin-bottom: 0.3rem;
}

.pa-sb-sum-logo {
    width: 20px;
    height: 20px;
    object-fit: contain;
    border-radius: 4px;
    border: 1px solid var(--pa-border, #e2e8f0);
    background: #fff;
}

.pa-sb-sum-source span {
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--pa-primary, #c1272d);
    text-transform: uppercase;
    letter-spacing: .03em;
}

/* Title */
.pa-sb-sum-title {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 0.25rem;
}

.pa-sb-sum-title a {
    color: var(--pa-text, #1a202c);
    text-decoration: none;
    transition: color .2s;
}

.pa-sb-sum-title a:hover {
    color: var(--pa-primary, #c1272d);
}

/* Excerpt */
.pa-sb-sum-excerpt {
    font-size: 0.8rem;
    color: var(--pa-text-muted, #718096);
    line-height: 1.5;
    margin: 0 0 0.3rem;
}

/* Meta row */
.pa-sb-sum-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.72rem;
    color: var(--pa-text-muted, #94a3b8);
}

.pa-sb-sum-meta i {
    font-size: 0.7rem;
}

.pa-sb-sum-orig {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--pa-primary, #c1272d);
    text-decoration: none;
    font-weight: 700;
    transition: opacity .2s;
}

.pa-sb-sum-orig:hover {
    opacity: .75;
}

/* ─────────────────────────────────────────────────────────────────
   RIGHT — Breaking News
───────────────────────────────────────────────────────────────── */
.pa-sb-breaking {
    background: var(--pa-surface, #f8fafc);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-top: 3px solid #e53e3e;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    position: sticky;
    top: 80px;
    /* below fixed header */
}

.pa-sb-breaking-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pa-sb-break-item {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
}

.pa-sb-break-item:last-child {
    border-bottom: none;
}

/* Red pulsing dot */
.pa-sb-break-dot {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    background: #e53e3e;
    border-radius: 50%;
    margin-top: 6px;
    animation: pa-pulse 1.6s ease-in-out infinite;
}

@keyframes pa-pulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(229, 62, 62, .5);
    }

    50% {
        box-shadow: 0 0 0 5px rgba(229, 62, 62, 0);
    }
}

.pa-sb-break-body {
    flex: 1;
    min-width: 0;
}

.pa-sb-break-flag {
    font-size: 1rem;
    margin-left: 0.2rem;
}

.pa-sb-break-title {
    display: block;
    font-size: 0.87rem;
    font-weight: 700;
    color: var(--pa-text, #1a202c);
    text-decoration: none;
    line-height: 1.4;
    margin-bottom: 0.2rem;
    transition: color .2s;
}

.pa-sb-break-title:hover {
    color: #e53e3e;
}

.pa-sb-break-time {
    font-size: 0.7rem;
    color: var(--pa-text-muted, #94a3b8);
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

.pa-sb-break-time i {
    font-size: 0.65rem;
}

/* ── Empty state ─────────────────────────────────────────────────── */
.pa-sb-empty {
    color: var(--pa-text-muted, #94a3b8);
    font-size: 0.85rem;
    text-align: center;
    padding: 1.5rem 0;
}

/* ── Responsive: stack on tablet/mobile ─────────────────────────── */
@media (max-width: 900px) {
    .pa-sb-grid {
        grid-template-columns: 1fr;
    }

    .pa-sb-breaking {
        position: static;
    }
}

@media (max-width: 640px) {
    .pa-sb-sum-thumb {
        width: 80px;
        height: 56px;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   HOMEPAGE: Subjects Timeline + Countries Grid
   Layout: [ 1fr subjects ] [ 2fr countries (2-col inner) ] — ONE ROW
   ═══════════════════════════════════════════════════════════════════ */

.pa-sc-section {
    padding: 2rem 0;
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
    background: var(--pa-bg, #fff);
}

/* ── Outer 3-column grid (1 + 2) ────────────────────────────────── */
.pa-sc-main-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1.5rem;
    align-items: start;
}

/* ── Left panel: subjects ────────────────────────────────────────── */
.pa-sc-left {
    min-width: 0;
    display: flex;
    flex-direction: column;
    /* stack cards; they'll grow to fill full height */
}

/* Subject column card — natural height, fits content */
.pa-sc-subject-col {
    background: var(--pa-surface, #f8fafc);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-radius: 12px;
    margin-bottom: 1.5rem;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
    /* For Masonry layout */
    break-inside: avoid;
    display: inline-block;
    width: 100%;
}

.pa-sc-subject-col:last-child {
    margin-bottom: 0;
}

/* 100% width Banner Header */
.pa-sc-subject-header {
    background: linear-gradient(135deg, var(--pa-brand, #e53e3e) 0%, #b91c1c 100%);
    padding: 1.8rem 1rem;
    text-align: center;
    position: relative;
}

/* Optional subtle overlay pattern on banner */
.pa-sc-subject-header::after {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.25;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(0, 0, 0, 0.5) 100%);
}

.pa-sc-subject-name {
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    text-decoration: none;
    display: block;
    position: relative;
    z-index: 2;
}

.pa-sc-subject-name:hover {
    color: #f8fafc;
}

/* Card Body */
.pa-sc-subject-body {
    padding: 1.25rem 1.25rem 0.5rem 1.25rem;
}

/* Card Footer */
.pa-sc-subject-footer {
    padding: 1rem 1.25rem 1.25rem 1.25rem;
    text-align: left;
    /* Aligns to right visually in RTL if desired, or left for LTR visual 'end' */
}

/* Align to logical end in RTL */
[dir="rtl"] .pa-sc-subject-footer {
    text-align: left;
}

.pa-sc-subject-more {
    font-size: 0.85rem;
    color: var(--pa-brand);
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    transition: var(--pa-transition);
}

.pa-sc-subject-more:hover {
    color: var(--pa-brand-dark, #c1272d);
}

/* Timeline list */
.pa-sc-timeline {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pa-sc-tl-item {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    padding: 0.6rem 0;
    border-bottom: 1px dashed var(--pa-border, #e2e8f0);
}

.pa-sc-tl-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.pa-sc-tl-dot {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    background: var(--pa-primary, #c1272d);
    border-radius: 50%;
    margin-top: 22px;
    /* push dot down past the source badge so it aligns with the title */
    opacity: .85;
}

.pa-sc-tl-body {
    flex: 1;
    min-width: 0;
}

/* Source badge — compact pill */
.pa-sc-tl-source {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--pa-primary, #c1272d);
    background: rgba(193, 39, 45, .07);
    border-radius: 20px;
    padding: 2px 7px 2px 4px;
    margin-bottom: 0.25rem;
    line-height: 1.4;
}

/* Source logo — properly sized */
.pa-sc-tl-logo {
    width: 22px;
    height: 22px;
    object-fit: contain;
    border-radius: 4px;
    border: 1px solid var(--pa-border, #e2e8f0);
    background: #fff;
    flex-shrink: 0;
}

.pa-sc-tl-title {
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--pa-text, #1a202c);
    text-decoration: none;
    line-height: 1.4;
    margin-bottom: 0.18rem;
    transition: color .2s;
}

.pa-sc-tl-title:hover {
    color: var(--pa-primary, #c1272d);
}

.pa-sc-tl-time {
    font-size: 0.67rem;
    color: var(--pa-text-muted, #94a3b8);
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

/* ── Right panel: countries ──────────────────────────────────────── */
.pa-sc-right {
    min-width: 0;
}

/* Base grid for country cards */
.pa-sc-countries-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    align-items: start;
}

.pa-sc-countries-grid--4col {
    grid-template-columns: repeat(4, 1fr);
}

.pa-sc-subjects-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    align-items: start;
}

/* ── Masonry Grid for Archive Pages ── */
.pa-masonry-grid {
    column-count: 3;
    column-gap: 2rem;
}

@media (max-width: 1100px) {
    .pa-masonry-grid {
        column-count: 2;
    }
}

@media (max-width: 768px) {
    .pa-masonry-grid {
        column-count: 1;
        column-gap: 0;
    }
}

.pa-sc-subjects-col {
    display: flex;
    flex-direction: column;
}

/* ═══════════════════════════════════════════════════════════════════
   LATEST SUBJECTS CARDS (أحدث المواضيع)
   ═══════════════════════════════════════════════════════════════════ */
.pa-sc-new-card {
    background: var(--pa-bg-card, #fff);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1rem;
    break-inside: avoid;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
}

.pa-sc-new-title {
    margin: 0 0 1rem 0;
    font-size: 1.1rem;
    font-weight: 900;
}

.pa-sc-new-title a {
    color: var(--pa-text, #0f172a);
    text-decoration: none;
    transition: color 0.2s;
}

.pa-sc-new-title a:hover {
    color: var(--pa-primary, #e11d48);
}

/* CSS Overlay Link Hover for Cards */
.pa-sc-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(225, 29, 72, 0.95);
    /* Deep translucent pa-primary red */
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 10;
    text-decoration: none;
}

.pa-sc-new-card:hover .pa-sc-card-overlay,
.pa-sc-country-card:hover .pa-sc-card-overlay {
    opacity: 1;
    visibility: visible;
}

.pa-sc-overlay-text {
    color: #fff;
    font-size: 1.3rem;
    font-weight: 900;
    transform: translateY(12px);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pa-sc-new-card:hover .pa-sc-overlay-text,
.pa-sc-country-card:hover .pa-sc-overlay-text {
    transform: translateY(0);
}

.pa-sc-new-timeline-wrap {
    position: relative;
    padding-right: 8px;
    /* Space for the timeline dot */
}

.pa-sc-new-timeline {
    border-right: 2px solid var(--pa-border, #e2e8f0);
    /* The actual CSS vertical line */
    padding-right: 1.25rem;
}

.pa-sc-new-item {
    position: relative;
    padding-bottom: 1rem;
}

.pa-sc-new-item:last-child {
    padding-bottom: 0;
}

.pa-sc-new-dot {
    position: absolute;
    right: calc(-1.25rem - 5px);
    /* Center 8px dot on 2px border across 1.25rem padding */
    top: 0.35rem;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--pa-primary, #e11d48);
}

.pa-sc-new-content {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.pa-sc-new-time {
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--pa-primary, #e11d48);
}

.pa-sc-new-link {
    font-size: 0.85rem;
    color: var(--pa-text-muted, #475569);
    line-height: 1.4;
    text-decoration: none;
    transition: color 0.2s;
}

.pa-sc-new-link:hover {
    color: var(--pa-text, #0f172a);
}

.pa-sc-new-text {
    font-size: 0.85rem;
    color: var(--pa-text, #0f172a);
    line-height: 1.4;
    display: block;
    font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════════════
   FEATURED SIDEBAR (⚡ موضوع الساعة)
   ═══════════════════════════════════════════════════════════════════ */
.pa-mos-header-new {
    border-bottom: 2px solid var(--pa-border, #e2e8f0);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
}

.pa-mos-header-title {
    font-size: 1.25rem;
    font-weight: 900;
    color: var(--pa-text, #0f172a);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pa-mos-sidebar-card {
    background: var(--pa-bg-card, #fff);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-radius: 0 0 8px 8px;
    padding: 1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.pa-mos-sidebar-subject {
    font-size: 1.15rem;
    font-weight: 900;
    margin: 0 0 1.25rem 0;
}

.pa-mos-sidebar-subject a {
    color: var(--pa-text, #0f172a);
    text-decoration: none;
    transition: color 0.2s;
}

.pa-mos-sidebar-subject a:hover {
    color: var(--pa-primary, #e11d48);
}

/* Re-use the clean timeline for the sidebar too */
.pa-mos-timeline {
    border-right: 2px solid var(--pa-border, #e2e8f0);
    padding-right: 1.25rem;
    margin-bottom: 1rem;
}

.pa-mos-entry {
    position: relative;
    padding-bottom: 1rem;
}

.pa-mos-entry:last-child {
    padding-bottom: 0;
}

.pa-mos-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--pa-primary, #e11d48);
    position: absolute;
    right: calc(-1.25rem - 5px);
    /* Center 8px dot exactly on 2px border */
    top: 0.45rem;
}

.pa-mos-card {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    box-shadow: none;
}

.pa-mos-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--pa-text, #1a202c);
    line-height: 1.5;
    text-decoration: none;
    display: block;
    text-align: right;
    width: 100%;
    transition: color 0.2s;
}

.pa-mos-title--link:hover {
    color: var(--pa-primary, #e11d48);
}

.pa-mos-more-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--pa-primary, #e11d48);
    background: rgba(225, 29, 72, 0.05);
    /* very light red */
    padding: 0.5rem;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s;
}

.pa-mos-more-link:hover {
    background: rgba(225, 29, 72, 0.1);
}

/* Base grid for country cards */
.pa-sc-country-card {
    border: 1px solid var(--pa-border, #e2e8f0);
    border-radius: 12px;
    overflow: hidden;
    background: var(--pa-bg, #fff);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pa-sc-country-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--pa-shadow-lg, 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1));
}

/* Country header (red bar) */
.pa-sc-country-header {
    background: linear-gradient(135deg, #e63946 0%, #c1272d 100%);
    padding: 0.6rem 1rem;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
}

.pa-sc-country-title {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    text-decoration: none;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.3;
}

.pa-sc-country-title:hover {
    opacity: .88;
}

.pa-sc-country-flag {
    font-size: 1.1rem;
    line-height: 1;
}

.pa-sc-country-sub {
    font-size: 0.63rem;
    font-weight: 400;
    opacity: .82;
    margin-right: auto;
}

/* Featured image */
.pa-sc-country-img-wrap {
    display: block;
    overflow: hidden;
}

.pa-sc-country-img-wrap img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform .4s;
}

.pa-sc-country-card:hover .pa-sc-country-img-wrap img {
    transform: scale(1.03);
}

/* ── Fallback image when no featured thumbnail exists ────────────── */
.pa-sc-country-img-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 260px;
    background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
    position: relative;
    overflow: hidden;
    text-decoration: none;
}

/* Large centred flag emoji */
.pa-sc-flag-bg {
    font-size: 4.5rem;
    line-height: 1;
    display: block;
    filter: drop-shadow(0 3px 12px rgba(0, 0, 0, .45));
    transition: transform .4s;
    pointer-events: none;
}

.pa-sc-country-card:hover .pa-sc-flag-bg {
    transform: scale(1.1);
}

/* ── Masonry Grid Refining ── */

.pa-masonry-grid>* {
    break-inside: avoid;
    margin-bottom: 2rem;
    display: block;
    width: 100%;
}

/* Source logo pinned bottom-left */
.pa-sc-src-overlay {
    position: absolute;
    bottom: 8px;
    left: 8px;
    width: 34px;
    height: 34px;
    object-fit: contain;
    background: rgba(255, 255, 255, .92);
    border-radius: 6px;
    padding: 3px;
    border: 1px solid rgba(255, 255, 255, .3);
    box-shadow: 0 2px 6px rgba(0, 0, 0, .25);
}


.pa-sc-country-feat-title {
    display: block;
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--pa-text, #1a202c);
    text-decoration: none;
    line-height: 1.4;
    padding: 0.6rem 0.9rem 0.25rem;
}

.pa-sc-country-feat-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 0.9rem 0.6rem;
    font-size: 0.7rem;
    color: var(--pa-text-muted, #718096);
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
}

.pa-sc-country-src {
    font-weight: 800;
    color: var(--pa-primary, #c1272d);
    text-decoration: none;
}

/* Title-only list */
.pa-sc-country-list {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;
}

.pa-sc-country-list-item {
    padding: 0.45rem 0.9rem;
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.pa-sc-country-list-item:last-child {
    border-bottom: none;
}

.pa-sc-country-list-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--pa-text, #1a202c);
    text-decoration: none;
    line-height: 1.4;
}

.pa-sc-country-list-src {
    font-size: 0.65rem;
    color: var(--pa-text-muted, #94a3b8);
    font-weight: 600;
}

/* More link button (Removed in HTML) */

/* ══════════════════════════════════════════════════════════════════
   HOME HEADLINES GRID SECTION (آخر الأخبار)
══════════════════════════════════════════════════════════════════ */

.pa-hl-grid-section {
    padding-bottom: 2rem;
}

.pa-hl-grid-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.25rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pa-hl-grid-item {
    background: var(--pa-surface, #f8fafc);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-radius: 10px;
    padding: 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    transition: transform 0.2s, box-shadow 0.2s;
}

.pa-hl-grid-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.pa-hl-grid-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
    color: #64748b;
}

.pa-hl-grid-time {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.pa-hl-grid-flag {
    margin-left: 0.25rem;
}

.pa-hl-badge-breaking {
    background: var(--pa-brand, #e53e3e);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    animation: pa-blink 1.2s infinite;
}

.pa-hl-grid-title {
    font-weight: 700;
    color: var(--pa-text);
    text-decoration: none;
    line-height: 1.45;
    font-size: 0.95rem;
    display: block;
}

a.pa-hl-grid-title:hover {
    color: var(--pa-brand);
}

span.pa-hl-grid-title {
    cursor: default;
}

/* ── Headline meta tag pills ─────────────────────────────────────── */
.pa-hl-grid-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

.pa-hl-tag {
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
    border-radius: 20px;
    text-decoration: none;
    transition: opacity 0.2s;
    white-space: nowrap;
}

.pa-hl-tag:hover {
    opacity: 0.8;
}

.pa-hl-tag--subject {
    background: rgba(193, 39, 45, 0.1);
    color: var(--pa-brand, #c1272d);
}

.pa-hl-tag--source {
    background: rgba(59, 130, 246, 0.1);
    color: #2563eb;
}

.pa-hl-tag--country {
    background: rgba(16, 185, 129, 0.1);
    color: #059669;
}

/* ── Timeline type badges (Subject page) ─────────────────────────── */
.pa-timeline-type-badge {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.pa-timeline-type-badge--summary {
    background: rgba(59, 130, 246, 0.1);
    color: #2563eb;
}

/* ── Subject page: Summary excerpt text ─────────────────────────── */
.pa-summary-excerpt {
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.6;
    margin: 0.5rem 0 0 0;
    border-right: 3px solid var(--pa-border, #e2e8f0);
    padding-right: 0.75rem;
}

/* Timeline plain (non-link) title */
.pa-timeline-title--plain {
    font-weight: 700;
    color: var(--pa-text);
    line-height: 1.45;
    font-size: 0.98rem;
    cursor: default;
}

/* ── Subject-page: Summary + Headline are single-column cards ─────── */

/* Force their content area to stack vertically (override the row-flex default) */
.pa-timeline-item--summary .pa-timeline-content,
.pa-timeline-item--headline .pa-timeline-content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
}

/* Summary card style */
.pa-timeline-item--summary {
    background: var(--pa-bg, #fff);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-right: 3px solid #3b82f6;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
}

.pa-timeline-item--summary .pa-timeline-title--plain {
    font-size: 1.02rem;
    font-weight: 800;
    color: var(--pa-text);
    line-height: 1.5;
    margin: 0;
    cursor: default;
}

/* Headline card style */
.pa-timeline-item--headline {
    background: var(--pa-bg, #fff);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-right: 3px solid var(--pa-brand, #c1272d);
    border-radius: 10px;
    padding: 0.85rem 1.1rem;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
}

/* ─────────────────────────────────────────────────────────────────────────────
 * ACTIVE SUBJECTS (CROSS-TAXONOMY "LIVEBLOGS" HUB)
 * ───────────────────────────────────────────────────────────────────────────── */
.pa-country-active-subjects {
    background: #f8fafc;
    padding: 2.5rem 0;
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
}

.pa-cas-title {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--pa-text-dark, #0f172a);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pa-cas-title i {
    color: var(--pa-primary, #e11d48);
}

.pa-cas-scroll {
    display: flex;
    gap: 1.5rem;
    overflow-x: auto;
    padding-bottom: 1rem;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.pa-cas-scroll::-webkit-scrollbar {
    height: 8px;
}

.pa-cas-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.pa-cas-scroll::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 4px;
}

.pa-cas-card {
    flex: 0 0 280px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none;
    display: flex;
    flex-direction: column;
}

.pa-cas-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.pa-cas-img {
    height: 140px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.pa-cas-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}

.pa-cas-img--empty {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
}

.pa-cas-content {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.pa-cas-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: var(--pa-primary, #e11d48);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 6px;
    z-index: 2;
    animation: casPulse 2s infinite;
}

.pa-cas-badge::before {
    content: "";
    width: 6px;
    height: 6px;
    background: #fff;
    border-radius: 50%;
    display: block;
}

@keyframes casPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(225, 29, 72, 0.7);
    }

    70% {
        box-shadow: 0 0 0 6px rgba(225, 29, 72, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(225, 29, 72, 0);
    }
}

.pa-cas-name {
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.4;
    color: var(--pa-text-dark, #0f172a);
    margin: 0 0 0.5rem 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pa-cas-count {
    font-size: 0.85rem;
    color: var(--pa-text-muted, #64748b);
    font-weight: 600;
    margin-top: auto;
}

/* ═════════════════════════════════════════════════════════════════
 * COUNTRY HUB — AL JAZEERA EDITORIAL CARD STYLE
 * ═════════════════════════════════════════════════════════════════ */

/* Page layout */
.pa-hub-page {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
}

.pa-hub-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 2.5rem;
    align-items: start;
}

.pa-hub-main {
    min-width: 0;
}

.pa-hub-sidebar {
    position: sticky;
    top: 90px;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Feed container */
.pa-hub-feed {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

/* ── Base Card ── */
.pa-hub-card {
    background: var(--pa-bg, #fff);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.pa-hub-card:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

/* ══ Subject / Liveblog Card ══════════════════════════════════════════════ */
.pa-hub-card--liveblog {
    border: 1px solid var(--pa-border, #e2e8f0);
}

.pa-hub-card__image-wrap {
    display: block;
    position: relative;
    text-decoration: none;
    overflow: hidden;
}

.pa-hub-card__image {
    width: 100%;
    aspect-ratio: 16 / 7;
    background-size: cover;
    background-position: center;
    transition: transform 0.4s ease;
}

.pa-hub-card--liveblog:hover .pa-hub-card__image {
    transform: scale(1.03);
}

.pa-hub-card__image--empty {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
}

/* No-image Subject Card variant — clean header strip */
.pa-hub-card--liveblog-noimg {
    border-right: 4px solid #e11d48;
}

.pa-hub-card__noimg-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    text-decoration: none;
    background: linear-gradient(to left, #0f172a, #1e3a5f);
    transition: background 0.25s;
}

.pa-hub-card--liveblog-noimg:hover .pa-hub-card__noimg-header {
    background: linear-gradient(to left, #1e293b, #1e3a5f);
}

.pa-hub-card__noimg-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: #fff;
    margin: 0;
    flex: 1;
    line-height: 1.35;
}

.pa-hub-card__noimg-arrow {
    font-size: 1.75rem;
    color: #94a3b8;
    flex-shrink: 0;
    transition: transform 0.2s, color 0.2s;
}

.pa-hub-card--liveblog-noimg:hover .pa-hub-card__noimg-arrow {
    transform: translateX(-4px);
    color: #e11d48;
}

.pa-hub-card__image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.85) 0%,
            rgba(0, 0, 0, 0.35) 55%,
            transparent 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.5rem 1.75rem;
    gap: 0.6rem;
}

.pa-hub-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #e11d48;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    padding: 5px 12px;
    border-radius: 4px;
    align-self: flex-start;
    animation: badgePulse 1.8s infinite;
}

.pa-hub-card__badge-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    flex-shrink: 0;
}

@keyframes badgePulse {
    0% {
        box-shadow: 0 0 0 0 rgba(225, 29, 72, 0.7);
    }

    70% {
        box-shadow: 0 0 0 7px rgba(225, 29, 72, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(225, 29, 72, 0);
    }
}

.pa-hub-card__title {
    color: #fff;
    font-size: 1.55rem;
    font-weight: 900;
    line-height: 1.35;
    margin: 0;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

/* Bullets body */
.pa-hub-card__body {
    padding: 1.25rem 1.75rem;
    border-top: 1px solid var(--pa-border, #e2e8f0);
}

.pa-hub-card__bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.pa-hub-card__bullet {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--pa-text, #1e293b);
}

.pa-hub-card__bullet-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e11d48;
    flex-shrink: 0;
    margin-top: 4px;
}

.pa-hub-card__bullet-date {
    font-size: 0.78rem;
    font-weight: 700;
    color: #94a3b8;
    white-space: nowrap;
    flex-shrink: 0;
}

.pa-hub-card__bullet-text {
    font-weight: 500;
    color: var(--pa-text, #1e293b);
}

.pa-hub-card__more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.88rem;
    font-weight: 700;
    color: #e11d48;
    text-decoration: none;
    transition: gap 0.2s;
}

.pa-hub-card__more:hover {
    gap: 8px;
}

/* ══ Article Card ═════════════════════════════════════════════════════════ */
/* ══ News Clip Card (pa_summary) ═══════════════════════════════════════════════════ */
/* ══ Graceful Empty State ═════════════════════════════════════════════ */
.pa-hub-empty {
    text-align: center;
    padding: 3.5rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    background: var(--pa-bg, #fff);
    border: 2px dashed var(--pa-border, #e2e8f0);
    border-radius: 14px;
}

.pa-hub-empty__icon {
    font-size: 3rem;
    color: #cbd5e1;
    display: block;
}

.pa-hub-empty__title {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--pa-text-dark, #0f172a);
    margin: 0;
}

.pa-hub-empty__text {
    font-size: 0.95rem;
    color: #64748b;
    margin: 0;
    max-width: 380px;
    line-height: 1.7;
}

.pa-hub-empty__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 0.5rem;
    padding: 10px 20px;
    background: var(--pa-brand, #c1272d);
    color: #fff;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
}

.pa-hub-empty__link:hover {
    background: #a81f24;
    transform: translateY(-1px);
}

/* ══ News Clip Card (pa_summary) ═════════════════════════════════════════ */
.pa-hub-card--news {
    border: 1px solid var(--pa-border, #e2e8f0);
    border-right: 3px solid #3b82f6;
}

.pa-hub-card__news-wrap {
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.pa-hub-card__news-meta {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-bottom: 0.15rem;
}

.pa-hub-card__news-source {
    font-size: 0.78rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pa-hub-card__news-time {
    font-size: 0.8rem;
    color: #94a3b8;
    margin-right: auto;
    direction: ltr;
    font-variant-numeric: tabular-nums;
}

.pa-hub-card__news-breaking {
    font-size: 0.72rem;
    font-weight: 800;
    color: #e11d48;
    background: #fff1f2;
    padding: 2px 8px;
    border-radius: 4px;
}

.pa-hub-card__news-title {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--pa-text-dark, #0f172a);
    text-decoration: none;
    transition: color 0.2s;
    margin: 0;
}

a.pa-hub-card__news-title:hover {
    color: #3b82f6;
}

.pa-hub-card__news-content {
    font-size: 0.9rem;
    line-height: 1.7;
    color: var(--pa-text, #1e293b);
    border-right: 2px solid #e2e8f0;
    padding-right: 0.75rem;
    margin-top: 0.15rem;
}

/* ══ Article Card ═════════════════════════════════════════════════════════ */
.pa-hub-card--article {
    border: 1px solid var(--pa-border, #e2e8f0);
}

.pa-hub-card__article-wrap {
    display: flex;
    flex-direction: row-reverse;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
    min-height: 180px;
}

.pa-hub-card__article-image {
    flex: 0 0 280px;
    overflow: hidden;
}

.pa-hub-card__article-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.pa-hub-card--article:hover .pa-hub-card__article-img {
    transform: scale(1.04);
}

.pa-hub-card__article-body {
    flex: 1;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: center;
}

.pa-hub-card__article-source {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pa-hub-card__article-srclogo {
    height: 20px;
    width: auto;
    max-width: 70px;
    object-fit: contain;
    border-radius: 3px;
}

.pa-hub-card__article-title {
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.45;
    color: var(--pa-text-dark, #0f172a);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s;
}

.pa-hub-card--article:hover .pa-hub-card__article-title {
    color: #e11d48;
}

.pa-hub-card__article-date {
    font-size: 0.8rem;
    color: #94a3b8;
    font-weight: 500;
    margin-top: auto;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .pa-hub-layout {
        grid-template-columns: 1fr;
    }

    .pa-hub-sidebar {
        position: static;
    }

    .pa-hub-card__image {
        aspect-ratio: 16 / 9;
    }

    .pa-hub-card__title {
        font-size: 1.25rem;
    }
}

@media (max-width: 600px) {
    .pa-hub-card__article-wrap {
        flex-direction: column;
    }

    .pa-hub-card__article-image {
        flex: none;
        height: 200px;
    }

    .pa-hub-card__image-overlay {
        padding: 1rem;
    }

    .pa-hub-card__title {
        font-size: 1.1rem;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   Subject / Liveblog Layout
   ═══════════════════════════════════════════════════════════════════ */

.pa-liveblog-container {
    margin-top: 2rem;
    margin-bottom: 3rem;
}

.pa-liveblog-wrap {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 2.5rem;
    align-items: start;
}

/* ── Main timeline column ──────────────────────────────────────────── */
.pa-liveblog-main {
    min-width: 0;
}

/* ── Date divider ─────────────────────────────────────────────────── */
.pa-lb-date-divider {
    display: flex;
    align-items: center;
    margin: 2rem 0 0.5rem 0;
    position: relative;
}

.pa-lb-date-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--pa-border, #e2e8f0);
    margin-right: 0.75rem;
}

.pa-lb-date-label {
    background: var(--pa-brand, #c1272d);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 0.3rem 0.85rem;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
}

/* ── Single liveblog entry ─────────────────────────────────────────── */
.pa-lb-entry {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 0;
    position: relative;
    margin-bottom: 0;
}

/* Vertical timeline line — runs through time column */
.pa-lb-time-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding-top: 1.6rem;
}

/* The continuous vertical line */
.pa-lb-time-col::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: -1px;
    width: 2px;
    background: var(--pa-border, #e2e8f0);
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
}

/* Last entry cuts the line */
.pa-lb-entry:last-child .pa-lb-time-col::before {
    bottom: 50%;
}

/* Time label */
.pa-lb-time {
    font-size: 0.78rem;
    font-weight: 700;
    color: #64748b;
    background: var(--pa-surface, #f8fafc);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-radius: 6px;
    padding: 0.15rem 0.35rem;
    position: relative;
    z-index: 1;
    white-space: nowrap;
}

/* The dot on the line */
.pa-lb-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--pa-brand, #c1272d);
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px var(--pa-brand, #c1272d);
    margin-top: 0.5rem;
    position: relative;
    z-index: 1;
    flex-shrink: 0;
}

/* Dot colour per type */
.pa-lb-entry--pa_summary .pa-lb-dot {
    background: #3b82f6;
    box-shadow: 0 0 0 2px #3b82f6;
}

.pa-lb-entry--post .pa-lb-dot {
    background: #10b981;
    box-shadow: 0 0 0 2px #10b981;
}

/* ── Content card ─────────────────────────────────────────────────── */
.pa-lb-card {
    background: var(--pa-bg, #fff);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-radius: 10px;
    padding: 1.1rem 1.25rem;
    margin: 1rem 0.75rem 1rem 0;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.2s;
}

.pa-lb-card:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

/* Accent left border per type */
.pa-lb-entry--headline .pa-lb-card {
    border-right: 3px solid var(--pa-brand, #c1272d);
}

.pa-lb-entry--pa_summary .pa-lb-card {
    border-right: 3px solid #3b82f6;
}

.pa-lb-entry--post .pa-lb-card {
    border-right: 3px solid #10b981;
}

/* ── Card meta row (source + badges) ─────────────────────────────── */
.pa-lb-card-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.7rem;
    flex-wrap: wrap;
}

.pa-lb-source-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.pa-lb-source-logo {
    height: 22px;
    width: auto;
    max-width: 80px;
    object-fit: contain;
    border-radius: 3px;
}

.pa-lb-source-name {
    font-size: 0.78rem;
    font-weight: 700;
    color: #64748b;
    background: var(--pa-surface, #f8fafc);
    border: 1px solid var(--pa-border, #e2e8f0);
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
}

.pa-lb-badge {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.15rem 0.55rem;
    border-radius: 20px;
}

.pa-lb-badge--breaking {
    background: var(--pa-brand, #c1272d);
    color: #fff;
    animation: pa-blink 1.2s infinite;
}

.pa-lb-badge--summary {
    background: rgba(59, 130, 246, 0.12);
    color: #2563eb;
}

/* ── Card title ───────────────────────────────────────────────────── */
.pa-lb-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--pa-text, #1a202c);
    line-height: 1.55;
    margin: 0 0 0.5rem 0;
    display: block;
}

a.pa-lb-title--link {
    text-decoration: none;
    transition: color 0.2s;
}

a.pa-lb-title--link:hover {
    color: var(--pa-brand, #c1272d);
}

/* ── Card excerpt ─────────────────────────────────────────────────── */
.pa-lb-excerpt {
    font-size: 0.92rem;
    color: #64748b;
    line-height: 1.7;
    margin: 0.5rem 0 0 0;
    border-right: 3px solid #e2e8f0;
    padding-right: 0.8rem;
}

/* ── Summary full HTML content area ────────────────────────────────── */
.pa-lb-content {
    margin-top: 0.65rem;
    font-size: 0.95rem;
    color: var(--pa-text, #1e293b);
}

.pa-lb-post-content {
    margin-top: 0.65rem;
}

.pa-lb-content p {
    margin: 0 0 0.6rem 0;
    color: var(--pa-text, #1e293b);
}

/* Styled bullet list — colored filled circles */
.pa-lb-content ul {
    list-style: none;
    padding: 0;
    margin: 0.4rem 0 0 0;
}

.pa-lb-content ul li {
    position: relative;
    padding-right: 1.3rem;
    margin-bottom: 0.65rem;
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--pa-text, #1e293b);
}

/* The colored dot bullet */
.pa-lb-content ul li::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0.58em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3b82f6;
    flex-shrink: 0;
}

/* Bold text inside lists */
.pa-lb-content ul li strong,
.pa-lb-content ul li b {
    font-weight: 700;
    color: var(--pa-text, #1e293b);
}

/* Source label line (e.g. "الديوان الأميري القطري:") */
.pa-lb-content>p:first-child {
    font-size: 0.82rem;
    font-weight: 700;
    color: #64748b;
    margin-bottom: 0.6rem;
    letter-spacing: 0.01em;
}

/* ── Post thumbnail ───────────────────────────────────────────────── */
.pa-lb-thumb-wrap {
    display: block;
    margin-bottom: 0.75rem;
    border-radius: 8px;
    overflow: hidden;
}

.pa-lb-thumb {
    width: 100%;
    max-height: 260px;
    object-fit: cover;
    display: block;
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.pa-lb-thumb-wrap:hover .pa-lb-thumb {
    transform: scale(1.02);
}

/* ── Tag pills row ────────────────────────────────────────────────── */
.pa-lb-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.6rem;
}

/* ── Sidebar ──────────────────────────────────────────────────────── */
.pa-liveblog-sidebar {
    position: sticky;
    top: 90px;
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .pa-liveblog-wrap {
        grid-template-columns: 1fr;
    }

    .pa-liveblog-sidebar {
        position: static;
    }

    .pa-lb-entry {
        grid-template-columns: 50px 1fr;
    }
}

@media (max-width: 560px) {
    .pa-lb-entry {
        grid-template-columns: 44px 1fr;
    }

    .pa-lb-card {
        padding: 0.8rem 0.9rem;
    }
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 1100px) {
    .pa-sc-main-grid {
        grid-template-columns: 1fr;
    }

    .pa-sc-countries-grid--4col {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 860px) {
    .pa-sc-countries-grid--4col {
        grid-template-columns: repeat(2, 1fr);
    }

    .pa-sc-subjects-grid {
        column-count: 1;
    }
}

@media (max-width: 560px) {

    .pa-sc-countries-grid--4col,
    .pa-sc-countries-grid {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   موضوع الساعة — Homepage mini-liveblog  (pa-mos-*)
   Same visual language as the subject-page liveblog (pa-lb-*)
   ═══════════════════════════════════════════════════════════════════════════ */



/* ── Accordion toggle button ─────────────────────────────────────────────── */
/* Full reset scoped inside the card so Kadence button rules can't win */
.pa-mos-card button.pa-mos-toggle,
.pa-mos-card button.pa-mos-toggle:hover,
.pa-mos-card button.pa-mos-toggle:focus,
.pa-mos-card button.pa-mos-toggle:active {
    background: none !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    text-shadow: none !important;
    -webkit-appearance: none;
}

.pa-mos-toggle {
    -webkit-appearance: none;
    appearance: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-align: start;
    font: inherit;
    font-size: 1rem;
    font-weight: 800;
    color: var(--pa-text, #1a202c);
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .5rem;
    width: 100%;
}

.pa-mos-toggle:hover,
.pa-mos-toggle:focus {
    color: var(--pa-brand, #c1272d);
    background: none;
    box-shadow: none;
    outline: none;
}

.pa-mos-toggle.is-open {
    color: var(--pa-brand, #c1272d);
}

.pa-mos-chevron {
    flex-shrink: 0;
    margin-top: .35rem;
    opacity: .5;
    width: 20px;
    height: 20px;
    transition: transform .22s ease, opacity .15s;
}

.pa-mos-toggle:hover .pa-mos-chevron,
.pa-mos-toggle.is-open .pa-mos-chevron {
    opacity: 1;
    transform: scale(2);
}

.pa-mos-toggle[aria-expanded="true"] .pa-mos-chevron {
    transform: rotate(180deg);
}

.pa-mos-toggle[aria-expanded="true"]:hover .pa-mos-chevron {
    transform: rotate(180deg) scale(2);
}

/* ── Expanded content ────────────────────────────────────────────────────── */
.pa-mos-content--hidden {
    display: none;
}

.pa-mos-content {
    font-size: .9rem;
    line-height: 1.75;
    color: var(--pa-text, #1e293b);
    border-top: 1px solid var(--pa-border, #e2e8f0);
    padding-top: .6rem;
    margin-top: .2rem;
}

.pa-mos-content p {
    margin: 0 0 .5rem 0;
    color: var(--pa-text, #1e293b);
}

.pa-mos-content ul {
    list-style: none;
    padding: 0;
    margin: .35rem 0 0 0;
}

.pa-mos-content ul li {
    position: relative;
    padding-right: 1.25rem;
    margin-bottom: .55rem;
    font-size: .9rem;
    line-height: 1.65;
}

.pa-mos-content ul li::before {
    content: '';
    position: absolute;
    right: 0;
    top: .56em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #3b82f6;
}

.pa-mos-entry--breaking .pa-mos-content ul li::before {
    background: var(--pa-brand, #c1272d);
}

/* Source link inside expanded content */
.pa-mos-src-link {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .78rem;
    font-weight: 600;
    color: var(--pa-brand, #c1272d);
    text-decoration: none;
    margin-top: .5rem;
    opacity: .85;
}

.pa-mos-src-link:hover {
    opacity: 1;
    text-decoration: underline;
}

/* ── "More" footer link ──────────────────────────────────────────────────── */
.pa-mos-more-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    margin-top: .75rem;
    padding: .55rem 1rem;
    background: var(--pa-brand, #c1272d);
    color: #fff;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 700;
    border-radius: 8px;
    transition: background .2s, opacity .2s;
}

.pa-mos-more-link:hover {
    background: #a31f24;
    color: #fff;
}

.pa-mos-more-link .bi {
    font-size: .75rem;
}

/* ─── Subject Page Liveblog Accordion ────────────────────────────────────── */

/* Full reset scoped inside the card so Kadence button rules can't win */
.pa-lb-card button.pa-lb-toggle,
.pa-lb-card button.pa-lb-toggle:hover,
.pa-lb-card button.pa-lb-toggle:focus,
.pa-lb-card button.pa-lb-toggle:active {
    background: none !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
    text-shadow: none !important;
    -webkit-appearance: none;
}

.pa-lb-toggle {
    -webkit-appearance: none;
    appearance: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0 0 .5rem;
    cursor: pointer;
    text-align: start;
    font: inherit;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--pa-text, #1a202c);
    line-height: 1.55;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .5rem;
    width: 100%;
}

.pa-lb-toggle:hover,
.pa-lb-toggle:focus {
    color: var(--pa-brand, #c1272d);
    background: none;
    box-shadow: none;
    outline: none;
}

.pa-lb-toggle.is-open {
    color: var(--pa-brand, #c1272d);
}

.pa-lb-chevron {
    flex-shrink: 0;
    margin-top: .35rem;
    opacity: .45;
    transition: transform .22s ease, opacity .15s;
}

.pa-lb-toggle:hover .pa-lb-chevron,
.pa-lb-toggle.is-open .pa-lb-chevron {
    opacity: 1;
}

.pa-lb-toggle[aria-expanded="true"] .pa-lb-chevron {
    transform: rotate(180deg);
}

.pa-lb-content--hidden {
    display: none;
}

/* ── Rank Math TOC Redesign ────────────────────────────────────────── */
#rank-math-toc {
    background: var(--pa-surface, #f8fafc);
    border: 1px solid var(--pa-border, #e2e8f0);
    border-radius: 12px;
    padding: 1.5rem;
    margin: 2rem 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    direction: rtl;
}

#rank-math-toc h2 {
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--pa-brand);
    display: inline-block;
    color: var(--pa-text);
}

#rank-math-toc nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.75rem 1.5rem;
}

#rank-math-toc nav ul li {
    position: relative;
    padding-right: 1.25rem;
    margin: 0;
}

#rank-math-toc nav ul li::before {
    content: "\F284";
    /* bi-chevron-left */
    font-family: "bootstrap-icons" !important;
    position: absolute;
    right: 0;
    top: 0.15rem;
    font-size: 0.8rem;
    color: var(--pa-brand);
    font-weight: 900;
}

#rank-math-toc nav ul li a {
    text-decoration: none;
    color: var(--pa-text);
    font-size: 0.95rem;
    font-weight: 600;
    transition: all 0.2s ease;
    display: block;
}

#rank-math-toc nav ul li a:hover {
    color: var(--pa-brand);
    transform: translateX(-5px);
}

/* Page Polish */
.pa-page-header {
    padding: 3rem 0;
    background: var(--pa-surface, #f8fafc);
    border-bottom: 1px solid var(--pa-border, #e2e8f0);
    margin-bottom: 3rem;
    text-align: center;
}

.pa-page-title {
    font-size: 2.5rem;
    font-weight: 900;
    margin: 0;
    color: var(--pa-text);
}

.pa-page-content {
    font-size: 1.15rem;
    line-height: 1.8;
    color: var(--pa-text);
    max-width: 800px;
    margin: 0 auto 5rem;
}

.pa-page-content h2,
.pa-page-content h3 {
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    font-weight: 800;
}

/* ── Footer Copyright Refinement ──────────────────────────────────── */
.pa-footer-copyright {
    text-align: center;
    width: 100%;
    display: block;
    clear: both;
}

.pa-footer-copyright-inner {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
}

.pa-footer-dev-credit {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.4);
    margin: 0;
}

.pa-footer-dev-credit a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    font-weight: 700;
}

.pa-footer-dev-credit a:hover {
    color: var(--pa-brand);
}

.pa-footer-copyright-text {
    margin: 0;
    opacity: 0.8;
}

/* Adjust footer grid if it was 4 columns to handle 3 gracefully */
@media (min-width: 992px) {
    .pa-footer-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ── Footer Link Grid Refinement ─────────────────────────────────── */
.pa-footer-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem 1rem;
}

/* Ensure icons and text align properly in the grid */
.pa-footer-links a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 768px) {
    .pa-footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .pa-footer-col {
        text-align: center;
    }

    .pa-footer-links {
        justify-content: center;
    }

    .pa-footer-links a {
        justify-content: center;
    }
}

/* ── Mobile Footer Logo Refinement ──────────────────────────────── */
@media (max-width: 768px) {
    .pa-footer-logo {
        display: flex;
        justify-content: center;
        margin-bottom: 1.5rem;
    }

    .pa-footer-logo .custom-logo {
        width: 140px !important;
        /* Increased size significantly */
        height: auto !important;
        max-width: 90%;
    }
}

/* ── Advanced Footer Responsive Layout ───────────────────────────── */

/* Desktop: 3 columns with vertical separators */
@media (min-width: 992px) {
    .pa-footer-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0 !important;
        /* Gap handled by padding for borders */
    }

    .pa-footer-col {
        padding: 0 2.5rem;
    }

    .pa-footer-col:not(:last-child) {
        border-left: 1px solid rgba(255, 255, 255, 0.1);
    }
}

/* Tablet: Row 1 (About), Row 2 (Columns with separator) */
@media (min-width: 769px) and (max-width: 991px) {
    .pa-footer-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 3rem 0 !important;
    }

    /* Col 1 (About) spans full width */
    .pa-footer-col:first-child {
        grid-column: span 2;
        text-align: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 2rem;
    }

    .pa-footer-col:nth-child(2) {
        border-left: 1px solid rgba(255, 255, 255, 0.1);
        padding: 0 2rem;
    }

    .pa-footer-col:nth-child(3) {
        padding: 0 2rem;
    }
}

/* Mobile: Clean 1-column layout without borders */
@media (max-width: 768px) {
    .pa-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 3rem !important;
    }

    .pa-footer-col {
        border: none !important;
        padding: 0 !important;
    }
}

/* ── Tablet & Mobile Logo Centering ────────────────────────────── */
@media (max-width: 991px) {
    .pa-footer-logo {
        display: flex !important;
        justify-content: center !important;
        margin-bottom: 1.5rem !important;
    }
}/* ============================================================
   DISCOVERY HUB (ADVANCED SEARCH)
   ============================================================ */
.pa-discovery-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 2rem;
    align-items: start;
}

@media (max-width: 1024px) {
    .pa-discovery-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

.pa-discovery-sidebar {
    background: var(--pa-bg-card);
    border: 1px solid var(--pa-border);
    border-radius: var(--pa-radius);
    padding: 1.5rem;
    position: sticky;
    top: 100px;
    box-shadow: var(--pa-shadow-sm);
    z-index: 10;
}

.pa-filter-group {
    margin-bottom: 1.5rem;
}

.pa-filter-group label {
    display: block;
    font-weight: 700;
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
    color: var(--pa-navy);
}

.pa-filter-search-input {
    position: relative;
}

.pa-filter-search-input input {
    width: 100%;
    padding: 10px 12px 10px 35px;
    border: 1px solid var(--pa-border);
    border-radius: var(--pa-radius-sm);
    font-family: var(--pa-font);
    font-size: 0.9rem;
}

.pa-filter-search-input i {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--pa-text-muted);
}

.pa-filter-group select,
.pa-filter-select {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--pa-border);
    border-radius: var(--pa-radius-sm);
    font-family: var(--pa-font);
    font-size: 0.9rem;
    background: #fff;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23718096' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 10px center;
    background-size: 12px;
}

.pa-filter-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-top: 1rem;
}

.pa-btn-apply {
    background: var(--pa-brand);
    color: #fff;
    border: none;
    border-radius: var(--pa-radius-sm);
    padding: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--pa-transition);
    font-family: var(--pa-font);
    text-align: center;
}

.pa-btn-apply:hover {
    background: var(--pa-brand-dark);
}

.pa-btn-reset {
    text-align: center;
    font-size: 0.8rem;
    color: var(--pa-text-muted);
    font-weight: 600;
    text-decoration: underline;
}

.pa-discovery-results-meta {
    margin-bottom: 2rem;
    font-weight: 700;
    color: var(--pa-text-muted);
    font-size: 0.9rem;
    border-bottom: 1px solid var(--pa-border);
    padding-bottom: 0.75rem;
}

.pa-discovery-empty {
    text-align: center;
    padding: 4rem 2rem;
    background: #fff;
    border-radius: var(--pa-radius);
    border: 2px dashed var(--pa-border);
}

.pa-discovery-empty i {
    font-size: 3rem;
    color: var(--pa-text-light);
    margin-bottom: 1rem;
    display: block;
}