/*
Theme Name: essenzen.blog (Blocksy)
Description: Eigenes Magazin-Child-Theme für das Essenzen Blog.
Author: Sann GmbH
Template: blocksy
Version: 1.2.1
Requires at least: 6.7
Requires PHP: 8.0
Text Domain: essenzen-blocksy
*/

:root { --essenzen-accent: #98600c; }
body { --theme-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
/* A quiet editorial signature alongside the existing shop logo. */
#header.ct-header [data-row*="middle"] {
    padding-block: 18px;
    background: linear-gradient(105deg, #faf3e8 0%, #fffdf9 68%, #f4f0e7 100%);
    border-bottom: 1px solid #e9dfcf;
}
.ct-header .site-title-container { position: relative; padding: 3px 0 12px; }
.ct-header [data-id="logo"] .site-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(24px, 3.8vw, 36px);
    font-weight: 400;
    font-style: normal;
    line-height: 1.15;
    letter-spacing: -.035em;
}
.ct-header .site-title a { color: #30483b; }
.ct-header .site-title a:hover { color: #965551; }
.single-post .entry-content { font-size: 18px; line-height: 1.8; }
.single-post .entry-content > :where(p, ul, ol, blockquote) { margin-bottom: 1.4em; }
.single-post .entry-content :where(h2, h3) { line-height: 1.3; margin-top: 1.8em; }
.entry-content a:not(.wp-element-button) { text-underline-offset: .2em; }
.essenzen-podcast {
    display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
    width: var(--theme-container-width, 90%); max-width: 760px;
    margin: 0 auto 36px; padding: 22px 26px;
    background: #faf5ec; border-inline-start: 4px solid var(--essenzen-accent); border-radius: 4px;
}
.essenzen-podcast p { margin: 0; }
.essenzen-podcast a {
    display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px;
    background: var(--essenzen-accent); color: #fff; border-radius: 4px;
    font-size: 16px; font-weight: 600; text-decoration: none;
}
.essenzen-podcast a:hover { background: #754909; color: #fff; }
.essenzen-podcast svg { width: 20px; height: 20px; fill: currentColor; }
.essenzen-format { display: inline-block; margin-bottom: 10px; color: var(--essenzen-accent); font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.essenzen-blog-intro { padding: 4px 0 32px; max-width: 760px; }
.essenzen-blog-intro p { font-size: 18px; line-height: 1.6; margin-bottom: 0; }
.essenzen-blog-intro h1 { font-size: clamp(30px, 4vw, 44px); margin-bottom: 12px; }
.essenzen-footer-menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 24px; list-style: none; margin: 0; padding: 24px; border-top: 1px solid #e7e8e3; }
.essenzen-footer-menu a { color: #424b45; text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 600px) {
    .single-post .entry-content { font-size: 17px; line-height: 1.75; }
    .essenzen-podcast { padding: 18px; gap: 12px; }
}

/* Magazine front page: square source artwork is displayed in full, never cropped. */
body.home.wp-theme-blocksy {
    --theme-palette-color-7: #fffdf9;
    --theme-palette-color-8: #fffdf9;
    background-color: #fffdf9;
}
.essenzen-magazine {
    --mag-ink: #30483b;
    --mag-muted: #65695e;
    --mag-line: #e4ded2;
    --mag-paper: #eef2e7;
    --mag-rose: #965551;
    --mag-gold: #9b712c;
    width: min(1200px, 90%);
    margin-inline: auto;
    padding: 46px 0 64px;
    color: var(--mag-ink);
}
.essenzen-magazine :where(h1, h2, h3, h4) { color: var(--mag-ink); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.essenzen-magazine a { color: inherit; }
.essenzen-magazine a:hover { color: var(--essenzen-accent); }
.essenzen-magazine a:focus-visible, .essenzen-magazine summary:focus-visible { outline: 3px solid var(--essenzen-accent); outline-offset: 5px; }
.essenzen-magazine .mag-kicker { display: block; font: 650 11px/1.5 system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--essenzen-accent); margin: 0 0 12px; }
.mag-masthead { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 40px 44px; background: #f6eee0; border: 1px solid #ede2ce; border-radius: 6px 64px 6px 6px; }
.mag-masthead::after { content: ""; position: absolute; z-index: -1; right: 12px; bottom: 0; width: 240px; height: 180px; background: url("assets/botanical-sprig.svg") no-repeat right bottom / contain; opacity: .85; pointer-events: none; }
.mag-masthead > div { max-width: 780px; }
.mag-masthead h1 { font-size: clamp(36px, 4.2vw, 58px); line-height: 1.12; letter-spacing: -.035em; margin: 0 0 18px; }
.mag-intro { max-width: 720px; font-size: 17px; line-height: 1.65; margin: 0; color: var(--mag-muted); }
.mag-masthead-note { flex-shrink: 0; align-self: start; text-align: right; margin-top: 2px; padding: 0 0 115px 20px; font-size: 12px; line-height: 1.7; color: var(--mag-muted); }
.mag-masthead-note strong { color: var(--mag-ink); font-family: Georgia, serif; font-weight: 400; font-size: 23px; }
.mag-navigation { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 0; margin-top: 22px; border-bottom: 1px solid var(--mag-line); }
.mag-navigation nav { display: flex; gap: 30px; }
.mag-navigation nav a { font-size: 14px; font-weight: 650; }
.mag-search { position: relative; flex: 0 1 260px; margin: 0; }
.mag-search input[type="search"] { height: 40px; padding: 8px 44px 8px 13px; background: #fff; border: 1px solid var(--mag-line); border-radius: 3px; font: 14px system-ui, sans-serif; }
.mag-search button { position: absolute; right: 0; top: 0; display: grid; place-items: center; width: 40px; height: 40px; min-height: 0; padding: 0; background: transparent; border: 0; color: var(--mag-ink); }
.mag-search button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.mag-section { margin-top: 56px; scroll-margin-top: 24px; }
.mag-current { margin-top: 30px; }
.mag-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.mag-section-heading h2 { font-size: clamp(27px, 3vw, 35px); line-height: 1.2; margin: 0; letter-spacing: -.02em; }
.mag-section-heading .mag-kicker { margin-bottom: 8px; }
.mag-current .mag-section-heading h2 { font: 650 12px/1.4 system-ui, sans-serif; text-transform: uppercase; letter-spacing: .1em; }
.mag-text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 650; text-decoration: none; }
.mag-text-link span { font-size: 18px; line-height: 1; }
.mag-spotlight { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr); gap: 32px; }
.mag-lead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 26px; align-items: center; }
.mag-image { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #f2eee5; }
.mag-lead > .mag-image { box-shadow: 0 5px 22px #53462d12; }
.mag-image img { display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 0; }
.mag-image-placeholder { display: grid; height: 100%; place-items: center; padding: 20px; text-align: center; font: 24px Georgia, serif; color: var(--mag-muted); }
.mag-lead h3 { font-size: clamp(25px, 2.4vw, 34px); line-height: 1.16; letter-spacing: -.02em; margin: 0 0 16px; }
.mag-lead .mag-excerpt { font-size: 16px; line-height: 1.65; color: var(--mag-muted); margin: 0 0 20px; }
.mag-meta { display: flex; gap: 5px 8px; flex-wrap: wrap; color: var(--mag-muted); font: 12px/1.6 system-ui, sans-serif; margin: 0; }
.mag-lead .mag-text-link { margin-top: 22px; border-bottom: 1px solid var(--mag-ink); padding-bottom: 4px; }
.mag-digest { display: grid; align-content: start; gap: 24px; padding-left: 28px; border-left: 1px solid var(--mag-line); }
.mag-brief { display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 18px; padding-bottom: 24px; border-bottom: 1px solid var(--mag-line); }
.mag-brief:last-child { border-bottom: 0; padding-bottom: 0; }
.mag-brief .mag-kicker { font-size: 10px; letter-spacing: .07em; margin-bottom: 7px; }
.mag-brief h3 { font-size: 21px; line-height: 1.2; margin: 0 0 10px; }
.mag-brief .mag-meta { font-size: 11px; }
.mag-topics { position: relative; padding: 34px; background: var(--mag-paper); border: 1px solid #e1e7d8; border-radius: 6px 6px 36px 6px; }
.mag-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; }
.mag-topic { padding: 22px 0; border-top: 1px solid #ccd7bf; }
.mag-topic-icon { display: block; width: 38px; height: 38px; padding: 6px; box-sizing: content-box; margin-bottom: 14px; color: #617b56; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; background: #e1e8d6; border-radius: 50%; }
.mag-topic:nth-child(3n + 1) .mag-topic-icon { color: var(--mag-rose); background: #f0e3dc; }
.mag-topic:nth-child(3n + 2) .mag-topic-icon { color: var(--mag-gold); background: #eee5cd; }
.mag-topic-title { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; font: 24px/1.2 Georgia, serif; }
.mag-topic-title > span { font: 18px system-ui, sans-serif; }
.mag-topic-description { display: block; font-size: 14px; line-height: 1.5; color: var(--mag-muted); margin: 10px 0 14px; max-width: 270px; }
.mag-topic-count { font-size: 11px; font-weight: 600; color: var(--mag-muted); }
.mag-maker-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.mag-maker { display: flex; align-items: start; justify-content: space-between; flex-direction: column; gap: 12px; padding: 24px; background: #fcf8f0; border: 1px solid #ece2cf; border-radius: 5px; }
.mag-maker::before { content: ""; width: 24px; height: 2px; background: #c2a16a; }
.mag-maker:hover { background: #f4eddf; }
.mag-maker strong { font-size: 17px; line-height: 1.4; font-weight: 600; }
.mag-maker > span { display: flex; justify-content: space-between; align-items: center; width: 100%; font-size: 12px; color: var(--mag-muted); }
.mag-maker > span > span { font-size: 20px; }
.mag-more-makers { margin-top: 18px; font-size: 13px; }
.mag-more-makers summary { cursor: pointer; width: fit-content; font-weight: 600; padding: 5px 0; }
.mag-more-makers > div { display: flex; flex-wrap: wrap; gap: 12px 24px; padding-top: 18px; }
.mag-more-makers a { text-decoration: underline; text-underline-offset: 4px; }
.mag-series-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.mag-series-card { display: flex; flex-direction: column; padding: 28px; background: #f7ece7; border: 1px solid #eddbd3; border-top: 3px solid #b57d70; border-radius: 4px 24px 4px 4px; }
.mag-series-card:nth-child(2) { background: #f7f1df; border-color: #eae0bf; border-top-color: #b89b50; }
.mag-series-card:nth-child(3) { background: #edf2e8; border-color: #dce6d2; border-top-color: #8b9e73; }
.mag-series-card .mag-kicker { color: var(--mag-rose); }
.mag-series-card:nth-child(2) .mag-kicker { color: #826126; }
.mag-series-card:nth-child(3) .mag-kicker { color: #537047; }
.mag-series-card h3 { font-size: 29px; line-height: 1.15; margin: 0 0 14px; }
.mag-series-card > p:not(.mag-kicker) { color: var(--mag-muted); font-size: 14px; line-height: 1.6; margin: 0 0 24px; }
.mag-series-latest { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 16px; align-items: start; margin-top: auto; margin-bottom: 24px; }
.mag-series-caption { display: block; color: var(--mag-muted); font-size: 10px; line-height: 1.5; margin-bottom: 6px; }
.mag-series-latest h4 { font: 600 14px/1.4 system-ui, sans-serif; margin: 0; }
.mag-section-note { color: var(--mag-muted); font-size: 12px; }
.mag-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 30px; }
.mag-card .mag-card-content { padding-top: 20px; }
.mag-card h3 { font-size: 27px; line-height: 1.2; margin: 0 0 14px; }
.mag-card .mag-excerpt { font-size: 14px; line-height: 1.65; color: var(--mag-muted); margin: 0 0 16px; }
.mag-archive-link { position: relative; isolation: isolate; padding: 44px 20px; margin-top: 48px; background: #f6eee0; border: 1px solid #ede2ce; border-radius: 6px 36px 6px 6px; text-align: center; }
.mag-archive-link::before { content: ""; position: absolute; z-index: -1; left: 14px; bottom: 0; width: 180px; height: 175px; background: url("assets/botanical-sprig.svg") no-repeat center / contain; transform: scaleX(-1); opacity: .65; pointer-events: none; }
.mag-archive-link p { font: 28px/1.2 Georgia, serif; margin: 0 0 20px; }
.mag-button { display: inline-flex; justify-content: center; align-items: center; gap: 24px; padding: 13px 22px; font-size: 14px; font-weight: 600; background: var(--mag-ink); color: #fff !important; border: 1px solid var(--mag-ink); border-radius: 4px; }
.mag-button:hover { background: #3e5446; }
@media (max-width: 1050px) {
    .mag-masthead { padding: 32px; }
    .mag-masthead > div { max-width: 76%; }
    .mag-masthead::after { width: 210px; height: 180px; opacity: .7; }
    .mag-spotlight { grid-template-columns: 1fr; }
    .mag-lead { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
    .mag-digest { grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 0; border-top: 1px solid var(--mag-line); padding: 24px 0 0; }
    .mag-brief { border-bottom: 0; padding-bottom: 0; }
    .mag-brief h3 { font-size: 23px; }
    .mag-series-grid { gap: 16px; }
    .mag-series-card { padding: 20px; }
    .mag-series-latest { grid-template-columns: 58px minmax(0, 1fr); gap: 10px; }
    .mag-post-grid { gap: 32px 22px; }
}
@media (max-width: 700px) {
    .essenzen-magazine { padding-top: 28px; padding-bottom: 40px; }
    .mag-masthead { padding: 28px 24px 32px; border-radius: 5px 36px 5px 5px; }
    .mag-masthead > div { max-width: none; }
    .mag-masthead::after { width: 160px; height: 165px; opacity: .16; }
    .mag-masthead-note { display: none; }
    .mag-masthead h1 { font-size: 38px; }
    .mag-intro { font-size: 15px; }
    .mag-navigation { display: block; padding: 0 0 14px; margin-top: 10px; }
    .mag-navigation nav { gap: 0; justify-content: space-between; padding: 16px 0; }
    .mag-navigation nav a { font-size: 13px; }
    .mag-search { width: 100%; }
    .mag-section { margin-top: 38px; }
    .mag-current { margin-top: 24px; }
    .mag-section-heading { align-items: start; flex-direction: column; gap: 12px; margin-bottom: 20px; }
    .mag-current .mag-section-heading { flex-direction: row; align-items: center; }
    .mag-current .mag-section-heading a { font-size: 11px; }
    .mag-lead { grid-template-columns: 1fr; gap: 20px; }
    .mag-lead .mag-card-content { order: -1; }
    .mag-lead h3 { font-size: 31px; }
    .mag-lead .mag-text-link { margin-top: 14px; }
    .mag-digest { grid-template-columns: 1fr; gap: 20px; padding-top: 20px; }
    .mag-brief { grid-template-columns: 104px minmax(0, 1fr); gap: 16px; }
    .mag-brief h3 { font-size: 22px; }
    .mag-topics { padding: 24px 20px; }
    .mag-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
    .mag-topic-title { font-size: 22px; gap: 8px; }
    .mag-topic-title > span { font-size: 15px; }
    .mag-topic-description { font-size: 12px; }
    .mag-topic-icon { width: 30px; height: 30px; margin-bottom: 12px; }
    .mag-maker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mag-maker { padding: 20px 16px; }
    .mag-maker strong { font-size: 15px; }
    .mag-series-grid { grid-template-columns: 1fr; gap: 20px; }
    .mag-series-card { padding: 24px; }
    .mag-series-latest { grid-template-columns: 80px minmax(0, 1fr); gap: 18px; }
    .mag-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; }
    .mag-card .mag-card-content { padding-top: 14px; }
    .mag-card h3 { font-size: 23px; }
    .mag-card .mag-excerpt { display: none; }
    .mag-card .mag-kicker { font-size: 10px; letter-spacing: .06em; }
    .mag-card .mag-meta { font-size: 11px; }
    .mag-archive-link::before { width: 110px; height: 125px; opacity: .2; }
}
@media (max-width: 380px) {
    .mag-topic-grid, .mag-post-grid { grid-template-columns: 1fr; }
}

/* Editorial articles: warm surfaces, square feature artwork and an uninterrupted reading column. */
body.single-post.wp-theme-blocksy {
    --theme-palette-color-7: #fffdf9;
    --theme-palette-color-8: #fffdf9;
    background-color: #fffdf9;
}
.es-article { --es-ink: #30483b; --es-muted: #65695e; --es-line: #e4ded2; width: min(1200px, 90%); margin: 0 auto; padding: 28px 0 0; color: var(--es-ink); }
.es-breadcrumbs { margin-bottom: 24px; color: var(--es-muted); font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.es-breadcrumbs a { color: var(--es-muted); }
.es-breadcrumbs .breadcrumbs__separator { margin-inline: 7px; color: #a4937b; }
.es-hero { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: center; gap: 44px; padding: 40px; background: #f6eee0; border: 1px solid #ede2ce; border-radius: 5px 48px 5px 5px; }
.es-hero--no-image { position: relative; isolation: isolate; grid-template-columns: 1fr; }
.es-hero--no-image::after { content: ""; position: absolute; z-index: -1; right: 20px; bottom: 0; width: 200px; height: 220px; opacity: .16; background: url("assets/botanical-sprig.svg") no-repeat right bottom / contain; pointer-events: none; }
.es-hero--no-image .es-hero-copy { max-width: 850px; }
.es-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 18px; font: 650 11px/1.5 system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.es-eyebrow a { color: #98600c; }
.es-eyebrow .es-audio-label { padding: 4px 9px; color: #87524d; background: #eddfd6; border-radius: 3px; letter-spacing: .05em; }
.es-hero h1 { font: 400 clamp(32px, 3.5vw, 46px)/1.15 Georgia, "Times New Roman", serif; letter-spacing: -.025em; color: var(--es-ink); margin: 0 0 20px; overflow-wrap: anywhere; }
.es-deck { color: var(--es-muted); font-size: 17px; line-height: 1.65; margin: 0 0 26px; }
.es-byline { display: flex; gap: 12px; align-items: center; margin-top: 26px; }
.es-byline > a { flex-shrink: 0; }
.es-byline img { width: 48px; height: 48px; border-radius: 50%; }
.es-byline div { display: grid; gap: 2px; }
.es-byline span { color: var(--es-muted); font-size: 11px; }
.es-byline div a { color: var(--es-ink); font-size: 14px; font-weight: 650; }
.es-dates { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 18px 0 0; color: var(--es-muted); font-size: 12px; line-height: 1.6; }
.es-hero-art { width: 100%; aspect-ratio: 1; margin: 0; background: #f2eee5; }
.es-hero-art img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: contain; }
.es-reading { width: min(760px, 100%); margin: 44px auto 0; }
.es-content.entry-content { display: block; font-size: 18px; line-height: 1.85; color: #3f4941; overflow-wrap: anywhere; }
.es-content.entry-content > * { max-width: 100%; }
/* Space after the complete image/caption or gallery, not between its images.
   Floated images retain their desktop text wrapping and spacing. */
.single-post .es-content.entry-content :where(.wp-block-image, .wp-caption, .wp-block-gallery, .gallery):not(:where(.alignleft, .alignright, .wp-block-gallery *, .gallery *)):not(:has(> :is(.alignleft, .alignright))) { margin-bottom: 1.4em; }
/* On phones, place aligned article images above the text instead of leaving
   a narrow strip beside them. Keep captions in their original image block. */
@media (max-width: 600px) {
    .single-post .es-content.entry-content :where(figure, .wp-caption, .wp-block-image, img, a:has(> img)):is(.alignleft, .alignright):not(:where(.wp-block-gallery *, .gallery *)) {
        float: none;
        clear: both;
        display: block;
        max-width: 100%;
        margin: 0 auto 1.4em;
    }
    .single-post .es-content.entry-content :where(figure, .wp-caption, .wp-block-image):is(.alignleft, .alignright) :is(img.alignleft, img.alignright) { margin: 0; }
}
/* Gutenberg button groups need breathing room after embeds and other blocks. */
.es-content.entry-content .wp-block-buttons { margin-block: 1.5em; }
.es-content.entry-content > :first-child { margin-top: 0; }
.es-content.entry-content :where(h2, h3, h4) { color: var(--es-ink); font-family: Georgia, "Times New Roman", serif; font-weight: 400; line-height: 1.25; letter-spacing: -.015em; }
.es-content.entry-content h2 { font-size: clamp(27px, 3vw, 34px); margin: 1.6em 0 .65em; }
.es-content.entry-content h3 { font-size: 26px; }
.es-content.entry-content h4 { font-size: 22px; }
.es-content.entry-content a { text-decoration: underline; text-underline-offset: .2em; }
.es-content.entry-content :where(img, video) { max-width: 100%; height: auto; }
.es-content.entry-content :where(audio, iframe) { max-width: 100%; }
.es-content.entry-content .embed-youtube > iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.es-content.entry-content audio { width: 100%; scroll-margin-top: 28px; }
.es-content.entry-content .wp-block-audio:not(.podigee-player .wp-block-audio) { padding: 22px; border: 1px solid #e1e7d8; background: #eef2e7; border-radius: 5px; }
/* Leave the plugin's controls intact; give them the full card width on small screens. */
@media (max-width: 600px) {
    .es-content.entry-content .podigee-episode-player { flex-direction: column; align-items: stretch; }
    .es-content.entry-content .podigee-episode-player .plyr__controls { flex-wrap: wrap; }
    .es-content.entry-content .podigee-episode-player .plyr__progress__container { flex-basis: 100%; order: -1; }
}
.es-content.entry-content :where(.alignwide, .alignfull) { width: 100%; max-width: 100%; margin-inline: 0; }
.es-content.entry-content blockquote { padding: 24px 28px; margin-inline: 0; background: #f7f0e2; border-left: 3px solid #b39259; font: 22px/1.6 Georgia, serif; color: var(--es-ink); }
.es-content.entry-content blockquote cite { display: block; font: 12px/1.6 system-ui, sans-serif; color: var(--es-muted); }
.es-content.entry-content :where(pre, .wp-block-table) { max-width: 100%; overflow-x: auto; }
.es-content.entry-content figcaption { color: var(--es-muted); font-size: 12px; line-height: 1.6; }
.es-podcast.essenzen-podcast { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; width: 100%; max-width: none; margin: 0 0 40px; padding: 24px 28px; background: #f7ece7; border: 1px solid #eddbd3; border-left: 3px solid #b57d70; border-radius: 4px 24px 4px 4px; }
.es-podcast .es-podcast-icon { width: 44px; height: 44px; padding: 11px; background: #eddfd6; fill: #87524d; border-radius: 50%; }
.es-podcast h2 { margin: 0 0 6px; font: 27px/1.2 Georgia, serif; color: var(--es-ink); }
.es-podcast p { font-size: 14px; line-height: 1.6; color: var(--es-muted); }
.es-podcast.essenzen-podcast > a { grid-column: 2; justify-self: start; background: var(--es-ink); font-size: 14px; }
.es-podcast.essenzen-podcast > a:hover { background: #3e5446; }
.es-podcast > audio { width: 100%; grid-column: 1 / -1; }
.es-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 40px 0; padding-top: 24px; border-top: 1px solid var(--es-line); }
.es-tags > span { flex-basis: 100%; margin-bottom: 6px; font: 24px Georgia, serif; }
.es-tags a { padding: 6px 12px; border: 1px solid #dce3d3; border-radius: 3px; background: #eef2e7; color: #405438; font-size: 12px; }
.es-author { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 26px; padding: 30px; margin: 40px 0; background: #eef2e7; border: 1px solid #e1e7d8; border-radius: 5px 30px 5px 5px; }
.es-author > img { width: 88px; height: 88px; border-radius: 50%; }
.es-author .es-kicker { margin: 0 0 8px; font: 650 10px/1.5 system-ui, sans-serif; text-transform: uppercase; letter-spacing: .1em; color: #537047; }
.es-author h2 { margin: 0 0 14px; font: 28px/1.2 Georgia, serif; }
.es-author h2 a { color: var(--es-ink); }
.es-author p { font-size: 14px; line-height: 1.7; color: #4e5c4c; }
.es-author-link { font-size: 13px; font-weight: 600; color: #405438; }
.es-reading .post-navigation { margin: 40px 0; padding-top: 24px; border-top: 1px solid var(--es-line); }
.es-reading .post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.es-reading .post-navigation .nav-links a { display: grid; gap: 10px; color: var(--es-ink); font: 20px/1.4 Georgia, serif; }
.es-reading .es-nav-label { font: 11px/1.5 system-ui, sans-serif; color: var(--es-muted); }
.es-comments { margin: 48px 0; padding-top: 24px; border-top: 1px solid var(--es-line); }
.es-comments .ct-comments { max-width: 100%; }
.es-related.essenzen-magazine { padding-top: 20px; border-top: 1px solid #e4ded2; margin-top: 40px; }
.es-related .mag-card h3 { font-size: 26px; }
.es-article a:focus-visible { outline: 3px solid #98600c; outline-offset: 4px; }
@media (max-width: 1050px) {
    .es-hero { padding: 30px; gap: 28px; grid-template-columns: minmax(0, 1fr) 280px; }
    .es-hero h1 { font-size: 37px; }
    .es-deck { font-size: 16px; }
}
@media (max-width: 800px) {
    .es-hero { grid-template-columns: 1fr; }
    .es-hero-art { max-width: 360px; justify-self: center; }
    .es-reading { margin-top: 32px; }
}
@media (max-width: 600px) {
    .es-article { padding-top: 20px; }
    .es-breadcrumbs { font-size: 11px; margin-bottom: 18px; }
    .es-hero { padding: 24px 20px; gap: 28px; border-radius: 4px 32px 4px 4px; }
    .es-hero h1 { font-size: 32px; }
    .es-eyebrow { font-size: 10px; }
    .es-content.entry-content { font-size: 17px; line-height: 1.8; }
    .es-content.entry-content h3 { font-size: 24px; }
    .es-content.entry-content blockquote { padding: 20px; font-size: 21px; }
    .es-podcast.essenzen-podcast { padding: 20px; gap: 14px; }
    .es-author { padding: 24px 20px; gap: 18px; grid-template-columns: 56px minmax(0, 1fr); }
    .es-author > img { width: 56px; height: 56px; }
    .es-author h2 { font-size: 25px; }
    .es-reading .post-navigation .nav-links { gap: 20px; }
    .es-reading .post-navigation .nav-links a { font-size: 18px; }
}


/* Taxonomy archives share the magazine's editorial rhythm and square cards. */
body.category.wp-theme-blocksy, body.tag.wp-theme-blocksy { background: #fffdf9; --theme-palette-color-7: #fffdf9; --theme-palette-color-8: #fffdf9; }
.es-tax-archive { padding-top: 26px; }
.es-archive-header > div { max-width: 850px; padding-right: 65px; min-width: 0; }
.es-archive-header h1 { overflow-wrap: anywhere; hyphens: auto; }
.es-archive-header::after { opacity: .35; }
.es-archive-intro { color: var(--mag-muted); font-size: 17px; line-height: 1.75; overflow-wrap: anywhere; }
.es-archive-intro > :last-child { margin-bottom: 0; }
.es-archive-intro a { text-decoration: underline; text-underline-offset: .2em; }
.es-archive-intro :where(h2, h3) { font-size: 25px; margin: 1.2em 0 .5em; }
.es-archive-children { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 24px; }
.es-archive-children > span { color: var(--mag-muted); font-size: 12px; margin-right: 8px; }
.es-archive-children a { padding: 7px 13px; border: 1px solid #dce3d3; background: #eef2e7; border-radius: 3px; font-size: 13px; }
.es-archive-children a:hover { background: #e3eadb; }
.es-archive-posts { margin-top: 42px; }
.es-archive-posts .mag-section-note { margin: 0; }
.es-archive-pagination { margin-top: 44px; padding-top: 26px; border-top: 1px solid var(--mag-line); }
.es-archive-pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.es-archive-pagination li { margin: 0; padding: 0; }
.es-archive-pagination :where(a, span).page-numbers { display: grid; place-items: center; min-width: 42px; min-height: 42px; padding: 8px 13px; border: 1px solid #e4ded2; border-radius: 4px; font: 14px/1.4 system-ui, sans-serif; }
.es-archive-pagination .page-numbers.current { background: var(--mag-ink); border-color: var(--mag-ink); color: #fff; }
.es-archive-pagination a:hover { background: #f6eee0; }
.es-archive-pagination .page-numbers.dots { border-color: transparent; padding-inline: 4px; min-width: 20px; }
@media (max-width: 700px) {
    .es-archive-header > div { max-width: 100%; padding-right: 0; }
    .es-archive-header h1 { font-size: clamp(31px, 8vw, 38px); }
    .es-archive-header::after { opacity: .12; }
    .es-archive-intro { font-size: 15px; }
    .es-archive-posts { margin-top: 30px; }
    .es-archive-children a { font-size: 12px; }
}

/* Author profiles: real portraits, public biographies and the magazine's cards. */
body.author.wp-theme-blocksy { background: #fffdf9; --theme-palette-color-7: #fffdf9; --theme-palette-color-8: #fffdf9; }
.es-author-archive { padding-top: 26px; }
.es-author-header { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 34px; align-items: start; }
.es-author-header > div { max-width: none; min-width: 0; }
.es-author-header::after { opacity: .18; }
.es-author-header h1 { font-size: clamp(34px, 4vw, 52px); overflow-wrap: anywhere; hyphens: auto; }
.es-author-header .es-author-portrait { width: 160px; aspect-ratio: 1; padding: 8px; border: 1px solid #e7dac4; border-radius: 7px 26px 7px 7px; background: #fffdf9; box-shadow: 0 5px 20px #53462d0d; }
.es-author-portrait img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 3px 18px 3px 3px; }
.es-author-portrait > span { display: grid; place-items: center; width: 100%; height: 100%; background: #eef2e7; color: #617b56; font: 48px/1 Georgia, serif; border-radius: 3px 18px 3px 3px; }
.es-author-copy .es-profile-website { margin-top: 20px; color: var(--mag-ink); text-decoration: underline; text-underline-offset: .25em; }
.es-author-copy .mag-intro { max-width: none; }
.es-author :where(p, li) a { text-decoration: underline; text-underline-offset: .2em; }
.es-author-archive .mag-section-heading h2 { overflow-wrap: anywhere; }
@media (min-width: 701px) and (max-width: 1050px) {
    .es-author-header { grid-template-columns: 120px minmax(0, 1fr); gap: 26px; }
    .es-author-header .es-author-portrait { width: 120px; }
}
@media (max-width: 700px) {
    .es-author-header { grid-template-columns: 1fr; gap: 20px; }
    .es-author-header .es-author-portrait { width: 90px; }
    .es-author-portrait > span { font-size: 32px; }
    .es-author-header h1 { font-size: clamp(30px, 8vw, 38px); }
    .es-author-copy .es-profile-website { font-size: 12px; }
}

/* Search keeps the editorial layout, with an accessible, persistent search form. */
body.search.wp-theme-blocksy { background: #fffdf9; --theme-palette-color-7: #fffdf9; --theme-palette-color-8: #fffdf9; }
.es-search { padding-top: 26px; }
.es-search-header > div { width: 100%; max-width: 870px; min-width: 0; }
.es-search-header::after { opacity: .25; }
.es-search-header h1 { font-size: clamp(32px, 4vw, 48px); overflow-wrap: anywhere; hyphens: auto; }
.es-search-form { margin-top: 24px; max-width: 720px; }
.es-search-form label { display: block; margin-bottom: 7px; color: var(--mag-ink); font-size: 13px; font-weight: 600; }
.es-search-form > div { display: flex; gap: 10px; }
.es-search-form input[type="search"] { min-width: 0; flex: 1; height: 48px; background: #fffdf9; border: 1px solid #d4c8b7; border-radius: 4px; padding: 10px 14px; font-size: 15px; }
.es-search-form button { flex-shrink: 0; min-height: 48px; padding: 10px 22px; }
.es-search-empty { padding: 32px; background: #eef2e7; border: 1px solid #e1e7d8; border-radius: 6px 6px 30px 6px; }
.es-search-empty h2 { font-size: clamp(27px, 3vw, 35px); line-height: 1.2; }
.es-search-empty > p:not(.mag-kicker) { max-width: 760px; color: var(--mag-muted); }
.es-search-suggestions { margin-block: 26px; }
.es-search-suggestions h3 { margin-bottom: 12px; font-size: 23px; }
.es-search-suggestions > div { display: flex; flex-wrap: wrap; gap: 10px; }
.es-search-suggestions a { padding: 8px 13px; border: 1px solid #cdd6c3; border-radius: 3px; background: #fffdf9; font-size: 14px; }
.es-search-suggestions a:hover { background: #f6eee0; }
@media (max-width: 700px) {
    .es-search-header > div { max-width: 100%; }
    .es-search-header::after { opacity: .12; }
    .es-search-empty { padding: 24px 20px; }
    .es-search-suggestions a { font-size: 12px; }
}
@media (max-width: 480px) {
    .es-search-form > div { flex-direction: column; }
    .es-search-form input[type="search"] { flex: auto; width: 100%; }
}

/* Static content and real 404s complete the editorial template family. */
body.page.wp-theme-blocksy, body.error404.wp-theme-blocksy { background: #fffdf9; --theme-palette-color-7: #fffdf9; --theme-palette-color-8: #fffdf9; }
.es-static-page, .es-not-found { padding-top: 26px; }
.es-page-header > div { max-width: 100%; min-width: 0; }
.es-page-header h1 { overflow-wrap: anywhere; hyphens: auto; margin-bottom: 0; }
.es-page-header::after { opacity: .25; }
.es-static-page .es-reading { --es-ink: #30483b; --es-muted: #65695e; }
.es-static-page .es-content { overflow-wrap: anywhere; }
.es-static-page .es-content a { text-decoration: underline; }
.es-page-art { width: min(760px, 100%); margin: 36px auto 0; aspect-ratio: 1; background: #f2eee5; }
.es-page-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
.es-page-parts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.es-404-home { margin-top: 24px; }
.es-not-found .es-search-empty h2 { margin-bottom: 18px; }
.es-not-found .es-search-suggestions { margin-bottom: 0; }
/* Keep visible keyboard focus throughout the shared header, forms and footer. */
body.wp-theme-blocksy :where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid #98600c; outline-offset: 4px; }
@media (max-width: 700px) { .es-static-page .es-content { font-size: 17px; line-height: 1.8; } }

/* Parent fallbacks (older magazine/date archive pages) must preserve square art too. */
body.blog.paged.wp-theme-blocksy, body.date.wp-theme-blocksy { background: #fffdf9; --theme-palette-color-7: #fffdf9; --theme-palette-color-8: #fffdf9; }
.wp-theme-blocksy .entries .ct-media-container img { aspect-ratio: 1 !important; object-fit: contain; }
.wp-theme-blocksy .entries .entry-title { font-family: Georgia, "Times New Roman", serif; font-weight: 400; color: #30483b; }

/* Blog subscriptions: immediate posts, visually distinct from the monthly digest. */
.es-blog-subscription { margin-block: 40px; padding: 30px; border: 1px solid #d5ded6; border-radius: 6px; background: #f7f9f6; scroll-margin-top: 32px; }
.es-blog-subscription .es-blog-subscription-kicker { margin: 0 0 10px; color: #435c4a; font: 650 11px/1.6 system-ui, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.es-blog-subscription h2 { margin: 0 0 14px; color: #30483b; font: 400 clamp(26px, 3vw, 32px)/1.25 Georgia, "Times New Roman", serif; overflow-wrap: anywhere; }
.es-blog-subscription p { font-size: 16px; line-height: 1.7; }
.es-blog-subscription form { display: flex; align-items: flex-end; gap: 12px; margin: 22px 0 14px; }
.es-blog-subscription #subscribe-email { flex: 1; min-width: 0; margin: 0; }
.es-blog-subscription #subscribe-email label { position: static !important; width: auto; height: auto; margin: 0 0 6px; padding: 0; display: block; clip-path: none; overflow: visible; font: 600 14px/1.5 system-ui, sans-serif; }
.es-blog-subscription #subscribe-email input { width: 100%; min-width: 0; height: 50px; padding: 10px 12px; border: 1px solid #758579; border-radius: 4px; background: #fff; color: #30483b; font-size: 16px; }
.es-blog-subscription #subscribe-submit { flex: 0 0 auto; margin: 0; }
.es-blog-subscription #subscribe-submit button { min-height: 50px; padding: 12px 20px; border: 1px solid #30483b; border-radius: 4px; background: #30483b; color: #fff; font: 650 15px/1.5 system-ui, sans-serif; white-space: normal; }
.es-blog-subscription #subscribe-submit button:hover { background: #22382b; }
.es-blog-subscription :is(input, button, a):focus-visible { outline: 2px solid #30483b; outline-offset: 4px; }
.es-blog-subscription a { color: #30483b; text-decoration: underline; text-underline-offset: 3px; }
.es-blog-subscription .es-blog-subscription-note { margin: 0; color: #535b50; font-size: 13px; }
.es-blog-subscription .es-blog-subscription-digest { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid #d5ded6; font-size: 14px; }
.es-blog-subscription .es-blog-subscription-preview { font-size: 13px; color: #535b50; }
@media (max-width: 600px) {
    .es-blog-subscription { padding: 24px 20px; }
    .es-blog-subscription form { flex-direction: column; align-items: stretch; }
    .es-blog-subscription #subscribe-submit button { width: 100%; }
}

/* Monthly newsletter invitation on the magazine home. */
.es-newsletter {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 280px);
    align-items: center;
    gap: 28px;
    margin-top: 48px;
    padding: 36px;
    color: #30483b;
    background: linear-gradient(110deg, #f6eee0, #eef2e7);
    border: 1px solid #e4ded2;
    border-radius: 5px 36px 5px 5px;
}
.es-newsletter-copy::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;
    width: 130px;
    height: 120px;
    max-width: 100%;
    max-height: 100%;
    background: url("assets/botanical-sprig.svg") no-repeat right bottom / contain;
    opacity: .18;
    pointer-events: none;
}
.es-newsletter-copy { position: relative; isolation: isolate; min-width: 0; }
.es-newsletter .es-newsletter-kicker { margin: 0 0 12px; color: #655137; font: 650 10px/1.6 system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.es-newsletter h2 { margin: 0 0 14px; color: #30483b; font: 400 clamp(26px, 2.5vw, 32px)/1.2 Georgia, "Times New Roman", serif; overflow-wrap: anywhere; }
.es-newsletter-copy > p:last-child { margin: 0; color: #535b50; font-size: 16px; line-height: 1.7; }
.es-newsletter-action { min-width: 0; }
.es-newsletter .es-newsletter-button { display: flex; justify-content: center; align-items: center; gap: 12px; padding: 14px 18px; border: 1px solid #98600c; border-radius: 4px; background: #98600c; color: #fff; font-size: 14px; font-weight: 650; line-height: 1.6; text-align: center; }
.es-newsletter .es-newsletter-button:hover { background: #754909; border-color: #754909; color: #fff; }
.es-newsletter .es-newsletter-button:focus-visible { outline: 3px solid #30483b; outline-offset: 4px; }
.es-newsletter .es-newsletter-note { margin: 12px 0 0; color: #535b50; font-size: 12px; line-height: 1.7; text-align: center; }
.es-reading > .es-newsletter { margin-block: 40px; }
@media (max-width: 900px) {
    .es-newsletter { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px; }
    .es-newsletter-action { width: min(100%, 320px); }
}
@media (max-width: 480px) {
    .es-newsletter { padding: 26px 20px; border-top-right-radius: 28px; }
    .es-newsletter-action { width: 100%; }
    .es-newsletter-copy::before { width: 110px; height: 110px; opacity: .14; }
}
