/*
Theme Name: Kronleuchter Astra Child
Theme URI: https://staging.kronleuchter-finden.de/
Description: Astra child theme for kronleuchter-finden.de.
Author: Kronleuchter-finden.de
Template: astra
Version: 0.4.7
Text Domain: kronleuchter-astra-child
*/

@font-face {
    font-display: swap;
    font-family: "KFC Cormorant Garamond";
    font-style: normal;
    font-weight: 300 700;
    src: url("assets/fonts/cormorant-garamond-latin-wght-normal.woff2") format("woff2-variations");
}

@font-face {
    font-display: swap;
    font-family: "KFC Source Sans 3";
    font-style: normal;
    font-weight: 200 900;
    src: url("assets/fonts/source-sans-3-latin-wght-normal.woff2") format("woff2-variations");
}

:root {
    --kfc-ivory: #fbf7f0;
    --kfc-cream: #f3e8d9;
    --kfc-burgundy: #6b2035;
    --kfc-burgundy-dark: #3e111f;
    --kfc-brass: #a9824f;
    --kfc-charcoal: #292426;
    --kfc-muted: #706568;
    --kfc-border: #ddd0c3;
    --kfc-surface: #fffdf9;
    --kfc-heading-font: "KFC Cormorant Garamond", Georgia, serif;
    --kfc-body-font: "KFC Source Sans 3", "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }

body {
    background: var(--kfc-ivory);
    color: var(--kfc-charcoal);
    font-family: var(--kfc-body-font);
    font-size: 18px;
    line-height: 1.68;
}

a {
    color: var(--kfc-burgundy);
    text-decoration-color: rgba(107, 32, 53, .35);
    text-underline-offset: .15em;
}

a:hover,
a:focus { color: var(--kfc-burgundy-dark); }

h1, h2, h3, h4, h5, h6,
.site-title {
    color: var(--kfc-charcoal);
    font-family: var(--kfc-heading-font);
    font-weight: 500;
    letter-spacing: -.015em;
    line-height: 1.12;
}

h1, .entry-title { font-size: clamp(2.5rem, 5vw, 4.4rem); }
h2 { font-size: clamp(2rem, 3.5vw, 3rem); }
h3 { font-size: clamp(1.45rem, 2.4vw, 2rem); }

p, ul, ol { margin-bottom: 1.25em; }

button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    background: var(--kfc-burgundy);
    border: 1px solid var(--kfc-burgundy);
    border-radius: 2px;
    color: #fff;
    font-family: var(--kfc-body-font);
    font-weight: 600;
    letter-spacing: .02em;
    padding: .75rem 1.2rem;
}

button:hover,
.button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    background: var(--kfc-burgundy-dark);
    border-color: var(--kfc-burgundy-dark);
}

input:not([type="submit"]):not([type="button"]),
select,
textarea {
    background: var(--kfc-surface);
    border: 1px solid var(--kfc-border);
    border-radius: 2px;
    color: var(--kfc-charcoal);
    font-family: var(--kfc-body-font);
}

/* Compact single-row Astra header. */
.ast-primary-header-bar {
    background: var(--kfc-surface);
    border-bottom: 1px solid var(--kfc-border);
}

.main-header-bar .ast-container { min-height: 78px; }

.site-branding img,
.custom-logo-link img {
    height: auto;
    max-height: 58px;
    max-width: min(330px, 100%);
    width: auto;
}

.kfc-wordmark {
    align-items: center;
    color: var(--kfc-burgundy-dark);
    display: inline-flex;
    gap: .65rem;
    text-decoration: none;
    white-space: nowrap;
}

.kfc-wordmark__mark {
    color: var(--kfc-brass);
    display: inline-flex;
    width: 36px;
}

.kfc-wordmark__mark svg {
    fill: none;
    height: auto;
    stroke: currentColor;
    stroke-width: 1.25;
    width: 100%;
}

.kfc-wordmark__text {
    font-family: var(--kfc-heading-font);
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    font-weight: 600;
    line-height: 1;
}

