/* ── CortexHub Subscriptions v3.0 ─────────────────────────────────────────── */

/* ════════════════════════════════════════════════════════════════════════════
   FULL-SCREEN ARTICLE PROMPT MODAL
   Outputs in wp_footer as direct child of body — position:fixed always works
   ════════════════════════════════════════════════════════════════════════════ */
#chs-article-prompt {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: #06061a;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
#chs-article-prompt.chs-prompt-visible {
    display: flex;
    align-items: center;
    justify-content: center;
    animation: chs-fadein .3s ease forwards;
}
@keyframes chs-fadein { from { opacity:0 } to { opacity:1 } }

.chs-prompt-bg {
    position: fixed; inset: 0; pointer-events: none; z-index: 0; overflow: hidden;
}
.chs-prompt-orb { position: absolute; border-radius: 50%; filter: blur(80px); }
.chs-prompt-orb--1 { width:500px;height:500px;background:rgba(99,102,241,.22);top:-100px;right:-100px; }
.chs-prompt-orb--2 { width:380px;height:380px;background:rgba(16,185,129,.14);bottom:-80px;left:-80px; }
.chs-prompt-orb--3 { width:260px;height:260px;background:rgba(245,158,11,.09);bottom:20%;right:10%; }

.chs-prompt-inner {
    position: relative; z-index: 1;
    width: 100%; max-width: 440px;
    margin: auto; padding: 3rem 2rem 2.5rem;
    text-align: center;
}
.chs-prompt-close {
    position: fixed; top: 20px; right: 20px;
    width: 38px; height: 38px; border-radius: 50%;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.55); font-size: 15px;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: all .2s; z-index: 2; padding: 0; line-height: 1;
}
.chs-prompt-close:hover { background:rgba(255,255,255,.18); color:#fff; }
.chs-prompt-eyebrow {
    display: inline-block;
    background: rgba(99,102,241,.18); border: 1px solid rgba(99,102,241,.4);
    color: #a5b4fc; font-size: 11px; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    padding: 5px 14px; border-radius: 20px; margin-bottom: 1.25rem;
}
.chs-prompt-title {
    font-size: 38px; font-weight: 800; color: #fff;
    line-height: 1.1; letter-spacing: -.03em; margin: 0 0 1rem;
}
@media (max-width:480px) { .chs-prompt-title { font-size:28px } }
.chs-prompt-body {
    font-size: 15px; line-height: 1.75; color: rgba(255,255,255,.6);
    margin: 0 auto 1.5rem; max-width: 360px;
}
.chs-prompt-body strong { color:#fff; font-weight:600; }
.chs-prompt-perks { display:flex; flex-direction:column; align-items:center; gap:10px; margin-bottom:2rem; }
.chs-prompt-perk { font-size:14px; color:rgba(255,255,255,.65); display:flex; align-items:center; gap:8px; }
.chs-prompt-perk-icon { font-size:18px; }
.chs-prompt-cta {
    display: block; width:100%; max-width:320px; margin:0 auto 12px;
    background:#fff; color:#111827 !important; text-decoration:none !important;
    font-size:15px; font-weight:700; padding:15px 32px; border-radius:12px;
    letter-spacing:-.01em; transition:transform .15s,box-shadow .15s;
    box-shadow:0 4px 24px rgba(255,255,255,.18);
}
.chs-prompt-cta:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(255,255,255,.28); color:#111827 !important; }
.chs-prompt-login {
    display:block; font-size:13px; color:rgba(255,255,255,.4) !important;
    text-decoration:underline !important; margin-bottom:1.25rem;
}
.chs-prompt-login:hover { color:rgba(255,255,255,.7) !important; }
.chs-prompt-note { font-size:12px; color:rgba(255,255,255,.22); margin:0; }


/* ════════════════════════════════════════════════════════════════════════════
   APPLE-LEVEL PRICING PAGE
   ════════════════════════════════════════════════════════════════════════════ */
.chs-pricing {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    max-width: 1100px; margin: 0 auto; padding: 0 1.25rem 5rem;
    color: #1d1d1f;
}
.chs-pricing__hero { text-align:center; padding:5rem 0 4rem; }
.chs-pricing__kicker {
    display:inline-block; font-size:12px; font-weight:600;
    letter-spacing:.1em; text-transform:uppercase; color:#6366f1; margin-bottom:1rem;
}
.chs-pricing__headline {
    font-size: clamp(36px,6vw,64px); font-weight:800; letter-spacing:-.04em;
    line-height:1.05;
    background:linear-gradient(135deg,#1d1d1f 0%,#444 100%);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text; margin:0 0 1.25rem;
}
.chs-pricing__sub { font-size:17px; color:#6e6e73; margin:0 0 2rem; }
.chs-billing-toggle {
    display:inline-flex; background:#f5f5f7; border-radius:50px; padding:4px; gap:2px;
}
.chs-toggle {
    padding:8px 20px; font-size:14px; font-weight:500; border:none;
    background:transparent; border-radius:50px; cursor:pointer; color:#6e6e73; transition:all .2s;
}
.chs-toggle.active {
    background:#fff; color:#1d1d1f; font-weight:600;
    box-shadow:0 1px 6px rgba(0,0,0,.12);
}

/* Plan cards */
.chs-pricing__plans { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:5rem; }
.chs-plan-card { position:relative; border-radius:24px; padding:2rem 1.75rem; display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s; }
.chs-plan-card:hover { transform:translateY(-4px); }
.chs-plan-card--free { background:#f5f5f7; border:1.5px solid #e5e5ea; }
.chs-plan-card--pro {
    background:linear-gradient(160deg,#0f0f2e 0%,#1e1b4b 100%);
    border:1.5px solid rgba(99,102,241,.4);
    box-shadow:0 8px 40px rgba(99,102,241,.25),0 0 0 1px rgba(99,102,241,.15);
    color:#fff;
}
.chs-plan-card--creator { background:#0a0a0a; border:1.5px solid #2a2a2a; color:#fff; box-shadow:0 8px 40px rgba(0,0,0,.35); }

.chs-plan-card__badge {
    position:absolute; top:-13px; left:50%; transform:translateX(-50%);
    background:linear-gradient(90deg,#6366f1,#8b5cf6);
    color:#fff; font-size:12px; font-weight:700;
    padding:4px 16px; border-radius:20px; white-space:nowrap; letter-spacing:.04em;
}
.chs-plan-card__top { margin-bottom:1.5rem; }
.chs-plan-card__label {
    display:block; font-size:13px; font-weight:600; letter-spacing:.06em;
    text-transform:uppercase; margin-bottom:1rem;
}
.chs-plan-card--free .chs-plan-card__label { color:#6e6e73; }
.chs-plan-card--pro .chs-plan-card__label { color:#a5b4fc; }
.chs-plan-card--creator .chs-plan-card__label { color:#9ca3af; }

.chs-plan-card__price-wrap { display:flex; align-items:baseline; gap:2px; margin-bottom:.75rem; }
.chs-plan-card__amount { font-size:52px; font-weight:800; letter-spacing:-.04em; line-height:1; }
.chs-plan-card--free .chs-plan-card__amount { color:#1d1d1f; }
.chs-plan-card__period { font-size:15px; }
.chs-plan-card--free .chs-plan-card__period { color:#9ca3af; }
.chs-plan-card--pro .chs-plan-card__period,
.chs-plan-card--creator .chs-plan-card__period { color:rgba(255,255,255,.45); }

.chs-plan-card__desc { font-size:14px; line-height:1.6; }
.chs-plan-card--free .chs-plan-card__desc { color:#6e6e73; }
.chs-plan-card--pro .chs-plan-card__desc,
.chs-plan-card--creator .chs-plan-card__desc { color:rgba(255,255,255,.6); }

.chs-plan-card__features { list-style:none; padding:0; margin:0 0 1.4rem; display:flex; flex-direction:column; gap:9px; flex:1; }
.chs-plan-card__features li { font-size:14px; display:flex; align-items:flex-start; gap:8px; }
.chs-plan-card--free .chs-plan-card__features li { color:#3a3a3c; }
.chs-plan-card--pro .chs-plan-card__features li,
.chs-plan-card--creator .chs-plan-card__features li { color:rgba(255,255,255,.8); }
.chs-plan-card__features li.yes::before { content:'✓'; font-weight:800; flex-shrink:0; margin-top:1px; }
.chs-plan-card--free .chs-plan-card__features li.yes::before { color:#059669; }
.chs-plan-card--pro .chs-plan-card__features li.yes::before,
.chs-plan-card--creator .chs-plan-card__features li.yes::before { color:#6ee7b7; }
.chs-plan-card__features li.no::before { content:'—'; color:rgba(0,0,0,.2); flex-shrink:0; }

.chs-plan-card__btn {
    display:block; width:100%; padding:13px 0; font-size:15px; font-weight:600;
    border-radius:12px; border:none; cursor:pointer; text-align:center;
    transition:all .2s; letter-spacing:-.01em; margin-top:auto;
}
.chs-plan-card--free .chs-plan-card__btn { background:#e5e5ea; color:#6e6e73; cursor:default; }
.chs-plan-card__btn--primary {
    background:linear-gradient(135deg,#6366f1,#8b5cf6);
    color:#fff !important; box-shadow:0 4px 16px rgba(99,102,241,.45);
}
.chs-plan-card__btn--primary:hover { box-shadow:0 6px 24px rgba(99,102,241,.6); transform:translateY(-1px); }
.chs-plan-card__btn--dark { background:#fff; color:#0a0a0a !important; box-shadow:0 2px 8px rgba(255,255,255,.15); }
.chs-plan-card__btn--dark:hover { box-shadow:0 4px 16px rgba(255,255,255,.3); transform:translateY(-1px); }
.chs-plan-card__btn:disabled { opacity:.5; cursor:default; transform:none !important; box-shadow:none !important; }
.chs-plan-card__billing { font-size:12px; text-align:center; margin-top:10px; }
.chs-plan-card--free .chs-plan-card__billing { color:#9ca3af; }
.chs-plan-card--pro .chs-plan-card__billing,
.chs-plan-card--creator .chs-plan-card__billing { color:rgba(255,255,255,.3); }

/* Comparison table */
.chs-pricing__compare { margin-bottom:5rem; }
.chs-pricing__compare-title { text-align:center; font-size:28px; font-weight:700; letter-spacing:-.02em; margin-bottom:2rem; color:#1d1d1f; }
.chs-pricing__table { border:1px solid #e5e5ea; border-radius:16px; overflow:hidden; }
.chs-pricing__table-head {
    display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
    background:#f5f5f7; padding:.75rem 1.25rem;
    font-size:13px; font-weight:700; color:#6e6e73; text-align:center;
}
.chs-pricing__table-head div:first-child { text-align:left; }
.chs-pricing__table-row {
    display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
    padding:.85rem 1.25rem; border-top:1px solid #f0f0f0;
    font-size:14px; text-align:center; align-items:center;
    transition:background .1s;
}
.chs-pricing__table-row:hover { background:#fafafa; }
.chs-pricing__table-feat { text-align:left; color:#3a3a3c; font-weight:500; }
.chs-pricing__table-row div:not(.chs-pricing__table-feat) { color:#6e6e73; }

/* FAQ */
.chs-pricing__faq { margin-bottom:4rem; }
.chs-pricing__faq-title { text-align:center; font-size:28px; font-weight:700; letter-spacing:-.02em; margin-bottom:2rem; color:#1d1d1f; }
.chs-pricing__faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.chs-faq-item { background:#f5f5f7; border-radius:16px; padding:1.5rem; }
.chs-faq-item h4 { font-size:15px; font-weight:700; color:#1d1d1f; margin:0 0 .5rem; }
.chs-faq-item p  { font-size:14px; color:#6e6e73; line-height:1.6; margin:0; }

/* Status message */
.chs-msg { padding:13px 16px; border-radius:10px; font-size:14px; margin-top:1.5rem; text-align:center; }
.chs-msg--success { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.chs-msg--error   { background:#fef2f2; color:#991b1b; border:1px solid #fca5a5; }


/* ════════════════════════════════════════════════════════════════════════════
   COMMUNITY MONETIZE PANEL
   Uses cortexhub-platform's own CSS vars so it blends perfectly:
   --ink2, --wire, --wire2, --spark, --snow, --fog, --mist, --r, --r3, --font
   ════════════════════════════════════════════════════════════════════════════ */
#chs-monetize-panel {
    /* Inherits .csc-sidebar-card styles from the platform template */
    /* Additional overrides for our form elements */
}
#chs-monetize-panel .csc-panel-head {
    /* Uses platform's existing .csc-panel-head styling */
}
#chs-monetize-panel input[type="text"],
#chs-monetize-panel input[type="number"],
#chs-monetize-panel textarea,
#chs-monetize-panel select {
    background: var(--ink, #0d0f14);
    border: 1px solid var(--wire2, rgba(255,255,255,.1));
    border-radius: var(--r, 10px);
    color: var(--snow, #eef0ff);
    font-family: var(--font, system-ui, sans-serif);
    font-size: .82rem;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box;
    width: 100%;
    padding: 9px 12px;
}
#chs-monetize-panel input[type="text"]:focus,
#chs-monetize-panel input[type="number"]:focus,
#chs-monetize-panel textarea:focus,
#chs-monetize-panel select:focus {
    border-color: var(--spark, #7c6df4);
    box-shadow: 0 0 0 3px var(--spark-glow, rgba(124,109,244,.2));
}
#chs-monetize-panel input::placeholder,
#chs-monetize-panel textarea::placeholder {
    color: var(--fog, #4e5668);
}
#chs-monetize-panel textarea { resize: vertical; min-height: 52px; }
#chs-monetize-panel select {
    -webkit-appearance: none; appearance: none;
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 28px;
    cursor: pointer;
}
#chs-monetize-panel .chs-paid-fields {
    gap: 6px;
    /* display set by JS — flex when paid, none when free */
}
#chs-monetize-panel .chs-paid-fields input,
#chs-monetize-panel .chs-paid-fields select {
    flex: 1;
    width: auto;
}
#chs-monetize-panel label {
    color: var(--mist, #8892a4);
    font-size: .8rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
}
/* Save button — uses platform's .csc-btn .csc-btn--primary */
#chs-monetize-panel .chs-btn-save-plan {
    width: 100%;
    justify-content: center;
    margin-top: 2px;
}
/* Delete plan row button */
#chs-monetize-panel .chs-btn-delete-plan {
    background: none;
    border: none;
    color: var(--red, #ef4444);
    cursor: pointer;
    font-size: .76rem;
    padding: 3px 7px;
    border-radius: 5px;
    transition: background .12s;
    font-family: var(--font, inherit);
}
#chs-monetize-panel .chs-btn-delete-plan:hover {
    background: rgba(239,68,68,.1);
}


/* ════════════════════════════════════════════════════════════════════════════
   LOADING OVERLAY
   ════════════════════════════════════════════════════════════════════════════ */
.chs-loading-overlay {
    display: none; position:fixed; inset:0;
    background:rgba(0,0,0,.55); z-index:999998;
    align-items:center; justify-content:center; flex-direction:column; gap:16px;
}
.chs-loading-overlay.active { display:flex; }
.chs-spinner {
    width:44px; height:44px;
    border:3px solid rgba(255,255,255,.2); border-top-color:#fff;
    border-radius:50%; animation:chs-spin .75s linear infinite;
}
.chs-loading-text { color:#fff; font-size:14px; font-weight:500; }
@keyframes chs-spin { to { transform:rotate(360deg) } }


/* ════════════════════════════════════════════════════════════════════════════
   ACCOUNT & CREATOR DASHBOARDS
   ════════════════════════════════════════════════════════════════════════════ */
.chs-account-wrap, .chs-creator-dash { font-size:14px; line-height:1.6; }
.chs-account-plan {
    margin-bottom:1.25rem; font-size:14px; padding:12px 16px;
    background:#f9fafb; border:1px solid #e5e7eb; border-radius:9px;
}
.chs-sub-active    { color:#059669; font-weight:600; }
.chs-sub-cancelled { color:#dc2626; }
.chs-creator-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:1rem 0; }
.chs-stat { background:#f9fafb; border:1px solid #e5e7eb; border-radius:9px; padding:.9rem; }
.chs-stat-label { font-size:11px; color:#9ca3af; display:block; margin-bottom:4px; text-transform:uppercase; letter-spacing:.05em; }
.chs-stat-value { font-size:22px; font-weight:700; color:#111827; }
.chs-connected-badge { color:#059669; font-size:13px; font-weight:600; }
.chs-payout-setup { margin-top:1.5rem; }
.chs-payout-setup h4 { font-size:14px; font-weight:600; margin-bottom:.75rem; }
.chs-payout-setup > div { margin-bottom:1rem; }
.chs-paystack-subaccount-form input {
    display:block; width:100%; padding:9px 12px; margin-bottom:8px;
    border:1px solid #e5e7eb; border-radius:7px; font-size:13px;
}
.chs-member-badge { color:#34d399; font-size:12px; font-weight:600; }

/* Community plans widget (for shortcode use) */
.chs-community-plans { display:flex; flex-direction:column; gap:8px; }
.chs-comm-plan { border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:.85rem 1rem; font-size:13px; }
.chs-comm-plan strong { font-size:14px; font-weight:600; }
.chs-comm-plan p { margin:4px 0 10px; font-size:13px; opacity:.7; }
.chs-join-btn {
    padding:8px 18px; font-size:13px; font-weight:600; border-radius:7px;
    background:#4f46e5; color:#fff; border:none; cursor:pointer;
}
.chs-join-btn:hover { opacity:.85; }


/* ════════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════════════════ */
@media (max-width:900px) {
    .chs-pricing__plans { grid-template-columns:1fr; max-width:420px; margin-left:auto; margin-right:auto; }
    .chs-pricing__faq-grid { grid-template-columns:1fr; }
    .chs-pricing__table-head,
    .chs-pricing__table-row { grid-template-columns:2fr 1fr 1fr 1fr; font-size:12px; padding:.75rem; }
}
@media (max-width:600px) {
    .chs-pricing__hero { padding:3rem 0 2.5rem; }
    .chs-creator-stats { grid-template-columns:repeat(2,1fr); }
    .chs-billing-toggle { flex-wrap:wrap; justify-content:center; }
    .chs-prompt-inner { padding:2rem 1.25rem; }
    #chs-monetize-panel .chs-paid-fields { flex-direction:column; }
}

/* Feed Container Spacing & Alignment (Matches YouTube) */
.socialfeeds-instagram-feed,
.socialfeeds-facebook-feed-wrapper,
.socialfeeds-google-reviews-feed{
width: 100%;
max-width: 70% !important;
margin-left: auto !important;
margin-right: auto !important;
box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* Alignment Utilities */
.socialfeeds-align-center {
margin-left: auto !important;
margin-right: auto !important;
}

.socialfeeds-align-left {
margin-left: 0 !important;
margin-right: auto !important;
}

.socialfeeds-align-right {
margin-left: auto !important;
margin-right: 0 !important;
}

/* Width Utilities */
.socialfeeds-width-100pct {
max-width: 100% !important;
}

.socialfeeds-width-90pct {
max-width: 90% !important;
}

.socialfeeds-width-80pct {
max-width: 80% !important;
}

.socialfeeds-width-70pct {
max-width: 70% !important;
}

.socialfeeds-width-60pct {
max-width: 60% !important;
}

.socialfeeds-width-50pct {
max-width: 50% !important;
}

/* Social Feeds Instagram Header Styles */
.socialfeeds-instagram-header {
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 20px;
}

.socialfeeds-instagram-header-info {
display: flex;
flex-direction: column;
justify-content: center;
text-align: left !important;
}

.socialfeeds-instagram-header-name{
margin:0;
font-size:1.2rem;
color:#3C434A;
}

.socialfeeds-instagram-header-bio,
.socialfeeds-instagram-header-followers {
margin: 4px 0 0;
font-size: 0.9rem;
color: #666;
}

/* Header Positions */
.socialfeeds-instagram-header-left {
justify-content: flex-start;
text-align: left;
}

.socialfeeds-instagram-header-middle {
justify-content: center;
text-align: center;
}

.socialfeeds-instagram-header-right {
justify-content: flex-end;
text-align: right;
}

.socialfeeds-instagram-header-middle .socialfeeds-instagram-header-info,
.socialfeeds-instagram-header-right .socialfeeds-instagram-header-info {
text-align: inherit;
}

/* Avatar styling */
.socialfeeds-instagram-header-avatar {
border-radius: 50%;
object-fit: cover;
}

/* Hover Effects */
.socialfeeds-hover-overlay {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.4);
opacity: 0;
transition: opacity 0.25s ease;
pointer-events: none;
z-index: 10;
}

.socialfeeds-instagram-item.hover-overlay:hover .socialfeeds-hover-overlay,
.socialfeeds-facebook-item.hover-overlay:hover .socialfeeds-hover-overlay,
.socialfeeds-google-review-item.hover-overlay:hover .socialfeeds-hover-overlay {
opacity: 1 !important;
}

.socialfeeds-instagram-item.hover-scale:hover .socialfeeds-instagram-media,
.socialfeeds-facebook-item.hover-scale:hover .socialfeeds-facebook-media,
.socialfeeds-google-review-item.hover-scale:hover {
transform: scale(1.05);
transition: transform 0.3s ease;
}

.socialfeeds-instagram-item.hover-shadow,
.socialfeeds-facebook-item.hover-shadow,
.socialfeeds-google-review-item.hover-shadow {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.socialfeeds-instagram-item.hover-shadow:hover,
.socialfeeds-facebook-item.hover-shadow:hover,
.socialfeeds-google-review-item.hover-shadow:hover {
transform: translateY(-4px);
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

/* Post engagement settings */
.socialfeeds-instagram-item {
border-radius: 0;
overflow: hidden;
background: transparent;
border: none;
display: flex;
flex-direction: column;
}

.socialfeeds-instagram-media,
.socialfeeds-facebook-media {
width: 100%;
overflow: hidden;
background: #f3f3f3;
position: relative;
}

.socialfeeds-instagram-media img,
.socialfeeds-instagram-media video,
.socialfeeds-facebook-media img,
.socialfeeds-facebook-media video {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.socialfeeds-instagram-media.aspect-square,
.socialfeeds-instagram-media.aspect-instagram,
.socialfeeds-facebook-media.aspect-square {
aspect-ratio: 1 / 1;
}

.socialfeeds-instagram-media.aspect-portrait,
.socialfeeds-facebook-media.aspect-portrait {
aspect-ratio: 4 / 5;
}

.socialfeeds-instagram-stats {
padding: 8px 10px;
font-size: 13px;
color: #000;
display: flex;
flex-wrap: wrap;
gap: 8px;
}

.socialfeeds-instagram-stats .caption {
width: 100%;
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
box-orient: vertical;
overflow: hidden;
}

.socialfeeds-instagram-stats .likes,
.socialfeeds-instagram-stats .comments,
.socialfeeds-instagram-stats .views {
font-size: 12px;
color: #555;
display: inline-flex;
align-items: center;
gap: 4px;
}

/* Layouts */
.socialfeeds-instagram-inner.layout-grid {
display: grid;
}

.socialfeeds-instagram-inner.layout-masonry {
display: block;
}

.socialfeeds-instagram-inner.layout-masonry .socialfeeds-instagram-item {
width: 100%;
display: inline-block;
break-inside: avoid;
page-break-inside: avoid;
}

@media (max-width: 768px) {
.socialfeeds-instagram-inner.layout-masonry {
    column-count: 2 !important;
}
}

@media (max-width: 480px) {
.socialfeeds-instagram-inner.layout-masonry {
    column-count: 1 !important;
}
}

.socialfeeds-instagram-inner.layout-carousel {
display: flex;
overflow-x: auto;
scrollbar-width: none;
-ms-overflow-style: none;
}

.socialfeeds-instagram-inner.layout-carousel::-webkit-scrollbar {
display: none;
}

.socialfeeds-instagram-inner.layout-carousel .socialfeeds-instagram-item {
flex-shrink: 0;
}

/* Feed Container Schemes */
.socialfeeds-instagram-feed.socialfeeds-scheme-dark {
background: #0f0f0f;
color: #ffffff;
}

.socialfeeds-instagram-feed.socialfeeds-scheme-light {
background: #ffffff;
color: #1d2327;
}

.socialfeeds-instagram-feed.socialfeeds-scheme-dark,
.socialfeeds-instagram-feed.socialfeeds-scheme-light,
.socialfeeds-instagram-feed.socialfeeds-scheme-custom {
padding: 20px;
border-radius: 8px;
}

.socialfeeds-instagram-feed.socialfeeds-scheme-dark .socialfeeds-instagram-stats {
color: #ffffff;
}

.socialfeeds-instagram-feed.socialfeeds-scheme-dark .socialfeeds-instagram-stats .likes,
.socialfeeds-instagram-feed.socialfeeds-scheme-dark .socialfeeds-instagram-stats .comments,
.socialfeeds-instagram-feed.socialfeeds-scheme-dark .socialfeeds-instagram-stats .views {
color: #cccccc;
}

/* Actions Section */
.socialfeeds-instagram-actions {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 20px;
width: 100%;
flex-wrap: wrap;
}

.socialfeeds-follow-btn,
.socialfeeds-load-more-btn {
padding: 10px 24px !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
font-size: 14px !important;
font-weight: 500 !important;
border-radius: 4px !important;
text-decoration: none !important;
cursor: pointer !important;
transition: all 0.2s ease;
border: none !important;
}

.socialfeeds-follow-btn .dashicons {
margin-right: 8px;
}

/* Play Icon Overlay (Circular with white arrow icon) */
.socialfeeds-instagram-feed .socialfeeds-play-overlay,
.socialfeeds-facebook-feed .socialfeeds-play-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 48px;
height: 48px;
background: rgba(0, 0, 0, 0.6) !important;
border-radius: 50% !important;
/* Circular for premium look */
display: flex;
align-items: center;
justify-content: center;
z-index: 5;
pointer-events: none;
transition: all 0.2s ease;
border: 2px solid rgba(255, 255, 255, 0.2);
}

.socialfeeds-instagram-feed .socialfeeds-play-overlay::before,
.socialfeeds-instagram-feed .socialfeeds-play-overlay::after {
content: none !important;
display: none !important;
}

.socialfeeds-instagram-feed .socialfeeds-play-overlay .dashicons {
color: #ffffff !important;
font-size: 28px !important;
width: 28px !important;
height: 28px !important;
line-height: 1 !important;
margin-left: 2px;
/* Visual center adjustment for the arrow */
}

.socialfeeds-instagram-item:hover .socialfeeds-play-overlay,
.socialfeeds-facebook-item.hover-scale:hover .socialfeeds-play-overlay,
.socialfeeds-facebook-item.hover-shadow:hover .socialfeeds-play-overlay {
background: rgba(0, 0, 0, 0.8) !important;
transform: translate(-50%, -50%) scale(1.1);
}
.socialfeeds-likes{
color: #d76565 !important;
}

.socialfeeds-comments{
color: #d76565 !important;
}

/* Facebook Header V2 Styles */
.socialfeeds-fb-header-v2 {
width: 100%;
background: #fff;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 1px 2px rgba(0,0,0,0.1);
border: 1px solid #e2e8f0;
margin-bottom: 25px;
font-family: inherit;
}

.socialfeeds-fb-cover {
width: 100%;
height: 200px;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-color: #f0f2f5;
position: relative;
}

.socialfeeds-fb-cover.no-image {
background: linear-gradient(to bottom, #1877f2, #0a56b2);
}

.socialfeeds-fb-header-content {
display: flex;
padding: 0 32px 24px;
position: relative;
z-index: 2;
align-items: flex-start; /* Alignment matched to native Page headers */
}

.socialfeeds-fb-avatar-wrap {
width: 110px;
height: 110px;
border-radius: 50%;
background: #fff;
padding: 4px;
flex-shrink: 0;
margin-top: -55px; /* Pull profile picture half-way up into the cover section */
box-shadow: 0 0 0 4px #fff; /* Replaced simple padding with a crisp white border ring */
position: relative;
}

.socialfeeds-fb-avatar {
width: 100%;
height: 100%;
border-radius: 50%;
object-fit: cover;
display: block;
}

.socialfeeds-fb-info-wrap {
margin-left: 20px;
margin-top: 15px; /* Offset text to vertically align better with the bottom half of the avatar */
flex: 1;
}

.socialfeeds-fb-name {
margin: 0 0 8px;
font-size: 24px;
font-weight: 700;
color: #050505;
}

.socialfeeds-fb-caption {
font-size: 15px;
color: #65676b;
margin-bottom: 8px;
line-height: 1.4;
max-width: 600px;
}

.socialfeeds-fb-stats {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
color: #65676b;
}

.socialfeeds-fb-stat-item strong {
color: #050505;
}

.socialfeeds-fb-stat-sep {
color: #65676b;
}
 
/* No Cover Header Variant */
.socialfeeds-fb-header-v2.no-cover .socialfeeds-fb-header-content {
padding: 24px 32px;
}
 
.socialfeeds-fb-header-v2.no-cover .socialfeeds-fb-avatar-wrap {
margin-top: 0;
}
 
.socialfeeds-fb-header-v2.no-cover .socialfeeds-fb-info-wrap {
margin-top: 0;
}
 
/* Albums & Events Badges */
.socialfeeds-fb-album-count { position: absolute; bottom: 10px; right: 10px; background: rgba(0,0,0,0.7); color: #fff; padding: 4px 8px; border-radius: 6px; font-size: 11px; font-weight: 600; display: flex; align-items: center; gap: 5px; }
.socialfeeds-fb-event-badge { position: absolute; top: 10px; left: 10px; background: #ef4444; color: #fff; padding: 4px 10px; border-radius: 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; display: flex; align-items: center; gap: 5px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); z-index: 10; }
.socialfeeds-fb-event-time, .socialfeeds-fb-event-place { font-size: 12px; color: #64748b; margin-top: 5px; display: flex; align-items: center; gap: 5px; }
.socialfeeds-fb-event-time .dashicons, .socialfeeds-fb-event-place .dashicons { font-size: 14px; width: 14px; height: 14px; }
.socialfeeds-fb-album-desc { font-size: 13px; color: #64748b; margin-top: 5px; }

/* Facebook Post Cards */
.socialfeeds-facebook-item { 
background: #fff; 
border: 1px solid #e2e8f0; 
border-radius: 12px; 
overflow: hidden; 
display: flex;
flex-direction: column;
}
.socialfeeds-facebook-content { 
padding: 15px; 
flex: 1;
display: flex;
flex-direction: column;
}
.socialfeeds-facebook-message { 
margin-bottom: 8px; 
font-size: 14px; 
line-height: 1.5; 
color: #1e293b; 
}
.socialfeeds-fb-engagement { 
display: flex; 
align-items: center; 
gap: 12px; 
padding: 8px 0; 
border-top: 1px solid #f0f0f0; 
margin-top: auto; 
}
.socialfeeds-fb-engagement span {
display: flex;
align-items: center;
gap: 4px;
color: #64748b;
font-size: 12px;
}
.socialfeeds-fb-engagement .dashicons {
font-size: 16px;
width: 16px;
height: 16px;
}

@media (max-width: 768px) {
.socialfeeds-fb-cover {
height: 150px;
}
.socialfeeds-fb-header-content {
flex-direction: column;
align-items: center;
padding: 0 16px 24px;
text-align: center;
}
.socialfeeds-fb-avatar-wrap {
width: 80px;
height: 80px;
margin-top: -40px; /* Pull profile picture half-way up into the cover section on mobile */
}
.socialfeeds-fb-info-wrap {
margin-left: 0;
margin-top: 15px;
margin-bottom: 0;
}
.socialfeeds-fb-name {
font-size: 20px;
}
.socialfeeds-fb-stats {
justify-content: center;
}
}
/* Google Reviews Feed Styles */
.socialfeeds-google-reviews-feed {
width: 100%;
max-width: 70%;
margin: 0 auto;
box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.socialfeeds-google-reviews-inner {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}

.socialfeeds-google-reviews-inner.layout-carousel {
display: flex;
overflow-x: auto;
scrollbar-width: none;
-ms-overflow-style: none;
scroll-snap-type: x mandatory;
}

.socialfeeds-google-reviews-inner.layout-carousel::-webkit-scrollbar {
display: none;
}

.socialfeeds-google-review-item {
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 8px;
padding: 16px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
}

.socialfeeds-google-review-item:hover {
border-color: #d1d5db;
}

.socialfeeds-google-reviews-inner.layout-carousel .socialfeeds-google-review-item {
flex-shrink: 0;
scroll-snap-align: start;
}

.socialfeeds-google-review-header {
display: flex;
align-items: flex-start;
gap: 12px;
}

.socialfeeds-google-review-avatar {
width: 36px;
height: 36px;
border-radius: 50%;
object-fit: cover;
flex-shrink: 0;
background: #f3f4f6;
}

.socialfeeds-google-review-author {
flex: 1;
display: flex;
flex-direction: column;
gap: 4px;
}

.socialfeeds-google-review-name {
margin: 0;
font-size: 14px;
font-weight: 600;
color: #1f2937;
}

.socialfeeds-google-review-rating {
display: flex;
gap: 2px;
font-size: 14px;
}

.socialfeeds-google-review-rating .dashicons {
width: 16px;
height: 16px;
font-size: 16px;
color: #fbbf24;
}

.socialfeeds-google-review-time {
margin: 0;
font-size: 12px;
color: #6b7280;
font-weight: 500;
}

.socialfeeds-google-review-text {
margin: 0;
font-size: 13px;
line-height: 1.5;
color: #374151;
word-break: break-word;
}

@media (max-width: 768px) {
.socialfeeds-google-reviews-inner.layout-grid {
grid-template-columns: repeat(2, 1fr) !important;
}
}

@media (max-width: 480px) {
.socialfeeds-google-reviews-inner.layout-grid {
grid-template-columns: 1fr !important;
}
}
/* Frontend styles for Social Feeds Plugin */
/* Center SocialFeeds at 70% width */
.socialfeeds-youtube-feed {
width: 100%;
max-width: 70% !important;
margin-left: auto !important;
margin-right: auto !important;
box-sizing: border-box;
}

.socialfeeds-youtube-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
width: 100%;
box-sizing: border-box;
}


.socialfeeds-youtube-grid .socialfeeds-video-item {
box-sizing: border-box;
width: 100%;
min-width: 0;
/* Fix for grid blowout with long text */
/* border: 1px solid #eee; - Removed default border */
}

.socialfeeds-video-stats {
font-size: 12px;
color: #666;
margin-top: 4px;
line-height: 1.4;
overflow-wrap: break-word;
word-wrap: break-word;
}

.socialfeeds-card-desc {
margin-top: 8px;
line-height: 1.5;
overflow-wrap: break-word;
word-wrap: break-word;
}

/* Play Icon Overlay */
.socialfeeds-play-overlay{
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%);
width: 64px;
height: 44px;
background: rgba(255, 0, 0, 0.7);
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
}

.socialfeeds-play-overlay::before{
content: '';
width: 0;
height: 0;
border-left: 16px solid #fff;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
margin-left: 3px;
}

.socialfeeds-play-overlay:hover{
background: #e60000;
}

/* Duration Overlay */
.socialfeeds-video-duration{
position: absolute;
bottom: 8px !important;
right: 8px !important;
background: rgba(0, 0, 0, 0.85) !important;
color: #fff !important;
font-size: 15px !important;
padding: 5px 6px !important;
border-radius: 4px !important;
font-weight: normal;
line-height: 1.2;
}

.socialfeeds-youtube-grid .socialfeeds-video-item img {
width: 100%;
height: auto;
display: block;
border-radius: 4px;
/* Enforce aspect ratio */
object-fit: contain !important;
background: #000;
}

.socialfeeds-video-title {
margin: 8px 0 0;
font-size: 14px;
font-weight: 600;
color: #333
}

/* Card theme - Apply border ONLY here */
.socialfeeds-youtube-feed.socialfeeds-theme-card .socialfeeds-video-item {
background: #fff;
border: 1px solid #eee;
border-radius: 4px;
padding: 8px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04)
}

.socialfeeds-youtube-feed.socialfeeds-theme-card .socialfeeds-video-item .socialfeeds-video-title {
font-weight: 600;
color: #222
}

/* Clean theme */
.socialfeeds-youtube-feed.socialfeeds-theme-clean .socialfeeds-video-item {
background: transparent;
border: none;
padding: 0
}

.socialfeeds-youtube-feed.socialfeeds-theme-clean .socialfeeds-video-item .socialfeeds-video-title {
font-weight: 600;
color: #111
}

/* Grid columns override via class */
.socialfeeds-youtube-grid .socialfeeds-grid-col-1 {
grid-column: span 1;
}

.socialfeeds-youtube-grid .socialfeeds-grid-col-2 {
grid-column: span 2;
}

.socialfeeds-youtube-grid .socialfeeds-grid-col-3 {
grid-column: span 3;
}

.socialfeeds-youtube-grid .socialfeeds-grid-col-4 {
grid-column: span 4;
}

.socialfeeds-youtube-grid .socialfeeds-grid-col-5 {
grid-column: span 5;
}

.socialfeeds-youtube-grid .socialfeeds-grid-col-6 {
grid-column: span 6;
}

/* LIST */
.socialfeeds-container-list {
max-width: 850px;
margin: 0 auto !important;
}

.socialfeeds-youtube-list .socialfeeds-list-item {
margin-bottom: 20px
}


.socialfeeds-video-iframe-wrap {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
margin: 15px 0;
/* background: #000; Removed to fix 'half black' issue reported by user */
border-radius: 4px;
}

.socialfeeds-video-iframe-wrap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100% !important;
}

/* Nav Buttons for Carousel (injected via JS) */
/* Nav Buttons for Carousel (injected via JS into .socialfeeds-carousel-stage) */
.socialfeeds-carousel-nav {

position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 5;
}

.socialfeeds-carousel-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 40px;
height: 40px;
border-radius: 50%;
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.1);
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
color: #333;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
font-size: 20px;
transition: all 0.2s ease;
line-height: 1;
pointer-events: auto;
z-index: 10;
}

.socialfeeds-carousel-btn.prev {
left: -20px;
/* Slightly outside or on edge. User said "same as preview" which often means on edge. Let's try inside edge slightly or centred on edge. 
Let's try 10px from edge inside? Or -20px outside? 
If full width, outside might be cut off. Let's put it at 10px inside for safety, or 0.
Screenshot shows it sitting on top of the image. 
*/
left: 10px;
}

.socialfeeds-carousel-btn.next {
right: 10px;
}

.socialfeeds-carousel-btn:hover {
background: #fff;
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
transform: translateY(-50%) scale(1.05);
color: #000;
}

.socialfeeds-carousel-dots {
display: flex;
justify-content: center;
gap: 8px;
margin-top: 25px;
margin-bottom: 10px;
}

.socialfeeds-dot {
width: 10px;
height: 10px;
border-radius: 50%;
background: #ddd;
cursor: pointer;
transition: 0.2s;
}

.socialfeeds-dot.active,
.socialfeeds-dot:hover {
background: #333;
transform: scale(1.1);
}

.socialfeeds-carousel-btn.prev:hover,
.socialfeeds-carousel-btn.next:hover {
background: #555;
/* Match Admin Dark Hover if desired? User said "same as preview" */
/* Actually Admin preview has simple styling but maybe the user wants it to look nice */
background: #f0f0f0;
}

/* .socialfeeds-youtube-list iframe rule removed to avoid conflict with responsive wrapper */

.socialfeeds-video-desc {
color: #555;
font-size: 13px
}

/* NOTE: Removed duplicate/older modal rules. Consolidated modal styling appears later in this file. */

/* Carousel visuals */
.socialfeeds-youtube-carousel {
padding: 12px 6px;
display: flex;
overflow-x: auto;
gap: 12px;
scrollbar-width: none;
/* Firefox */
-ms-overflow-style: none;
/* IE 10+ */
}

.socialfeeds-youtube-carousel::-webkit-scrollbar {
display: none;
/* Safari and Chrome */
}

.socialfeeds-youtube-carousel .socialfeeds-carousel-item {
background: #fff;
padding: 6px;
flex: 0 0 280px;
}

.socialfeeds-youtube-carousel .socialfeeds-carousel-item img {
border-radius: 4px;
width: 100%;
height: auto;
display: block
}

/* Universal card grid (product-like) */
.socialfeeds-card-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
align-items: stretch
}

.socialfeeds-card {
background: #fff;
border: 1px solid #eee;
border-radius: 4px;
padding: 22px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
display: flex;
flex-direction: column;
justify-content: space-between;
transition: 0.2s ease
}

.socialfeeds-card:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
border-color: #ddd
}

.socialfeeds-card .socialfeeds-card-top {
display: flex;
align-items: flex-start;
gap: 14px
}

.socialfeeds-card .socialfeeds-card-icon {
width: 46px;
height: 46px;
border-radius: 4px;
background: #f5f5f5;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.socialfeeds-card .socialfeeds-card-icon img {
width: 24px;
height: 24px
}

.socialfeeds-card h3 {
margin: 0;
font-size: 18px;
color: #222;
font-weight: 600
}


.socialfeeds-card-desc {
font-size: 14px;
color: #444444;
margin: 4px 0 0 0;
line-height: 1.3em;
max-height: 2.6em;
/* 2 lines only */
overflow: hidden;
text-overflow: ellipsis;

}


.socialfeeds-card-actions {
display: flex;
flex-direction: column;
gap: 6px
}

.socialfeeds-btn {
display: inline-block;
padding: 8px 14px;
border-radius: 4px;
text-decoration: none;
font-weight: 600;
font-size: 12px;
border: none;
cursor: pointer;
transition: 0.2s ease
}

.socialfeeds-btn-primary {
background: #135e96;
color: #fff
}

.socialfeeds-btn-primary:hover {
background: #135e96
}

.socialfeeds-btn-secondary {
background: #f7f7f7;
color: #333;
border: 1px solid #ddd
}

.socialfeeds-btn-secondary:hover {
background: #f0f0f0
}

.socialfeeds-wrap table .button {
background: #fff;
color: #222;
border: 1px solid #eee;
padding: 6px 8px;
border-radius: 4px;
text-decoration: none
}

.socialfeeds-wrap table .button:hover {
background: #fafafa
}

.socialfeeds-wrap table .button:focus {
outline: none;
box-shadow: none
}

.socialfeeds-wrap .fa-pen {
color: #000 !important
}

.socialfeeds-wrap .fa-copy {
color: #555 !important
}

.socialfeeds-wrap .fa-trash {
color: #c62828 !important
}

.socialfeeds-wrap .button.button-secondary .fa-trash {
color: #c62828 !important
}

/* Responsive: two cols then one */
@media(max-width:1000px) {
.socialfeeds-card-grid {
	grid-template-columns: repeat(2, 1fr)
}
}

@media(max-width:640px) {
.socialfeeds-card-grid {
	grid-template-columns: 1fr
}
}

/* Responsive tweaks */
@media(max-width:800px) {
.socialfeeds-youtube-grid .socialfeeds-video-item {
	flex: 0 0 calc(50% - 6px)
}

.socialfeeds-youtube-carousel .socialfeeds-carousel-item {
	flex: 0 0 200px
}
}

/* Video player styling */
.socialfeeds-video-player {
max-width: 100%;
height: auto;
display: block;
margin: 0 auto;
border-radius: 4px
}

.socialfeeds-card-img {
max-width: 100%;
height: auto;
display: block;
margin: 0 auto;
object-fit: cover
}

/* Modal styling - professional design */
.socialfeeds-modal {
position: fixed;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 99999;
display: flex;
align-items: center;
justify-content: center
}

.socialfeeds-modal.socialfeeds-modal-hidden {
display: none !important
}

.socialfeeds-modal-backdrop {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.7);
cursor: pointer;
z-index: -1
}

.socialfeeds-modal-inner {
position: relative;
max-width: 85%;
max-height: 90vh;
background: #fff;
border-radius: 4px;
overflow: auto;
padding: 0;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
animation: socialfeeds-modal-slide-in 0.3s ease;
z-index: 1
}

@keyframes socialfeeds-modal-slide-in {
from {
	transform: translateY(-50px);
	opacity: 0
}

to {
	transform: translateY(0);
	opacity: 1
}
}

.socialfeeds-modal-close {
position: absolute;
top: 12px;
right: 12px;
width: 36px;
height: 36px;
border: none;
background: #f0f0f0;
color: #333;
font-size: 20px;
font-weight: bold;
border-radius: 4px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: 0.2s ease;
z-index: 10
}

.socialfeeds-modal-close:hover {
background: #e0e0e0
}

.socialfeeds-modal-close:active {
transform: scale(0.95)
}

.socialfeeds-modal-media {
padding: 24px;
text-align: center;
background: #fafafa;
min-height: 300px;
display: flex;
align-items: center;
justify-content: center
}

.socialfeeds-modal-media video,
.socialfeeds-modal-media img {
max-width: 100%;
max-height: 60vh;
height: auto;
border-radius: 4px
}

.socialfeeds-modal-caption {
padding: 20px 24px;
font-size: 15px;
color: #222;
line-height: 1.6;
word-wrap: break-word;
overflow-wrap: break-word
}

.socialfeeds-modal-hashtags {
padding: 0 24px 12px;
font-size: 14px;
color: #0073aa;
font-weight: 600;
word-wrap: break-word;
overflow-wrap: break-word
}

.socialfeeds-modal-footer {
padding: 16px 24px;
border-top: 1px solid #eee;
text-align: right;
background: #fafafa
}

.socialfeeds-modal-link {
display: inline-block;
padding: 10px 18px;
background: #3a3b3c;
color: #fff;
text-decoration: none;
border-radius: 4px;
font-weight: 600;
font-size: 14px;
transition: 0.2s ease
}

.socialfeeds-modal-link:hover {
background: #135e96
}

.socialfeeds-modal-video {
max-width: 100%;
height: auto;
border-radius: 4px
}

.socialfeeds-modal-img {
max-width: 100%;
height: auto;
border-radius: 4px
}

/* Utility: hide interactive buttons when feed configured to hide them */
.socialfeeds-hide-buttons .socialfeeds-btn,
.socialfeeds-hide-buttons .socialfeeds-load-more-btn,
.socialfeeds-hide-buttons .socialfeeds-btn-subscribe,
.socialfeeds-hide-buttons .socialfeeds-post-engagement {
display: none !important
}

/* Modal responsive */
@media(max-width:800px) {
.socialfeeds-modal-inner {
max-width: 95%;
padding: 0;
border-radius: 4px
}

.socialfeeds-modal-media {
min-height: 250px;
padding: 16px
}

.socialfeeds-modal-caption {
padding: 16px;
font-size: 14px
}

.socialfeeds-modal-footer {
padding: 12px 16px
}

.socialfeeds-modal-close {
width: 32px;
height: 32px;
font-size: 18px
}
}

@media(max-width:480px) {
.socialfeeds-modal-inner {
max-width: 100%;
max-height: 100vh;
border-radius: 0;
height: 100vh;
display: flex;
flex-direction: column
}

.socialfeeds-modal-media {
min-height: 200px;
flex-grow: 1;
overflow-y: auto
}

.socialfeeds-modal-caption {
padding: 12px;
font-size: 13px;
max-height: 150px;
overflow-y: auto
}

.socialfeeds-modal-close {
width: 32px;
height: 32px;
font-size: 18px;
top: 8px;
right: 8px
}
}

/* Header for YouTube feed */
.socialfeeds-youtube-header {
display: block;
margin-bottom: 20px;
}

.socialfeeds-channel-info {
display: flex;
align-items: center;
gap: 12px;
}

.socialfeeds-youtube-header .socialfeeds-channel-logo {
width: 48px;
height: 48px;
border-radius: 50%;
object-fit: cover;
flex-shrink: 0;
}

.socialfeeds-youtube-header .socialfeeds-channel-name {
font-weight: 700;
font-size: 18px;
color: #222
}

.socialfeeds-youtube-header .socialfeeds-header-text {
color: #666;
font-size: 14px
}

/* Responsive Header */
@media(max-width: 600px) {
.socialfeeds-channel-info {
flex-direction: column;
text-align: center;
gap: 10px;
}

.socialfeeds-youtube-header .socialfeeds-channel-logo {
width: 60px;
height: 60px;
margin: 0 auto;
}

.socialfeeds-youtube-header .socialfeeds-channel-name {
font-size: 16px;
}

.socialfeeds-youtube-header .socialfeeds-header-text {
font-size: 13px;
}
}

/* COLOR SCHEMES */
.socialfeeds-youtube-feed.socialfeeds-scheme-dark {
background: #0f0f0f !important;
}

.socialfeeds-youtube-feed.socialfeeds-scheme-light {
background: #ffffff !important;
}

.socialfeeds-youtube-feed.socialfeeds-scheme-dark,
.socialfeeds-youtube-feed.socialfeeds-scheme-light,
.socialfeeds-youtube-feed.socialfeeds-scheme-custom {
padding: 20px;
border-radius: 8px;
}

.socialfeeds-scheme-dark .socialfeeds-video-item {
background: #0f0f0f !important;
border: none !important;
border-radius: 0 !important;
box-shadow: none !important;
}

.socialfeeds-scheme-dark .socialfeeds-video-item img,
.socialfeeds-scheme-dark .socialfeeds-video-item .socialfeeds-card-media {
border-radius: 0 !important;
}

.socialfeeds-scheme-dark .socialfeeds-video-title,
.socialfeeds-scheme-dark h5,
.socialfeeds-scheme-dark .socialfeeds-channel-name {
color: #ffffff !important;
}

.socialfeeds-scheme-dark .socialfeeds-video-desc,
.socialfeeds-scheme-dark .socialfeeds-card-desc,
.socialfeeds-scheme-dark .socialfeeds-header-text {
color: #cccccc !important;
}

.socialfeeds-scheme-dark .socialfeeds-video-stats {
color: #aaaaaa !important;
}

.socialfeeds-scheme-light .socialfeeds-video-item {
background: #ffffff !important;
border-color: #eeeeee !important;
}

.socialfeeds-scheme-light .socialfeeds-video-title,
.socialfeeds-scheme-light h5,
.socialfeeds-scheme-light .socialfeeds-channel-name {
color: #222222 !important;
}

.socialfeeds-scheme-light .socialfeeds-video-desc,
.socialfeeds-scheme-light .socialfeeds-card-desc,
.socialfeeds-scheme-light .socialfeeds-header-text {
color: #666666 !important;
}

.socialfeeds-scheme-light .socialfeeds-video-stats {
color: #666666 !important;
}

.socialfeeds-load-more-container {
display: flex !important;
justify-content: center !important;
align-items: center !important;
gap: 15px;
margin-top: 30px;
width: 100%;
}

.socialfeeds-video-stats {
font-size: 12px;
margin-top: 4px;
line-height: 1.4;
display: flex;
flex-wrap: wrap;
gap: 6px 10px;
align-items: center;
white-space: normal;
overflow: visible;
text-overflow: unset;
}

/* Metadata Styling */
.socialfeeds-video-meta-line {
font-size: 13px;
color: #606060;
margin-top: 6px;
display: flex;
gap: 8px;
flex-wrap: wrap;
}

/* Load More & Subscribe Button Styles */
.socialfeeds-load-more-btn,
.socialfeeds-btn-subscribe {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 10px 24px;
font-size: 14px;
font-weight: 400;
border-radius: 4px;
border: none;
cursor: pointer;
transition: all 0.2s ease;
text-decoration: none;
line-height: normal;
}

.socialfeeds-load-more-btn {
background-color: #f0f0f0;
/* Default fallback */
color: #333;
}

.socialfeeds-load-more-btn:hover{
filter: brightness(0.95);
}

.socialfeeds-btn-subscribe{
background-color: #cc0000;
/* Default YouTube Red */
color: #fff;
}

.socialfeeds-btn-subscribe:hover{
background-color: #b30000;
}

/* Disabled state */
.socialfeeds-load-more-btn:disabled{
opacity: 0.8;
cursor: not-allowed;
}

/* Loading Spinner */
.socialfeeds-load-more-btn.socialfeeds-loading::after {
content: "";
width: 16px;
height: 16px;
border: 2px solid currentColor;
border-radius: 50%;
border-top-color: transparent;
animation: sf-rotate 0.6s linear infinite;
display: inline-block;
margin-left: 10px;
vertical-align: middle;
}
.socialfeeds-meta-item:not(:first-child)::before {
content: "•";
margin: 0 3px;
font-size: 16px; 
}
@keyframes sf-rotate {
to {
	transform: rotate(360deg);
}
}
:root {
  --ct-bg: #fbfbfd;
  --ct-paper: #ffffff;
  --ct-soft: #f5f5f7;
  --ct-fg: #1d1d1f;
  --ct-muted: #6e6e73;
  --ct-subtle: #86868b;
  --ct-line: #d2d2d7;
  --ct-accent: #1080e0;
  --ct-accent-hover: #0b6bcb;
  --ct-copy: #29292e;
  --ct-inset: #1c1c1f;
  --ct-inset-line: #3a3a3c;
  --ct-footer: #1d1d1f;
  --ct-footer-muted: #a1a1a6;
  --ct-footer-line: #424245;
  --ct-max: 1120px;
  --ct-gutter: 1.25rem;
  --ct-radius-sm: 8px;
  --ct-radius: 12px;
  --ct-radius-lg: 18px;
  --ct-radius-xl: 22px;
  --ct-shadow: 0 0 0 1px rgb(0 0 0 / 0.08);
  --ct-shadow-hover: 0 0 0 1px rgb(0 0 0 / 0.14);
  --ct-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ct-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ct-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  background: var(--ct-bg);
  scroll-behavior: smooth;
  max-width: 100%;
}

body {
  margin: 0;
  background: var(--ct-bg);
  color: var(--ct-fg);
  font-family: var(--ct-font);
  max-width: 100%;
}

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

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

[hidden] {
  display: none !important;
}

h1,
h2,
h3 {
  text-wrap: balance;
  font-family: var(--ct-display);
}

p {
  text-wrap: pretty;
}

::selection {
  background: color-mix(in srgb, var(--ct-accent) 22%, transparent);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ct-shell {
  width: min(var(--ct-max), calc(100% - 2 * var(--ct-gutter)));
  margin-inline: auto;
}

.ct-skip {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.ct-skip:focus {
  left: 12px;
  top: 12px;
  z-index: 9999;
  background: var(--ct-paper);
  padding: 10px 14px;
  border-radius: var(--ct-radius-sm);
}

.ct-kicker {
  margin: 0 0 0.75rem;
  color: var(--ct-subtle);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  line-height: 1;
}

.ct-kicker-muted {
  color: var(--ct-footer-muted);
}

.ct-header {
  position: sticky;
  top: 0;
  z-index: 50;
  overflow: visible;
  background: color-mix(in srgb, var(--ct-bg) 80%, transparent);
  backdrop-filter: saturate(150%) blur(24px);
  -webkit-backdrop-filter: saturate(150%) blur(24px);
  border-bottom: 1px solid var(--ct-line);
}

body.admin-bar .ct-header {
  top: 32px;
}

.ct-bar,
.ct-nav {
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ct-brand,
.ct-footer-brand,
.ct-auth-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.ct-brand img,
.ct-footer-brand img,
.ct-auth-brand img,
.ct-brand .custom-logo {
  height: 28px;
  width: auto;
  max-width: 168px;
  object-fit: contain;
}

.ct-navlinks {
  display: none !important;
  align-items: center;
  gap: 24px;
}

.ct-navlinks .ct-menu-list,
.ct-mobile-nav .ct-menu-list {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.ct-navlinks li,
.ct-mobile-nav li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ct-navlinks a,
.ct-navlinks .menu-item a {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--ct-muted);
  transition: opacity 0.15s ease, color 0.15s ease;
}

.ct-navlinks a:hover,
.ct-navlinks a[aria-current="page"],
.ct-navlinks .current-menu-item a {
  color: var(--ct-fg);
}

.ct-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.ct-search-trigger {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: var(--ct-fg);
  border-radius: var(--ct-radius-sm);
}

.ct-nav-check {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.ct-menu {
  width: 44px;
  height: 44px;
  display: grid;
  place-content: center;
  gap: 5px;
  border: 0;
  background: transparent;
  border-radius: var(--ct-radius-sm);
  cursor: pointer;
  position: relative;
  z-index: 61;
  -webkit-appearance: none;
  appearance: none;
}

.ct-menu span:not(.screen-reader-text) {
  display: block;
  width: 20px;
  height: 1.5px;
  background: var(--ct-fg);
  transition: transform 0.2s var(--ct-ease);
}

.ct-nav-check:checked ~ .ct-bar .ct-menu span:nth-of-type(2) {
  transform: translateY(3.25px) rotate(45deg);
}

.ct-nav-check:checked ~ .ct-bar .ct-menu span:nth-of-type(3) {
  transform: translateY(-3.25px) rotate(-45deg);
}

.ct-mobile-nav {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 60;
  border-top: 1px solid var(--ct-line);
  background: var(--ct-bg);
  max-height: calc(100svh - 48px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.ct-nav-check:checked ~ .ct-mobile-nav {
  display: block !important;
}

body:has(.ct-nav-check:checked) {
  overflow: hidden;
}

.ct-subscribe,
.ct-signin,
.wp-block-button__link,
.ct-comments .form-submit input {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: 980px;
  background: var(--ct-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}

.ct-subscribe:hover,
.ct-signin:hover,
.wp-block-button__link:hover {
  background: var(--ct-accent-hover);
  color: #fff;
}

.ct-subscribe {
  display: none;
}

.ct-signin {
  display: none;
  white-space: nowrap;
}

.ct-text-link {
  display: inline-flex;
  align-items: center;
  margin-top: 22px;
  min-height: 44px;
  color: var(--ct-accent);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.ct-subscribe-block,
.ct-full {
  display: inline-flex;
  width: 100%;
  min-height: 48px;
  font-size: 15px;
}

.ct-mobile-nav nav,
.ct-mobile-nav .ct-shell {
  display: flex;
  flex-direction: column;
  padding-top: 8px;
  padding-bottom: 12px;
}

.ct-mobile-nav .ct-menu-list {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
}

.ct-mobile-nav a,
.ct-mobile-nav .menu-item a {
  display: flex;
  min-height: 48px;
  align-items: center;
  border-bottom: 1px solid var(--ct-line);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.ct-mobile-nav .ct-subscribe-block {
  margin-top: 16px;
  margin-bottom: 8px;
  border-bottom: 0;
}

.ct-main {
  padding-bottom: 80px;
  max-width: 100%;
  overflow-x: hidden;
}

.ct-today {
  margin: 0;
  padding-top: 24px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--ct-subtle);
}

.ct-hero {
  padding: 32px 0 24px;
}

.ct-hero-grid {
  display: grid;
  gap: 28px;
}

.ct-hero-copy h1 {
  margin: 0;
  font-size: clamp(1.85rem, 7vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  font-weight: 650;
}

.ct-hero-copy h1.is-long {
  font-size: clamp(1.6rem, 5.4vw, 2.35rem);
  letter-spacing: -0.035em;
  line-height: 1.12;
}

.ct-article h1,
.ct-getfeatured h1,
.ct-empty-page h1,
.ct-auth-card h1 {
  margin: 0;
  font-size: clamp(2.375rem, 9vw, 4.5rem);
  line-height: 1.02;
  letter-spacing: -0.055em;
  font-weight: 650;
}

.ct-archive h1 {
  margin: 0;
  font-size: clamp(1.85rem, 6.5vw, 2.6rem);
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-weight: 650;
}

.ct-dir-count {
  margin: 0 0 18px;
  color: var(--ct-subtle);
  font-size: 12px;
  font-weight: 500;
}

.ct-title-link:hover,
.ct-feature-copy h3 a:hover,
.ct-trend h3 a:hover,
.ct-startup h3 a:hover {
  opacity: 0.8;
}

.ct-deck {
  margin: 20px 0 0;
  max-width: 36rem;
  color: var(--ct-muted);
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: -0.01em;
}

.ct-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
  color: var(--ct-muted);
  font-size: 12px;
}

.ct-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--ct-fg);
  color: var(--ct-paper);
  display: grid;
  place-items: center;
  font-size: 9px;
  font-weight: 600;
}

.ct-copy {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: var(--ct-muted);
  min-height: 44px;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 500;
}

.ct-copy:hover {
  color: var(--ct-fg);
}

.ct-hero-media,
.ct-feature-media,
.ct-article-image {
  overflow: hidden;
  background: var(--ct-soft);
}

.ct-hero-media {
  aspect-ratio: 1.42;
  border-radius: var(--ct-radius);
}

.ct-hero-media a,
.ct-feature-media a {
  display: block;
  width: 100%;
  height: 100%;
}

.ct-hero-media img,
.ct-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  outline: 1px solid rgb(0 0 0 / 0.08);
  outline-offset: -1px;
  transition: transform 0.5s var(--ct-ease);
}

.ct-hero-media a:hover img,
.ct-feature-media a:hover img {
  transform: scale(1.015);
}

.ct-art {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 650;
  font-size: clamp(2.5rem, 10vw, 5rem);
  letter-spacing: -0.06em;
  background: radial-gradient(circle at 75% 20%, #7ab8ff, #0071e3 38%, #111118 82%);
}

.ct-trending {
  padding: 20px 0;
  border-top: 1px solid var(--ct-line);
  border-bottom: 1px solid var(--ct-line);
  margin-bottom: 40px;
}

.ct-section-label {
  margin: 0 0 12px;
  color: var(--ct-subtle);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
}

.ct-trend-row,
.ct-pills {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: none;
}

.ct-trend-row::-webkit-scrollbar,
.ct-pills::-webkit-scrollbar {
  display: none;
}

.ct-trend {
  min-width: 220px;
  padding: 14px;
  border-radius: 14px;
  background: var(--ct-paper);
  box-shadow: var(--ct-shadow);
}

.ct-trend-num {
  font-size: 10px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--ct-subtle);
}

.ct-trend h3 {
  margin: 8px 0 8px;
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: -0.025em;
}

.ct-trend p {
  margin: 0;
  color: var(--ct-subtle);
  font-size: 11px;
}

.ct-section {
  margin: 56px 0;
}

.ct-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.ct-section-head h2,
.ct-related h2 {
  margin: 0;
  font-size: 28px;
  line-height: 1.05;
  letter-spacing: -0.04em;
  font-weight: 600;
}

.ct-section-link {
  font-size: 12px;
  font-weight: 600;
  color: var(--ct-muted);
  white-space: nowrap;
}

.ct-section-link:hover {
  color: var(--ct-fg);
}

.ct-pills {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin: 0 0 16px;
  padding: 2px 0 8px;
}

.ct-pills::-webkit-scrollbar {
  display: none;
}

.ct-pill {
  white-space: nowrap;
  border-radius: 999px;
  background: var(--ct-paper);
  color: var(--ct-muted);
  padding: 8px 14px;
  font-size: 11px;
  font-weight: 600;
  box-shadow: var(--ct-shadow);
}

.ct-pill.is-active {
  background: var(--ct-fg);
  color: var(--ct-paper);
  box-shadow: none;
}

.ct-startups {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid var(--ct-line);
}

.ct-startup {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 12px 14px;
  align-items: center;
  min-width: 0;
  padding: 14px 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid var(--ct-line);
}

.ct-startup.has-rank {
  grid-template-columns: 22px 52px minmax(0, 1fr) auto;
}

.ct-startup:hover {
  box-shadow: none;
  transform: none;
}

.ct-startup-rank {
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--ct-subtle);
  letter-spacing: -0.02em;
}

.ct-startup-copy {
  min-width: 0;
}

.ct-startup-copy h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: -0.03em;
  font-weight: 600;
}

.ct-startup-copy p {
  margin: 4px 0 0;
  color: var(--ct-muted);
  font-size: 13px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ct-startup-copy .ct-tags {
  margin-top: 8px;
}

.ct-startup-go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 980px;
  background: var(--ct-soft);
  color: var(--ct-fg);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.ct-startup-go:hover {
  background: var(--ct-fg);
  color: var(--ct-paper);
}

.ct-logo {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: var(--ct-soft);
  color: var(--ct-fg);
  display: grid;
  place-items: center;
  overflow: hidden;
  font-size: 18px;
  font-weight: 600;
  margin: 0;
}

.ct-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ct-logo-lg {
  width: 68px;
  height: 68px;
  margin: 0;
  font-size: 24px;
}

.ct-host {
  margin-bottom: 12px;
  color: var(--ct-subtle);
  font-size: 11px;
}

.ct-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.ct-tag {
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--ct-soft);
  color: var(--ct-muted);
  font-size: 10px;
  font-weight: 600;
}

.ct-tag.is-feat {
  background: #eaefff;
  color: var(--ct-accent);
}

.ct-tag.is-trend {
  background: #fff4e5;
  color: #b45309;
}

.ct-tag.is-new {
  background: #eafff6;
  color: #0b7a4b;
}

.ct-dir-band {
  margin: 8px 0 36px;
}

.ct-dir-band .ct-startups {
  margin-top: 8px;
}

.ct-pills-cats {
  margin-top: 8px;
}

#chs-article-prompt {
  display: none !important;
}

.ct-reader-offer {
  position: fixed;
  z-index: 2147483000;
  left: 16px;
  right: 16px;
  bottom: 16px;
  max-width: 360px;
  margin-inline: auto;
  padding: 18px 18px 16px;
  border-radius: 16px;
  background: rgba(251, 251, 253, 0.96);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  box-shadow: 0 16px 48px rgb(0 0 0 / 0.16);
  transform: translateY(120%);
  transition: transform 0.35s var(--ct-ease);
  pointer-events: auto;
}

.ct-reader-offer.is-in {
  transform: none;
}

.ct-reader-offer-title {
  margin: 4px 0 8px;
  font-size: 18px;
  font-weight: 650;
  letter-spacing: -0.03em;
}

.ct-reader-offer p {
  margin: 0 0 12px;
  color: var(--ct-muted);
  font-size: 13px;
  line-height: 1.45;
}

.ct-reader-offer-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  background: var(--ct-soft);
  color: var(--ct-fg);
}

.ct-reader-offer-login,
.ct-reader-offer-pro {
  display: block;
  margin-top: 8px;
  color: var(--ct-accent);
  font-size: 13px;
  font-weight: 600;
}

.ct-reader-offer-pro {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin-top: 4px;
  padding: 0 14px;
  border-radius: 980px;
  background: var(--ct-fg);
  color: #fff;
}

.ct-reader-offer-form {
  display: flex;
  gap: 8px;
  margin: 0 0 12px;
}

.ct-reader-offer-form input[type="email"] {
  flex: 1;
  min-width: 0;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--ct-line);
  border-radius: 980px;
  font: inherit;
  font-size: 15px;
  background: #fff;
}

.ct-reader-offer-form button {
  min-height: 44px;
  padding: 0 16px;
  border: 0;
  border-radius: 980px;
  background: #1080e0;
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

html .jetpack-subscribe-overlay,
html .jetpack-subscribe-overlay.open,
html .jetpack-subscribe-overlay[style],
html .jetpack-subscribe-overlay__close,
html .jetpack-subscribe-overlay__content,
html .jetpack-subscribe-overlay__to-content,
html .jetpack-subscribe-overlay__modal {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
  z-index: -1 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -99999px !important;
}

html.jetpack-subscribe-overlay-open,
html body.jetpack-subscribe-overlay-open {
  overflow: auto !important;
  height: auto !important;
}

#chs-article-prompt,
#chs-article-prompt.chs-prompt-visible {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.chs-loading-overlay:not(.active) {
  display: none !important;
  pointer-events: none !important;
}

.ct-feature-grid,
.ct-results,
.ct-related-grid {
  display: grid;
  gap: 12px;
}

.ct-feature {
  overflow: hidden;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  transition: opacity 0.2s var(--ct-ease);
}

.ct-feature:hover {
  box-shadow: none;
}

.ct-feature-media {
  aspect-ratio: 1.6;
  border-radius: var(--ct-radius-lg);
}

.ct-feature.is-feature .ct-feature-media {
  aspect-ratio: 1.72;
}

.ct-feature-copy {
  padding: 14px 0 8px;
}

.ct-feature-copy h3 {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -0.03em;
}

.ct-feature.is-feature .ct-feature-copy h3 {
  font-size: 22px;
}

.ct-feature-copy p {
  margin: 0;
  color: var(--ct-muted);
  font-size: 13px;
  line-height: 1.5;
}

.ct-card-meta {
  margin-top: 12px !important;
  color: var(--ct-subtle) !important;
  font-size: 12px !important;
}

.ct-also {
  padding: 8px 0 28px;
}

.ct-also-grid,
.ct-brief {
  display: grid;
  gap: 0 28px;
}

.ct-headline {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px 0;
  border-bottom: 1px solid var(--ct-line);
}

.ct-headline.is-text {
  grid-template-columns: 1fr;
}

.ct-headline-media {
  display: block;
  aspect-ratio: 1.25;
  overflow: hidden;
  border-radius: 10px;
  background: var(--ct-soft);
}

.ct-headline-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ct-headline .ct-kicker {
  margin-bottom: 6px;
}

.ct-headline h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: -0.03em;
  font-weight: 600;
}

.ct-headline h3 a:hover {
  opacity: 0.75;
}

.ct-headline .ct-card-meta {
  margin-top: 8px !important;
}

.ct-news-grid {
  display: grid;
  gap: 8px 20px;
}

.ct-news-grid .ct-feature.is-feature {
  padding-bottom: 8px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--ct-line);
}

.ct-more-list {
  margin-top: 8px;
  border-top: 1px solid var(--ct-line);
}

.ct-channels {
  display: grid;
  gap: 40px;
}

.ct-channel {
  min-width: 0;
}

.ct-channel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--ct-line);
}

.ct-channel-head h2 {
  margin: 0;
  font-size: 22px;
  letter-spacing: -0.03em;
}

.ct-channel-head a {
  font-size: 12px;
  font-weight: 600;
  color: var(--ct-muted);
  white-space: nowrap;
}

.ct-channel .ct-feature {
  margin-bottom: 4px;
}

.ct-newsletter {
  margin-top: 16px;
  padding: 32px 24px;
  border-radius: 28px;
  background: var(--ct-footer);
  color: var(--ct-paper);
}

.ct-newsletter h2 {
  margin: 12px 0 12px;
  font-size: clamp(2rem, 6vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -0.045em;
  font-weight: 650;
}

.ct-newsletter p {
  margin: 0 0 24px;
  max-width: 32rem;
  color: var(--ct-footer-muted);
  font-size: 15px;
  line-height: 1.55;
}

.ct-form {
  display: grid;
  gap: 8px;
}

.ct-form input,
.ct-searchbox input {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: var(--ct-radius-sm);
  background: var(--ct-inset);
  color: var(--ct-paper);
  padding: 0 14px;
  outline: 0;
  box-shadow: 0 0 0 1px var(--ct-inset-line);
}

.ct-searchbox input {
  background: transparent;
  color: var(--ct-fg);
  box-shadow: none;
  min-height: 44px;
}

.ct-form button,
.ct-searchbox button {
  min-height: 48px;
  border: 0;
  border-radius: var(--ct-radius-sm);
  background: var(--ct-paper);
  color: var(--ct-fg);
  font-weight: 600;
}

.ct-searchbox button {
  background: var(--ct-fg);
  color: var(--ct-paper);
  padding: 0 16px;
}

.ct-footer {
  background: var(--ct-footer);
  color: var(--ct-paper);
  padding: 48px 0 20px;
}

.ct-footer-top {
  max-width: 28rem;
}

.ct-footer-top p {
  margin: 12px 0 0;
  color: var(--ct-footer-muted);
  font-size: 13px;
  line-height: 1.6;
}

.ct-footer-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin-top: 40px;
}

.ct-footer-grid h3 {
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ct-footer-grid a {
  display: block;
  margin: 0 0 8px;
  color: var(--ct-footer-muted);
  font-size: 13px;
}

.ct-footer-grid a:hover {
  color: var(--ct-paper);
}

.ct-footer-bottom {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 48px;
  padding-top: 20px;
  border-top: 1px solid var(--ct-footer-line);
  color: var(--ct-footer-muted);
  font-size: 11px;
}

.ct-article-wrap {
  padding: 32px 0 0;
}

.ct-story {
  display: grid;
  gap: 40px;
  padding: 32px 0 0;
}

.ct-article {
  max-width: 780px;
  margin-inline: auto;
  width: 100%;
}

.ct-story-rail {
  width: 100%;
  max-width: 780px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.ct-rail-block {
  padding-top: 4px;
}

.ct-rail-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}

.ct-rail-list li + li {
  border-top: 1px solid var(--ct-line);
}

.ct-rail-list a {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px 0;
}

.ct-rail-thumb {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  background: var(--ct-soft);
}

.ct-rail-list strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.ct-rail-list em {
  display: block;
  margin-top: 4px;
  color: var(--ct-subtle);
  font-style: normal;
  font-size: 12px;
}

.ct-rail-cta {
  display: block;
  padding: 20px 18px;
  border-radius: var(--ct-radius);
  background: var(--ct-soft);
  box-shadow: var(--ct-shadow);
}

.ct-rail-cta strong {
  display: block;
  margin-top: 6px;
  font-size: 16px;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.ct-story-after {
  padding-bottom: 8px;
}

.ct-ad-sidebar {
  min-height: 250px;
}

.ct-ad-sidebar ins.adsbygoogle {
  min-height: 250px;
}

.ct-breadcrumb {
  margin: 0 0 16px;
  color: var(--ct-subtle);
  font-size: 11px;
}

.ct-breadcrumb span {
  padding: 0 6px;
}

.ct-article h1 {
  margin: 0 0 20px;
}

.ct-article .ct-deck {
  font-size: 17px;
}

.ct-article-image,
.ct-article-image-in {
  aspect-ratio: auto;
  margin: 28px 0 12px;
  background: transparent;
  overflow: hidden;
  border-radius: var(--ct-radius);
}

.ct-article-image img,
.ct-article-image-in img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  outline: none;
}

.ct-content {
  max-width: 720px;
  margin-inline: auto;
  color: var(--ct-copy);
  font-size: 17px;
  line-height: 1.76;
}

.ct-content p {
  margin: 0 0 24px;
}

.ct-content h2 {
  margin: 48px 0 16px;
  color: var(--ct-fg);
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -0.04em;
}

.ct-content h3 {
  font-size: 21px;
  line-height: 1.2;
}

.ct-content img,
.ct-content .wp-block-image img {
  border-radius: 14px;
}

.ct-content blockquote {
  margin: 40px 0;
  padding: 0 0 0 20px;
  border-left: 2px solid var(--ct-fg);
  font-family: var(--ct-display);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.03em;
  color: var(--ct-fg);
}

.ct-content a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ct-ad-wrap {
  margin: 32px 0;
  min-height: 90px;
  width: 100%;
  max-width: 100%;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.ct-ad-label {
  margin: 0 0 8px;
  color: var(--ct-subtle);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ct-ad-ins,
ins.adsbygoogle {
  display: block !important;
  width: 100%;
  max-width: 100%;
  min-height: 90px;
  overflow: visible !important;
  text-align: center;
  background: transparent;
}

.ct-ad-wrap iframe,
ins.adsbygoogle iframe {
  max-width: none;
}

.ct-ad-in-article,
.ct-ad-in-article-2 {
  min-height: 120px;
}

.ct-ad-in-feed,
.ct-feed-ad {
  min-height: 120px;
}

.ct-feed-ad {
  grid-column: 1 / -1;
  margin: 4px 0 12px;
}

.ct-ad-multiplex {
  min-height: 280px;
}

.ct-house-ad {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  min-height: 180px;
  padding: 20px 22px;
  border-radius: var(--ct-radius);
  background: var(--ct-soft);
  box-shadow: var(--ct-shadow);
  transition: box-shadow 0.2s var(--ct-ease);
}

.ct-house-ad:hover {
  box-shadow: var(--ct-shadow-hover);
}

.ct-house-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.ct-house-copy strong {
  font-family: var(--ct-display);
  font-size: 18px;
  font-weight: 650;
  letter-spacing: -0.03em;
}

.ct-house-copy em {
  font-style: normal;
  color: var(--ct-muted);
  font-size: 13px;
  line-height: 1.5;
}

.ct-house-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-height: 40px;
  padding: 0 16px;
  border-radius: var(--ct-radius-sm);
  background: var(--ct-fg);
  color: var(--ct-paper);
  font-size: 13px;
  font-weight: 600;
}

.ct-consent {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 70;
  padding: 0 16px max(12px, env(safe-area-inset-bottom));
}

.ct-consent-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 48rem;
  margin: 0 auto;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--ct-footer);
  color: var(--ct-paper);
  box-shadow: 0 20px 50px rgb(0 0 0 / 0.28);
}

.ct-consent-card p {
  margin: 0;
  color: var(--ct-footer-muted);
  font-size: 13px;
  line-height: 1.5;
}

.ct-consent-card a {
  color: var(--ct-paper);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ct-consent-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.ct-consent-actions button {
  min-height: 40px;
  padding: 0 14px;
  border: 0;
  border-radius: var(--ct-radius-sm);
  background: transparent;
  color: var(--ct-paper);
  font-size: 13px;
  font-weight: 600;
}

.ct-consent-actions .is-accept {
  background: var(--ct-paper);
  color: var(--ct-fg);
}

.ct-anchor {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 40;
  border-top: 1px solid var(--ct-line);
  background: color-mix(in srgb, var(--ct-paper) 95%, transparent);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding-bottom: env(safe-area-inset-bottom);
  box-shadow: 0 -8px 30px rgb(0 0 0 / 0.08);
}

.ct-anchor-inner {
  position: relative;
  padding: 10px 16px;
}

.ct-anchor-close {
  position: absolute;
  right: 8px;
  top: 50%;
  width: 44px;
  height: 44px;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: var(--ct-muted);
  font-size: 22px;
  line-height: 1;
}

.ct-anchor .ct-ad-wrap {
  margin: 0;
  min-height: 56px;
}

.ct-anchor-house {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding-right: 48px;
}

.ct-anchor-copy {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  font-weight: 500;
}

.ct-anchor-cta {
  color: var(--ct-accent);
  font-size: 13px;
  font-weight: 650;
}

body.ct-has-anchor {
  padding-bottom: 72px;
}

@media (min-width: 700px) {
  .ct-anchor {
    display: none;
  }

  body.ct-has-anchor {
    padding-bottom: 0;
  }

  .ct-house-ad {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .ct-consent-card {
    flex-direction: row;
    align-items: center;
    gap: 24px;
    padding: 16px 20px;
  }
}

.ct-dir-hero {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
  margin-bottom: 8px;
}

.ct-dir-hero .ct-deck {
  margin-top: 12px;
}

.ct-launch-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 980px;
  background: var(--ct-accent);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-decoration: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
}

.ct-launch-btn:hover {
  color: #fff;
  background: var(--ct-accent-hover);
}

.ct-launch-btn.is-ghost {
  background: transparent;
  color: #f5f5f7;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

.ct-launch-btn.is-ghost:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.ct-launch-band {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 36px 0 8px;
  padding: 28px 22px;
  background: #1d1d1f;
  color: #f5f5f7;
  border-radius: 22px;
}

.ct-launch-band .ct-kicker {
  color: rgba(245, 245, 247, 0.55);
}

.ct-launch-band h2 {
  margin: 6px 0 8px;
  font-size: clamp(1.5rem, 6vw, 2rem);
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-weight: 650;
  color: #f5f5f7;
}

.ct-launch-band p {
  margin: 0;
  color: rgba(245, 245, 247, 0.62);
  font-size: 15px;
  line-height: 1.45;
  max-width: 36em;
}

.ct-launch-band__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ct-launch-band .ct-launch-btn {
  background: #fff;
  color: #1d1d1f;
}

.ct-launch-band .ct-launch-btn:hover {
  color: #1d1d1f;
}

@media (min-width: 700px) {
  .ct-dir-hero {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
  }

  .ct-dir-hero .ct-launch-btn {
    width: auto;
    flex-shrink: 0;
    min-width: 200px;
  }

  .ct-launch-band {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 36px 40px;
    margin-top: 48px;
  }

  .ct-launch-band__actions {
    flex-direction: row;
    flex-shrink: 0;
  }

  .ct-launch-band .ct-launch-btn {
    width: auto;
    min-width: 180px;
  }
}

.ct-archive {
  padding-top: 40px;
}

.ct-archive h1,
.ct-getfeatured h1 {
  margin-bottom: 12px;
}

.ct-count {
  margin: 20px 0 0;
  color: var(--ct-muted);
  font-size: 13px;
}

.ct-searchbox {
  display: flex;
  gap: 6px;
  margin-top: 32px;
  padding: 6px;
  border-radius: var(--ct-radius);
  background: var(--ct-paper);
  box-shadow: var(--ct-shadow);
}

.ct-empty,
.ct-none {
  grid-column: 1 / -1;
  padding: 28px 8px;
  color: var(--ct-muted);
}

.ct-auth {
  min-height: calc(100svh - 48px);
  display: grid;
  align-items: center;
  padding: 24px 0;
}

.ct-auth-card {
  width: 100%;
  max-width: 470px;
  margin: auto;
  padding: 28px 24px;
  border-radius: 24px;
  background: var(--ct-paper);
  box-shadow: var(--ct-shadow-hover);
}

.ct-auth-card h1 {
  margin: 28px 0 10px;
  font-size: clamp(2.4rem, 8vw, 3.4rem);
}

.ct-auth-card > p {
  margin: 0 0 24px;
  color: var(--ct-muted);
  font-size: 14px;
}

.ct-field {
  margin-bottom: 16px;
}

.ct-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 650;
}

.ct-field input,
.ct-field select,
.ct-auth-card .input,
.ct-comments input[type="text"],
.ct-comments input[type="email"],
.ct-comments input[type="url"],
.ct-comments textarea {
  display: block;
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--ct-line);
  border-radius: 13px;
  background: var(--ct-paper);
  color: var(--ct-fg);
  padding: 0 14px;
  outline: 0;
}

.ct-comments textarea {
  min-height: 140px;
  padding: 14px;
}

.ct-field input:focus,
.ct-field select:focus {
  border-color: var(--ct-fg);
  box-shadow: 0 0 0 3px rgb(0 0 0 / 0.06);
}

.ct-auth-note {
  text-align: center;
  margin-top: 18px !important;
  font-size: 12px !important;
}

.ct-auth-note a {
  font-weight: 650;
  color: var(--ct-accent);
}

.chp-alert {
  margin: 0 0 14px;
  padding: 11px 12px;
  border-radius: 11px;
  background: #fff2f2;
  color: #a11;
  font-size: 12px;
}

.ct-price-grid {
  display: grid;
  gap: 12px;
  margin-top: 48px;
}

.ct-price {
  background: var(--ct-paper);
  border-radius: 20px;
  padding: 22px;
  box-shadow: var(--ct-shadow);
}

.ct-price.is-featured {
  box-shadow: var(--ct-shadow-hover);
  outline: 1px solid var(--ct-accent);
}

.ct-price h2 {
  margin: 0 0 8px;
  font-size: 22px;
  letter-spacing: -0.04em;
}

.ct-price strong {
  display: block;
  font-size: 31px;
  letter-spacing: -0.05em;
}

.ct-price p {
  color: var(--ct-muted);
  font-size: 13px;
  line-height: 1.5;
}

.ct-price ul {
  padding-left: 18px;
  color: var(--ct-muted);
  font-size: 12px;
  line-height: 1.6;
}

.ct-price > a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: var(--ct-radius-sm);
  background: var(--ct-fg);
  color: var(--ct-paper);
  font-size: 12px;
  font-weight: 650;
  margin-top: 18px;
}

.ct-product-head {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 22px;
}

.ct-product-head h1 {
  font-size: clamp(2.2rem, 8vw, 3.8rem);
  margin: 0;
}

.ct-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0;
}

.ct-upvote {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: var(--ct-radius-sm);
  background: var(--ct-soft);
  color: var(--ct-fg);
  font-size: 12px;
  font-weight: 600;
}

.ct-related {
  margin-top: 64px;
}

.ct-related-grid {
  margin-top: 20px;
}

.ct-comments {
  margin-top: 56px;
  max-width: 720px;
}

.ct-comment-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ct-comment-list .comment {
  padding: 16px 0;
  border-bottom: 1px solid var(--ct-line);
}

.ct-empty-page {
  min-height: 60vh;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 80px 0;
}

.ct-empty-page .ct-subscribe {
  display: inline-flex;
  margin-top: 20px;
}

.ct-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 2px;
  width: 0;
  z-index: 60;
  background: var(--ct-fg);
}

body.admin-bar .ct-progress {
  top: 32px;
}

.nav-links,
.ct-pagination,
ul.page-numbers {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  background: none;
  box-shadow: none;
  min-height: 0;
  min-width: 0;
}

ul.page-numbers li {
  display: inline-flex;
  margin: 0;
  width: auto;
}

a.page-numbers,
span.page-numbers,
.ct-pagination a,
.ct-pagination span {
  min-height: 36px;
  min-width: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 980px;
  background: var(--ct-soft);
  box-shadow: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--ct-fg);
}

span.page-numbers.current,
.ct-pagination .current {
  background: var(--ct-fg);
  color: var(--ct-paper);
}

.alignwide {
  max-width: var(--ct-max);
}

.alignfull {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
}

#chs-article-prompt,
#chs-article-prompt.chs-prompt-visible {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.chs-loading-overlay:not(.active) {
  display: none !important;
  pointer-events: none !important;
}

@media (max-width: 699.98px) {
  .ct-navlinks,
  .ct-navlinks .ct-menu-list,
  .ct-header nav.ct-nav {
    display: none !important;
  }

  .ct-signin,
  .ct-subscribe:not(.ct-subscribe-block) {
    display: none !important;
  }

  .ct-search-trigger,
  .ct-menu {
    display: grid !important;
  }
}

@media (min-width: 700px) {
  :root {
    --ct-gutter: 1.75rem;
  }

  .ct-bar,
  .ct-nav {
    height: 56px;
  }

  .ct-navlinks,
  .ct-navlinks .ct-menu-list {
    display: flex !important;
  }

  .ct-search-trigger {
    display: grid;
  }

  .ct-subscribe,
  .ct-signin {
    display: inline-flex;
  }

  .ct-menu,
  .ct-nav-check {
    display: none !important;
  }

  .ct-mobile-nav,
  .ct-mobile-nav.is-open,
  .ct-header.is-nav-open .ct-mobile-nav,
  .ct-nav-check:checked ~ .ct-mobile-nav {
    display: none !important;
  }

  .ct-today {
    padding-top: 32px;
  }

  .ct-hero {
    padding: 40px 0 48px;
  }

  .ct-hero-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    grid-template-areas: "media copy";
    gap: 48px;
    align-items: stretch;
    min-height: 420px;
  }

  .ct-hero-media {
    grid-area: media;
    aspect-ratio: auto;
    min-height: 420px;
    height: 100%;
    border-radius: 22px;
  }

  .ct-hero-copy {
    grid-area: copy;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .ct-hero-copy h1 {
    font-size: clamp(2rem, 3.1vw, 3.05rem);
  }

  .ct-hero-copy h1.is-long {
    font-size: clamp(1.7rem, 2.4vw, 2.45rem);
  }

  .ct-trend-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
  }

  .ct-trend-row.is-dense {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ct-also-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ct-brief {
    grid-template-columns: 1fr 1fr;
  }

  .ct-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 28px;
  }

  .ct-news-grid .ct-feature.is-feature {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 28px;
    align-items: center;
    border-bottom: 1px solid var(--ct-line);
    padding-bottom: 28px;
    margin-bottom: 8px;
  }

  .ct-news-grid .ct-feature.is-feature .ct-feature-media {
    aspect-ratio: 16 / 10;
  }

  .ct-news-grid .ct-feature.is-feature .ct-feature-copy h3 {
    font-size: clamp(1.5rem, 2.4vw, 2rem);
  }

  .ct-channels {
    grid-template-columns: 1fr 1fr;
    gap: 48px 56px;
  }

  .ct-trend {
    min-width: 0;
  }

  .ct-feature-grid,
  .ct-related-grid {
    grid-template-columns: 1.4fr 0.6fr;
  }

  .ct-results {
    grid-template-columns: 1fr 1fr;
  }

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

  .ct-footer-bottom {
    flex-direction: row;
    justify-content: space-between;
  }

  .ct-form {
    grid-template-columns: 1fr auto;
  }

  .ct-form button {
    padding: 0 22px;
  }

  .ct-newsletter {
    padding: 48px 40px;
  }

  .ct-article-wrap {
    padding-top: 56px;
  }

  .ct-story {
    padding-top: 56px;
  }

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

  .ct-auth {
    min-height: calc(100svh - 56px);
  }

  .ct-auth-card {
    padding: 40px;
  }
}

@media (min-width: 1040px) {
  .ct-price-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .ct-article h1 {
    font-size: 3.4rem;
  }

  .ct-story {
    grid-template-columns: minmax(0, 1fr) 300px;
    column-gap: 48px;
    align-items: start;
  }

  .ct-article,
  .ct-story-rail,
  .ct-story .ct-content {
    max-width: none;
    margin-inline: 0;
  }

  .ct-story-rail {
    position: sticky;
    top: 72px;
  }
}

@media (min-width: 700px) {
  .ct-reader-offer {
    left: auto;
    right: 24px;
    bottom: 24px;
    margin: 0;
  }
}

@media (max-width: 699px) {
  body.admin-bar .ct-header,
  body.admin-bar .ct-progress {
    top: 46px;
  }

  .ct-article-image:not(.ct-article-image-in) {
    margin-left: calc(-1 * var(--ct-gutter));
    margin-right: calc(-1 * var(--ct-gutter));
    border-radius: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

:where(html.wpc-bgl255) #chs-monetize-panel select{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234e5668' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")}