/* ==========================================================================
   Single Style 17 — Gallery (Dotline · arts & culture)
   Exhibition-catalogue page: Chillax display title, wall-label meta,
   the featured image hung in a matted frame, generous whitespace.
   ========================================================================== */
.eps-17.eps-fonts { --eps-title-font: 'Chillax', var(--font-heading, sans-serif); --eps-h-font: 'Chillax', var(--font-heading, sans-serif); --eps-ui: 'Inter', var(--font-body, sans-serif); --eps-body-font: 'Inter', var(--font-body, sans-serif); }
.eps-17 {
    --eps-title-size: clamp(2.3rem, 1.2rem + 3.3vw, 4.1rem);
    --eps-title-weight: 600;
    --eps-body-size: 1.12rem;
    --eps-radius: 0px;
    --g17-wall: #f5f3ef;
    --g17-dot: rgba(17, 17, 17, .12);
    --g17-mat: #ffffff;
    --g17-frame: #111111;
    --g17-ink: var(--eps-fg);
}
[data-theme="dark"] .eps-17 { --g17-wall: #141416; --g17-dot: rgba(255, 255, 255, .08); --g17-mat: #e9e5de; --g17-frame: #000000; }

/* Shared dot-matrix glyph (3 × 3, lit centre) */
.eps-17 .eps-cat::before,
.eps-17 .ep-sidebar .ep-section-heading .title-text::before,
.eps-17 .eps-figure figcaption::before {
    content: ''; display: inline-block; flex-shrink: 0; width: 11px; height: 11px;
    background:
        radial-gradient(circle, var(--eps-accent) 1.5px, transparent 1.9px) 50% 50% / 11px 11px no-repeat,
        radial-gradient(circle, currentColor 1.2px, transparent 1.6px) -.5px -.5px / 4px 4px;
}

/* --- Header: exhibition title wall --- */
.eps-17 .eps-head > .container { padding-top: 64px; }
.eps-17 .eps-title { max-width: 1040px; }
.eps-17 .eps-badges { gap: 14px; margin-bottom: 26px; }
.eps-17 .eps-cat {
    display: inline-flex; align-items: center; gap: 10px; padding: 0; border-radius: 0; background: none; color: var(--eps-fg) !important;
    font-size: 11px; font-weight: 600; letter-spacing: 3.5px;
}
.eps-17 .eps-cat::after { content: ''; width: 46px; height: 1px; background: var(--eps-accent); }
.eps-17 .eps-title { margin-bottom: 22px; letter-spacing: -1.2px; line-height: 1.04; }
.eps-17 .eps-tagline .ep-article-tagline { max-width: 760px; margin-bottom: 36px; font-size: 1.2rem; line-height: 1.65; }

/* Catalogue spec bar */
.eps-17 .eps-meta { align-items: center; padding: 18px 0; margin-bottom: 44px; border-top: 1.5px solid var(--eps-fg); border-bottom: 1px solid var(--eps-line); }
.eps-17 .eps-meta__avatar img { width: 44px; height: 44px; border-radius: 0; filter: grayscale(1); }
.eps-17 .eps-meta__line { font-size: 11.5px; letter-spacing: 1.6px; }
.eps-17 .eps-meta__by a { text-decoration: none; background: linear-gradient(var(--eps-accent), var(--eps-accent)) 0 100% / 100% 1.5px no-repeat; padding-bottom: 2px; }
.eps-17 .eps-meta__date { font-size: 11px; letter-spacing: 1.6px; }
.eps-17 .eps-meta__share-label { font-size: 10.5px; letter-spacing: 2.5px; }
.eps-17 .eps-meta__share { gap: 0; }
.eps-17 .eps-meta__share .eps-sb { width: 36px; height: 36px; border: 1px solid var(--eps-line); border-radius: 0; background: transparent; color: var(--eps-fg); margin-left: -1px; }
.eps-17 .eps-meta__share .eps-sb:hover { position: relative; z-index: 1; border-color: var(--eps-accent); background: var(--eps-accent); color: var(--eps-on-accent, #fff); transform: none; }

/* --- Featured image hung on a dotted wall --- */
.eps-17 .eps-figure {
    position: relative; margin: 0 0 54px; padding: clamp(22px, 4vw, 52px) clamp(22px, 5vw, 64px) 26px;
    background: radial-gradient(circle, var(--g17-dot) 1.2px, transparent 1.6px) 0 0 / 18px 18px, var(--g17-wall);
}
.eps-17 .eps-figure img {
    aspect-ratio: 16 / 10; border-radius: 0;
    box-shadow: 0 0 0 clamp(8px, 1.4vw, 16px) var(--g17-mat), 0 0 0 calc(clamp(8px, 1.4vw, 16px) + 3px) var(--g17-frame), 0 40px 50px -30px rgba(0, 0, 0, .55);
    margin: clamp(11px, 1.6vw, 19px) auto;
}
.eps-17 .eps-figure figcaption {
    display: flex; align-items: center; gap: 10px; width: max-content; max-width: min(100%, 420px); margin: 30px 0 0 auto; padding: 11px 14px;
    background: var(--eps-card); border: 1px solid var(--eps-line); color: var(--eps-fg);
    font: 500 12px/1.5 var(--eps-ui); letter-spacing: .2px;
}

/* --- Share rail: joined square tiles on the edge --- */
.eps-17 .eps-article.has-rail { grid-template-columns: 44px minmax(0, 1fr); gap: 48px; }
.eps-17 .eps-rail__inner { gap: 0; }
.eps-17 .eps-rail__label { flex-direction: row; gap: 8px; margin-bottom: 16px; color: var(--eps-fg); font-size: 10px; letter-spacing: 3px; writing-mode: vertical-rl; transform: rotate(180deg); }
.eps-17 .eps-rail__label::after { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--eps-accent); }
.eps-17 .eps-rail .eps-sb { width: 44px; height: 44px; margin-top: -1px; border: 1px solid var(--eps-line); border-radius: 0; background: var(--eps-card); color: var(--eps-fg); }
.eps-17 .eps-rail .eps-sb:hover { position: relative; z-index: 1; border-color: var(--eps-accent); background: var(--eps-accent); color: var(--eps-on-accent, #fff); transform: none; }

/* --- Article --- */
.eps-17 .eps-content { counter-reset: g17; line-height: 1.85; }
.eps-17 .eps-content a:not(.ep-toc-link):not(.wp-block-button__link):not([class*="btn"]) { text-decoration-color: var(--eps-accent); text-decoration-thickness: 1.5px; }
.eps-17 .eps-content h2 { margin-top: 3.4rem; font-weight: 600; letter-spacing: -.6px; }
.eps-17 .eps-content h2::before {
    counter-increment: g17; content: counter(g17, decimal-leading-zero);
    display: flex; align-items: center; gap: 12px; margin-bottom: 14px;
    color: var(--eps-accent-text, var(--eps-accent)); font: 600 12px/1 var(--eps-ui); letter-spacing: 3px;
}
.eps-17 .eps-content h3 { font-weight: 600; }
.eps-17 .dropcap-wrapper > p:first-of-type::first-letter { padding: 10px 16px 0 0; color: var(--eps-accent-text, var(--eps-accent)); font-size: 5.4rem; font-weight: 600; line-height: .74; }
.eps-17 .eps-content blockquote { margin: 3.4rem 0; padding: 6px 0 6px 40px; text-align: left; }
.eps-17 .eps-content blockquote::before {
    content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 10px; height: auto; margin: 0;
    background: radial-gradient(circle, var(--eps-accent) 2px, transparent 2.6px) 50% 0 / 10px 10px repeat-y;
}
.eps-17 .eps-content blockquote p { font: 500 clamp(1.45rem, 1.1rem + 1vw, 1.95rem)/1.32 var(--eps-title-font); letter-spacing: -.4px; }
.eps-17 .eps-content blockquote cite { font-style: normal; font-size: 11.5px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--eps-fg); }
.eps-17 .eps-content blockquote cite::before { width: 22px; background: var(--eps-accent); }
.eps-17 .eps-content ul { padding-left: 0; list-style: none; }
.eps-17 .eps-content ul li { position: relative; padding-left: 26px; }
.eps-17 .eps-content ul li::before { content: ''; position: absolute; left: 2px; top: .72em; width: 7px; height: 7px; background: var(--eps-accent); }
.eps-17 .eps-content ol li::marker { color: var(--eps-accent-text, var(--eps-accent)); font-family: var(--eps-title-font); font-weight: 600; }
.eps-17 .eps-content figure:not(.eps-figure) img { border: 10px solid var(--g17-mat); outline: 2px solid var(--g17-frame); outline-offset: 0; }
.eps-17 .eps-content figcaption { text-align: left; font-size: 12px; letter-spacing: .3px; }
.eps-17 .ep-toc-container { background: transparent; border: 1px solid var(--eps-line); border-top: 1.5px solid var(--eps-fg); }
.eps-17 .ep-toc-title { font-family: var(--eps-title-font); font-weight: 600; }
.eps-17 .ep-toc-number { border-radius: 0; background: var(--eps-accent); }

/* --- After the article --- */
.eps-17 .eps-tags a { border-radius: 0; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; }
.eps-17 .eps-tags__label { font-size: 11px; letter-spacing: 2.5px; }
.eps-17 .eps-sharebar { border-top: 1.5px solid var(--eps-fg); border-bottom: 1px solid var(--eps-line); }
.eps-17 .eps-sharebar__label { font: 600 1.15rem/1.2 var(--eps-title-font); }
.eps-17 .eps-sharebar .eps-sb { border-radius: 0; }
.eps-17 .eps-author { grid-template-columns: 84px minmax(0, 1fr); margin-top: 34px; padding: 26px; border: 1px solid var(--eps-line); background: radial-gradient(circle, var(--g17-dot) 1px, transparent 1.4px) 0 0 / 14px 14px; }
.eps-17 .eps-author__avatar img { width: 84px; height: 84px; border-radius: 0; box-shadow: 0 0 0 5px var(--g17-mat), 0 0 0 7px var(--g17-frame); }
.eps-17 .eps-author__name { font: 600 1.25rem/1.2 var(--eps-title-font); text-transform: none; letter-spacing: -.2px; }
.eps-17 .eps-author__role { color: var(--eps-accent-text, var(--eps-accent)); letter-spacing: 2px; }
.eps-17 .eps-author__bio { color: var(--eps-fg); opacity: .78; }
.eps-17 .eps-postnav { border-top: 1.5px solid var(--eps-fg); }
.eps-17 .eps-postnav__img { border-radius: 0; }
.eps-17 .eps-postnav__title { font-family: var(--eps-title-font); font-weight: 600; font-size: 16px; }
.eps-17 .eps-postnav__label { color: var(--accent-text, var(--eps-accent)); letter-spacing: 2.5px; }

.eps-17 .related-card img, .eps-17 .related-card .img-hover-zoom { border-radius: 0; }
.eps-17 .related-card h3, .eps-17 .related-card .card-title { font-family: var(--eps-title-font); font-weight: 600; }

/* --- Sidebar: wall-label headings --- */
.eps-17 .ep-sidebar .ep-section-heading { padding-bottom: 12px; border-bottom: 1px solid var(--eps-line); }
.eps-17 .ep-sidebar .ep-section-heading::before, .eps-17 .ep-sidebar .ep-section-heading::after { display: none; }
.eps-17 .ep-sidebar .ep-section-heading .title-text { display: inline-flex; align-items: center; gap: 10px; padding: 0; background: none; color: var(--eps-fg); font: 600 12px/1 var(--eps-ui); letter-spacing: 3px; text-transform: uppercase; }
.eps-17 .ep-sidebar .ep-section-heading .title-text::after { display: none; }
.eps-17 .ep-sidebar .widget-ad .ep-section-heading { border: 0; }
.eps-17 .ep-sidebar .widget-ad .ep-section-heading .title-text::before { content: '- '; width: auto; height: auto; background: none; }
.eps-17 .ep-sidebar .widget-ad .ep-section-heading .title-text::after { content: ' -'; display: inline; }
.eps-17 .widget-social .contact-social-item { border-radius: 0; }
.eps-17 .widget-newsletter .newsletter-widget-inner { border-radius: 0; }
.eps-17 .widget-newsletter .newsletter-form input, .eps-17 .widget-newsletter .subscribe-btn { border-radius: 0; }
.eps-17 .ep-latest-thumb img, .eps-17 .ep-latest-ph { border-radius: 0; }
.eps-17 .ep-latest-title { font-family: var(--eps-title-font); font-weight: 600; }

@media (max-width: 768px) {
    .eps-17 .eps-head > .container { padding-top: 36px; }
    .eps-17 .eps-title { letter-spacing: -.6px; }
    .eps-17 .eps-meta { margin-bottom: 30px; }
    .eps-17 .eps-figure { margin-left: -12px; margin-right: -12px; }
    .eps-17 .eps-figure figcaption { width: auto; margin-left: 0; }
    .eps-17 .eps-content blockquote { padding-left: 28px; }
    .eps-17 .eps-author { grid-template-columns: minmax(0, 1fr); padding: 22px; }
}