.kfc-wordmark__text em { font-style: normal; font-weight: 400; }
.kfc-wordmark--footer { color: #fff; margin-bottom: .8rem; }
.kfc-wordmark--footer .kfc-wordmark__mark { width: 32px; }
.kfc-wordmark--footer .kfc-wordmark__text { font-size: 1.8rem; }

.ast-site-title-wrap { display: none !important; }

.main-header-menu,
.ast-builder-menu-mobile { font-family: var(--kfc-body-font); }

.main-header-menu > .menu-item > .menu-link {
    color: var(--kfc-charcoal);
    font-size: 16px;
    font-weight: 500;
    padding-inline: .85rem;
}

.main-header-menu > .menu-item:hover > .menu-link,
.main-header-menu > .current-menu-item > .menu-link,
.main-header-menu > .current-menu-ancestor > .menu-link {
    color: var(--kfc-burgundy);
}

.main-header-menu .sub-menu {
    background: var(--kfc-surface);
    border: 1px solid var(--kfc-border);
    box-shadow: 0 14px 30px rgba(62, 17, 31, .08);
}

.main-header-menu .sub-menu .menu-link { color: var(--kfc-charcoal); }
.main-header-menu .sub-menu .menu-link:hover { background: var(--kfc-cream); color: var(--kfc-burgundy); }

.ast-mobile-menu-trigger-minimal { color: var(--kfc-burgundy); }
.ast-builder-menu-mobile .main-navigation .menu-item > .menu-link { color: var(--kfc-charcoal); }

/* Content rhythm and flat, rectangular editorial imagery. */
.site-content { background: var(--kfc-ivory); }
.site-content .ast-container { max-width: 1200px; }
.site-main { min-width: 0; }

.single-post .site-content > .ast-container,
.single-page .site-content > .ast-container,
.archive .site-content > .ast-container {
    max-width: 1120px;
}

.single-post .ast-article-single,
.single-page .ast-article-single { width: 100%; }

.single-post .entry-content,
.single-page .entry-content { width: 100%; }

.entry-content img,
.wp-block-image img,
.post-thumb img {
    border-radius: 0;
    height: auto;
}

.entry-content > h2 {
    margin-top: 2.4em;
    position: relative;
}

/* Brass line and crystal diamond: only primary, direct H2 sections. */
.entry-content > h2::after,
.kfc-heading-ornament {
    background:
        linear-gradient(var(--kfc-brass), var(--kfc-brass)) left center / 27px 1px no-repeat,
        linear-gradient(var(--kfc-brass), var(--kfc-brass)) right center / 27px 1px no-repeat,
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath d='M4 .65 7.35 4 4 7.35.65 4Z' fill='none' stroke='%23a9824f' stroke-width='.9'/%3E%3C/svg%3E") center / 8px 8px no-repeat;
    content: "";
    display: block;
    height: 9px;
    margin-top: .55rem;
    width: 64px;
}

.home .entry-content > h2 { text-align: center; }
.home .entry-content > h2::after { margin-inline: auto; }

.kfc-no-ornament::after { content: none !important; }

.entry-content blockquote,
.kfc-legacy-alert,
.kfc-legacy-well,
.kfc-legacy-tabs {
    background: var(--kfc-cream);
    border: 1px solid var(--kfc-border);
    border-left: 3px solid var(--kfc-brass);
    border-radius: 2px;
}

.kfc-legacy-separator {
    border: 0;
    height: 9px;
    margin: 2rem auto;
    position: relative;
    width: 64px;
}

.kfc-legacy-separator::before {
    background: var(--kfc-brass);
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    right: 0;
    top: 4px;
}

.kfc-legacy-separator::after {
    background: var(--kfc-ivory);
    border: 1px solid var(--kfc-brass);
    content: "";
    height: 7px;
    left: 28px;
    position: absolute;
    top: 0;
    transform: rotate(45deg);
    width: 7px;
}

/* Cards and affiliate recommendations inherit the new editorial palette. */
.kfc-legacy-card,
.kfc-affiliate-card,
#secondary .widget {
    background: var(--kfc-surface);
    border: 1px solid var(--kfc-border);
    border-radius: 2px;
    box-shadow: none;
}

