/* RankwellPress Pro bundle: pro-widgets */

/* --- premium-widgets.css --- */
/* =========================================================
   RankwellPress Pro — Premium Widgets
   Namespace: rkp-premium-* / rwp-premium-*
   Standalone stylesheet so widgets render identically
   wherever they're placed (single, home, archive, footer,
   block widget areas).

   CUSTOMIZER WIRING — this revision
   ─────────────────────────────────────────────────────────
   Only font-size, font-weight, and line-clamp are wired.
   Every other property (padding, gap, radius, colors,
   backgrounds, shadows, transitions, layout) is untouched.

   Role model (no PHP changes — existing settings are
   repurposed as role tokens via the alias block below):

     WIDGET TITLE          ← Widget Heading Size / Weight
       .rkp-premium-posts-widget__title
       .rkp-premium-trending-widget__title
       .rkp-premium-editors-picks-widget__title
       .rwp-section-title__text (all 4 styles)
       .rkp-premium-section-title__label (all 4 styles)

     LARGE POST TITLE      ← Post Title Size / Weight
       .rkp-premium-editors-picks-widget__hero-title
       .rkp-premium-trending-widget__card-title
       .rwp-premium-trending__heading
       .rwp-premium-related__heading

     SMALL POST TITLE      ← Compact Title Size / Weight
       .rkp-premium-posts-widget__card-title
       .rkp-premium-editors-picks-widget__compact-title
       .rkp-premium-top-list-widget__title

     Minimal Title Size / Weight = dead (nothing reads it)

   Faith Times widget — NOT WIRED. Left exactly as before.
   ========================================================= */


/* ═══════════════════════════════════════════════════════════
   ROLE ALIASES — maps existing Customizer tokens to the
   three visual roles used throughout this stylesheet.
   ═══════════════════════════════════════════════════════════ */

:root {
    /* Widget Title ← Widget Heading Size/Weight */
    --rwp-title-widget-size:   var(--rw-widget-title-size, 20px);
    --rwp-title-widget-weight: var(--rw-widget-title-weight, 700);

    /* Large Post Title ← Post Title Size/Weight */
    --rwp-title-large-size:    var(--rw-widget-post-title-size, 20px);
    --rwp-title-large-weight:  var(--rw-widget-post-title-weight, 800);
    --rwp-title-large-clamp:   3;

    /* Small Post Title ← Compact Title Size/Weight */
    --rwp-title-small-size:    var(--rw-herogrid-compact-size, 14px);
    --rwp-title-small-weight:  var(--rw-herogrid-compact-weight, 600);
    --rwp-title-small-clamp:   var(--rw-line-clamp, 2);
}


/* ═══════════════════════════════════════════════════════════
   1. PREMIUM POSTS WIDGET — Cards
   ═══════════════════════════════════════════════════════════ */

.rkp-premium-posts-widget__card {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    transition: none;
}

.rkp-premium-posts-widget__card:hover {
    transform: none;
    box-shadow: none;
}

