/* ==========================================================================
   Single Styles 5–10 — shared base
   Loaded only when a modern single style is used (layout or builder block).
   Each style file sets fonts/colors on top of this structure.
   ========================================================================== */

/* --- Local fonts (latin subset, OFL). Only downloaded when a style uses them. --- */
@font-face { font-family: 'Lora'; src: url('../../fonts/Lora-Variable-latin.woff2') format('woff2'); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Lora'; src: url('../../fonts/Lora-Italic-Variable-latin.woff2') format('woff2'); font-weight: 400 700; font-style: italic; font-display: swap; }
@font-face { font-family: 'Quattrocento'; src: url('../../fonts/Quattrocento-Regular-latin.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Quattrocento'; src: url('../../fonts/Quattrocento-Bold-latin.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Epilogue'; src: url('../../fonts/Epilogue-Variable-latin.woff2') format('woff2'); font-weight: 400 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Playfair Display'; src: url('../../fonts/PlayfairDisplay-Variable-latin.woff2') format('woff2'); font-weight: 400 900; font-style: normal; font-display: swap; }

/* --- Tokens --- */
.eps {
    --eps-fg: var(--text-main);
    --eps-muted: color-mix(in srgb, var(--text-main) 66%, transparent); /* ≥ 4.5:1 on light and dark pages */
    --eps-line: var(--border);
    --eps-soft: var(--bg-section-alt);
    --eps-card: var(--bg-card);
    --eps-on-accent: #ffffff;
    --eps-accent-text: var(--eps-accent-text-l, var(--eps-accent));
    --eps-ui: var(--font-body, 'Inter', sans-serif);
    --eps-title-font: var(--font-heading, 'Manrope', sans-serif);
    --eps-body-font: var(--font-body, 'Inter', sans-serif);
    --eps-h-font: var(--eps-title-font);
    --eps-title-size: clamp(2rem, 1.25rem + 2.4vw, 3.15rem);
    --eps-title-weight: 700;
    --eps-body-size: 1.15rem;
    --eps-radius: 6px;
    --eps-sidebar: 340px;
    --eps-sticky-top: calc(var(--ep-stick-bottom, var(--ep-header-stick, var(--header-height, 80px))) + 24px);
    color: var(--eps-fg);
}
.single-wrapper:has(> .eps-layout) { padding-top: 0; }
.eps a { color: inherit; }

/* --- Grid: main column + sidebar --- */
.eps-body { padding-top: 10px; padding-bottom: 20px; }
.eps-grid { display: grid; gap: 40px; align-items: start; }
.eps-grid.has-sidebar.pos-right { grid-template-columns: minmax(0, 1fr) var(--eps-sidebar); }
.eps-grid.has-sidebar.pos-left  { grid-template-columns: var(--eps-sidebar) minmax(0, 1fr); }
.eps-grid.has-sidebar.pos-left > .eps-main { order: 2; }
.eps-grid:not(.has-sidebar) > .eps-main { width: 100%; max-width: 860px; margin: 0 auto; }
.eps-main { min-width: 0; }
/* grids.css gives plain sidebars a fixed 470px scroll box; show the full column here */
.eps-grid > .ep-sidebar { height: auto; max-width: none; overflow: visible; }
.eps-narrow { max-width: 860px; margin: 0 auto; }

/* --- Floating share rail --- */
.eps-article.has-rail { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 34px; }
.eps-article__col { min-width: 0; }
.eps-article.has-rail { row-gap: 0 !important; }
.eps-article.has-rail > .eps-rail { grid-column: 1; grid-row: 1; }
.eps-article.has-rail > .eps-article__col { grid-column: 2; grid-row: 1; }
.eps-article.has-rail > .eps-after { grid-column: 2; grid-row: 2; min-width: 0; }
.eps-rail { position: relative; }
.eps-rail__inner { position: sticky; top: var(--eps-sticky-top); display: flex; flex-direction: column; align-items: center; gap: 12px; }
.eps-rail__label { display: flex; flex-direction: column; align-items: center; gap: 6px; margin-bottom: 6px; font: 700 11px/1 var(--eps-ui); letter-spacing: 1px; text-transform: uppercase; color: var(--eps-muted); }
.eps-rail__label i { display: none; }

/* --- Share buttons (shared) --- */
.eps .eps-sb {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    width: 34px; height: 34px; padding: 0; margin: 0;
    border: 0; border-radius: 4px; background: var(--eps-soft); color: var(--eps-fg);
    font: 600 15px/1 var(--eps-ui); text-decoration: none; cursor: pointer;
    transition: background .2s, color .2s, transform .2s, opacity .2s;
}
.eps .eps-sb i { font-size: 15px; line-height: 1; }
.eps .eps-sb:hover { transform: translateY(-2px); background: var(--eps-accent-fill, var(--eps-accent)); color: var(--eps-on-accent); border-color: transparent; }
.eps .eps-sb--fb { color: #1877f2; }
.eps .eps-sb--em { color: #f5a524; }
.eps .eps-sb--pr { color: #3b82f6; }
.eps .eps-sb--li { color: #0a66c2; }
.eps .eps-sb--wa { color: #25d366; }
.eps .eps-sb--rd { color: #ff4500; }

/* --- Header --- */
.eps-head { position: relative; color: var(--eps-fg); }
.eps-head > .container { padding-top: 36px; }
.eps-head--inside { padding-top: 26px; }
.eps-head__inner { min-width: 0; }
.eps-head--split .eps-head__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 50px; align-items: start; }
.eps-head--split .eps-head__media { margin: 0; }
.eps-head--split .eps-head__media img { aspect-ratio: 4 / 3.4; }

.eps-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 18px; }
.eps-cat {
    display: inline-block; padding: 8px 13px; border-radius: 30px;
    background: var(--eps-accent-fill, var(--eps-accent)); color: var(--eps-on-accent) !important;
    font: 700 12px/1 var(--eps-ui); letter-spacing: .6px; text-transform: uppercase; text-decoration: none;
}
.eps-title {
    margin: 0 0 18px; color: var(--eps-fg);
    font-family: var(--eps-title-font); font-size: var(--eps-title-size); font-weight: var(--eps-title-weight);
    line-height: 1.12; letter-spacing: -.5px; overflow-wrap: break-word;
}
.eps .eps-tagline .ep-article-tagline {
    margin: 0 0 26px; max-width: 900px; opacity: 1;
    font: 400 1.22rem/1.6 var(--eps-body-font); letter-spacing: 0; color: var(--eps-muted);
    text-align: left; text-transform: none;
}
.eps-tagline:empty { display: none; }

.eps-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-bottom: 22px; font: 600 13px/1.4 var(--eps-ui); }
.eps-crumbs a { color: var(--eps-fg); text-decoration: underline; text-underline-offset: 3px; }
.eps-crumbs i { color: var(--eps-muted); font-size: 14px; }
.eps-crumbs span { color: var(--eps-muted); }

/* Byline */
.eps-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 24px; padding-bottom: 24px; margin-bottom: 30px; border-bottom: 1px solid var(--eps-line); }
.eps-meta__author { display: flex; align-items: center; gap: 14px; min-width: 0; }
.eps-meta__avatar { flex-shrink: 0; }
.eps-meta__avatar img { display: block; width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.eps-meta__line { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; font: 500 12.5px/1.5 var(--eps-ui); letter-spacing: .3px; text-transform: uppercase; color: var(--eps-muted); }
.eps-meta__line > * { white-space: nowrap; }
.eps-meta__line > * + * { margin-left: 10px; padding-left: 10px; border-left: 1px solid var(--eps-line); }
.eps-meta__by a { color: var(--eps-fg); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.eps .eps-meta__save { display: inline-flex; align-items: center; gap: 4px; width: auto; height: auto; padding: 0 0 0 10px; border: 0; border-left: 1px solid var(--eps-line); border-radius: 0; background: none; color: var(--eps-fg); font: inherit; font-weight: 700; text-transform: inherit; cursor: pointer; }
.eps .eps-meta__save:hover { background: none; }
.eps .eps-meta__save.saved { background: none; color: var(--eps-accent-text, var(--eps-accent)); }
.eps-meta__date { margin-top: 3px; font: 400 12px/1.4 var(--eps-ui); letter-spacing: .3px; text-transform: uppercase; color: var(--eps-muted); }
.eps-meta__share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.eps-meta__share-label { display: inline-flex; align-items: center; gap: 6px; margin-right: 4px; font: 700 12px/1 var(--eps-ui); letter-spacing: .6px; text-transform: uppercase; color: var(--eps-muted); }
.eps-meta__share-label i { display: none; }

/* Featured image */
.eps-figure { margin: 0 0 34px; }
.eps-figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--eps-radius); }
.eps-figure figcaption { margin-top: 10px; font: 400 13px/1.5 var(--eps-ui); color: var(--eps-muted); }
.eps .ep-google-preferred-wrapper { margin: -8px 0 24px; }

/* --- Article content --- */
.eps .eps-content { font-family: var(--eps-body-font); font-size: var(--eps-body-size); line-height: 1.8; color: var(--eps-fg); }
.eps .eps-content p { margin: 0 0 1.6rem; }
.eps .eps-content h2,
.eps .eps-content h3,
.eps .eps-content h4 { font-family: var(--eps-h-font); color: var(--eps-fg); letter-spacing: -.3px; line-height: 1.25; }
.eps .eps-content h2 { font-size: clamp(1.6rem, 1.2rem + 1vw, 2rem); font-weight: 700; margin: 2.8rem 0 1.2rem; }
.eps .eps-content h3 { font-size: 1.4rem; font-weight: 700; margin: 2.2rem 0 1rem; }
.eps .eps-content a:not(.ep-toc-link):not(.wp-block-button__link):not([class*="btn"]) {
    color: var(--eps-fg); font-weight: 600;
    text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px;
    text-decoration-color: var(--eps-link-line, currentColor);
}
.eps .eps-content a:not(.ep-toc-link):hover { color: var(--eps-accent-text, var(--eps-accent)); }
/* single.css forces break-all on article links; keep words whole, still wrap long URLs */
.eps .eps-content a, .eps .ep-toc-link, .eps .ep-toc-text { word-break: normal !important; overflow-wrap: anywhere !important; }
.eps .eps-content img { max-width: 100%; height: auto; border-radius: var(--eps-radius); }
.eps .eps-content figure { margin: 2.2rem 0; }
.eps .eps-content figcaption { margin-top: 10px; font: 400 13px/1.5 var(--eps-ui); color: var(--eps-muted); text-align: center; }
.eps .eps-content ul, .eps .eps-content ol { margin: 0 0 1.6rem; padding-left: 1.4rem; }
.eps .eps-content li { margin-bottom: .55rem; }

/* Dropcap */
.eps .dropcap-wrapper > p:first-of-type::first-letter {
    float: left; padding: 8px 14px 0 0; color: var(--eps-fg);
    font-family: var(--eps-title-font); font-size: 4.6rem; font-weight: 700; line-height: .78;
}

/* Quotes */
.eps .eps-content blockquote {
    position: relative; margin: 2.8rem 0; padding: 0 6%;
    background: none; border: 0; border-radius: 0; box-shadow: none;
    text-align: center; font-style: normal; color: var(--eps-fg);
}
.eps .eps-content blockquote::before {
    content: '\201C'; position: static; display: block; height: .55em; margin-bottom: 18px;
    font: 700 4.2rem/1 Georgia, serif; color: var(--eps-accent-text, var(--eps-accent)); opacity: 1;
}
.eps .eps-content blockquote p { margin: 0 0 1rem; font: 700 1.55rem/1.4 var(--eps-title-font); }
.eps .eps-content blockquote cite { display: inline-flex; align-items: center; gap: 12px; font: italic 400 15px/1.4 var(--eps-ui); color: var(--eps-muted); }
.eps .eps-content blockquote cite::before { content: ''; width: 30px; height: 1px; background: var(--eps-line); }

/* Table of contents */
.eps .ep-toc-container { margin: 2.4rem 0; background: var(--eps-soft); border-color: var(--eps-line); border-radius: var(--eps-radius); box-shadow: none; }
.eps .ep-toc-header { border-bottom: 0; padding: 1.3rem 1.8rem .4rem; }
.eps .ep-toc-title { font: 700 1.25rem/1.3 var(--eps-ui); letter-spacing: 0; }
.eps .ep-toc-title i { color: var(--eps-accent-text, var(--eps-accent)); }
.eps .ep-toc-content { padding: .8rem 1.8rem 1.4rem; }
.eps .ep-toc-link { font: 600 15px/1.45 var(--eps-ui); }
.eps .ep-toc-link:hover { color: var(--eps-accent-text, var(--eps-accent)); }

/* --- After the article: tags, share bar, author --- */
.eps-foot { margin-top: 40px; }
.eps-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 24px; font: 600 13px/1 var(--eps-ui); }
.eps-tags__label { display: inline-flex; align-items: center; gap: 6px; margin-right: 4px; letter-spacing: .5px; text-transform: uppercase; color: var(--eps-muted); }
.eps-tags a { padding: 7px 12px; border: 1px solid var(--eps-line); border-radius: 30px; color: var(--eps-fg); text-decoration: none; transition: border-color .2s, color .2s; }
.eps-tags a:hover { border-color: var(--eps-accent); color: var(--eps-accent-text, var(--eps-accent)); }

.eps-sharebar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding: 22px 0; border-top: 1px dashed var(--eps-line); border-bottom: 1px dashed var(--eps-line); }
.eps-sharebar__label { display: inline-flex; align-items: center; gap: 10px; font: 700 18px/1.2 var(--eps-ui); color: var(--eps-fg); }
.eps-sharebar__label i { font-size: 20px; }
.eps-sharebar__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.eps-sharebar .eps-sb { width: 48px; height: 40px; color: #fff; background: #4b5563; }
.eps-sharebar .eps-sb.has-text { width: auto; padding: 0 18px; }
.eps-sharebar .eps-sb__txt { font-size: 14px; font-weight: 700; }
.eps-sharebar .eps-sb--fb { background: #1466d8; } /* Facebook blue, a shade darker so the white label reads (5.3:1) */
.eps-sharebar .eps-sb--tw { background: #111; }
.eps-sharebar .eps-sb--em { background: #eab308; }
.eps-sharebar .eps-sb--pr { background: #3b82f6; }
.eps-sharebar .eps-sb--li { background: #0a66c2; }
.eps-sharebar .eps-sb--wa { background: #25d366; }
.eps-sharebar .eps-sb--rd { background: #ff4500; }
.eps-sharebar .eps-sb:hover { color: #fff; opacity: .9; }
[data-theme="dark"] .eps-sharebar .eps-sb--tw { background: #2b2b33; }

.eps-author { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 22px; padding: 34px 0 10px; }
.eps-author__avatar img { display: block; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.eps-author__top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px 20px; }
.eps-author__name { display: inline-flex; align-items: center; gap: 6px; font: 800 16px/1.3 var(--eps-ui); letter-spacing: .2px; text-transform: uppercase; color: var(--eps-fg); text-decoration: none; }
.eps-author__name i { color: #10b981; font-size: 17px; }
.eps-author__role { display: block; margin-top: 6px; font: 500 12px/1.3 var(--eps-ui); letter-spacing: .6px; text-transform: uppercase; color: var(--eps-muted); }
.eps-author__follow { display: flex; align-items: center; gap: 12px; font: 500 11px/1 var(--eps-ui); letter-spacing: 1px; text-transform: uppercase; color: var(--eps-muted); }
.eps-author__follow a { color: var(--eps-fg); font-size: 16px; text-decoration: none; }
.eps-author__follow a:hover { color: var(--eps-accent-text, var(--eps-accent)); }
.eps-author__bio { margin: 16px 0 0; font: 400 15px/1.7 var(--eps-ui); color: var(--eps-muted); }

.eps-after { margin-top: 26px; }
.eps-postnav { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px; padding: 28px 0 8px; margin-bottom: 20px; border-top: 1px dashed var(--eps-line); }
.eps-postnav__item { display: flex; align-items: center; gap: 14px; min-width: 0; color: var(--eps-fg); text-decoration: none; }
.eps-postnav__item.is-next { flex-direction: row-reverse; text-align: right; }
.eps-postnav__img { flex-shrink: 0; width: 64px; height: 64px; border-radius: var(--eps-radius); object-fit: cover; }
.eps-postnav__text { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.eps-postnav__label { font: 700 11px/1 var(--eps-ui); letter-spacing: 1px; text-transform: uppercase; color: var(--eps-muted); }
.eps-postnav__title { font: 700 15px/1.35 var(--eps-ui); transition: color .2s; }
.eps-postnav__item:hover .eps-postnav__title { color: var(--eps-accent-text, var(--eps-accent)); }

/* --- Sidebar --- */
.eps .ep-sidebar .ep-sidebar-widget { margin-bottom: 44px; }
.eps .ep-sidebar .ep-section-heading { margin-bottom: 20px; }
.eps .ep-sidebar .ep-section-heading .title-text { font-family: var(--eps-title-font); font-size: 1.3rem; font-weight: 700; }
.eps .widget-social .contact-social-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.eps .widget-social .contact-social-item { padding: 20px 10px 16px; border: 1px solid var(--eps-line); border-radius: var(--eps-radius); background: var(--eps-card); color: var(--eps-fg); }
.eps .widget-social .contact-social-item:hover { transform: translateY(-3px); border-color: var(--eps-accent); }
.eps .widget-social .social-circle { width: 36px; height: 36px; margin-bottom: 10px; font-size: 1.05rem; }
.eps .widget-social .social-name { font: 600 13px/1 var(--eps-ui); }
.eps .widget-newsletter .newsletter-widget-inner { padding: 32px 26px; border-radius: var(--eps-radius); }
.eps .widget-newsletter .newsletter-icon { display: none; }
.eps .widget-newsletter .newsletter-title { font-family: var(--eps-title-font); font-size: 1.35rem; }
.eps .widget-newsletter .newsletter-form input { border-radius: 4px; }
.eps .widget-newsletter .subscribe-btn { border-radius: 4px; background: var(--eps-accent-fill, var(--eps-accent)); color: var(--eps-on-accent); }
.eps .ep-sidebar .widget-ad .ep-section-heading { justify-content: center; border: 0; padding: 0; margin-bottom: 10px; }
.eps .ep-sidebar .widget-ad .ep-section-heading .title-text { font: 500 11px/1 var(--eps-ui); letter-spacing: 1px; text-transform: uppercase; color: var(--eps-muted); }
.eps .ep-sidebar .widget-ad .ep-section-heading .title-text::before { content: '- '; }
.eps .ep-sidebar .widget-ad .ep-section-heading .title-text::after { content: ' -'; }
.eps .ep-latest-badge { background: var(--eps-accent-fill, var(--eps-accent)); color: var(--eps-on-accent); }
.eps .ep-latest-title:hover { color: var(--eps-accent-text, var(--eps-accent)); }

/* --- Sticky "Reading:" bar ---
   Slides in when the title scrolls away and takes the place of the site header (the header, the
   shortcut bar and the page progress line slide up), so only one bar and one progress line show. */
.eps-readbar {
    position: fixed; top: var(--ep-admin-bar, 0px); left: 0; right: 0; z-index: 10000;
    background: linear-gradient(100deg, var(--eps-accent-fill, var(--eps-accent)), color-mix(in srgb, var(--eps-accent-2, var(--eps-accent)) 82%, #000));
    color: var(--eps-on-accent, #fff);
    transform: translateY(-110%); visibility: hidden;
    transition: transform .35s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .35s;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .08) inset, 0 10px 30px -12px rgba(0, 0, 0, .45);
}
.eps-readbar.is-visible { transform: none; visibility: visible; transition: transform .35s cubic-bezier(.2, .7, .2, 1), visibility 0s; }
.eps-readbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 54px; }
.eps-readbar__title { display: flex; align-items: center; gap: 12px; min-width: 0; }
.eps-readbar__title span { flex-shrink: 0; font: 600 11px/1 var(--eps-ui); letter-spacing: 1.6px; text-transform: uppercase; opacity: .85; }
.eps-readbar__title strong { overflow: hidden; min-width: 0; white-space: nowrap; text-overflow: ellipsis; font: 700 15px/1.25 var(--eps-ui); letter-spacing: -.1px; }
.eps-readbar__left { flex-shrink: 0; padding: 5px 10px; border-radius: 999px; background: rgba(255, 255, 255, .16); font: 600 11.5px/1 var(--eps-ui); font-style: normal; white-space: nowrap; font-variant-numeric: tabular-nums; }
.eps-readbar__left:empty { display: none; }
.eps-readbar__share { display: flex; flex-shrink: 0; align-items: center; gap: 4px; padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, .22); }
.eps-readbar__share > span { display: inline-flex; align-items: center; gap: 5px; margin-right: 6px; font: 600 11px/1 var(--eps-ui); letter-spacing: 1.2px; text-transform: uppercase; opacity: .85; }
.eps .eps-readbar .eps-sb { width: 34px; height: 34px; border-radius: 50%; background: transparent; color: inherit; }
.eps .eps-readbar .eps-sb:hover, .eps .eps-readbar .eps-sb:focus-visible { background: rgba(255, 255, 255, .18); color: inherit; transform: none; }
.eps-readbar__progress { position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; border-radius: 0 3px 3px 0; background: currentColor; box-shadow: 0 0 10px rgba(255, 255, 255, .55); transform: scaleX(0); transform-origin: left center; }
.eps-readbar::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255, 255, 255, .14); pointer-events: none; }
/* While the bar is shown: the site header, sticky shortcut bar and page progress line step aside. */
html.eps-has-readbar header.site-header,
html.eps-has-readbar .shortcut-nav-container,
html.eps-has-readbar #scroll-progress-container { transition: transform .35s cubic-bezier(.2, .7, .2, 1), opacity .25s ease; }
html.eps-reading header.site-header,
html.eps-reading .shortcut-nav-container,
html.eps-reading #scroll-progress-container { transform: translateY(calc(-100% - var(--ep-header-stick, 0px) - 8px)); opacity: 0; pointer-events: none; }
html.eps-reading body { --ep-stick-bottom: var(--eps-readbar-bottom, calc(var(--ep-admin-bar, 0px) + 54px)) !important; } /* the admin-bar offset lives on body */

/* --- Builder blocks --- */
.eps-block--author .eps-author,
.eps-block--share .eps-foot { padding-bottom: 20px; }

/* --- Responsive --- */
@media (max-width: 1200px) {
    .eps { --eps-sidebar: 300px; }
    .eps-grid { gap: 32px; }
}
@media (max-width: 992px) {
    .eps-grid.has-sidebar.pos-right,
    .eps-grid.has-sidebar.pos-left { grid-template-columns: minmax(0, 1fr); }
    .eps-grid.has-sidebar.pos-left > .eps-main { order: 0; }
    .eps-grid > .ep-sidebar { position: static; }
    .eps-head--split .eps-head__inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 768px) {
    .eps-article.has-rail { display: block; }
    .eps-rail { display: none; }
    .eps-head > .container { padding-top: 24px; }
    .eps-meta__share { width: 100%; }
    .eps .eps-content { font-size: 1.08rem; }
    .eps .eps-content blockquote { padding: 0; }
    .eps .eps-content blockquote p { font-size: 1.3rem; }
    .eps-postnav { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .eps-postnav__item.is-next { flex-direction: row; text-align: left; }
    .eps-author { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .eps-readbar__title span { display: none; }
    .eps-readbar__share > span { display: none; }
    .eps-readbar__inner { gap: 12px; min-height: 52px; }
    .eps-readbar__title strong { font-size: 14px; }
    .eps-readbar__share { padding-left: 8px; }
    .eps .eps-readbar .eps-sb { width: 32px; height: 32px; }
    .eps .ep-toc-list { column-count: 1; }
}
@media print {
    .eps-rail, .eps-readbar, .eps-sharebar, .eps-meta__share, .eps .ep-sidebar, .eps-after { display: none !important; }
    .eps-grid.has-sidebar.pos-right, .eps-grid.has-sidebar.pos-left { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .eps-readbar, .eps-readbar.is-visible, .eps .eps-sb, html.eps-has-readbar header.site-header, html.eps-has-readbar .shortcut-nav-container, html.eps-has-readbar #scroll-progress-container { transition: none; }
}

/* Builder: first modern block sits right under the site header */
.single-wrapper:has(> .eps-block:first-child) { padding-top: 0; }
.eps-block--share .eps-body, .eps-block--author .eps-body { padding-top: 0; padding-bottom: 0; }
/* Live tag next to the category: same line, same height, wraps cleanly on small screens */
.eps-live { display: inline-flex; align-items: center; min-height: 26px; }
.eps-badges .single-live-badge { padding: 0 !important; margin: 0; line-height: 1; }

[data-theme="dark"] .eps { --eps-accent-text: var(--eps-accent); }
@media (max-width: 420px) { .eps-readbar__left { display: none; } }

/* Live tag on dark hero headers: light red keeps 4.5:1 */
.eps .eps-head--hero .ep-live-badge { --ep-live-text: #fca5a5; }