.kfc-affiliate-card {
    border-left: 3px solid var(--kfc-brass);
}

.kfc-affiliate-card__disclosure { color: var(--kfc-muted); letter-spacing: .08em; }
.kfc-affiliate-link,
.kfc-legacy-button { background: var(--kfc-burgundy); border-radius: 2px; }
.kfc-affiliate-link:hover,
.kfc-affiliate-link:focus,
.kfc-legacy-button:hover,
.kfc-legacy-button:focus { background: var(--kfc-burgundy-dark); }

/* Existing sidebar remains supported, even though new article templates are full width. */
#secondary .widget { margin-bottom: 1.5rem; padding: 1.2rem; }
#secondary .widget-title {
    border-bottom: 1px solid var(--kfc-brass);
    color: var(--kfc-burgundy);
    font-family: var(--kfc-heading-font);
    font-size: 1.45rem;
    margin: 0 0 1rem;
    padding-bottom: .45rem;
}

/* Footer. */
.site-footer,
.site-above-footer-wrap,
.site-primary-footer-wrap,
.site-below-footer-wrap {
    background: var(--kfc-burgundy-dark);
    color: #f8efe7;
}

.site-footer a,
.site-above-footer-wrap a,
.site-primary-footer-wrap a,
.site-below-footer-wrap a { color: #fff7ef; }

.site-footer a:hover,
.site-footer a:focus { color: #e8c99f; }
.site-footer .widget-title { color: #fff; }
.site-footer { border-top: 0; font-size: .95rem; }

/* The custom footer is emitted before Astra's otherwise empty footer shell. */
footer.site-footer { display: none; }

/* Hide the legacy Astra footer builder; the child theme supplies the real footer. */
.site-footer > .site-above-footer-wrap,
.site-footer > .site-primary-footer-wrap,
.site-footer > .site-below-footer-wrap { display: none; }

.kfc-site-footer {
    background: var(--kfc-burgundy-dark);
    border-top: 3px solid var(--kfc-brass);
    color: #f8efe7;
    padding: 3rem max(1.5rem, calc((100vw - 1200px) / 2)) 1.5rem;
}

.kfc-site-footer__grid {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: 1.5fr repeat(3, 1fr);
}

.kfc-site-footer strong {
    color: #fff;
    display: block;
    font-family: var(--kfc-heading-font);
    font-size: 1.35rem;
    font-weight: 500;
    margin-bottom: .7rem;
}

.kfc-site-footer__brand strong { font-size: 2rem; }
.kfc-site-footer p { color: #eadde0; max-width: 24rem; }
.kfc-site-footer nav a,
.kfc-site-footer nav span { color: #f8efe7; display: block; margin: .25rem 0; }
.kfc-site-footer__bottom { border-top: 1px solid rgba(255,255,255,.18); margin-top: 2rem; padding-top: 1rem; }

/* New portal homepage. */
.home .site-content > .ast-container { display: block; max-width: none; padding: 0; }
.home .content-area,
.home #primary { margin: 0 !important; width: 100%; }
.home .site-main { margin: 0; }
.home .ast-article-single { padding: 0; }
.kfc-home { margin: 0; max-width: none; width: 100%; }

.kfc-hero {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    height: auto;
    min-height: 620px;
}

.kfc-hero__copy {
    align-content: center;
    background: var(--kfc-burgundy-dark);
    color: #fff;
    display: grid;
    padding: clamp(3rem, 7vw, 6.5rem);
}

.kfc-eyebrow { color: #d9b983; font-size: .82rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.kfc-hero h1 { color: #fff; font-size: clamp(3rem, 5.4vw, 5rem); max-width: 8.5em; }
.kfc-hero__intro { font-size: 1.25rem; max-width: 29rem; }
.kfc-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.2rem; margin-top: 1rem; }
.kfc-button { background: var(--kfc-burgundy); color: #fff !important; display: inline-block; font-weight: 650; padding: .8rem 1.2rem; text-decoration: none; }
.kfc-button--light { background: var(--kfc-surface); color: var(--kfc-burgundy-dark) !important; }
.kfc-text-link { color: var(--kfc-burgundy); font-weight: 650; text-decoration: none; }
.kfc-text-link--light { color: #fff !important; }
.kfc-hero__media { margin: 0; min-height: 620px; position: relative; }
.kfc-hero__media img { height: 100%; inset: 0; object-fit: cover; object-position: 58% center; position: absolute; width: 100%; }
.kfc-hero figcaption { bottom: .5rem; color: #fff; font-size: .72rem; position: absolute; right: .7rem; text-shadow: 0 1px 3px #000; }

.kfc-trust { background: var(--kfc-surface); border-bottom: 1px solid var(--kfc-border); clear: both; display: flex; justify-content: center; position: relative; z-index: 2; }
.kfc-trust span { align-items: center; display: flex; gap: .65rem; padding: 1.1rem 3rem; position: relative; }
.kfc-trust span::before {
    align-items: center;
    color: var(--kfc-brass);
    content: "✦";
    display: inline-flex;
    flex: 0 0 1.35rem;
    font-size: 1rem;
    height: 1.35rem;
    justify-content: center;
    width: 1.35rem;
}
.kfc-trust span:nth-child(2)::before { content: "◇"; }
.kfc-trust span:nth-child(3)::before { content: "✓"; }

.kfc-section { padding: clamp(4rem, 7vw, 7rem) max(1.5rem, calc((100% - 1200px) / 2)); }
.kfc-section--cream { background: var(--kfc-cream); }
.kfc-section-heading { margin-bottom: 2.2rem; }
.kfc-section-heading h2 { margin-bottom: 0; }
.kfc-section-heading--center { text-align: center; }
.kfc-section-heading--center .kfc-heading-ornament { margin-inline: auto; }

.kfc-tool-grid,
.kfc-style-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kfc-tool-card { background: var(--kfc-surface); border: 1px solid var(--kfc-border); color: var(--kfc-charcoal); min-height: 250px; padding: 2rem; position: relative; text-align: center; text-decoration: none; }
.kfc-tool-card:hover { border-color: var(--kfc-brass); color: var(--kfc-charcoal); }
.kfc-tool-card__icon { color: var(--kfc-burgundy); display: block; height: 48px; margin-inline: auto; width: 48px; }
.kfc-tool-card__icon svg,
.kfc-guide-card__icon svg { fill: none; height: 100%; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; width: 100%; }
.kfc-tool-card h3 { font-size: 1.75rem; margin: 1rem 0 .6rem; }
.kfc-card-arrow { bottom: 1rem; color: var(--kfc-burgundy); font-size: 1.4rem; position: absolute; right: 1.2rem; }

.kfc-style-card { background: var(--kfc-surface); border: 1px solid var(--kfc-border); color: var(--kfc-charcoal); text-decoration: none; }
.kfc-style-card img { aspect-ratio: 4 / 3; display: block; object-fit: cover; width: 100%; }
.kfc-style-card > span { display: block; padding: 1.25rem; text-align: center; }
.kfc-style-card strong { display: block; font-family: var(--kfc-heading-font); font-size: 1.65rem; font-weight: 500; }
.kfc-style-card small { color: var(--kfc-muted); display: block; font-size: .9rem; margin-top: .25rem; }

.kfc-feature { display: grid; grid-template-columns: 1.05fr .95fr; margin: 0 auto; max-width: 1200px; }
.kfc-feature__media { margin: 0; position: relative; }
.kfc-feature__media img { height: 100%; object-fit: cover; width: 100%; }
.kfc-feature figcaption { bottom: .4rem; color: #fff; font-size: .7rem; position: absolute; right: .6rem; text-shadow: 0 1px 3px #000; }
.kfc-feature__copy { align-content: center; background: var(--kfc-surface); display: grid; padding: clamp(2rem, 5vw, 4.5rem); }

.kfc-recommendation { align-items: center; background: var(--kfc-cream); border: 1px solid var(--kfc-border); display: flex; gap: 2rem; justify-content: space-between; margin: 2rem auto 5rem; max-width: 1200px; padding: 1.5rem 2rem; }
.kfc-recommendation__label { color: var(--kfc-brass); display: block; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.kfc-recommendation strong { color: var(--kfc-burgundy); display: block; font-family: var(--kfc-heading-font); font-size: 1.55rem; }
.kfc-recommendation p { margin: .2rem 0 0; }

/* Final editorial homepage sections. */
.kfc-section-intro { margin: 1.15rem auto 0; max-width: 46rem; }
.kfc-section-more { margin: 2rem 0 0; text-align: center; }
.kfc-guides-section { background: var(--kfc-surface); }
.kfc-guide-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kfc-guide-card {
    align-items: center;
    background: var(--kfc-ivory);
    border: 1px solid var(--kfc-border);
    color: var(--kfc-charcoal);
    display: grid;
    gap: 1rem;
    grid-template-columns: 44px minmax(0, 1fr) 20px;
    min-height: 142px;
    padding: 1.35rem;
    position: relative;
    text-decoration: none;
}
.kfc-guide-card:hover { border-color: var(--kfc-brass); color: var(--kfc-charcoal); }
.kfc-guide-card__icon { color: var(--kfc-burgundy); height: 42px; width: 42px; }
.kfc-guide-card strong { display: block; font-family: var(--kfc-heading-font); font-size: 1.35rem; font-weight: 550; line-height: 1.15; }
.kfc-guide-card small { color: var(--kfc-muted); display: block; font-size: .9rem; line-height: 1.45; margin-top: .35rem; }
.kfc-guide-card .kfc-card-arrow { bottom: auto; position: static; right: auto; }
.kfc-faq-section { padding-bottom: clamp(4rem, 7vw, 6rem); }
.kfc-faq-list { margin: 0 auto; max-width: 900px; }
.kfc-faq-list details { background: var(--kfc-surface); border: 1px solid var(--kfc-border); margin-top: .75rem; padding: 0 1.35rem; }
.kfc-faq-list summary { color: var(--kfc-charcoal); cursor: pointer; font-family: var(--kfc-heading-font); font-size: 1.35rem; font-weight: 550; padding: 1.1rem 2rem 1.1rem 0; position: relative; }
.kfc-faq-list summary::marker { color: var(--kfc-brass); }
.kfc-faq-list details[open] { border-color: var(--kfc-brass); }
.kfc-faq-list details p { margin: 0; max-width: 48rem; padding: 0 0 1.25rem; }

/* Legacy calculators: fill the box, add breathing room, preserve JS hooks. */
.entry-content .full-size.produkte { margin: 1.5rem 0 2rem; width: 100%; }
.entry-content .headline-product-line { background: var(--kfc-cream) !important; border: 1px solid var(--kfc-border); padding: 1.5rem !important; }
.entry-content .headline-product-line > p:first-child,
.entry-content .headline-product-line > br:first-child { margin-bottom: 1rem; }
.entry-content form[name="rechnerdurchm"],
.entry-content form[name="rechnerhoehe"],
.entry-content form[name="Wattzahlrechner"] { margin-top: 1rem; width: 100%; }
.entry-content form .kfc-legacy-row { align-items: center; display: grid; gap: .75rem 1rem; grid-template-columns: minmax(180px, 1fr) minmax(160px, 2fr); margin: .75rem 0; }
.entry-content form .kfc-legacy-col { flex: none; width: auto; }
.entry-content form input,
.entry-content form select { max-width: none; min-height: 44px; width: 100%; }

.single-post .full-size.produkte,
.single-post .headline-product-line,
.single-post form[name="rechnerdurchm"],
.single-post form[name="rechnerhoehe"],
.single-post form[name="Wattzahlrechner"] { box-sizing: border-box; max-width: none; width: 100%; }

/* Category/archive titles need card scale, not single-post scale. */
.archive .page-title { font-size: clamp(2.2rem, 4vw, 3.6rem); }
.archive .entry-title,
.archive .entry-title a { font-size: clamp(1.65rem, 2.3vw, 2.35rem); line-height: 1.15; overflow-wrap: anywhere; }
.archive .ast-article-post { background: var(--kfc-surface); border: 1px solid var(--kfc-border); }

/* Compact visual introductions for the two editorial hubs. */
.kfc-archive-hero {
    background: var(--kfc-burgundy-dark);
    color: #fff;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    height: 360px;
    margin-bottom: 2.5rem;
}
.kfc-archive-hero__copy { align-content: center; display: grid; padding: clamp(2.5rem, 5vw, 4.5rem); }
.kfc-archive-hero__copy .kfc-eyebrow { margin-bottom: .7rem; }
.kfc-archive-hero h1 { color: #fff; font-size: clamp(2.65rem, 4.5vw, 4.35rem); margin: 0; }
.kfc-archive-hero p:last-child { font-size: 1.15rem; margin: 1rem 0 0; max-width: 32rem; }
.kfc-archive-hero__media { height: 360px; margin: 0; position: relative; }
.kfc-archive-hero__media img { height: 100%; object-fit: cover; width: 100%; }
.kfc-archive-hero__media figcaption { bottom: .45rem; color: #fff; font-size: .7rem; position: absolute; right: .65rem; text-shadow: 0 1px 3px #000; }
.archive .kfc-archive-hero + .ast-row { margin-top: 0; }

/* Editorial style worlds and Awin-backed recommendations. */
.kfc-style-hero { background: var(--kfc-burgundy-dark); color: #fff; display: grid; grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr); margin: -2.5rem calc(50% - 50vw) 3rem; min-height: 420px; }
.kfc-style-hero__copy { align-content: center; display: grid; padding: clamp(3rem, 7vw, 7rem); }
.kfc-style-hero__copy h1 { color: #fff; font-size: clamp(3rem, 5.3vw, 5.25rem); line-height: .96; margin: 0; max-width: 10ch; }
.kfc-style-hero__copy > p:last-child { font-size: 1.15rem; line-height: 1.55; margin: 1.25rem 0 0; max-width: 31rem; }
.kfc-style-hero__media { margin: 0; min-height: 420px; position: relative; }
.kfc-style-hero__media img { display: block; height: 100%; object-fit: cover; width: 100%; }
.kfc-style-hero--schwarz .kfc-style-hero__media img { object-position: 63% center; }
.kfc-style-hero__media figcaption { bottom: .5rem; color: #fff; font-size: .7rem; position: absolute; right: .65rem; text-shadow: 0 1px 3px #000; }
.kfc-style-intro { font-size: 1.15rem; line-height: 1.65; max-width: 46rem; }
.kfc-style-checklist { background: var(--kfc-cream); border-left: 3px solid var(--kfc-brass); margin: 2.5rem 0; padding: 1.5rem clamp(1.25rem, 3vw, 2rem); }
.kfc-style-checklist h2 { margin-top: 0; }
.kfc-style-checklist ul { margin-bottom: 0; }
.kfc-feed-products { border-top: 1px solid var(--kfc-border); margin: 3rem 0; padding-top: 2rem; }
.kfc-feed-products__eyebrow { color: var(--kfc-burgundy); font-size: .78rem; font-weight: 700; letter-spacing: .1em; margin-bottom: 1rem; text-transform: uppercase; }
.kfc-feed-products__grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kfc-feed-product { background: var(--kfc-surface); border: 1px solid var(--kfc-border); display: flex; flex-direction: column; min-width: 0; }
.kfc-feed-product__image { aspect-ratio: 4 / 3; background: #fff; overflow: hidden; }
.kfc-feed-product__image img { height: 100%; object-fit: contain; width: 100%; }
.kfc-feed-product__content { display: flex; flex: 1; flex-direction: column; padding: 1.3rem; }
.kfc-feed-product__merchant { color: var(--kfc-burgundy); font-size: .72rem; font-weight: 700; letter-spacing: .09em; margin: 0 0 .5rem; text-transform: uppercase; }
.kfc-feed-product h3 { font-size: 1.45rem; line-height: 1.08; margin: 0; }
.kfc-feed-product h3 + p { color: var(--kfc-muted); font-size: .95rem; line-height: 1.5; margin: .7rem 0; }
.kfc-feed-product__price { color: var(--kfc-burgundy); font-size: 1.05rem; font-weight: 700; margin: auto 0 1rem; padding-top: .8rem; }
.kfc-feed-product .kfc-text-link { margin-top: auto; }
.kfc-feed-fallback { margin: 2rem 0; }

/* Buying guide: price-led editorial page with a current feed selection. */
.kfc-buy-hero { background: var(--kfc-burgundy-dark); color: #fff; display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 1fr); margin: -2.5rem calc(50% - 50vw) 2.5rem; min-height: 420px; }
.kfc-buy-hero__copy { align-content: center; display: grid; padding: clamp(3rem, 5vw, 6rem); }
.kfc-buy-hero h1 { color: #fff; font-size: clamp(2.8rem, 4.8vw, 4.75rem); line-height: .96; margin: 0; overflow-wrap: normal; }
.kfc-buy-hero__copy > p:nth-of-type(2) { font-size: 1.15rem; line-height: 1.55; margin: 1.25rem 0 0; max-width: 32rem; }
.kfc-buy-hero__copy .button { margin-top: .5rem; }
.kfc-buy-hero__media { margin: 0; min-height: 420px; }
.kfc-buy-hero__media img { display: block; height: 100%; object-fit: cover; width: 100%; }
.kfc-buy-nav { border-block: 1px solid var(--kfc-border); display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 0 0 2.5rem; padding: 1rem 0; }
.kfc-buy-nav a { font-weight: 650; text-decoration: none; }
.kfc-buy-intro { font-size: 1.18rem; line-height: 1.65; max-width: 47rem; }
.kfc-price-guide { margin: 3rem 0; }
.kfc-price-guide__grid, .kfc-source-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kfc-price-guide article, .kfc-source-card { background: var(--kfc-surface); border: 1px solid var(--kfc-border); padding: 1.5rem; }
.kfc-price-guide h3, .kfc-source-card h2 { font-size: 1.7rem; margin: 0 0 .65rem; }
.kfc-price-guide p:last-child, .kfc-source-card p:last-child { margin-bottom: 0; }
.kfc-buy-checklist { background: var(--kfc-cream); border-left: 3px solid var(--kfc-brass); margin: 3rem 0; padding: 1.75rem clamp(1.25rem, 3vw, 2rem); }
.kfc-buy-checklist h2 { margin-top: 0; }
.kfc-buy-checklist ul { margin-bottom: 0; }
.kfc-source-card--featured { background: var(--kfc-burgundy); border-color: var(--kfc-burgundy); color: #fff; }
.kfc-source-card--featured h2, .kfc-source-card--featured .kfc-eyebrow { color: #fff; }
.kfc-source-card--featured .button { background: #fff; border-color: #fff; color: var(--kfc-burgundy); }
.kfc-buy-faq { border-top: 1px solid var(--kfc-border); margin-top: 3rem; padding-top: 2rem; }
.kfc-buy-faq h3 { margin-bottom: .45rem; }
.post-777 .entry-header { display: none; }
.kfc-style-index { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 2.5rem 0; }
.kfc-style-index a { background: var(--kfc-surface); border: 1px solid var(--kfc-border); color: var(--kfc-charcoal); display: block; padding: 1.5rem; text-decoration: none; }
.kfc-style-index a:hover { border-color: var(--kfc-brass); color: var(--kfc-burgundy); }
.kfc-style-index strong { display: block; font-family: var(--kfc-heading-font); font-size: 1.5rem; font-weight: 550; }
.kfc-style-index span { color: var(--kfc-muted); display: block; margin-top: .45rem; }

@media (min-width: 922px) and (max-width: 1199px) {
    .kfc-hero { grid-template-columns: minmax(390px, .9fr) minmax(0, 1.35fr); }
    .kfc-hero__copy { padding: 4rem clamp(2.5rem, 5vw, 4.5rem); }
    .kfc-hero h1 { font-size: clamp(3.2rem, 5.3vw, 4.15rem); }
    .kfc-trust span { padding-inline: clamp(1rem, 2.2vw, 2rem); }
}

@media (max-width: 921px) {
    body { font-size: 17px; }
    .main-header-bar .ast-container { min-height: 64px; }
    .site-branding img, .custom-logo-link img { max-height: 46px; max-width: 230px; }
    .ast-mobile-header-wrap .ast-primary-header-bar { background: var(--kfc-surface); }
    .entry-content > h2::after,
    .kfc-heading-ornament { width: 48px; background-size: 19px 1px, 19px 1px, 7px 7px; }
    .kfc-hero { grid-template-columns: 1fr; height: auto; min-height: 0; }
    .kfc-hero__copy { padding: 3.5rem 1.5rem; }
    .kfc-hero__media { height: 360px; min-height: 360px; }
    .kfc-tool-grid, .kfc-style-grid { grid-template-columns: 1fr; }
    .kfc-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kfc-feature { grid-template-columns: 1fr; }
    .kfc-feature__media { min-height: 320px; }
    .kfc-site-footer__grid { grid-template-columns: repeat(2, 1fr); }
    .kfc-archive-hero { grid-template-columns: 1fr; height: auto; }
    .kfc-archive-hero__media { height: 280px; }
    .kfc-style-hero { grid-template-columns: 1fr; margin-top: -1.5rem; min-height: 0; }
    .kfc-style-hero__copy { padding: 3.5rem 1.5rem; }
    .kfc-style-hero__media { min-height: 320px; }
    .kfc-feed-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kfc-buy-hero { grid-template-columns: 1fr; margin-top: -1.5rem; min-height: 0; }
    .kfc-buy-hero__copy { padding: 3.5rem 1.5rem; }
    .kfc-buy-hero__media { min-height: 320px; }
    .kfc-price-guide__grid, .kfc-source-grid { grid-template-columns: 1fr; }
}

@media (max-width: 544px) {
    body { font-size: 16px; }
    h1, .entry-title { font-size: clamp(2.35rem, 11vw, 3.25rem); }
    h2 { font-size: clamp(1.85rem, 8vw, 2.5rem); }
    .site-branding img, .custom-logo-link img { max-width: 190px; }
    .kfc-wordmark__mark { width: 28px; }
    .kfc-wordmark__text { font-size: 1.3rem; }
    .entry-content > h2 { margin-top: 1.8em; }
    .kfc-trust { display: grid; }
    .kfc-trust span { padding: .75rem 1.5rem; }
    .kfc-trust span::before { flex-basis: 1.2rem; height: 1.2rem; width: 1.2rem; }
    .kfc-archive-hero { margin-bottom: 1.5rem; }
    .kfc-archive-hero__copy { padding: 2.5rem 1.5rem; }
    .kfc-archive-hero h1 { font-size: clamp(2.35rem, 11vw, 3.15rem); }
    .kfc-archive-hero__media { height: 230px; }
    .kfc-style-hero__media { min-height: 250px; }
    .kfc-style-hero__copy h1 { font-size: clamp(2.5rem, 11vw, 3.4rem); }
    .kfc-feed-products__grid, .kfc-style-index { grid-template-columns: 1fr; }
    .kfc-recommendation { align-items: stretch; flex-direction: column; margin-inline: 1rem; }
    .kfc-guide-grid { grid-template-columns: 1fr; }
    .kfc-guide-card { min-height: 120px; }
    .kfc-site-footer__grid { grid-template-columns: 1fr; }
    .entry-content form .kfc-legacy-row { grid-template-columns: 1fr; }
}