.rkp-premium-posts-widget__thumb {
    border-radius: 0;
    display: block;
    aspect-ratio: 16 / 9;
    max-height: 220px;
    overflow: hidden;
    background: var(--rw-bg-alt, #f3f4f6);
    text-decoration: none;
}

.rkp-premium-posts-widget__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.rkp-premium-posts-widget__card:hover .rkp-premium-posts-widget__thumb img {
    transform: scale(1.03);
}

.rkp-premium-posts-widget__card-body {
    position: relative;
    margin-top: -12px;
    padding: 16px 18px 18px;
    gap: 6px;
    isolation: isolate;

    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(14px) saturate(180%);
    -webkit-backdrop-filter: blur(14px) saturate(180%);
    border-top: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 0 0 var(--rwp-radius-md, 12px) var(--rwp-radius-md, 12px);
    z-index: 1;

    display: flex;
    flex-direction: column;
}

@supports not (backdrop-filter: blur(1px)) {
    .rkp-premium-posts-widget__card-body {
        background: rgba(255, 255, 255, 0.92);
    }
}

/* ── Category pill ── */
.rkp-premium-posts-widget__cat {
    display: inline-block;
    padding: 3px 10px;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--rw-color-primary, #0d7c3e);
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 22%, transparent);
    border-radius: var(--rwp-radius-pill, 999px);
    text-decoration: none;
    width: fit-content;
    line-height: 1.4;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.rkp-premium-posts-widget__cat:hover,
.rkp-premium-posts-widget__cat:focus-visible {
    background: var(--rw-color-primary, #0d7c3e);
    color: #ffffff;
    border-color: var(--rw-color-primary, #0d7c3e);
    opacity: 1;
    text-decoration: none;
}

/* ── Title — SMALL POST TITLE ── */
.rkp-premium-posts-widget__card-title {
    font-size: var(--rwp-title-small-size);
    font-weight: var(--rwp-title-small-weight);
    line-height: 1.4;
    color: #111827;
    margin: 4px 0 0;
    display: -webkit-box;
    -webkit-line-clamp: var(--rwp-title-small-clamp);
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.rkp-premium-posts-widget__card-title a,
.rkp-premium-posts-widget__card-title a:link,
.rkp-premium-posts-widget__card-title a:visited {
    color: #111827;
    text-decoration: none;
    display: block;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.rkp-premium-posts-widget__card-title a:hover,
.rkp-premium-posts-widget__card-title a:focus-visible {
    color: var(--rw-color-primary, #0d7c3e);
}

/* ── Meta row ── */
.rkp-premium-posts-widget__meta {
    font-size: 0.72rem;
    color: #6b7280;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin: 6px 0 0;
    padding-top: 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    line-height: 1.4;
}

/* ── Widget title bar — WIDGET TITLE ── */
.rkp-premium-posts-widget__title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    padding: 8px 16px;
    font-size: var(--rwp-title-widget-size);
    font-weight: var(--rwp-title-widget-weight);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--rw-color-primary, #0d7c3e);
    background: rgba(255, 255, 255, 0.65);
    border: 1px solid color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 20%, transparent);
    border-radius: var(--rwp-radius-pill, 999px);
    backdrop-filter: blur(14px) saturate(180%);
    -webkit-backdrop-filter: blur(14px) saturate(180%);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    line-height: 1.2;
}

.rkp-premium-posts-widget__title::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 18px;
    background: linear-gradient(180deg,
        var(--rw-color-primary, #0d7c3e),
        color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 30%, transparent));
    border-radius: 999px;
    flex-shrink: 0;
}

@supports not (backdrop-filter: blur(1px)) {
    .rkp-premium-posts-widget__title {
        background: rgba(255, 255, 255, 0.92);
    }
}

/* ── Widget grid layout ── */
.rkp-premium-posts-widget__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.rkp-premium-posts-widget__grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rkp-premium-posts-widget__grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rkp-premium-posts-widget__grid--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rkp-premium-posts-widget__grid--cols-5,
.rkp-premium-posts-widget__grid--cols-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.rkp-premium-posts-widget__grid *,
.rkp-premium-posts-widget__grid *::before,
.rkp-premium-posts-widget__grid *::after {
    box-sizing: border-box;
}

.widget .rkp-premium-posts-widget__grid {
    gap: 16px;
}

.widget .rkp-premium-posts-widget__card-title {
    font-size: var(--rwp-title-small-size);
}

/* ── Dark mode ── */
html[data-theme="dark"] .rkp-premium-posts-widget__card-body {
    background: rgba(15, 23, 42, 0.65);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

@supports not (backdrop-filter: blur(1px)) {
    html[data-theme="dark"] .rkp-premium-posts-widget__card-body {
        background: rgba(15, 23, 42, 0.92);
    }
}

html[data-theme="dark"] .rkp-premium-posts-widget__cat {
    background: rgba(30, 41, 59, 0.7);
    color: var(--rw-color-primary, #4ade80);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent);
}

html[data-theme="dark"] .rkp-premium-posts-widget__cat:hover {
    background: var(--rw-color-primary, #4ade80);
    color: #0f172a;
    border-color: var(--rw-color-primary, #4ade80);
}

html[data-theme="dark"] .rkp-premium-posts-widget__card-title,
html[data-theme="dark"] .rkp-premium-posts-widget__card-title a {
    color: #f8fafc;
}

html[data-theme="dark"] .rkp-premium-posts-widget__card-title a:hover {
    color: var(--rw-color-primary, #4ade80);
}

html[data-theme="dark"] .rkp-premium-posts-widget__meta {
    color: #94a3b8;
    border-top-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .rkp-premium-posts-widget__title {
    background: rgba(30, 41, 59, 0.65);
    color: var(--rw-color-primary, #4ade80);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent);
}

html[data-theme="dark"] .rkp-premium-posts-widget__title::before {
    background: linear-gradient(180deg,
        var(--rw-color-primary, #4ade80),
        color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent));
}

/* ── Mobile — Small Post Title × 0.85 ── */
@media (max-width: 600px) {
    .rkp-premium-posts-widget__card-body {
        padding: 14px 16px 16px;
    }

    .rkp-premium-posts-widget__card-title {
        font-size: calc(var(--rwp-title-small-size) * 0.85);
    }

    .rkp-premium-posts-widget__grid--cols-2,
    .rkp-premium-posts-widget__grid--cols-3,
    .rkp-premium-posts-widget__grid--cols-4,
    .rkp-premium-posts-widget__grid--cols-5,
    .rkp-premium-posts-widget__grid--cols-6 {
        grid-template-columns: 1fr;
    }
}


/* ═══════════════════════════════════════════════════════════
   2. PREMIUM POSTS WIDGET — Load More button
   ═══════════════════════════════════════════════════════════ */

.rkp-premium-posts-widget__load-more-wrap {
    margin-top: 14px;
    margin-bottom: 18px;
    text-align: center;
    display: flex;
    justify-content: center;
}

.rkp-premium-posts-widget__load-more {
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 22px;
    min-height: 22px;
    max-height: 22px;

    width: auto;
    padding: 0 11px;

    font-family: inherit;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;

    color: var(--rw-color-primary, #0d7c3e);
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 30%, transparent);
    border-radius: 999px;
    box-shadow: none;
    cursor: pointer;
    gap: 3px;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.rkp-premium-posts-widget__load-more:hover,
.rkp-premium-posts-widget__load-more:focus-visible {
    background: var(--rw-color-primary, #0d7c3e);
    color: #ffffff;
    border-color: var(--rw-color-primary, #0d7c3e);
    outline: none;
}

.rkp-premium-posts-widget__load-more:disabled,
.rkp-premium-posts-widget__load-more.is-loading {
    opacity: 0.85;
    cursor: wait;
}

.rkp-premium-posts-widget__load-more-spinner {
    display: none;
    width: 7px;
    height: 7px;
    border: 1.5px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: rkp-premium-spin 0.7s linear infinite;
    flex-shrink: 0;
}

.rkp-premium-posts-widget__load-more.is-loading .rkp-premium-posts-widget__load-more-spinner {
    display: inline-block;
}

@keyframes rkp-premium-spin {
    to { transform: rotate(360deg); }
}

@supports not (backdrop-filter: blur(1px)) {
    .rkp-premium-posts-widget__load-more {
        background: rgba(255, 255, 255, 0.95);
    }
}

html[data-theme="dark"] .rkp-premium-posts-widget__load-more {
    background: rgba(30, 41, 59, 0.7);
    color: var(--rw-color-primary, #4ade80);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent);
}

html[data-theme="dark"] .rkp-premium-posts-widget__load-more:hover {
    background: var(--rw-color-primary, #4ade80);
    color: #0f172a;
    border-color: var(--rw-color-primary, #4ade80);
}

@supports not (backdrop-filter: blur(1px)) {
    html[data-theme="dark"] .rkp-premium-posts-widget__load-more {
        background: rgba(30, 41, 59, 0.95);
    }
}


/* ═══════════════════════════════════════════════════════════
   3. PREMIUM SECTION TITLE — 4 styles
   glass | rule | bar | centered

   Section titles read Widget Title role. The 4 styles still
   differentiate through layout (pill / rule / bar / centered),
   they just share one type size.
   ═══════════════════════════════════════════════════════════ */

.rkp-premium-section-title {
    --rkp-premium-st-primary: var(--rw-color-primary, #0d7c3e);
    --rkp-premium-st-heading: var(--rw-text-heading, #111827);
    --rkp-premium-st-muted:   var(--rw-text-muted, #6b7280);
    --rkp-premium-st-radius:  var(--rwp-radius-pill, 999px);
    --rkp-premium-st-pill-bg: rgba(255, 255, 255, 0.72);
    --rkp-premium-st-pill-border: color-mix(in srgb, var(--rkp-premium-st-primary) 18%, transparent);
    --rkp-premium-st-pill-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 4px 12px -4px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.75);
    --rkp-premium-st-glow: 0 0 10px color-mix(in srgb, var(--rkp-premium-st-primary) 45%, transparent);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 22px;
    position: relative;
    color: var(--rkp-premium-st-heading);
}

html[data-theme="dark"] .rkp-premium-section-title {
    --rkp-premium-st-primary: var(--rw-color-primary, #4ade80);
    --rkp-premium-st-heading: #f8fafc;
    --rkp-premium-st-muted:   #94a3b8;
    --rkp-premium-st-pill-bg: rgba(30, 41, 59, 0.65);
    --rkp-premium-st-pill-border: color-mix(in srgb, var(--rkp-premium-st-primary) 26%, transparent);
    --rkp-premium-st-pill-shadow:
        0 1px 2px rgba(0, 0, 0, 0.25),
        0 4px 14px -4px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --rkp-premium-st-glow: 0 0 12px color-mix(in srgb, var(--rkp-premium-st-primary) 55%, transparent);
}

.rkp-premium-section-title__head {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.rkp-premium-section-title__label {
    margin: 0;
    line-height: 1.15;
    color: var(--rkp-premium-st-heading);
    overflow-wrap: break-word;
    font-family: var(--rw-font-heading, inherit);
    letter-spacing: -0.01em;
}

.rkp-premium-section-title__cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
    color: var(--rkp-premium-st-muted);
    white-space: nowrap;
    flex-shrink: 0;
    border-radius: var(--rkp-premium-st-radius);
    background: transparent;
    transition:
        color var(--rwp-transition, 0.22s ease),
        background-color var(--rwp-transition, 0.22s ease),
        transform var(--rwp-transition, 0.22s ease);
}

.rkp-premium-section-title__cta:hover,
.rkp-premium-section-title__cta:focus-visible {
    color: var(--rkp-premium-st-primary);
    background: color-mix(in srgb, var(--rkp-premium-st-primary) 8%, transparent);
    outline: none;
}

.rkp-premium-section-title__cta-icon {
    transition: transform var(--rwp-transition, 0.22s ease);
}

.rkp-premium-section-title__cta:hover .rkp-premium-section-title__cta-icon {
    transform: translateX(2px);
}

/* ── Style: glass ── */
.rkp-premium-section-title--glass {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 22px;
}

.rkp-premium-section-title--glass .rkp-premium-section-title__head {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 9px 20px 9px 16px;
    background: var(--rkp-premium-st-pill-bg);
    border: 1px solid var(--rkp-premium-st-pill-border);
    border-radius: var(--rkp-premium-st-radius);
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    box-shadow: var(--rkp-premium-st-pill-shadow);
    position: relative;
    overflow: hidden;
}

.rkp-premium-section-title--glass .rkp-premium-section-title__head::after {
    content: "";
    position: absolute;
    inset: 1px 1px auto 1px;
    height: 45%;
    border-radius: inherit;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.35) 0%,
        rgba(255, 255, 255, 0) 100%
    );
    pointer-events: none;
    opacity: 0.7;
}

.rkp-premium-section-title--glass .rkp-premium-section-title__head::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 16px;
    background: linear-gradient(
        180deg,
        var(--rkp-premium-st-primary) 0%,
        color-mix(in srgb, var(--rkp-premium-st-primary) 25%, transparent) 100%
    );
    border-radius: var(--rkp-premium-st-radius);
    flex-shrink: 0;
    box-shadow: var(--rkp-premium-st-glow);
    position: relative;
    z-index: 1;
}

.rkp-premium-section-title--glass .rkp-premium-section-title__label {
    font-size: var(--rwp-title-widget-size);
    font-weight: var(--rwp-title-widget-weight);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--rkp-premium-st-primary);
    position: relative;
    z-index: 1;
}

.rkp-premium-section-title--glass .rkp-premium-section-title__cta {
    flex-shrink: 0;
}

@supports not (backdrop-filter: blur(1px)) {
    .rkp-premium-section-title--glass .rkp-premium-section-title__head {
        background: rgba(255, 255, 255, 0.94);
    }
    html[data-theme="dark"] .rkp-premium-section-title--glass .rkp-premium-section-title__head {
        background: rgba(30, 41, 59, 0.94);
    }
}

/* ── Style: rule ── */
.rkp-premium-section-title--rule {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    margin-bottom: 24px;
    position: relative;
}

.rkp-premium-section-title--rule::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(
        90deg,
        var(--rkp-premium-st-primary) 0%,
        color-mix(in srgb, var(--rkp-premium-st-primary) 55%, transparent) 30%,
        color-mix(in srgb, var(--rkp-premium-st-primary) 12%, transparent) 70%,
        color-mix(in srgb, var(--rkp-premium-st-primary) 0%, transparent) 100%
    );
    border-radius: var(--rkp-premium-st-radius);
    box-shadow: 0 1px 6px color-mix(in srgb, var(--rkp-premium-st-primary) 30%, transparent);
}

.rkp-premium-section-title--rule .rkp-premium-section-title__head {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.rkp-premium-section-title--rule .rkp-premium-section-title__label {
    font-size: var(--rwp-title-widget-size);
    font-weight: var(--rwp-title-widget-weight);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--rkp-premium-st-heading);
}

.rkp-premium-section-title--rule .rkp-premium-section-title__cta {
    flex-shrink: 0;
}

/* ── Style: bar ── */
.rkp-premium-section-title--bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 12px 8px 20px;
    margin-bottom: 22px;
    position: relative;
    min-height: 34px;
    border-radius: 0 var(--rkp-premium-st-radius) var(--rkp-premium-st-radius) 0;
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--rkp-premium-st-primary) 7%, transparent) 0%,
        color-mix(in srgb, var(--rkp-premium-st-primary) 3%, transparent) 40%,
        color-mix(in srgb, var(--rkp-premium-st-primary) 0%, transparent) 100%
    );
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.rkp-premium-section-title--bar::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 4px;
    background: linear-gradient(
        180deg,
        var(--rkp-premium-st-primary) 0%,
        color-mix(in srgb, var(--rkp-premium-st-primary) 40%, transparent) 100%
    );
    border-radius: var(--rkp-premium-st-radius);
    box-shadow: var(--rkp-premium-st-glow);
}

.rkp-premium-section-title--bar .rkp-premium-section-title__head {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.rkp-premium-section-title--bar .rkp-premium-section-title__label {
    font-size: var(--rwp-title-widget-size);
    font-weight: var(--rwp-title-widget-weight);
    text-transform: none;
    letter-spacing: -0.015em;
    color: var(--rkp-premium-st-heading);
}

.rkp-premium-section-title--bar .rkp-premium-section-title__cta {
    flex-shrink: 0;
}

/* ── Style: centered ── */
.rkp-premium-section-title--centered {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    margin-bottom: 26px;
}

.rkp-premium-section-title--centered .rkp-premium-section-title__head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 100%;
}

.rkp-premium-section-title--centered .rkp-premium-section-title__head::before,
.rkp-premium-section-title--centered .rkp-premium-section-title__head::after {
    content: "";
    flex: 1;
    height: 1px;
    border-radius: var(--rkp-premium-st-radius);
    max-width: 260px;
    box-shadow: 0 0 6px color-mix(in srgb, var(--rkp-premium-st-primary) 25%, transparent);
}

.rkp-premium-section-title--centered .rkp-premium-section-title__head::before {
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--rkp-premium-st-primary) 0%, transparent) 0%,
        color-mix(in srgb, var(--rkp-premium-st-primary) 60%, transparent) 100%
    );
}

.rkp-premium-section-title--centered .rkp-premium-section-title__head::after {
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--rkp-premium-st-primary) 60%, transparent) 0%,
        color-mix(in srgb, var(--rkp-premium-st-primary) 0%, transparent) 100%
    );
}

.rkp-premium-section-title--centered .rkp-premium-section-title__label {
    flex: 0 0 auto;
    font-size: var(--rwp-title-widget-size);
    font-weight: var(--rwp-title-widget-weight);
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--rkp-premium-st-primary);
    padding: 9px 22px;
    border-radius: var(--rkp-premium-st-radius);
    background: var(--rkp-premium-st-pill-bg);
    border: 1px solid var(--rkp-premium-st-pill-border);
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    box-shadow: var(--rkp-premium-st-pill-shadow);
    position: relative;
    overflow: hidden;
}

.rkp-premium-section-title--centered .rkp-premium-section-title__label::after {
    content: "";
    position: absolute;
    inset: 1px 1px auto 1px;
    height: 45%;
    border-radius: inherit;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.35) 0%,
        rgba(255, 255, 255, 0) 100%
    );
    pointer-events: none;
    opacity: 0.7;
}

.rkp-premium-section-title--centered .rkp-premium-section-title__cta {
    margin-top: 2px;
}

@supports not (backdrop-filter: blur(1px)) {
    .rkp-premium-section-title--centered .rkp-premium-section-title__label {
        background: rgba(255, 255, 255, 0.94);
    }
    html[data-theme="dark"] .rkp-premium-section-title--centered .rkp-premium-section-title__label {
        background: rgba(30, 41, 59, 0.94);
    }
}


/* ═══════════════════════════════════════════════════════════
   4. TRENDING NOW WIDGET — legacy namespace (rkp-*)
   ═══════════════════════════════════════════════════════════ */

.rkp-premium-trending-widget {
    margin: 0;
    padding: 0;
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
    font-family: inherit;
    color: inherit;
}

.rkp-premium-trending-widget *,
.rkp-premium-trending-widget *::before,
.rkp-premium-trending-widget *::after {
    box-sizing: border-box;
}

.rkp-premium-trending-widget__scroller {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--rw-border-light, #cbd5e1) transparent;
}

.rkp-premium-trending-widget__scroller::-webkit-scrollbar {
    height: 4px;
}

.rkp-premium-trending-widget__scroller::-webkit-scrollbar-thumb {
    background: var(--rw-border-light, #cbd5e1);
    border-radius: 4px;
}

.rkp-premium-trending-widget__scroller::-webkit-scrollbar-thumb:hover {
    background: var(--rw-color-primary, #0d7c3e);
}

.rkp-premium-trending-widget__card {
    flex: 0 0 220px;
    scroll-snap-align: start;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    display: flex;
    flex-direction: column;
    position: relative;
    box-sizing: border-box;
}

.rkp-premium-trending-widget__thumb {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--rw-bg-alt, #f3f4f6);
    text-decoration: none;
    border-radius: 0;
}

.rkp-premium-trending-widget__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.rkp-premium-trending-widget__card:hover .rkp-premium-trending-widget__thumb img {
    transform: scale(1.03);
}

.rkp-premium-trending-widget__card-body {
    position: relative;
    margin-top: -12px;
    padding: 14px 16px 16px;
    gap: 6px;
    isolation: isolate;

    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(14px) saturate(180%);
    -webkit-backdrop-filter: blur(14px) saturate(180%);
    border-top: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 0 0 var(--rwp-radius-md, 12px) var(--rwp-radius-md, 12px);
    z-index: 1;
}

@supports not (backdrop-filter: blur(1px)) {
    .rkp-premium-trending-widget__card-body {
        background: rgba(255, 255, 255, 0.92);
    }
}

.rkp-premium-trending-widget__cat {
    display: inline-block;
    padding: 3px 10px;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--rw-color-primary, #0d7c3e);
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 22%, transparent);
    border-radius: var(--rwp-radius-pill, 999px);
    text-decoration: none;
    width: fit-content;
    line-height: 1.4;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: all var(--rwp-transition, 0.22s ease);
}

.rkp-premium-trending-widget__cat:hover,
.rkp-premium-trending-widget__cat:focus-visible {
    background: var(--rw-color-primary, #0d7c3e);
    color: #ffffff;
    border-color: var(--rw-color-primary, #0d7c3e);
    opacity: 1;
    text-decoration: none;
}

/* ── Trending card title — LARGE POST TITLE ── */
.rkp-premium-trending-widget__card-title {
    font-size: var(--rwp-title-large-size);
    font-weight: var(--rwp-title-large-weight);
    line-height: 1.4;
    margin: 4px 0 0;
    color: #111827;
}

.rkp-premium-trending-widget__card-title a,
.rkp-premium-trending-widget__card-title a:link,
.rkp-premium-trending-widget__card-title a:visited {
    color: #111827;
    text-decoration: none;
}

.rkp-premium-trending-widget__card-title a:hover,
.rkp-premium-trending-widget__card-title a:focus-visible {
    color: var(--rw-color-primary, #0d7c3e);
}

/* ── Trending widget title — WIDGET TITLE ── */
.rkp-premium-trending-widget__title {
    margin: 0 0 12px;
    padding: 0;
    font-family: inherit;
    font-size: var(--rwp-title-widget-size);
    font-weight: var(--rwp-title-widget-weight);
    color: inherit;
    background: none;
    border: 0;
}

html[data-theme="dark"] .rkp-premium-trending-widget__card-body {
    background: rgba(15, 23, 42, 0.65);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

@supports not (backdrop-filter: blur(1px)) {
    html[data-theme="dark"] .rkp-premium-trending-widget__card-body {
        background: rgba(15, 23, 42, 0.92);
    }
}

html[data-theme="dark"] .rkp-premium-trending-widget__cat {
    background: rgba(30, 41, 59, 0.7);
    color: var(--rw-color-primary, #4ade80);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent);
}

html[data-theme="dark"] .rkp-premium-trending-widget__cat:hover {
    background: var(--rw-color-primary, #4ade80);
    color: #0f172a;
    border-color: var(--rw-color-primary, #4ade80);
}

html[data-theme="dark"] .rkp-premium-trending-widget__card-title,
html[data-theme="dark"] .rkp-premium-trending-widget__card-title a {
    color: #f8fafc;
}

html[data-theme="dark"] .rkp-premium-trending-widget__card-title a:hover {
    color: var(--rw-color-primary, #4ade80);
}

.widget .rkp-premium-trending-widget__card {
    flex: 0 0 200px;
}

@media (prefers-reduced-motion: reduce) {
    .rkp-premium-trending-widget__thumb img {
        transition: none !important;
    }
    .rkp-premium-trending-widget__card:hover .rkp-premium-trending-widget__thumb img {
        transform: none !important;
    }
}


/* ═══════════════════════════════════════════════════════════
   5. TRENDING NOW WIDGET — live namespace (rwp-*)
   ═══════════════════════════════════════════════════════════ */

.rwp-premium-trending,
.rwp-premium-widget-trending {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
    margin: 0 0 24px;
    padding: 0;
}

.rwp-premium-trending *,
.rwp-premium-trending *::before,
.rwp-premium-trending *::after,
.rwp-premium-widget-trending *,
.rwp-premium-widget-trending *::before,
.rwp-premium-widget-trending *::after {
    box-sizing: border-box;
}

.rwp-premium-trending__scroller {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    width: max-content;
    will-change: transform;
}

.rwp-premium-trending__card {
    flex: 0 0 auto;
    width: 260px;
    max-width: 80vw;
    box-sizing: border-box;

    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    display: flex;
    flex-direction: column;
    position: relative;
}

.rwp-premium-trending__thumb {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--rw-bg-alt, #f3f4f6);
    text-decoration: none;
    border-radius: 0;
}

.rwp-premium-trending__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.rwp-premium-trending__card:hover .rwp-premium-trending__thumb img {
    transform: scale(1.03);
}

.rwp-premium-trending__body {
    position: relative;
    margin-top: -12px;
    padding: 14px 16px 16px;
    isolation: isolate;

    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(14px) saturate(180%);
    -webkit-backdrop-filter: blur(14px) saturate(180%);
    border-top: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 0 0 var(--rwp-radius-md, 12px) var(--rwp-radius-md, 12px);
    z-index: 1;

    display: flex;
    flex-direction: column;
    gap: 6px;
}

@supports not (backdrop-filter: blur(1px)) {
    .rwp-premium-trending__body {
        background: rgba(255, 255, 255, 0.92);
    }
}

.rwp-premium-trending__category {
    display: inline-block;
    padding: 3px 10px;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--rw-color-primary, #0d7c3e);
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 22%, transparent);
    border-radius: var(--rwp-radius-pill, 999px);
    text-decoration: none;
    width: fit-content;
    line-height: 1.4;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: all var(--rwp-transition, 0.22s ease);
}

.rwp-premium-trending__category:hover,
.rwp-premium-trending__category:focus-visible {
    background: var(--rw-color-primary, #0d7c3e);
    color: #ffffff;
    border-color: var(--rw-color-primary, #0d7c3e);
    opacity: 1;
    text-decoration: none;
}

/* ── Trending heading — LARGE POST TITLE ── */
.rwp-premium-trending__heading {
    font-size: var(--rwp-title-large-size);
    font-weight: var(--rwp-title-large-weight);
    line-height: 1.4;
    margin: 4px 0 0;
    color: #111827;
    display: -webkit-box;
    -webkit-line-clamp: var(--rwp-title-large-clamp);
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.rwp-premium-trending__heading a,
.rwp-premium-trending__heading a:link,
.rwp-premium-trending__heading a:visited {
    color: #111827;
    text-decoration: none;
    transition: color 0.22s ease;
}

.rwp-premium-trending__heading a:hover,
.rwp-premium-trending__heading a:focus-visible {
    color: var(--rw-color-primary, #0d7c3e);
}

html[data-theme="dark"] .rwp-premium-trending__body {
    background: rgba(15, 23, 42, 0.65);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

@supports not (backdrop-filter: blur(1px)) {
    html[data-theme="dark"] .rwp-premium-trending__body {
        background: rgba(15, 23, 42, 0.92);
    }
}

html[data-theme="dark"] .rwp-premium-trending__category {
    background: rgba(30, 41, 59, 0.7);
    color: var(--rw-color-primary, #4ade80);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent);
}

html[data-theme="dark"] .rwp-premium-trending__category:hover {
    background: var(--rw-color-primary, #4ade80);
    color: #0f172a;
    border-color: var(--rw-color-primary, #4ade80);
}

html[data-theme="dark"] .rwp-premium-trending__heading,
html[data-theme="dark"] .rwp-premium-trending__heading a {
    color: #f8fafc;
}

html[data-theme="dark"] .rwp-premium-trending__heading a:hover {
    color: var(--rw-color-primary, #4ade80);
}

.widget .rwp-premium-trending__card {
    width: 220px;
    max-width: 80vw;
}

@media (prefers-reduced-motion: reduce) {
    .rwp-premium-trending__thumb img {
        transition: none !important;
    }
    .rwp-premium-trending__card:hover .rwp-premium-trending__thumb img {
        transform: none !important;
    }
}


/* ═══════════════════════════════════════════════════════════
   6. PREMIUM POSTS WIDGET — live namespace (rwp-*)
   ═══════════════════════════════════════════════════════════ */

.rwp-premium-widget--grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 0 0 16px;
    padding: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.rwp-premium-widget--grid * {
    box-sizing: border-box;
}

.rwp-premium-related__card {
    display: flex;
    flex-direction: column;
    position: relative;
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
}

.rwp-premium-related__thumb {
    display: block;
    aspect-ratio: 16 / 9;
    max-height: 220px;
    overflow: hidden;
    background: var(--rw-bg-alt, #f3f4f6);
    text-decoration: none;
    border-radius: 0;
}

.rwp-premium-related__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.rwp-premium-related__card:hover .rwp-premium-related__thumb img {
    transform: scale(1.03);
}

.rwp-premium-related__body {
    position: relative;
    margin-top: -12px;
    padding: 16px 18px 18px;
    isolation: isolate;

    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(14px) saturate(180%);
    -webkit-backdrop-filter: blur(14px) saturate(180%);
    border-top: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 0 0 var(--rwp-radius-md, 12px) var(--rwp-radius-md, 12px);
    z-index: 1;

    display: flex;
    flex-direction: column;
    gap: 6px;
}

@supports not (backdrop-filter: blur(1px)) {
    .rwp-premium-related__body {
        background: rgba(255, 255, 255, 0.92);
    }
}

.rwp-premium-related__category {
    display: inline-block;
    padding: 3px 10px;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--rw-color-primary, #0d7c3e);
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 22%, transparent);
    border-radius: var(--rwp-radius-pill, 999px);
    text-decoration: none;
    width: fit-content;
    line-height: 1.4;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: all var(--rwp-transition, 0.22s ease);
}

.rwp-premium-related__category:hover,
.rwp-premium-related__category:focus-visible {
    background: var(--rw-color-primary, #0d7c3e);
    color: #ffffff;
    border-color: var(--rw-color-primary, #0d7c3e);
    opacity: 1;
    text-decoration: none;
}

/* ── Related heading — LARGE POST TITLE ── */
.rwp-premium-related__heading {
    font-size: var(--rwp-title-large-size);
    font-weight: var(--rwp-title-large-weight);
    line-height: 1.4;
    color: #111827;
    margin: 4px 0 0;
    display: -webkit-box;
    -webkit-line-clamp: var(--rwp-title-large-clamp);
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.rwp-premium-related__heading a,
.rwp-premium-related__heading a:link,
.rwp-premium-related__heading a:visited {
    color: #111827;
    text-decoration: none;
    display: block;
    transition: color 0.22s ease;
}

.rwp-premium-related__heading a:hover,
.rwp-premium-related__heading a:focus-visible {
    color: var(--rw-color-primary, #0d7c3e);
}

.rwp-premium-related__meta {
    font-size: 0.72rem;
    color: #6b7280;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin: 6px 0 0;
    padding-top: 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    line-height: 1.4;
}

html[data-theme="dark"] .rwp-premium-related__body {
    background: rgba(15, 23, 42, 0.65);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

@supports not (backdrop-filter: blur(1px)) {
    html[data-theme="dark"] .rwp-premium-related__body {
        background: rgba(15, 23, 42, 0.92);
    }
}

html[data-theme="dark"] .rwp-premium-related__category {
    background: rgba(30, 41, 59, 0.7);
    color: var(--rw-color-primary, #4ade80);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent);
}

html[data-theme="dark"] .rwp-premium-related__category:hover {
    background: var(--rw-color-primary, #4ade80);
    color: #0f172a;
    border-color: var(--rw-color-primary, #4ade80);
}

html[data-theme="dark"] .rwp-premium-related__heading,
html[data-theme="dark"] .rwp-premium-related__heading a {
    color: #f8fafc;
}

html[data-theme="dark"] .rwp-premium-related__heading a:hover {
    color: var(--rw-color-primary, #4ade80);
}

html[data-theme="dark"] .rwp-premium-related__meta {
    color: #94a3b8;
    border-top-color: rgba(255, 255, 255, 0.08);
}

/* Load More — live namespace */
.rwp-premium-widget__load-more-wrap {
    margin-top: 14px;
    margin-bottom: 18px;
    text-align: center;
    display: flex;
    justify-content: center;
}

.rwp-premium-widget__load-more {
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 22px;
    min-height: 22px;
    max-height: 22px;

    width: auto;
    padding: 0 11px;

    font-family: inherit;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;

    color: var(--rw-color-primary, #0d7c3e);
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 30%, transparent);
    border-radius: 999px;
    box-shadow: none;
    cursor: pointer;
    gap: 3px;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.rwp-premium-widget__load-more:hover,
.rwp-premium-widget__load-more:focus-visible {
    background: var(--rw-color-primary, #0d7c3e);
    color: #ffffff;
    border-color: var(--rw-color-primary, #0d7c3e);
    outline: none;
}

.rwp-premium-widget__load-more:disabled,
.rwp-premium-widget__load-more.is-loading {
    opacity: 0.85;
    cursor: wait;
}

.rwp-ppw-load-more__spinner {
    display: none;
    width: 7px;
    height: 7px;
    border: 1.5px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: rkp-premium-spin 0.7s linear infinite;
    flex-shrink: 0;
}

.rwp-premium-widget__load-more.is-loading .rwp-ppw-load-more__spinner {
    display: inline-block;
}

@supports not (backdrop-filter: blur(1px)) {
    .rwp-premium-widget__load-more {
        background: rgba(255, 255, 255, 0.95);
    }
}

html[data-theme="dark"] .rwp-premium-widget__load-more {
    background: rgba(30, 41, 59, 0.7);
    color: var(--rw-color-primary, #4ade80);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent);
}

html[data-theme="dark"] .rwp-premium-widget__load-more:hover {
    background: var(--rw-color-primary, #4ade80);
    color: #0f172a;
    border-color: var(--rw-color-primary, #4ade80);
}


/* ═══════════════════════════════════════════════════════════
   7. PREMIUM SECTION TITLE — live namespace (rwp-*)
   Section titles read Widget Title role. 4 styles still
   differentiate through layout, they share one type size.
   ═══════════════════════════════════════════════════════════ */

.rwp-section-title {
    --rwp-st-primary: var(--rw-color-primary, #0d7c3e);
    --rwp-st-heading: var(--rw-text-heading, #111827);
    --rwp-st-muted:   var(--rw-text-muted, #6b7280);
    --rwp-st-radius:  var(--rwp-radius-pill, 999px);
    --rwp-st-pill-bg: rgba(255, 255, 255, 0.72);
    --rwp-st-pill-border: color-mix(in srgb, var(--rwp-st-primary) 18%, transparent);
    --rwp-st-pill-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 4px 12px -4px rgba(15, 23, 42, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.75);
    --rwp-st-glow: 0 0 10px color-mix(in srgb, var(--rwp-st-primary) 45%, transparent);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 22px;
    position: relative;
    color: var(--rwp-st-heading);
}

html[data-theme="dark"] .rwp-section-title {
    --rwp-st-primary: var(--rw-color-primary, #4ade80);
    --rwp-st-heading: #f8fafc;
    --rwp-st-muted:   #94a3b8;
    --rwp-st-pill-bg: rgba(30, 41, 59, 0.65);
    --rwp-st-pill-border: color-mix(in srgb, var(--rwp-st-primary) 26%, transparent);
    --rwp-st-pill-shadow:
        0 1px 2px rgba(0, 0, 0, 0.25),
        0 4px 14px -4px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --rwp-st-glow: 0 0 12px color-mix(in srgb, var(--rwp-st-primary) 55%, transparent);
}

.rwp-section-title__main {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.rwp-section-title__text {
    margin: 0;
    line-height: 1.15;
    color: var(--rwp-st-heading);
    overflow-wrap: break-word;
    font-family: var(--rw-font-heading, inherit);
    letter-spacing: -0.01em;
}

.rwp-section-title__view-all {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
    color: var(--rwp-st-muted);
    white-space: nowrap;
    flex-shrink: 0;
    border-radius: var(--rwp-st-radius);
    background: transparent;
    transition:
        color var(--rwp-transition, 0.22s ease),
        background-color var(--rwp-transition, 0.22s ease),
        transform var(--rwp-transition, 0.22s ease);
}

.rwp-section-title__view-all:hover,
.rwp-section-title__view-all:focus-visible {
    color: var(--rwp-st-primary);
    background: color-mix(in srgb, var(--rwp-st-primary) 8%, transparent);
    outline: none;
}

.rwp-section-title__view-all svg {
    transition: transform var(--rwp-transition, 0.22s ease);
}

.rwp-section-title__view-all:hover svg {
    transform: translateX(2px);
}

/* ── glass ── */
.rwp-section-title--glass {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 22px;
}

.rwp-section-title--glass .rwp-section-title__main {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 9px 20px 9px 16px;
    background: var(--rwp-st-pill-bg);
    border: 1px solid var(--rwp-st-pill-border);
    border-radius: var(--rwp-st-radius);
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    box-shadow: var(--rwp-st-pill-shadow);
    position: relative;
    overflow: hidden;
}

.rwp-section-title--glass .rwp-section-title__main::after {
    content: "";
    position: absolute;
    inset: 1px 1px auto 1px;
    height: 45%;
    border-radius: inherit;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.35) 0%,
        rgba(255, 255, 255, 0) 100%
    );
    pointer-events: none;
    opacity: 0.7;
}

.rwp-section-title--glass .rwp-section-title__main::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 16px;
    background: linear-gradient(
        180deg,
        var(--rwp-st-primary) 0%,
        color-mix(in srgb, var(--rwp-st-primary) 25%, transparent) 100%
    );
    border-radius: var(--rwp-st-radius);
    flex-shrink: 0;
    box-shadow: var(--rwp-st-glow);
    position: relative;
    z-index: 1;
}

.rwp-section-title--glass .rwp-section-title__text {
    font-size: var(--rwp-title-widget-size);
    font-weight: var(--rwp-title-widget-weight);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--rwp-st-primary);
    position: relative;
    z-index: 1;
}

.rwp-section-title--glass .rwp-section-title__view-all {
    flex-shrink: 0;
}

@supports not (backdrop-filter: blur(1px)) {
    .rwp-section-title--glass .rwp-section-title__main {
        background: rgba(255, 255, 255, 0.94);
    }
    html[data-theme="dark"] .rwp-section-title--glass .rwp-section-title__main {
        background: rgba(30, 41, 59, 0.94);
    }
}

/* ── rule ── */
.rwp-section-title--rule {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    margin-bottom: 24px;
    position: relative;
}

.rwp-section-title--rule::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(
        90deg,
        var(--rwp-st-primary) 0%,
        color-mix(in srgb, var(--rwp-st-primary) 55%, transparent) 30%,
        color-mix(in srgb, var(--rwp-st-primary) 12%, transparent) 70%,
        color-mix(in srgb, var(--rwp-st-primary) 0%, transparent) 100%
    );
    border-radius: var(--rwp-st-radius);
    box-shadow: 0 1px 6px color-mix(in srgb, var(--rwp-st-primary) 30%, transparent);
}

.rwp-section-title--rule .rwp-section-title__main {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.rwp-section-title--rule .rwp-section-title__text {
    font-size: var(--rwp-title-widget-size);
    font-weight: var(--rwp-title-widget-weight);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--rwp-st-heading);
}

.rwp-section-title--rule .rwp-section-title__view-all {
    flex-shrink: 0;
}

/* ── bar ── */
.rwp-section-title--bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 12px 8px 20px;
    margin-bottom: 22px;
    position: relative;
    min-height: 34px;
    border-radius: 0 var(--rwp-st-radius) var(--rwp-st-radius) 0;
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--rwp-st-primary) 7%, transparent) 0%,
        color-mix(in srgb, var(--rwp-st-primary) 3%, transparent) 40%,
        color-mix(in srgb, var(--rwp-st-primary) 0%, transparent) 100%
    );
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.rwp-section-title--bar::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 4px;
    background: linear-gradient(
        180deg,
        var(--rwp-st-primary) 0%,
        color-mix(in srgb, var(--rwp-st-primary) 40%, transparent) 100%
    );
    border-radius: var(--rwp-st-radius);
    box-shadow: var(--rwp-st-glow);
}

.rwp-section-title--bar .rwp-section-title__main {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.rwp-section-title--bar .rwp-section-title__text {
    font-size: var(--rwp-title-widget-size);
    font-weight: var(--rwp-title-widget-weight);
    text-transform: none;
    letter-spacing: -0.015em;
    color: var(--rwp-st-heading);
}

.rwp-section-title--bar .rwp-section-title__view-all {
    flex-shrink: 0;
}

/* ── centered ── */
.rwp-section-title--centered {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    margin-bottom: 26px;
}

.rwp-section-title--centered .rwp-section-title__main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 100%;
}

.rwp-section-title--centered .rwp-section-title__main::before,
.rwp-section-title--centered .rwp-section-title__main::after {
    content: "";
    flex: 1;
    height: 1px;
    border-radius: var(--rwp-st-radius);
    max-width: 260px;
    box-shadow: 0 0 6px color-mix(in srgb, var(--rwp-st-primary) 25%, transparent);
}

.rwp-section-title--centered .rwp-section-title__main::before {
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--rwp-st-primary) 0%, transparent) 0%,
        color-mix(in srgb, var(--rwp-st-primary) 60%, transparent) 100%
    );
}

.rwp-section-title--centered .rwp-section-title__main::after {
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--rwp-st-primary) 60%, transparent) 0%,
        color-mix(in srgb, var(--rwp-st-primary) 0%, transparent) 100%
    );
}

.rwp-section-title--centered .rwp-section-title__text {
    flex: 0 0 auto;
    font-size: var(--rwp-title-widget-size);
    font-weight: var(--rwp-title-widget-weight);
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--rwp-st-primary);
    padding: 9px 22px;
    border-radius: var(--rwp-st-radius);
    background: var(--rwp-st-pill-bg);
    border: 1px solid var(--rwp-st-pill-border);
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    box-shadow: var(--rwp-st-pill-shadow);
    position: relative;
    overflow: hidden;
}

.rwp-section-title--centered .rwp-section-title__text::after {
    content: "";
    position: absolute;
    inset: 1px 1px auto 1px;
    height: 45%;
    border-radius: inherit;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.35) 0%,
        rgba(255, 255, 255, 0) 100%
    );
    pointer-events: none;
    opacity: 0.7;
}

.rwp-section-title--centered .rwp-section-title__view-all {
    margin-top: 2px;
}

@supports not (backdrop-filter: blur(1px)) {
    .rwp-section-title--centered .rwp-section-title__text {
        background: rgba(255, 255, 255, 0.94);
    }
    html[data-theme="dark"] .rwp-section-title--centered .rwp-section-title__text {
        background: rgba(30, 41, 59, 0.94);
    }
}


/* ═══════════════════════════════════════════════════════════
   8. FOOTER CONTEXT — containment + dark glass
   Handles BOTH naming conventions (rwp-* and rkp-*).
   ═══════════════════════════════════════════════════════════ */

/* ── Prevent grid-cell overflow ── */
.rwp-footer-grid > .widget,
.rwp-footer-grid > div,
.rwp-footer-grid > section,
.rwp-footer-widgets-grid > .widget,
.rwp-footer-widgets-grid > div,
.rwp-footer-widgets-grid > section {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.rwp-footer .widget,
.rwp-footer-widgets .widget,
.rwp-footer .widget-area,
.rwp-footer-widgets .widget-area,
.rwp-footer aside,
.rwp-footer-widgets aside {
    min-width: 0;
    max-width: 100%;
}

/* ── Contain widgets to their column — both namespaces ── */
.rwp-footer .rwp-premium-trending,
.rwp-footer-widgets .rwp-premium-trending,
.rwp-footer .rwp-premium-widget-trending,
.rwp-footer-widgets .rwp-premium-widget-trending,
.rwp-footer .rkp-premium-trending-widget,
.rwp-footer-widgets .rkp-premium-trending-widget,
.rwp-footer .rwp-premium-widget--grid,
.rwp-footer-widgets .rwp-premium-widget--grid,
.rwp-footer .rkp-premium-posts-widget,
.rwp-footer-widgets .rkp-premium-posts-widget {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
}

/* ── Scroller containment — both namespaces ── */
.rwp-footer .rwp-premium-trending__scroller,
.rwp-footer-widgets .rwp-premium-trending__scroller,
.rwp-footer .rkp-premium-trending-widget__scroller,
.rwp-footer-widgets .rkp-premium-trending-widget__scroller {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* ── Card width — both namespaces ── */
.rwp-footer .rwp-premium-trending__card,
.rwp-footer-widgets .rwp-premium-trending__card {
    flex: 0 0 auto;
    width: 220px;
    max-width: 80vw;
    box-sizing: border-box;
}

.rwp-footer .rkp-premium-trending-widget__card,
.rwp-footer-widgets .rkp-premium-trending-widget__card {
    flex: 0 0 200px;
    max-width: 80vw;
    box-sizing: border-box;
}

/* ── Dark glass — card body ── */
.rwp-footer .rwp-premium-related__body,
.rwp-footer-widgets .rwp-premium-related__body,
.rwp-footer .rwp-premium-trending__body,
.rwp-footer-widgets .rwp-premium-trending__body,
.rwp-footer .rkp-premium-posts-widget__card-body,
.rwp-footer-widgets .rkp-premium-posts-widget__card-body,
.rwp-footer .rkp-premium-trending-widget__card-body,
.rwp-footer-widgets .rkp-premium-trending-widget__card-body {
    background: rgba(15, 23, 42, 0.65);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(14px) saturate(180%);
    -webkit-backdrop-filter: blur(14px) saturate(180%);
}

@supports not (backdrop-filter: blur(1px)) {
    .rwp-footer .rwp-premium-related__body,
    .rwp-footer-widgets .rwp-premium-related__body,
    .rwp-footer .rwp-premium-trending__body,
    .rwp-footer-widgets .rwp-premium-trending__body,
    .rwp-footer .rkp-premium-posts-widget__card-body,
    .rwp-footer-widgets .rkp-premium-posts-widget__card-body,
    .rwp-footer .rkp-premium-trending-widget__card-body,
    .rwp-footer-widgets .rkp-premium-trending-widget__card-body {
        background: rgba(15, 23, 42, 0.92);
    }
}

/* ── Dark glass — titles ── */
.rwp-footer .rwp-premium-related__heading,
.rwp-footer .rwp-premium-related__heading a,
.rwp-footer-widgets .rwp-premium-related__heading,
.rwp-footer-widgets .rwp-premium-related__heading a,
.rwp-footer .rwp-premium-trending__heading,
.rwp-footer .rwp-premium-trending__heading a,
.rwp-footer-widgets .rwp-premium-trending__heading,
.rwp-footer-widgets .rwp-premium-trending__heading a,
.rwp-footer .rkp-premium-posts-widget__card-title,
.rwp-footer .rkp-premium-posts-widget__card-title a,
.rwp-footer-widgets .rkp-premium-posts-widget__card-title,
.rwp-footer-widgets .rkp-premium-posts-widget__card-title a,
.rwp-footer .rkp-premium-trending-widget__card-title,
.rwp-footer .rkp-premium-trending-widget__card-title a,
.rwp-footer-widgets .rkp-premium-trending-widget__card-title,
.rwp-footer-widgets .rkp-premium-trending-widget__card-title a {
    color: #f8fafc;
}

.rwp-footer .rwp-premium-related__heading a:hover,
.rwp-footer-widgets .rwp-premium-related__heading a:hover,
.rwp-footer .rwp-premium-trending__heading a:hover,
.rwp-footer-widgets .rwp-premium-trending__heading a:hover,
.rwp-footer .rkp-premium-posts-widget__card-title a:hover,
.rwp-footer-widgets .rkp-premium-posts-widget__card-title a:hover,
.rwp-footer .rkp-premium-trending-widget__card-title a:hover,
.rwp-footer-widgets .rkp-premium-trending-widget__card-title a:hover {
    color: var(--rw-color-primary, #4ade80);
}

/* ── Dark glass — category pills ── */
.rwp-footer .rwp-premium-related__category,
.rwp-footer-widgets .rwp-premium-related__category,
.rwp-footer .rwp-premium-trending__category,
.rwp-footer-widgets .rwp-premium-trending__category,
.rwp-footer .rkp-premium-posts-widget__cat,
.rwp-footer .rkp-premium-trending-widget__cat,
.rwp-footer-widgets .rkp-premium-posts-widget__cat,
.rwp-footer-widgets .rkp-premium-trending-widget__cat {
    background: rgba(30, 41, 59, 0.7);
    color: var(--rw-color-primary, #4ade80);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent);
}

.rwp-footer .rwp-premium-related__category:hover,
.rwp-footer-widgets .rwp-premium-related__category:hover,
.rwp-footer .rwp-premium-trending__category:hover,
.rwp-footer-widgets .rwp-premium-trending__category:hover,
.rwp-footer .rkp-premium-posts-widget__cat:hover,
.rwp-footer .rkp-premium-trending-widget__cat:hover,
.rwp-footer-widgets .rkp-premium-posts-widget__cat:hover,
.rwp-footer-widgets .rkp-premium-trending-widget__cat:hover {
    background: var(--rw-color-primary, #4ade80);
    color: #0f172a;
    border-color: var(--rw-color-primary, #4ade80);
}

/* ── Dark glass — meta rows ── */
.rwp-footer .rwp-premium-related__meta,
.rwp-footer-widgets .rwp-premium-related__meta,
.rwp-footer .rkp-premium-posts-widget__meta,
.rwp-footer-widgets .rkp-premium-posts-widget__meta {
    color: #94a3b8;
    border-top-color: rgba(255, 255, 255, 0.08);
}

/* ── Dark glass — load more buttons ── */
.rwp-footer .rwp-premium-widget__load-more,
.rwp-footer-widgets .rwp-premium-widget__load-more,
.rwp-footer .rkp-premium-posts-widget__load-more,
.rwp-footer-widgets .rkp-premium-posts-widget__load-more {
    background: rgba(30, 41, 59, 0.65);
    color: var(--rw-color-primary, #4ade80);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent);
}

.rwp-footer .rwp-premium-widget__load-more:hover,
.rwp-footer .rwp-premium-widget__load-more:focus-visible,
.rwp-footer-widgets .rwp-premium-widget__load-more:hover,
.rwp-footer-widgets .rwp-premium-widget__load-more:focus-visible,
.rwp-footer .rkp-premium-posts-widget__load-more:hover,
.rwp-footer .rkp-premium-posts-widget__load-more:focus-visible,
.rwp-footer-widgets .rkp-premium-posts-widget__load-more:hover,
.rwp-footer-widgets .rkp-premium-posts-widget__load-more:focus-visible {
    background: var(--rw-color-primary, #4ade80);
    color: #0f172a;
    border-color: var(--rw-color-primary, #4ade80);
}

/* ── Dark glass — section titles (both namespaces) ── */
.rwp-footer .rkp-premium-section-title--glass .rkp-premium-section-title__head,
.rwp-footer-widgets .rkp-premium-section-title--glass .rkp-premium-section-title__head,
.rwp-footer .rwp-section-title--glass .rwp-section-title__main,
.rwp-footer-widgets .rwp-section-title--glass .rwp-section-title__main {
    background: rgba(30, 41, 59, 0.65);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 26%, transparent);
}

.rwp-footer .rkp-premium-section-title--glass .rkp-premium-section-title__label,
.rwp-footer-widgets .rkp-premium-section-title--glass .rkp-premium-section-title__label,
.rwp-footer .rwp-section-title--glass .rwp-section-title__text,
.rwp-footer-widgets .rwp-section-title--glass .rwp-section-title__text {
    color: var(--rw-color-primary, #4ade80);
}

.rwp-footer .rkp-premium-section-title__cta,
.rwp-footer-widgets .rkp-premium-section-title__cta,
.rwp-footer .rwp-section-title__view-all,
.rwp-footer-widgets .rwp-section-title__view-all {
    color: #94a3b8;
}

.rwp-footer .rkp-premium-section-title__cta:hover,
.rwp-footer-widgets .rkp-premium-section-title__cta:hover,
.rwp-footer .rwp-section-title__view-all:hover,
.rwp-footer-widgets .rwp-section-title__view-all:hover {
    color: var(--rw-color-primary, #4ade80);
    background: color-mix(in srgb, var(--rw-color-primary, #4ade80) 10%, transparent);
}


/* ═══════════════════════════════════════════════════════════
   9. WIDGET SPACING
   ═══════════════════════════════════════════════════════════ */

.widget .rkp-premium-posts-widget__grid,
.widget .rkp-premium-trending-widget,
.widget .rkp-premium-posts-widget__load-more-wrap,
.widget .rwp-premium-widget--grid,
.widget .rwp-premium-trending,
.widget .rwp-premium-widget__load-more-wrap {
    width: 100%;
}

.widget_rankwellpro_premium_posts,
.widget_rankwellpro_trending_now,
.widget.rkp-premium-posts-widget,
.widget.rkp-premium-trending-widget {
    margin-bottom: 32px !important;
    padding: 0;
}

.widget_rankwellpro_premium_posts:last-child,
.widget_rankwellpro_trending_now:last-child,
.widget.rkp-premium-posts-widget:last-child,
.widget.rkp-premium-trending-widget:last-child {
    margin-bottom: 0 !important;
}

.rkp-premium-section-title,
.rwp-section-title {
    margin-top: 0;
    margin-bottom: 22px;
}


/* ═══════════════════════════════════════════════════════════
   10. EDITOR'S PICKS WIDGET — Load More wrap
   ═══════════════════════════════════════════════════════════ */

.rkp-premium-editors-picks-widget__load-more-wrap {
    margin-top: 20px;
    margin-bottom: 24px;
    text-align: center;
    display: flex;
    justify-content: center;
}

@media (max-width: 600px) {
    .rkp-premium-editors-picks-widget__load-more-wrap {
        margin-top: 16px;
        margin-bottom: 20px;
    }
}


/* ═══════════════════════════════════════════════════════════
   11. SHORTCODE WRAPPER
   ═══════════════════════════════════════════════════════════ */

.rkp-sc-widget,
.rankwellpress-shortcode-widget {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
    margin: 0 0 24px;
    padding: 0;
}

.rkp-sc-widget .rwp-premium-trending,
.rkp-sc-widget .rwp-premium-widget-trending,
.rankwellpress-shortcode-widget .rwp-premium-trending,
.rankwellpress-shortcode-widget .rwp-premium-widget-trending {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.rkp-sc-widget .rwp-premium-trending__scroller,
.rankwellpress-shortcode-widget .rwp-premium-trending__scroller {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    width: max-content;
    will-change: transform;
}

.rkp-sc-widget .rwp-premium-trending__card,
.rankwellpress-shortcode-widget .rwp-premium-trending__card {
    flex: 0 0 auto;
    width: 260px;
    max-width: 80vw;
    box-sizing: border-box;
}

.rkp-sc-widget *,
.rankwellpress-shortcode-widget * {
    box-sizing: border-box;
}

.widget-area,
.sidebar,
.rwp-sidebar,
.rkp-sidebar {
    min-width: 0;
}

.widget-area > *,
.sidebar > *,
.rwp-sidebar > *,
.rkp-sidebar > * {
    min-width: 0;
}

@media (max-width: 480px) {
    .rkp-sc-widget,
    .rankwellpress-shortcode-widget {
        margin-bottom: 20px;
    }

    .rkp-sc-widget .rwp-premium-trending__card,
    .rankwellpress-shortcode-widget .rwp-premium-trending__card {
        width: 220px;
    }

    .rkp-sc-widget .rwp-premium-trending__scroller,
    .rankwellpress-shortcode-widget .rwp-premium-trending__scroller {
        gap: 12px;
    }
}


/* ═══════════════════════════════════════════════════════════
   12. RESPONSIVE — section titles
   Section titles follow Widget Title role; only letter-spacing
   and pill padding tighten on small screens.
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 480px) {
    .rkp-premium-section-title,
    .rwp-section-title {
        margin-bottom: 18px;
    }

    .rkp-premium-section-title--glass .rkp-premium-section-title__head,
    .rwp-section-title--glass .rwp-section-title__main {
        padding: 8px 16px 8px 14px;
    }

    .rkp-premium-section-title--glass .rkp-premium-section-title__label,
    .rwp-section-title--glass .rwp-section-title__text {
        letter-spacing: 0.12em;
    }

    .rkp-premium-section-title--bar,
    .rwp-section-title--bar {
        padding: 6px 10px 6px 16px;
    }

    .rkp-premium-section-title--centered .rkp-premium-section-title__head,
    .rwp-section-title--centered .rwp-section-title__main {
        gap: 12px;
    }

    .rkp-premium-section-title--centered .rkp-premium-section-title__head::before,
    .rkp-premium-section-title--centered .rkp-premium-section-title__head::after,
    .rwp-section-title--centered .rwp-section-title__main::before,
    .rwp-section-title--centered .rwp-section-title__main::after {
        max-width: 2rem;
    }

    .rkp-premium-section-title--centered .rkp-premium-section-title__label,
    .rwp-section-title--centered .rwp-section-title__text {
        padding: 8px 16px;
        letter-spacing: 0.18em;
    }
}


/* ═══════════════════════════════════════════════════════════
   13. REDUCED MOTION
   ═══════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
    .rkp-premium-section-title__cta,
    .rkp-premium-section-title__cta-icon,
    .rwp-section-title__view-all,
    .rwp-section-title__view-all svg,
    .rkp-premium-trending-widget__thumb img,
    .rwp-premium-trending__thumb img {
        transition: none !important;
    }
    .rkp-premium-section-title__cta:hover .rkp-premium-section-title__cta-icon,
    .rwp-section-title__view-all:hover svg,
    .rkp-premium-trending-widget__card:hover .rkp-premium-trending-widget__thumb img,
    .rwp-premium-trending__card:hover .rwp-premium-trending__thumb img {
        transform: none !important;
    }
}



/* =========================================================
   RANKWELLPRESS PRO — HOME WIDGETS · PREMIUM EDITION
   1) Editor's Picks  (rkp-premium-editors-picks-widget)
   2) Top List        (rkp-premium-top-list-widget)

   Role wiring (see top-of-file alias block for details):
     Editor's Picks hero      → LARGE POST TITLE
     Editor's Picks compact   → SMALL POST TITLE
     Editor's Picks fallback  → WIDGET TITLE
     Top List title           → SMALL POST TITLE
   ========================================================= */

/* ── Shared design tokens ── */
.widget_rankwellpro_editors_picks,
.widget.rkp-premium-editors-picks-widget,
.widget_rankwellpro_top_list,
.widget.rkp-premium-top-list-widget {
    --rkp-accent: var(--rw-color-primary, #0d7c3e);
    --rkp-ink: #0f172a;
    --rkp-muted: var(--rw-text-muted, #64748b);
    --rkp-line: rgba(15, 23, 42, 0.08);
    --rkp-hover-bg: rgba(15, 23, 42, 0.035);
    --rkp-navy: 15, 30, 51;
    --rkp-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
    --rkp-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06), 0 1px 1px rgba(15, 23, 42, 0.04);
    --rkp-shadow-md: 0 2px 4px rgba(15, 23, 42, 0.05), 0 12px 28px -8px rgba(15, 23, 42, 0.28);
    --rkp-shadow-lg: 0 4px 8px rgba(15, 23, 42, 0.06), 0 22px 44px -12px rgba(15, 23, 42, 0.38);
}

html[data-theme="dark"] .widget_rankwellpro_editors_picks,
html[data-theme="dark"] .widget.rkp-premium-editors-picks-widget,
html[data-theme="dark"] .widget_rankwellpro_top_list,
html[data-theme="dark"] .widget.rkp-premium-top-list-widget,
.rwp-footer .widget_rankwellpro_editors_picks,
.rwp-footer .widget_rankwellpro_top_list,
.rwp-footer-widgets .widget_rankwellpro_editors_picks,
.rwp-footer-widgets .widget_rankwellpro_top_list {
    --rkp-accent: var(--rw-color-primary, #4ade80);
    --rkp-ink: #f8fafc;
    --rkp-muted: #94a3b8;
    --rkp-line: rgba(255, 255, 255, 0.08);
    --rkp-hover-bg: rgba(255, 255, 255, 0.05);
    --rkp-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --rkp-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.3), 0 14px 30px -8px rgba(0, 0, 0, 0.6);
    --rkp-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.35), 0 24px 48px -12px rgba(0, 0, 0, 0.7);
}

/* ── Widget wrapper spacing ── */
.widget_rankwellpro_editors_picks,
.widget.rkp-premium-editors-picks-widget,
.widget_rankwellpro_top_list,
.widget.rkp-premium-top-list-widget {
    margin-bottom: 36px !important;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.widget_rankwellpro_editors_picks:last-child,
.widget.rkp-premium-editors-picks-widget:last-child,
.widget_rankwellpro_top_list:last-child,
.widget.rkp-premium-top-list-widget:last-child {
    margin-bottom: 0 !important;
}

/* =========================================================
   EDITOR'S PICKS — HERO CARD
   ========================================================= */

.rkp-premium-editors-picks-widget__hero {
    margin-bottom: 18px;
}

.rkp-premium-editors-picks-widget__hero-card {
    position: relative;
    display: block;
    border-radius: 16px;
    overflow: hidden;
    isolation: isolate;
    margin: 0 0 12px;
    background: rgba(var(--rkp-navy), 0.9);
    max-height: 340px;
    box-shadow: var(--rkp-shadow-md);
    transform: translateZ(0);
    transition: transform 0.45s var(--rkp-ease), box-shadow 0.45s var(--rkp-ease);
}

.rkp-premium-editors-picks-widget__hero-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
    z-index: 3;
    pointer-events: none;
}

.rkp-premium-editors-picks-widget__hero-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--rkp-shadow-lg);
}

.rkp-premium-editors-picks-widget__hero-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    text-decoration: none;
}

.rkp-premium-editors-picks-widget__hero-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transform: scale(1.001);
    transition: transform 0.9s var(--rkp-ease), filter 0.6s ease;
    filter: saturate(1.05) contrast(1.02);
}

.rkp-premium-editors-picks-widget__hero-card:hover .rkp-premium-editors-picks-widget__hero-thumb img {
    transform: scale(1.06);
    filter: saturate(1.12) contrast(1.04);
}

.rkp-premium-editors-picks-widget__hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to top,
            rgba(var(--rkp-navy), 0.96) 0%,
            rgba(var(--rkp-navy), 0.86) 18%,
            rgba(var(--rkp-navy), 0.58) 38%,
            rgba(var(--rkp-navy), 0.24) 60%,
            rgba(var(--rkp-navy), 0.04) 80%,
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            rgba(var(--rkp-navy), 0.28) 0%,
            transparent 28%
        );
    z-index: 1;
    pointer-events: none;
}

.rkp-premium-editors-picks-widget__hero-body {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 26px 26px 24px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
    pointer-events: none;
    box-sizing: border-box;
}

.rkp-premium-editors-picks-widget__hero-body > * {
    pointer-events: auto;
}

.rkp-premium-editors-picks-widget__cat,
.rkp-premium-editors-picks-widget__cat:link,
.rkp-premium-editors-picks-widget__cat:visited {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background-color: rgba(255, 255, 255, 0.14);
    -webkit-backdrop-filter: blur(10px) saturate(140%);
    backdrop-filter: blur(10px) saturate(140%);
    color: #ffffff !important;
    font-size: 0.66rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    padding: 6px 12px 6px 10px;
    margin: 0;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    line-height: 1;
    -webkit-text-fill-color: #ffffff;
    transition: background-color 0.25s ease, transform 0.25s var(--rkp-ease), border-color 0.25s ease;
}

.rkp-premium-editors-picks-widget__cat::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rkp-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--rkp-accent) 35%, transparent);
    flex: 0 0 auto;
}

.rkp-premium-editors-picks-widget__cat:hover,
.rkp-premium-editors-picks-widget__cat:focus-visible {
    background-color: rgba(255, 255, 255, 0.24);
    border-color: rgba(255, 255, 255, 0.4);
    transform: translateY(-1px);
    text-decoration: none;
    color: #ffffff !important;
    outline: none;
}

/* ── Hero title — LARGE POST TITLE ── */
.rkp-premium-editors-picks-widget__hero-title {
    font-size: var(--rwp-title-large-size);
    font-weight: var(--rwp-title-large-weight);
    line-height: 1.22;
    letter-spacing: -0.015em;
    margin: 0;
    color: #ffffff;
    display: -webkit-box;
    -webkit-line-clamp: var(--rwp-title-large-clamp);
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-wrap: balance;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}

.rkp-premium-editors-picks-widget__hero-title a,
.rkp-premium-editors-picks-widget__hero-title a:link,
.rkp-premium-editors-picks-widget__hero-title a:visited {
    color: #ffffff !important;
    text-decoration: none;
    display: block;
    -webkit-text-fill-color: #ffffff;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0% 1.5px;
    transition: background-size 0.5s var(--rkp-ease), opacity 0.2s ease;
}

.rkp-premium-editors-picks-widget__hero-title a:hover,
.rkp-premium-editors-picks-widget__hero-title a:focus-visible {
    color: #ffffff !important;
    background-size: 100% 1.5px;
    outline: none;
}

.rkp-premium-editors-picks-widget__meta {
    margin: 0;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.4;
}

/* =========================================================
   EDITOR'S PICKS — COMPACT LIST
   ========================================================= */

.rkp-premium-editors-picks-widget__list {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.rkp-premium-editors-picks-widget__compact-card {
    position: relative;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 10px !important;
    margin: 0 -10px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 14px !important;
    width: calc(100% + 20px) !important;
    box-sizing: border-box !important;
    transition: background-color 0.3s ease, transform 0.3s var(--rkp-ease) !important;
}

.rkp-premium-editors-picks-widget__compact-card:hover {
    background: var(--rkp-hover-bg) !important;
    transform: translateX(2px);
}

.rkp-premium-editors-picks-widget__compact-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 0;
    border-radius: 3px;
    background: var(--rkp-accent);
    transform: translateY(-50%);
    transition: height 0.35s var(--rkp-ease);
}

.rkp-premium-editors-picks-widget__compact-card:hover::before {
    height: 46%;
}

.rkp-premium-editors-picks-widget__compact-thumb {
    flex: 0 0 76px !important;
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
    max-width: 76px !important;
    max-height: 76px !important;
    overflow: hidden !important;
    background: var(--rkp-line) !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    text-decoration: none;
    position: relative;
    box-sizing: border-box !important;
    align-self: flex-start !important;
    box-shadow: var(--rkp-shadow-sm);
}

.rkp-premium-editors-picks-widget__compact-thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
    pointer-events: none;
}

.rkp-premium-editors-picks-widget__compact-thumb img,
.rkp-premium-editors-picks-widget__compact-thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    transition: transform 0.6s var(--rkp-ease);
}

.rkp-premium-editors-picks-widget__compact-card:hover .rkp-premium-editors-picks-widget__compact-thumb img,
.rkp-premium-editors-picks-widget__compact-card:hover .rkp-premium-editors-picks-widget__compact-thumb-img {
    transform: scale(1.08);
}

.rkp-premium-editors-picks-widget__compact-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left;
}

/* ── Compact title — SMALL POST TITLE ── */
.rkp-premium-editors-picks-widget__compact-title {
    font-size: var(--rwp-title-small-size);
    font-weight: var(--rwp-title-small-weight);
    line-height: 1.35;
    letter-spacing: -0.005em;
    margin: 0 0 6px !important;
    padding: 0 !important;
    color: var(--rkp-ink);
    display: -webkit-box;
    -webkit-line-clamp: var(--rwp-title-small-clamp);
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-wrap: pretty;
}

.rkp-premium-editors-picks-widget__compact-title a,
.rkp-premium-editors-picks-widget__compact-title a:link,
.rkp-premium-editors-picks-widget__compact-title a:visited {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.rkp-premium-editors-picks-widget__compact-title a:hover,
.rkp-premium-editors-picks-widget__compact-title a:focus-visible {
    color: var(--rkp-accent);
    outline: none;
}

.rkp-premium-editors-picks-widget__compact-title a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
}

.rkp-premium-editors-picks-widget__compact-title a:focus-visible::after {
    box-shadow: 0 0 0 2px var(--rkp-accent);
}

.rkp-premium-editors-picks-widget__compact-meta {
    font-size: 0.7rem;
    color: var(--rkp-muted);
    font-weight: 600;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
}

.rkp-premium-editors-picks-widget__cat-inline {
    position: relative;
    z-index: 2;
    display: inline-block;
    color: var(--rw-color-primary, #0d7c3e);
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 22%, transparent);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    padding: 3px 10px;
    border-radius: var(--rwp-radius-pill, 999px);
    width: fit-content;
    line-height: 1.4;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.rkp-premium-editors-picks-widget__cat-inline:hover,
.rkp-premium-editors-picks-widget__cat-inline:focus-visible {
    text-decoration: none;
    background: var(--rw-color-primary, #0d7c3e);
    color: #ffffff;
    border-color: var(--rw-color-primary, #0d7c3e);
    outline: none;
}

.rkp-premium-editors-picks-widget__meta-item {
    color: inherit;
    font-variant-numeric: tabular-nums;
}

.rkp-premium-editors-picks-widget__meta-item + .rkp-premium-editors-picks-widget__meta-item::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    margin-right: 8px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.45;
    vertical-align: middle;
}

/* ── Fallback title — WIDGET TITLE ── */
.rkp-premium-editors-picks-widget__title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 20px;
    font-size: var(--rwp-title-widget-size);
    font-weight: var(--rwp-title-widget-weight);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--rkp-ink);
    line-height: 1.2;
}

.rkp-premium-editors-picks-widget__title::before {
    content: "";
    width: 22px;
    height: 3px;
    border-radius: 3px;
    background: var(--rkp-accent);
    flex: 0 0 auto;
}

.rkp-premium-editors-picks-widget__title::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: linear-gradient(90deg, var(--rkp-line), transparent);
}

.rkp-premium-editors-picks-widget__load-more-wrap {
    text-align: center;
    margin-top: 12px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
}

/* =========================================================
   TOP LIST
   ========================================================= */

.rkp-premium-top-list-widget__list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    counter-reset: rkp-rank;
}

.rkp-premium-top-list-widget__item {
    position: relative;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 10px !important;
    margin: 0 -10px !important;
    width: calc(100% + 20px) !important;
    border-bottom: 0;
    border-radius: 14px;
    box-sizing: border-box !important;
    transition: background-color 0.3s ease;
}

.rkp-premium-top-list-widget__item::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--rkp-line) 12%, var(--rkp-line) 88%, transparent);
    transition: opacity 0.3s ease;
}

.rkp-premium-top-list-widget__item:hover {
    background: var(--rkp-hover-bg);
}

.rkp-premium-top-list-widget__item:hover::after,
.rkp-premium-top-list-widget__item:hover + .rkp-premium-top-list-widget__item::after {
    opacity: 0;
}

.rkp-premium-top-list-widget__item:first-child {
    padding-top: 10px !important;
}

.rkp-premium-top-list-widget__item:last-child {
    border-bottom: 0 !important;
    padding-bottom: 10px !important;
}

.rkp-premium-top-list-widget__item:last-child::after {
    display: none;
}

.rkp-premium-top-list-widget__list--no-numbers .rkp-premium-top-list-widget__item {
    gap: 0 !important;
}

/* ── Top List title — SMALL POST TITLE ── */
.rkp-premium-top-list-widget__list--no-numbers .rkp-premium-top-list-widget__title {
    font-size: var(--rwp-title-small-size);
    font-weight: var(--rwp-title-small-weight);
}

/* =========================================================
   TOP LIST — NUMBER
   ========================================================= */

.rkp-premium-top-list-widget__number {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    font-family: var(--rw-font-heading, inherit);
    font-size: 2rem;
    font-weight: 900;
    line-height: 1 !important;
    letter-spacing: -0.04em;
    font-variant-numeric: tabular-nums lining-nums;
    text-align: center;
    color: var(--rkp-accent);
    user-select: none;
    padding: 0;
    transition: color 0.25s ease, transform 0.4s var(--rkp-ease), -webkit-text-stroke-color 0.25s ease;
    box-sizing: border-box !important;
    display: inline-block;
}

.rkp-premium-top-list-widget__item:hover .rkp-premium-top-list-widget__number {
    transform: scale(1.12);
}

.rkp-premium-top-list-widget__list--style-outlined .rkp-premium-top-list-widget__number {
    color: transparent !important;
    -webkit-text-stroke: 1.75px var(--rkp-accent);
    text-stroke: 1.75px var(--rkp-accent);
    paint-order: stroke fill;
}

.rkp-premium-top-list-widget__list--style-outlined .rkp-premium-top-list-widget__item:nth-child(1) .rkp-premium-top-list-widget__number {
    color: var(--rkp-accent) !important;
    -webkit-text-stroke: 0;
    filter: drop-shadow(0 4px 10px color-mix(in srgb, var(--rkp-accent) 40%, transparent));
}

.rkp-premium-top-list-widget__list--style-outlined .rkp-premium-top-list-widget__item:nth-child(3) .rkp-premium-top-list-widget__number {
    -webkit-text-stroke-color: color-mix(in srgb, var(--rkp-accent) 70%, transparent);
}

.rkp-premium-top-list-widget__list--style-outlined .rkp-premium-top-list-widget__item:nth-child(n+4) .rkp-premium-top-list-widget__number {
    -webkit-text-stroke-color: color-mix(in srgb, var(--rkp-accent) 50%, transparent);
}

.rkp-premium-top-list-widget__list--style-solid .rkp-premium-top-list-widget__number {
    color: var(--rkp-accent) !important;
    -webkit-text-stroke: 0;
}

.rkp-premium-top-list-widget__list--style-gradient .rkp-premium-top-list-widget__number {
    background: linear-gradient(
        180deg,
        var(--rkp-accent) 0%,
        color-mix(in srgb, var(--rkp-accent) 30%, transparent) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* =========================================================
   TOP LIST — THUMBNAIL
   ========================================================= */

.rkp-premium-top-list-widget__thumb {
    flex: 0 0 56px !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    overflow: hidden !important;
    background: var(--rkp-line) !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    text-decoration: none;
    position: relative;
    box-sizing: border-box !important;
    align-self: center !important;
    box-shadow: var(--rkp-shadow-sm);
}

.rkp-premium-top-list-widget__thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
    pointer-events: none;
}

.rkp-premium-top-list-widget__thumb img,
.rkp-premium-top-list-widget__thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    transition: transform 0.6s var(--rkp-ease);
}

.rkp-premium-top-list-widget__item:hover .rkp-premium-top-list-widget__thumb img,
.rkp-premium-top-list-widget__item:hover .rkp-premium-top-list-widget__thumb-img {
    transform: scale(1.08);
}

/* =========================================================
   TOP LIST — BODY
   ========================================================= */

.rkp-premium-top-list-widget__body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left;
}

/* ── Top List title — SMALL POST TITLE ── */
.rkp-premium-top-list-widget__title {
    font-size: var(--rwp-title-small-size);
    font-weight: var(--rwp-title-small-weight);
    line-height: 1.35;
    letter-spacing: -0.005em;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--rkp-ink);
    display: -webkit-box;
    -webkit-line-clamp: var(--rwp-title-small-clamp);
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-wrap: pretty;
}

.rkp-premium-top-list-widget__title a,
.rkp-premium-top-list-widget__title a:link,
.rkp-premium-top-list-widget__title a:visited {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.rkp-premium-top-list-widget__title a:hover,
.rkp-premium-top-list-widget__title a:focus-visible {
    color: var(--rkp-accent);
    outline: none;
}

.rkp-premium-top-list-widget__title a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
}

.rkp-premium-top-list-widget__title a:focus-visible::after {
    box-shadow: 0 0 0 2px var(--rkp-accent);
}

.rkp-premium-top-list-widget__meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.68rem;
    line-height: 1.4;
    color: var(--rkp-muted);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.rkp-premium-top-list-widget__cat {
    position: relative;
    z-index: 2;
    display: inline-block;
    color: var(--rw-color-primary, #0d7c3e);
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 22%, transparent);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    padding: 3px 10px;
    border-radius: var(--rwp-radius-pill, 999px);
    width: fit-content;
    line-height: 1.4;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.rkp-premium-top-list-widget__cat:hover,
.rkp-premium-top-list-widget__cat:focus-visible {
    text-decoration: none;
    background: var(--rw-color-primary, #0d7c3e);
    color: #ffffff;
    border-color: var(--rw-color-primary, #0d7c3e);
    outline: none;
}

.rkp-premium-top-list-widget__meta {
    color: inherit;
}

.rkp-premium-top-list-widget__sep {
    color: var(--rkp-muted);
    opacity: 0.55;
    font-weight: 400;
    margin: 0 1px;
}

/* =========================================================
   DARK MODE
   ========================================================= */

html[data-theme="dark"] .rkp-premium-editors-picks-widget__compact-thumb::after,
html[data-theme="dark"] .rkp-premium-top-list-widget__thumb::after {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .rkp-premium-editors-picks-widget__cat-inline,
html[data-theme="dark"] .rkp-premium-top-list-widget__cat {
    background: rgba(30, 41, 59, 0.7);
    color: var(--rw-color-primary, #4ade80);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent);
}

html[data-theme="dark"] .rkp-premium-editors-picks-widget__cat-inline:hover,
html[data-theme="dark"] .rkp-premium-top-list-widget__cat:hover {
    background: var(--rw-color-primary, #4ade80);
    color: #0b1220;
    border-color: var(--rw-color-primary, #4ade80);
}

/* =========================================================
   FOOTER CONTEXT
   ========================================================= */

.rwp-footer .rkp-premium-editors-picks-widget__compact-thumb::after,
.rwp-footer-widgets .rkp-premium-editors-picks-widget__compact-thumb::after,
.rwp-footer .rkp-premium-top-list-widget__thumb::after,
.rwp-footer-widgets .rkp-premium-top-list-widget__thumb::after {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.rwp-footer .rkp-premium-editors-picks-widget__cat-inline,
.rwp-footer-widgets .rkp-premium-editors-picks-widget__cat-inline,
.rwp-footer .rkp-premium-top-list-widget__cat,
.rwp-footer-widgets .rkp-premium-top-list-widget__cat {
    background: rgba(30, 41, 59, 0.7);
    color: var(--rw-color-primary, #4ade80);
    border-color: color-mix(in srgb, var(--rw-color-primary, #4ade80) 30%, transparent);
}

.rwp-footer .rkp-premium-editors-picks-widget__cat-inline:hover,
.rwp-footer-widgets .rkp-premium-editors-picks-widget__cat-inline:hover,
.rwp-footer .rkp-premium-top-list-widget__cat:hover,
.rwp-footer-widgets .rkp-premium-top-list-widget__cat:hover {
    background: var(--rw-color-primary, #4ade80);
    color: #0b1220;
    border-color: var(--rw-color-primary, #4ade80);
}

/* =========================================================
   MOBILE — Q2 = C: multiply role tokens by 0.85
   ═════════════════════════════════════════════════════════ */

@media (max-width: 600px) {
    .rkp-premium-editors-picks-widget__hero-card {
        max-height: none;
        border-radius: 14px;
    }

    .rkp-premium-editors-picks-widget__hero-thumb {
        aspect-ratio: 4 / 3;
    }

    .rkp-premium-editors-picks-widget__hero-body {
        padding: 20px;
        gap: 8px;
    }

    .rkp-premium-editors-picks-widget__hero-title {
        font-size: calc(var(--rwp-title-large-size) * 0.85);
    }

    .rkp-premium-editors-picks-widget__compact-card {
        gap: 12px !important;
        padding: 8px !important;
        margin: 0 -8px !important;
        width: calc(100% + 16px) !important;
    }

    .rkp-premium-editors-picks-widget__compact-thumb {
        flex: 0 0 68px !important;
        width: 68px !important;
        height: 68px !important;
        min-width: 68px !important;
        min-height: 68px !important;
        max-width: 68px !important;
        max-height: 68px !important;
    }

    .rkp-premium-editors-picks-widget__compact-title {
        font-size: calc(var(--rwp-title-small-size) * 0.85);
    }

    .rkp-premium-editors-picks-widget__compact-meta {
        font-size: 0.66rem;
    }

    .rkp-premium-top-list-widget__item {
        gap: 12px !important;
        padding: 12px 8px !important;
        margin: 0 -8px !important;
        width: calc(100% + 16px) !important;
    }

    .rkp-premium-top-list-widget__number {
        flex: 0 0 32px !important;
        width: 32px !important;
        min-width: 32px !important;
        font-size: 1.7rem;
    }

    .rkp-premium-top-list-widget__title {
        font-size: calc(var(--rwp-title-small-size) * 0.85);
    }

    .rkp-premium-top-list-widget__thumb {
        flex: 0 0 50px !important;
        width: 50px !important;
        height: 50px !important;
        min-width: 50px !important;
        min-height: 50px !important;
        max-width: 50px !important;
        max-height: 50px !important;
    }
}

@media (hover: none) {
    .rkp-premium-editors-picks-widget__hero-card:hover,
    .rkp-premium-editors-picks-widget__compact-card:hover {
        transform: none;
    }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .rkp-premium-editors-picks-widget__hero-card,
    .rkp-premium-editors-picks-widget__hero-thumb img,
    .rkp-premium-editors-picks-widget__hero-title a,
    .rkp-premium-editors-picks-widget__cat,
    .rkp-premium-editors-picks-widget__compact-card,
    .rkp-premium-editors-picks-widget__compact-card::before,
    .rkp-premium-editors-picks-widget__compact-thumb img,
    .rkp-premium-top-list-widget__item,
    .rkp-premium-top-list-widget__number,
    .rkp-premium-top-list-widget__thumb img,
    .rkp-premium-top-list-widget__title a {
        transition: none !important;
    }

    .rkp-premium-editors-picks-widget__hero-card:hover,
    .rkp-premium-editors-picks-widget__compact-card:hover,
    .rkp-premium-top-list-widget__item:hover .rkp-premium-top-list-widget__number {
        transform: none !important;
    }

    .rkp-premium-editors-picks-widget__hero-card:hover .rkp-premium-editors-picks-widget__hero-thumb img,
    .rkp-premium-editors-picks-widget__compact-card:hover .rkp-premium-editors-picks-widget__compact-thumb img,
    .rkp-premium-top-list-widget__item:hover .rkp-premium-top-list-widget__thumb img {
        transform: none !important;
    }
}



/* =========================================================
   RANKWELLPRESS PRO — FAITH TIMES WIDGET  ·  Premium Edition
   Namespace: rkp-faith-times

   NOT WIRED — intentionally left exactly as before.
   Faith Times has no post cards and no widget title that
   matches the Widget Title role. Every font-size here stays
   hard-coded so the panel's micro-typography is preserved.
   ========================================================= */


/* =========================================================
   1. DESIGN TOKENS
   ========================================================= */

.rkp-faith-times__body {
    --rkp-accent:        var(--rw-color-primary, #0d7c3e);
    --rkp-accent-soft:   rgba(13, 124, 62, 0.10);
    --rkp-accent-softer: rgba(13, 124, 62, 0.06);
    --rkp-accent-line:   rgba(13, 124, 62, 0.28);
    --rkp-accent-glow:   rgba(13, 124, 62, 0.35);

    --rkp-text:          #0f172a;
    --rkp-text-body:     #1f2937;
    --rkp-text-quiet:    #4b5563;
    --rkp-muted:         var(--rw-text-muted, #6b7280);

    --rkp-surface:       rgba(255, 255, 255, 0.72);
    --rkp-surface-solid: rgba(255, 255, 255, 0.94);
    --rkp-surface-inset: rgba(15, 23, 42, 0.035);
    --rkp-border:        rgba(255, 255, 255, 0.75);
    --rkp-hair:          rgba(15, 23, 42, 0.07);
    --rkp-hair-dashed:   rgba(15, 23, 42, 0.09);
    --rkp-highlight:     rgba(255, 255, 255, 0.9);

    --rkp-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 8px 24px -8px rgba(15, 23, 42, 0.10),
        0 24px 48px -24px rgba(15, 23, 42, 0.10);

    --rkp-error:         #b91c1c;
    --rkp-on-accent:     #ffffff;
    --rkp-radius:        var(--rwp-radius-md, 14px);
    --rkp-ease:          cubic-bezier(0.22, 1, 0.36, 1);
}

/* Dark theme */
html[data-theme="dark"] .rkp-faith-times__body {
    --rkp-accent:        var(--rw-color-primary, #4ade80);
    --rkp-accent-soft:   rgba(74, 222, 128, 0.13);
    --rkp-accent-softer: rgba(74, 222, 128, 0.08);
    --rkp-accent-line:   rgba(74, 222, 128, 0.30);
    --rkp-accent-glow:   rgba(74, 222, 128, 0.40);

    --rkp-text:          #f8fafc;
    --rkp-text-body:     #e2e8f0;
    --rkp-text-quiet:    #94a3b8;
    --rkp-muted:         #94a3b8;

    --rkp-surface:       rgba(30, 41, 59, 0.62);
    --rkp-surface-solid: rgba(30, 41, 59, 0.94);
    --rkp-surface-inset: rgba(255, 255, 255, 0.04);
    --rkp-border:        rgba(255, 255, 255, 0.08);
    --rkp-hair:          rgba(255, 255, 255, 0.08);
    --rkp-hair-dashed:   rgba(255, 255, 255, 0.10);
    --rkp-highlight:     rgba(255, 255, 255, 0.07);

    --rkp-shadow:
        0 1px 2px rgba(0, 0, 0, 0.30),
        0 12px 32px -12px rgba(0, 0, 0, 0.55);

    --rkp-error:         #fca5a5;
    --rkp-on-accent:     #0f172a;
}

/* Footer context — always sits on a dark background */
.rwp-footer .rkp-faith-times__body,
.rwp-footer-widgets .rkp-faith-times__body {
    --rkp-accent:        var(--rw-color-primary, #4ade80);
    --rkp-accent-soft:   rgba(74, 222, 128, 0.13);
    --rkp-accent-softer: rgba(74, 222, 128, 0.08);
    --rkp-accent-line:   rgba(74, 222, 128, 0.30);
    --rkp-accent-glow:   rgba(74, 222, 128, 0.40);

    --rkp-text:          #f8fafc;
    --rkp-text-body:     #e2e8f0;
    --rkp-text-quiet:    #94a3b8;
    --rkp-muted:         #94a3b8;

    --rkp-surface:       rgba(15, 23, 42, 0.62);
    --rkp-surface-solid: rgba(15, 23, 42, 0.94);
    --rkp-surface-inset: rgba(255, 255, 255, 0.04);
    --rkp-border:        rgba(255, 255, 255, 0.08);
    --rkp-hair:          rgba(255, 255, 255, 0.08);
    --rkp-hair-dashed:   rgba(255, 255, 255, 0.10);
    --rkp-highlight:     rgba(255, 255, 255, 0.07);

    --rkp-shadow:        0 12px 32px -12px rgba(0, 0, 0, 0.55);

    --rkp-error:         #fca5a5;
    --rkp-on-accent:     #0f172a;
}


/* =========================================================
   2. WIDGET WRAPPER
   ========================================================= */

.widget_rkp_faith_times,
.widget.rkp-faith-times-widget,
.rkp-faith-times-widget {
    margin-bottom: 32px !important;
    padding: 0;
}

.widget_rkp_faith_times:last-child,
.widget.rkp-faith-times-widget:last-child,
.rkp-faith-times-widget:last-child {
    margin-bottom: 0 !important;
}

.rkp-faith-times__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* =========================================================
   3. PANELS
   ========================================================= */

.rkp-faith-times__panel {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 18px 20px 20px;
    box-sizing: border-box;
    border-radius: var(--rkp-radius);
    background:
        linear-gradient(180deg, var(--rkp-accent-softer) 0%, transparent 70px),
        var(--rkp-surface);
    backdrop-filter: blur(18px) saturate(180%);
    -webkit-backdrop-filter: blur(18px) saturate(180%);
    border: 1px solid var(--rkp-border);
    box-shadow:
        inset 0 1px 0 var(--rkp-highlight),
        var(--rkp-shadow);
    transition: box-shadow 0.35s var(--rkp-ease), transform 0.35s var(--rkp-ease);
}

.rkp-faith-times__panel::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--rkp-accent) 30%,
        var(--rkp-accent) 70%,
        transparent 100%
    );
    opacity: 0.75;
    z-index: 1;
    pointer-events: none;
}

.rkp-faith-times__panel::after {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--rkp-accent-soft) 0%, transparent 70%);
    z-index: -1;
    pointer-events: none;
}

@media (hover: hover) {
    .rkp-faith-times__panel:hover {
        transform: translateY(-1px);
        box-shadow:
            inset 0 1px 0 var(--rkp-highlight),
            0 2px 4px rgba(15, 23, 42, 0.05),
            0 16px 36px -12px rgba(15, 23, 42, 0.16);
    }
}

@supports not (backdrop-filter: blur(1px)) {
    .rkp-faith-times__panel {
        background:
            linear-gradient(180deg, var(--rkp-accent-softer) 0%, transparent 70px),
            var(--rkp-surface-solid);
    }
}

.rkp-faith-times__panel-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 14px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--rkp-hair);
}

.rkp-faith-times__panel-heading > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.rkp-faith-times__icon {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    font-size: 1.15rem;
    line-height: 1;
    border-radius: 12px;
    background: linear-gradient(145deg, var(--rkp-accent-soft), var(--rkp-accent-softer));
    border: 1px solid var(--rkp-accent-line);
    box-shadow: inset 0 1px 0 var(--rkp-highlight);
}

.rkp-faith-times__panel-heading strong {
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--rkp-accent);
    line-height: 1.2;
}

.rkp-faith-times__location {
    display: block;
    font-size: 0.74rem;
    font-weight: 600;
    color: var(--rkp-muted);
    line-height: 1.3;
    word-break: break-word;
}

.rkp-faith-times__label {
    margin: 0 0 6px;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--rkp-accent);
}

.rkp-faith-times__notice {
    padding: 14px 12px;
    text-align: center;
    font-size: 0.78rem;
    font-style: italic;
    line-height: 1.55;
    color: var(--rkp-muted);
    background: var(--rkp-surface-inset);
    border: 1px dashed var(--rkp-hair-dashed);
    border-radius: 10px;
}


/* =========================================================
   4. ISLAMIC PANEL
   ========================================================= */

.rkp-faith-times__date {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 12px;
    margin: 0 0 12px;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--rkp-muted);
}

.rkp-faith-times__date span {
    display: inline-block;
}

.rkp-faith-times__date span:first-child {
    color: var(--rkp-text-body);
    font-weight: 700;
}

.rkp-faith-times__prayers {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
}

.rkp-faith-times__prayer {
    position: relative;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 0 -10px;
    padding: 9px 10px;
    border-bottom: 1px dashed var(--rkp-hair-dashed);
    border-radius: 8px;
    font-size: 0.84rem;
    line-height: 1.2;
    transition: background 0.25s var(--rkp-ease);
}

.rkp-faith-times__prayer:last-child {
    border-bottom-color: transparent;
}

@media (hover: hover) {
    .rkp-faith-times__prayer:hover {
        background: var(--rkp-accent-softer);
    }
}

.rkp-faith-times__prayer span {
    font-weight: 700;
    letter-spacing: 0.005em;
    color: var(--rkp-text);
}

.rkp-faith-times__prayer strong {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
    color: var(--rkp-accent);
}

.rkp-faith-times__prayer.is-next,
.rkp-faith-times__prayer.is-current,
.rkp-faith-times__prayer[aria-current="true"] {
    background: var(--rkp-accent-soft);
    border-bottom-color: transparent;
    box-shadow: inset 3px 0 0 var(--rkp-accent);
}

.rkp-faith-times__prayer.is-past {
    opacity: 0.55;
}

.rkp-faith-times__countdown {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 14px 0 0;
    padding: 12px 14px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--rkp-accent-soft), var(--rkp-accent-softer));
    border: 1px solid var(--rkp-accent-line);
    box-shadow: inset 0 1px 0 var(--rkp-highlight);
    font-size: 0.78rem;
    line-height: 1.3;
}

.rkp-faith-times__countdown span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--rkp-accent);
}

.rkp-faith-times__countdown span::before {
    content: "";
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--rkp-accent);
    box-shadow: 0 0 0 0 var(--rkp-accent-glow);
    animation: rkp-faith-pulse 2.2s ease-out infinite;
}

.rkp-faith-times__countdown-value {
    font-size: 0.95rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.04em;
    color: var(--rkp-accent);
}

.rkp-faith-times__jummah {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin: 12px 0 0;
    padding: 10px 12px;
    background: linear-gradient(90deg, var(--rkp-accent-soft), transparent);
    border-left: 3px solid var(--rkp-accent);
    border-radius: 4px 10px 10px 4px;
    font-size: 0.72rem;
    line-height: 1.4;
}

.rkp-faith-times__jummah strong {
    flex-shrink: 0;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--rkp-accent);
}

.rkp-faith-times__jummah span {
    font-weight: 700;
    text-align: right;
    color: var(--rkp-accent);
}

.rkp-faith-times__source {
    margin: 14px 0 0;
    padding: 10px 0 0;
    border-top: 1px solid var(--rkp-hair);
    font-size: 0.65rem;
    font-weight: 600;
    font-style: italic;
    text-align: center;
    letter-spacing: 0.03em;
    color: var(--rkp-muted);
}


/* =========================================================
   5. CHRISTIAN PANEL
   ========================================================= */

.rkp-faith-times__season {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 12px;
    padding: 4px 12px;
    font-size: 0.6rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    line-height: 1.3;
    color: var(--rkp-accent);
    background: var(--rkp-accent-soft);
    border: 1px solid var(--rkp-accent-line);
    border-radius: 999px;
    box-shadow: inset 0 1px 0 var(--rkp-highlight);
}

.rkp-faith-times__season::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.8;
}

.rkp-faith-times__saint {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 14px;
    padding: 10px 12px;
    background: var(--rkp-surface-inset);
    border: 1px solid var(--rkp-hair);
    border-radius: 10px;
    font-size: 0.8rem;
    line-height: 1.4;
}

.rkp-faith-times__saint span {
    flex-shrink: 0;
    font-size: 0.6rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--rkp-muted);
}

.rkp-faith-times__saint strong {
    font-weight: 700;
    color: var(--rkp-text);
    word-break: break-word;
}

.rkp-faith-times__verse {
    position: relative;
    margin: 0 0 14px;
    padding: 0 0 14px 18px;
    border-bottom: 1px dashed var(--rkp-hair-dashed);
}

.rkp-faith-times__verse::before {
    content: "\201C";
    position: absolute;
    top: -6px;
    left: -2px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.6rem;
    line-height: 1;
    color: var(--rkp-accent);
    opacity: 0.28;
    pointer-events: none;
}

.rkp-faith-times__verse strong {
    display: block;
    margin: 0 0 6px;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--rkp-accent);
}

.rkp-faith-times__verse p {
    margin: 0;
    font-family: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
    font-size: 0.9rem;
    font-style: italic;
    line-height: 1.65;
    color: var(--rkp-text-body);
    text-wrap: pretty;
}

.rkp-faith-times__readings {
    margin: 0 0 14px;
}

.rkp-faith-times__reading {
    display: block;
    margin: 0;
    padding: 11px 0;
    border-bottom: 1px dashed var(--rkp-hair-dashed);
}

.rkp-faith-times__reading:first-child {
    padding-top: 4px;
}

.rkp-faith-times__reading:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.rkp-faith-times__reading-header {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
}

.rkp-faith-times__reading-header > div {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    overflow: hidden;
}

.rkp-faith-times__reading-header strong {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 0.66rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    line-height: 1.3;
    color: var(--rkp-accent);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rkp-faith-times__reading-header span {
    display: -webkit-box;
    margin: 0;
    padding: 0;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--rkp-text);
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-word;
}

.rkp-faith-times__reading-toggle {
    flex: 0 0 auto;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    box-sizing: border-box;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    margin-top: 2px;
    padding: 6px 13px;

    font-family: inherit;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    white-space: nowrap;

    color: var(--rkp-accent);
    background: var(--rkp-accent-softer);
    border: 1px solid var(--rkp-accent-line);
    border-radius: 999px;
    cursor: pointer;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;

    transition:
        background 0.22s var(--rkp-ease),
        color 0.22s var(--rkp-ease),
        border-color 0.22s var(--rkp-ease),
        box-shadow 0.22s var(--rkp-ease),
        transform 0.22s var(--rkp-ease);
}

.rkp-faith-times__reading-toggle:hover,
.rkp-faith-times__reading-toggle:focus-visible {
    background: var(--rkp-accent);
    border-color: var(--rkp-accent);
    color: var(--rkp-on-accent);
    box-shadow: 0 6px 16px -6px var(--rkp-accent-glow);
    transform: translateY(-1px);
    outline: none;
}

.rkp-faith-times__reading-toggle:focus-visible {
    box-shadow:
        0 0 0 3px var(--rkp-accent-line),
        0 6px 16px -6px var(--rkp-accent-glow);
}

.rkp-faith-times__reading-toggle:active {
    transform: translateY(0) scale(0.97);
}

.rkp-faith-times__reading-toggle[aria-expanded="true"] {
    background: var(--rkp-accent-soft);
}

.rkp-faith-times__reading-content {
    margin: 12px 0 4px;
    padding: 14px 16px;
    background: var(--rkp-surface-inset);
    border: 1px solid var(--rkp-hair);
    border-left: 3px solid var(--rkp-accent-line);
    border-radius: 4px 12px 12px 4px;
    font-size: 0.82rem;
    line-height: 1.7;
    color: var(--rkp-text-body);
    animation: rkp-faith-reveal 0.4s var(--rkp-ease) both;
}

.rkp-faith-times__reading-content[hidden] {
    display: none;
}

.rkp-faith-times__reading-content p {
    margin: 0 0 0.9em;
}

.rkp-faith-times__reading-content p:last-child {
    margin-bottom: 0;
}

.rkp-faith-times__reading-content em {
    font-style: italic;
    color: var(--rkp-text-quiet);
}

.rkp-faith-times__reading-content strong {
    font-weight: 700;
    color: var(--rkp-text);
}

.rkp-faith-times__reading-loading {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.76rem;
    font-style: italic;
    color: var(--rkp-muted);
}

.rkp-faith-times__reading-loading::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid var(--rkp-accent-line);
    border-top-color: var(--rkp-accent);
    animation: rkp-faith-spin 0.8s linear infinite;
}

.rkp-faith-times__reading-error {
    display: inline-block;
    font-size: 0.76rem;
    font-style: italic;
    color: var(--rkp-error);
}

.rkp-faith-times__prayer-point {
    margin: 14px 0 0;
    padding: 12px 14px;
    background: linear-gradient(90deg, var(--rkp-accent-soft), transparent);
    border-left: 3px solid var(--rkp-accent);
    border-radius: 4px 12px 12px 4px;
}

.rkp-faith-times__prayer-point p {
    margin: 5px 0 0;
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.6;
    color: var(--rkp-text);
}

.rkp-faith-times__gospel {
    margin: 14px 0 0;
    padding: 14px 0 0;
    border-top: 1px dashed var(--rkp-hair-dashed);
}

.rkp-faith-times__gospel strong {
    display: block;
    margin: 0 0 8px;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--rkp-accent);
}

.rkp-faith-times__gospel-text {
    font-size: 0.82rem;
    line-height: 1.7;
    color: var(--rkp-text-body);
}

.rkp-faith-times__gospel-text p {
    margin: 0 0 0.9em;
}

.rkp-faith-times__gospel-text p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   6. MOTION
   ========================================================= */

@keyframes rkp-faith-pulse {
    0%   { box-shadow: 0 0 0 0 var(--rkp-accent-glow); }
    70%  { box-shadow: 0 0 0 7px transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
}

@keyframes rkp-faith-reveal {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes rkp-faith-spin {
    to { transform: rotate(360deg); }
}

@keyframes rkp-faith-enter {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.rkp-faith-times__panel {
    animation: rkp-faith-enter 0.6s var(--rkp-ease) both;
}

.rkp-faith-times__panel:nth-child(2) {
    animation-delay: 0.08s;
}


/* =========================================================
   7. RESPONSIVE
   ========================================================= */

@media (max-width: 600px) {
    .rkp-faith-times__panel {
        padding: 16px 16px 18px;
    }

    .rkp-faith-times__prayer {
        font-size: 0.8rem;
    }

    .rkp-faith-times__countdown-value {
        font-size: 0.88rem;
    }

    .rkp-faith-times__verse p {
        font-size: 0.85rem;
    }

    .rkp-faith-times__reading-content,
    .rkp-faith-times__gospel-text {
        font-size: 0.8rem;
    }

    .rkp-faith-times__reading-content {
        padding: 12px 14px;
    }

    .rkp-faith-times__reading-toggle {
        padding: 6px 11px;
        font-size: 0.58rem;
    }
}

@media (max-width: 400px) {
    .rkp-faith-times__reading-header {
        flex-wrap: nowrap;
        gap: 8px;
    }

    .rkp-faith-times__reading-header span {
        -webkit-line-clamp: 1;
    }

    .rkp-faith-times__reading-toggle {
        padding: 5px 10px;
        font-size: 0.56rem;
    }

    .rkp-faith-times__countdown {
        flex-wrap: wrap;
    }
}


/* =========================================================
   8. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .rkp-faith-times__panel,
    .rkp-faith-times__reading-content,
    .rkp-faith-times__countdown span::before,
    .rkp-faith-times__reading-loading::before {
        animation: none !important;
    }

    .rkp-faith-times__panel,
    .rkp-faith-times__prayer,
    .rkp-faith-times__reading,
    .rkp-faith-times__reading-toggle {
        transition: none !important;
        transform: none !important;
    }
}

/* --- widgets/currency-widget.css --- */
/* =========================================================
 * RankwellPress Pro — Currency Converter Widget
 * File: assets/css/widgets/currency-widget.css
 *
 * Sidebar widget styling for the Currency Converter.
 * Matches the "RankwellPress Pro: Currency Converter" widget.
 *
 * CUSTOMIZER WIRING — this revision
 * ─────────────────────────────────────────────────────────
 * Every colour reads a theme token. Focus rings, hovers,
 * and accents all follow --rw-color-primary. Dark-mode
 * overrides now use the same tokens with dark fallbacks.
 *
 * Tokens read:
 *   --rw-bg-content            (content_bg_color)
 *   --rw-bg-alt                (bg-alt, compiler-emitted)
 *   --rw-border-light          (border_color)
 *   --rw-text-heading          (heading_color)
 *   --rw-text-muted            (meta_text_color)
 *   --rw-color-primary         (primary_color)
 *   --rw-font-primary          (body_font_family)
 *   --rw-radius-lg             (compiler-emitted)
 *   --rw-shadow-sm             (compiler-emitted)
 *
 * @package RankwellPressPro
 * @since 1.0.0
 * ========================================================= */

/* =========================================================
   WIDGET CONTAINER
   ========================================================= */
.rankwellpress-pro-currency-converter-widget {
    background: var(--rw-bg-content, #ffffff);
    border: 1px solid var(--rw-border-light, #e5e7eb);
    border-radius: var(--rw-radius-lg, 8px);
    padding: 20px;
    box-shadow: var(--rw-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
}

/* =========================================================
   CONVERTER WRAPPER
   ========================================================= */
.rwp-currency-converter {
    font-family: var(--rw-font-primary, 'Lexend', system-ui, -apple-system, sans-serif);
}

/* =========================================================
   AMOUNT INPUT GROUP
   ========================================================= */
.rwp-converter-input-group {
    margin-bottom: 15px;
}

.rwp-converter-input-group label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--rw-text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

.rwp-converter-amount {
    width: 100%;
    padding: 10px 14px;
    border: 2px solid var(--rw-border-light, #e5e7eb);
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--rw-text-heading, #111827);
    background: var(--rw-bg-alt, #f9fafb);
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rwp-converter-amount:focus {
    outline: none;
    border-color: var(--rw-color-primary, #0d7c3e);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 15%, transparent);
}

/* =========================================================
   CURRENCY SELECT ROW (From | Swap | To)
   ========================================================= */
.rwp-converter-row {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    margin-bottom: 15px;
}

.rwp-converter-select-group {
    flex: 1;
    min-width: 0;
}

.rwp-converter-select-group label {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--rw-text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.rwp-converter-select-group select {
    width: 100%;
    padding: 8px 10px;
    border: 2px solid var(--rw-border-light, #e5e7eb);
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--rw-text-heading, #111827);
    background: var(--rw-bg-alt, #f9fafb);
    cursor: pointer;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 30px;
}

.rwp-converter-select-group select:focus {
    outline: none;
    border-color: var(--rw-color-primary, #0d7c3e);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--rw-color-primary, #0d7c3e) 15%, transparent);
}

/* =========================================================
   SWAP BUTTON
   ========================================================= */
.rwp-converter-swap {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 2px solid var(--rw-border-light, #e5e7eb);
    background: var(--rw-bg-content, #ffffff);
    color: var(--rw-color-primary, #0d7c3e);
    font-size: 1.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    margin-bottom: 2px;
    padding: 0;
    line-height: 1;
}

.rwp-converter-swap:hover,
.rwp-converter-swap:focus-visible {
    background: var(--rw-color-primary, #0d7c3e);
    color: var(--rw-text-inverse, #ffffff);
    border-color: var(--rw-color-primary, #0d7c3e);
    transform: rotate(180deg);
}

.rwp-converter-swap:active {
    transform: rotate(180deg) scale(0.95);
}

/* =========================================================
   RESULT BOX — Block-level
   ========================================================= */
.rwp-converter-result {
    text-align: center;
    padding: 16px 15px;
    background: var(--rw-bg-alt, #f9fafb);
    border-radius: 10px;
    border: 1px solid var(--rw-border-light, #e5e7eb);
    margin-top: 15px;
    min-height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.rwp-converter-result-value {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--rw-color-primary, #0d7c3e);
    word-break: break-word;
    line-height: 1.3;
}

.rwp-converter-result-label {
    display: block;
    font-size: 0.75rem;
    color: var(--rw-text-muted, #6b7280);
    margin-top: 4px;
    line-height: 1.4;
}

/* =========================================================
   UPDATED TIMESTAMP
   ========================================================= */
.rwp-converter-updated {
    text-align: center;
    font-size: 0.65rem;
    color: var(--rw-text-muted, #6b7280);
    margin-top: 8px;
    font-style: italic;
}

/* =========================================================
   LOADING STATE
   ========================================================= */
.rwp-converter-result.is-loading .rwp-converter-result-value {
    animation: rwp-pulse 1.5s ease-in-out infinite;
}

@keyframes rwp-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

/* =========================================================
   SHORTCODE VARIANT — Full-width page version
   ========================================================= */
.rwp-currency-converter--shortcode {
    max-width: 500px;
    margin: 0 auto;
}

.rwp-currency-converter--shortcode .rwp-converter-amount {
    font-size: 1.1rem;
    padding: 12px 16px;
}

.rwp-currency-converter--shortcode .rwp-converter-result-value {
    font-size: 1.5rem;
}

/* =========================================================
   DARK MODE — tokens resolve to dark values via the
   compiler's [data-theme="dark"] block. Fallbacks here
   are the previous hardcoded values so nothing shifts.
   ========================================================= */
html[data-theme="dark"] .rankwellpress-pro-currency-converter-widget {
    background: var(--rw-bg-content, #1a1a1a);
    border-color: var(--rw-border-light, #333333);
}

html[data-theme="dark"] .rwp-converter-amount,
html[data-theme="dark"] .rwp-converter-select-group select,
html[data-theme="dark"] .rwp-converter-result {
    background: var(--rw-bg-alt, #1a1a1a);
    border-color: var(--rw-border-light, #333333);
    color: var(--rw-text-heading, #ffffff);
}

html[data-theme="dark"] .rwp-converter-amount:focus,
html[data-theme="dark"] .rwp-converter-select-group select:focus {
    border-color: var(--rw-color-primary, #4ade80);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--rw-color-primary, #4ade80) 20%, transparent);
}

html[data-theme="dark"] .rwp-converter-swap {
    background: var(--rw-bg-content, #1a1a1a);
    border-color: var(--rw-border-light, #333333);
    color: var(--rw-color-primary, #4ade80);
}

html[data-theme="dark"] .rwp-converter-swap:hover,
html[data-theme="dark"] .rwp-converter-swap:focus-visible {
    background: var(--rw-color-primary, #4ade80);
    color: var(--rw-text-inverse, #0f172a);
    border-color: var(--rw-color-primary, #4ade80);
}

html[data-theme="dark"] .rwp-converter-select-group select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 480px) {
    .rwp-converter-row {
        flex-wrap: wrap;
    }

    .rwp-converter-select-group {
        flex: 1 1 40%;
    }

    .rwp-converter-swap {
        margin: 0 auto;
    }
}
