﻿/* Author theme — 2-color system + neutrals (#241C1A · #8B2F3C · #FBF7F0 · #F4EBE0) */
:root {
    --text: #241c1a;
    /* Contrast: body / muted / placeholders (light backgrounds) */
    --text-body: rgba(36, 28, 26, 0.78);
    --text-muted: rgba(36, 28, 26, 0.62);
    --text-subtle: rgba(36, 28, 26, 0.7);
    --text-placeholder: rgba(36, 28, 26, 0.55);
    --accent: #8b2f3c;
    --accent-hover: #6e252e;
    --bg: #fbf7f0;
    --bg-alt: #f4ebe0;
    --white: #ffffff;
    --border: rgba(36, 28, 26, 0.1);
    --veil: rgba(0, 0, 0, 0.05);
    /* Legacy aliases (maps old tokens to the palette) */
    --cream: var(--bg);
    --cream-mid: var(--bg-alt);
    --cream-dark: var(--bg-alt);
    --cream-block: var(--bg-alt);
    --white-soft: #ffffff;
    --ink: var(--text);
    --ink-soft: var(--text-body);
    --green: var(--accent);
    --green-light: var(--accent-hover);
    --green-deep: var(--accent-hover);
    --gold: var(--accent);
    --gold-bright: var(--accent);
    --gold-soft: var(--bg-alt);
    --radius-card: 1.125rem;
    --radius-lg: 1.75rem;
    --shadow-soft: 0 4px 6px var(--veil), 0 20px 50px rgba(36, 28, 26, 0.06);
    --shadow-card: 0 8px 30px rgba(36, 28, 26, 0.08), 0 2px 8px var(--veil);
    --shadow-card-hover: 0 24px 60px rgba(36, 28, 26, 0.12), 0 8px 20px rgba(36, 28, 26, 0.06);
    --shadow-hero-book: 0 40px 80px rgba(36, 28, 26, 0.2), 0 12px 32px rgba(36, 28, 26, 0.1);
    --font-serif: "Nunito", system-ui, sans-serif;
    --font-sans: "Nunito", system-ui, sans-serif;
    --header-h: 72px;
    /* Section vertical rhythm (single source — responsive via --section-pad-y) */
    --section-space-desktop: 96px;
    --section-space-tablet: 72px;
    --section-space-mobile: 56px;
    --section-hero-padding-top: 120px;
    --section-footer-bottom: 64px;
    --section-pad-y: var(--section-space-desktop);
}

@media (max-width: 991.98px) {
    :root {
        --section-pad-y: var(--section-space-tablet);
    }
}

@media (max-width: 575.98px) {
    :root {
        --section-pad-y: var(--section-space-mobile);
    }
}

/* Step 4: tablet/mobile spacing uses --section-space-tablet / --section-space-mobile via --section-pad-y on :root. */

/* Overrides Bootstrap py-* on inner pages; aligns .bp-presentation sections with --section-pad-y */
.site-main section[class*="py-5"]:not(.page-hero):not(.bp-hero):not(.no-section-rhythm),
.site-main section[class*="py-lg-6"]:not(.page-hero):not(.bp-hero):not(.no-section-rhythm),
.bp-presentation section:not(.bp-hero):not(.bp-band--flush):not(.no-section-rhythm),
.tii-section,
.blog-section,
.footer-section,
.cta-section {
    padding-top: var(--section-pad-y) !important;
    padding-bottom: var(--section-pad-y) !important;
}

.leona-footer .leona-footer__main {
    padding-top: var(--section-pad-y) !important;
    padding-bottom: var(--section-footer-bottom) !important;
}

/* Exclude Blacks hero bar (nav / logo wrap / tools / scroll) — otherwise .site-main a accent wins on dark hero */
.site-main a:not(.btn):not(.stretched-link):not(.nav-link):not(.dropdown-item):not(.navbar-brand):not(.page-link):not(.bp-cat-pill):not(.blacks-hero__nav-link):not(.blacks-hero__tool):not(.blacks-hero__scroll):not(.blacks-hero__logo) {
    color: var(--accent);
}

.site-main a:not(.btn):not(.stretched-link):not(.nav-link):not(.dropdown-item):not(.navbar-brand):not(.page-link):not(.blacks-hero__nav-link):not(.blacks-hero__tool):not(.blacks-hero__scroll):not(.blacks-hero__logo):hover {
    color: var(--accent-hover);
}

.text-secondary {
    color: var(--text-muted) !important;
}

.leona-contact-info__label {
    color: var(--text-muted) !important;
}

/* Forms on light backgrounds — readable text & placeholders */
.site-body .form-control,
.site-body .form-select {
    color: var(--text);
}

.site-body .form-control::placeholder,
.site-body .form-select::placeholder {
    color: var(--text-placeholder);
    opacity: 1;
}

@media (prefers-reduced-motion: no-preference) {
    html.site-html {
        scroll-behavior: smooth;
    }
}

@media (min-width: 992px) {
    .py-lg-6 {
        padding-top: 4.5rem !important;
        padding-bottom: 4.5rem !important;
    }
}

#main-content {
    scroll-margin-top: calc(var(--header-h) + 12px);
}

html.site-html,
body.site-body {
    max-width: 100%;
    overflow-x: hidden;
}

.site-body {
    font-family: var(--font-sans);
    color: var(--text-body);
    background-color: var(--cream);
    font-size: 1rem;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

.site-main {
    overflow-x: hidden;
    max-width: 100%;
}

.font-serif {
    font-family: var(--font-serif);
}

.text-brand-dark {
    color: var(--ink) !important;
}

.letter-spacing {
    letter-spacing: 0.12em;
}

/* ——— Header & navbar ——— */
.site-header {
    background: rgba(253, 252, 250, 0.88);
    backdrop-filter: blur(14px) saturate(1.2);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    position: sticky;
    top: 0;
    z-index: 1030;
    border-color: rgba(36, 28, 26, 0.07) !important;
    transition: box-shadow 0.35s ease, background 0.35s ease;
}

.site-header.is-scrolled {
    background: rgba(253, 252, 250, 0.96);
    box-shadow: 0 10px 40px rgba(36, 28, 26, 0.07);
}

.site-navbar .navbar-brand {
    font-size: clamp(1.2rem, 2.5vw, 1.4rem);
    letter-spacing: 0.03em;
    transition: color 0.2s ease;
}

.site-navbar .navbar-brand:hover {
    color: var(--green) !important;
}

.site-logo img {
    height: 40px;
    width: auto;
    display: block;
}
.site-logo:hover img {
    opacity: 0.92;
}

.footer-logo img {
    height: 45px;
    width: auto;
    display: block;
}

.site-nav-toggler {
    width: 44px;
    height: 44px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(36, 28, 26, 0.06);
}

.site-nav-toggler:focus-visible {
    outline: 2px solid var(--gold-bright);
    outline-offset: 2px;
}

.site-nav-toggler__bars,
.site-nav-toggler__bars::before,
.site-nav-toggler__bars::after {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--green);
    border-radius: 2px;
    transition: transform 0.25s ease, opacity 0.2s ease;
}

.site-nav-toggler__bars {
    position: relative;
}

.site-nav-toggler__bars::before,
.site-nav-toggler__bars::after {
    content: "";
    position: absolute;
    left: 0;
}

.site-nav-toggler__bars::before {
    top: -7px;
}

.site-nav-toggler__bars::after {
    top: 7px;
}

.navbar-toggler[aria-expanded="true"] .site-nav-toggler__bars {
    background: transparent;
}

.navbar-toggler[aria-expanded="true"] .site-nav-toggler__bars::before {
    transform: translateY(7px) rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .site-nav-toggler__bars::after {
    transform: translateY(-7px) rotate(-45deg);
}

.site-nav-collapse {
    border-top: 1px solid rgba(36, 28, 26, 0.08);
    margin-top: 0.5rem;
}

@media (max-width: 991.98px) {
    .site-nav-collapse {
        background: rgba(253, 252, 250, 0.98);
        border-radius: 0 0 1rem 1rem;
        border: 1px solid rgba(36, 28, 26, 0.07);
        border-top: 1px solid rgba(36, 28, 26, 0.06);
        margin-top: 0.35rem;
        padding-bottom: 1rem;
        box-shadow: 0 20px 50px rgba(36, 28, 26, 0.1);
    }
}

@media (min-width: 992px) {
    .site-nav-collapse {
        border-top: 0;
        margin-top: 0;
        background: transparent;
        box-shadow: none;
        border: 0;
        padding-bottom: 0;
    }
}

.site-navbar .nav-link {
    color: var(--ink-soft) !important;
    font-weight: 500;
    font-size: 0.95rem;
    padding: 0.55rem 0.9rem !important;
    border-radius: 0.4rem;
    transition: color 0.2s ease, background 0.2s ease;
    position: relative;
}

.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus {
    color: var(--green) !important;
    background: rgba(36, 28, 26, 0.06);
}

.site-navbar .nav-link::before {
    content: "";
    position: absolute;
    left: 0.9rem;
    right: 0.9rem;
    bottom: 0.25rem;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold-bright), transparent);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.site-navbar .nav-link:hover::before,
.site-navbar .nav-link:focus::before {
    opacity: 0.95;
    transform: translateY(0);
}

@media (max-width: 991.98px) {
    .site-navbar .nav-link {
        border-radius: 0.5rem;
        margin-bottom: 0.15rem;
    }

    .site-navbar .nav-link.active {
        background: rgba(36, 28, 26, 0.08);
        color: var(--green) !important;
        font-weight: 600;
        border-left: 3px solid var(--gold-bright);
        padding-left: calc(0.9rem - 3px) !important;
    }

    .site-navbar .nav-item:last-child .btn-brand {
        width: 100%;
        margin-top: 0.75rem;
    }
}

@media (min-width: 992px) {
    .site-navbar .nav-link.active {
        color: var(--ink) !important;
        font-weight: 600;
    }

    .site-navbar .nav-link.active::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0.2rem;
        transform: translateX(-50%);
        width: 22px;
        height: 2px;
        background: linear-gradient(90deg, transparent, var(--gold-bright), transparent);
        border-radius: 2px;
    }
}

.btn-brand {
    --bs-btn-bg: var(--green);
    --bs-btn-border-color: var(--green);
    --bs-btn-hover-bg: var(--green-light);
    --bs-btn-hover-border-color: var(--green-light);
    --bs-btn-color: var(--white);
    --bs-btn-hover-color: var(--white);
    --bs-btn-active-bg: var(--green-deep);
    --bs-btn-active-border-color: var(--green-deep);
    font-weight: 600;
    border-radius: 2rem;
    letter-spacing: 0.03em;
    box-shadow: 0 4px 14px rgba(36, 28, 26, 0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.leona-nav-cta {
    border-radius: 999px;
    letter-spacing: 0.08em;
    box-shadow: 0 10px 24px rgba(36, 28, 26, 0.24);
}

.leona-nav-cta:hover {
    transform: translateY(-1px);
}

.trailer-subhead {
    max-width: 34rem;
}

.play-button {
    animation: trailerPulse 2.4s ease-in-out infinite;
}

@keyframes trailerPulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(139, 47, 60, 0.4); }
    70% { transform: scale(1.03); box-shadow: 0 0 0 16px rgba(139, 47, 60, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(139, 47, 60, 0); }
}

.book-main-image,
.leona-hero-book__img {
    transition: transform 0.55s ease, filter 0.4s ease, box-shadow 0.4s ease;
}

.book-image-wrapper:hover .book-main-image,
.leona-hero-book:hover .leona-hero-book__img,
.leona-the-book-cover:hover .leona-img {
    transform: translateY(-6px) scale(1.02);
    filter: saturate(1.04);
}

.leona-benefit,
.leona-review,
.about-author-stat,
.leona-contact-card,
.leona-contact-form-wrap,
.cart-totals-card,
.checkout-summary-card {
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
}

.leona-benefit:hover,
.leona-review:hover,
.about-author-stat:hover,
.leona-contact-card:hover,
.leona-contact-form-wrap:hover,
.cart-totals-card:hover,
.checkout-summary-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card-hover);
    border-color: rgba(166, 124, 82, 0.24) !important;
}

.checkout-card,
.checkout-summary-card,
.cart-totals-card,
.shop-table-wrap,
.leona-the-book-showcase .col-lg-7 {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(36, 28, 26, 0.08);
    border-radius: 1.1rem;
    box-shadow: var(--shadow-card);
}

.checkout-card,
.checkout-summary-card,
.cart-totals-card {
    padding: 1.45rem;
}

.checkout-payment-block .form-check {
    background: #fff;
    border: 1px solid rgba(36, 28, 26, 0.12);
    border-radius: 0.8rem;
    padding: 0.6rem 0.75rem 0.6rem 2rem;
    margin-bottom: 0.5rem;
}

.checkout-payment-block .form-check-input:checked {
    background-color: var(--green);
    border-color: var(--green);
}

.shop-cart-table tbody tr {
    transition: background-color 0.2s ease;
}

.shop-cart-table tbody tr:hover {
    background: rgba(247, 243, 235, 0.65);
}

.leona-footer-social {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.leona-footer-social a {
    font-size: 0.82rem;
    color: var(--accent);
    text-decoration: none;
}

.leona-footer-social a:hover {
    color: var(--accent-hover);
}

@media (max-width: 991.98px) {
    .checkout-card,
    .checkout-summary-card,
    .cart-totals-card {
        padding: 1.1rem;
        border-radius: 0.95rem;
    }

    .trailer-subhead {
        font-size: 0.95rem;
    }
}

.btn-brand:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(36, 28, 26, 0.3);
}

.btn-outline-brand {
    color: var(--green);
    border-color: rgba(36, 28, 26, 0.35);
    border-radius: 2rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.btn-outline-brand:hover {
    background: var(--green);
    border-color: var(--green);
    color: var(--white);
    transform: translateY(-1px);
}

/* ——— Page hero (inner pages) ——— */
.page-hero {
    background: linear-gradient(180deg, var(--white-soft) 0%, var(--cream) 100%);
    border-bottom: 1px solid rgba(36, 28, 26, 0.08);
    padding-top: var(--section-pad-y);
    padding-bottom: var(--section-pad-y);
    position: relative;
}

.page-hero::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: min(200px, 40%);
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--gold-soft), transparent);
    opacity: 0.85;
    border-radius: 3px;
}

.page-hero .section-title {
    margin-bottom: 0.75rem;
}

.page-hero .lead,
.page-hero p.text-secondary {
    font-size: 1.05rem;
    line-height: 1.65;
    max-width: 38rem;
}

.page-hero--center {
    text-align: center;
}

.page-hero--center .lead,
.page-hero--center p.text-secondary {
    margin-left: auto;
    margin-right: auto;
}

.page-hero--simple::after {
    display: none;
}

/* ——— Section blocks & dividers ——— */
.section-block {
    position: relative;
}

.section-block--tint {
    background: var(--cream-block);
}

.section-block--muted {
    background: linear-gradient(180deg, var(--cream-dark) 0%, var(--cream-mid) 100%);
}

.section-block--white {
    background: linear-gradient(180deg, var(--white-soft) 0%, var(--cream) 55%);
}

.section-ornament {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 0.75rem 1rem 0;
    margin: 0;
}

.section-ornament::before,
.section-ornament::after {
    content: "";
    flex: 1;
    max-width: 100px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(166, 124, 82, 0.45), transparent);
}

.section-ornament span {
    display: block;
    width: 7px;
    height: 7px;
    background: var(--gold-bright);
    opacity: 0.75;
    transform: rotate(45deg);
    flex-shrink: 0;
}

.section-head {
    max-width: 640px;
}

.section-head--center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* ——— Hero home ——— */
.hero-section {
    padding: clamp(3.25rem, 10vw, 7rem) 0 clamp(3.5rem, 9vw, 6.5rem);
    background: linear-gradient(168deg, var(--white-soft) 0%, var(--cream) 38%, var(--cream-dark) 100%);
    position: relative;
    overflow: hidden;
}

.hero-section::before {
    content: "";
    position: absolute;
    inset: -25% -15% auto auto;
    width: min(58vw, 560px);
    height: min(58vw, 560px);
    background: radial-gradient(circle, rgba(196, 154, 108, 0.2) 0%, transparent 68%);
    pointer-events: none;
}

.hero-section::after {
    content: "";
    position: absolute;
    inset: auto auto -40% -20%;
    width: min(50vw, 420px);
    height: min(50vw, 420px);
    background: radial-gradient(circle, rgba(36, 28, 26, 0.06) 0%, transparent 70%);
    pointer-events: none;
}

.hero-kicker {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.24em;
    color: var(--gold);
    font-weight: 700;
    margin-bottom: 1rem;
}

.hero-title {
    font-family: var(--font-serif);
    color: var(--ink);
    font-weight: 600;
    font-size: clamp(2.35rem, 5.5vw, 3.65rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
    margin-bottom: 1.25rem;
}

.hero-lead {
    font-size: clamp(1.05rem, 2vw, 1.2rem);
    max-width: 34rem;
    line-height: 1.65;
    color: var(--ink-soft);
}

.hero-copy .text-secondary,
.hero-copy p:not(.hero-lead) {
    font-size: 1.02rem;
    max-width: 36rem;
}

.hero-book {
    position: relative;
    z-index: 1;
}

.hero-book__frame {
    display: inline-block;
    padding: clamp(10px, 2vw, 14px);
    background: linear-gradient(148deg, var(--white) 0%, var(--cream-mid) 100%);
    border-radius: calc(var(--radius-lg) + 8px);
    box-shadow: var(--shadow-hero-book), 0 0 0 1px rgba(36, 28, 26, 0.06);
}

.hero-book__caption {
    margin-top: 1.25rem;
    font-size: 0.8rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-soft);
    font-weight: 600;
}

.hero-book__caption span {
    color: var(--gold);
    margin: 0 0.35rem;
}

/* Legacy wrap (optional); hero uses .hero-book__frame + .book-cover-card */
.book-cover-wrap {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-card-hover);
    background: linear-gradient(145deg, var(--green) 0%, var(--green-deep) 100%);
    aspect-ratio: 2 / 3;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

.book-cover-wrap--hero {
    max-width: min(340px, 88vw);
    margin-left: auto;
    margin-right: auto;
    border-radius: var(--radius-lg);
    box-shadow: 0 28px 56px rgba(36, 28, 26, 0.25);
}

@media (min-width: 992px) {
    .text-lg-end .hero-book__frame {
        margin-right: 0;
        margin-left: auto;
    }

    .text-lg-end .book-cover-wrap--hero {
        margin-right: 0;
        margin-left: auto;
    }
}

.book-cover-wrap .book-cover-card {
    width: 100%;
    height: 100%;
    min-height: 100%;
    border-radius: 0;
    display: block;
    transition: transform 0.55s cubic-bezier(0.33, 1, 0.68, 1);
}

.book-cover-wrap:hover .book-cover-card {
    transform: scale(1.04);
}

.img-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 100%;
    padding: 1rem !important;
    color: var(--cream);
    font-family: var(--font-serif);
    font-size: 0.9rem !important;
    line-height: 1.35 !important;
    background: linear-gradient(145deg, var(--green), var(--green-deep)) !important;
    border: 1px dashed rgba(255, 255, 255, 0.25);
}

.section-title {
    font-family: var(--font-serif);
    color: var(--ink);
    font-weight: 600;
    font-size: clamp(1.85rem, 3.2vw, 2.35rem);
    letter-spacing: -0.02em;
}

.section-kicker {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--gold);
    font-weight: 700;
}

/* ——— Book cards ——— */
.book-card {
    background: var(--white);
    border-radius: var(--radius-card);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    border: 1px solid rgba(36, 28, 26, 0.06);
    height: 100%;
    transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1), box-shadow 0.4s ease;
    position: relative;
}

.book-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-card-hover);
}

.book-card .cover {
    aspect-ratio: 2 / 3;
    background: linear-gradient(165deg, var(--cream-dark), #d5cdc0);
    position: relative;
    overflow: hidden;
}

.book-card .cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(36, 28, 26, 0.2) 100%);
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
}

.book-card:hover .cover::after {
    opacity: 1;
}

.book-card .cover .book-cover-card {
    width: 100%;
    height: 100%;
    min-height: 100%;
    border-radius: 0;
    transition: transform 0.55s cubic-bezier(0.33, 1, 0.68, 1);
}

.book-card:hover .cover .book-cover-card {
    transform: scale(1.03);
}

.book-card__label {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    z-index: 2;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--ink);
    background: rgba(253, 252, 250, 0.95);
    padding: 0.35rem 0.65rem;
    border-radius: 2rem;
    box-shadow: 0 4px 12px rgba(36, 28, 26, 0.1);
}

.book-card__body {
    padding: 1.35rem 1.35rem 1.25rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

@media (min-width: 992px) {
    .book-card__body {
        padding: 1.5rem 1.5rem 1.35rem;
    }
}

.book-card__title {
    font-family: var(--font-serif);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.3;
    margin-bottom: 0.35rem;
}

.book-card__subtitle {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gold);
    font-weight: 600;
    margin-bottom: 0.65rem;
}

.book-card__excerpt {
    font-size: 0.9rem;
    color: var(--ink-soft);
    line-height: 1.6;
    flex-grow: 1;
    margin-bottom: 1rem;
}

.book-card__meta {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding-top: 1rem;
    margin-top: auto;
    border-top: 1px solid rgba(36, 28, 26, 0.08);
}

.book-card__price-value {
    font-family: var(--font-serif);
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--green);
    line-height: 1;
}

.book-card__price-note {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ink-soft);
    margin-top: 0.35rem;
    opacity: 0.85;
}

.book-card__actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.book-card__actions .btn {
    border-radius: 2rem;
    font-weight: 600;
    font-size: 0.8rem;
    padding: 0.4rem 1rem;
}

.book-card__actions--stack {
    display: grid;
    gap: 0.5rem;
    width: 100%;
    margin-top: 0.75rem;
}

.book-card__actions--stack .btn {
    width: 100%;
}

/* ——— Blog cards ——— */
.blog-card {
    border-radius: var(--radius-card);
    overflow: hidden;
    background: var(--white);
    border: 1px solid rgba(36, 28, 26, 0.06);
    box-shadow: var(--shadow-card);
    height: 100%;
    transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1), box-shadow 0.35s ease;
    position: relative;
}

.blog-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-card-hover);
}

.blog-card .thumb {
    aspect-ratio: 16 / 10;
    background: rgba(36, 28, 26, 0.06);
    overflow: hidden;
}

.blog-card .thumb .blog-image-card {
    width: 100%;
    height: 100%;
    min-height: 100%;
    border-radius: 0;
    transition: transform 0.5s ease;
}

.blog-card:hover .thumb .blog-image-card {
    transform: scale(1.04);
}

.blog-card .p-4 {
    padding: 1.35rem !important;
}

@media (min-width: 992px) {
    .blog-card .p-4 {
        padding: 1.5rem !important;
    }
}

/* ——— Quote ——— */
.quote-section {
    background: linear-gradient(165deg, var(--bg-alt) 0%, var(--bg) 100%);
    color: var(--text);
    position: relative;
}

.quote-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h60v60H0z' fill='none'/%3E%3Ccircle cx='2' cy='2' r='1' fill='%23ffffff' fill-opacity='0.04'/%3E%3C/svg%3E");
    opacity: 0.9;
    pointer-events: none;
}

.quote-section .container {
    position: relative;
    z-index: 1;
}

.quote-section .font-serif,
.quote-section blockquote {
    color: var(--text);
}

.quote-section blockquote p,
.quote-section blockquote cite {
    color: var(--text);
}

.quote-mark {
    font-family: var(--font-serif);
    font-size: clamp(3rem, 8vw, 4.5rem);
    line-height: 1;
    color: var(--gold-bright);
    opacity: 0.45;
}

.quote-section blockquote {
    font-size: clamp(1.35rem, 3vw, 1.85rem);
    line-height: 1.45;
    font-weight: 400;
    color: var(--text);
}

.quote-section blockquote footer,
.quote-section blockquote strong {
    color: var(--text);
}

/* ——— About preview ——— */
.about-preview {
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    border: 1px solid rgba(36, 28, 26, 0.06);
}

/* ——— Events ——— */
.event-row {
    border-bottom: 1px solid rgba(36, 28, 26, 0.1);
    padding: 1.65rem 0;
}

.event-row:last-child {
    border-bottom: 0;
}

.event-date-badge {
    font-family: var(--font-serif);
    background: linear-gradient(145deg, var(--green) 0%, var(--green-deep) 100%);
    color: var(--white);
    border-radius: var(--radius-card);
    padding: 1rem 1.2rem;
    text-align: center;
    min-width: 90px;
    box-shadow: 0 8px 24px rgba(36, 28, 26, 0.25);
}

.event-date-badge .day {
    font-size: 1.55rem;
    font-weight: 600;
    line-height: 1;
}

.event-date-badge .mon {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    opacity: 0.92;
}

.badge-soft {
    background: rgba(36, 28, 26, 0.1);
    color: var(--green);
    font-weight: 600;
    border-radius: 2rem;
    padding: 0.38rem 0.9rem;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
}

/* ——— Events list panel ——— */
.events-panel {
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    border: 1px solid rgba(36, 28, 26, 0.06);
    padding: 0.5rem 1.5rem 0.25rem;
}

@media (min-width: 768px) {
    .events-panel {
        padding: 0.75rem 2rem 0.5rem;
    }
}

/* ——— Newsletter band ——— */
.newsletter-band {
    background: linear-gradient(135deg, var(--bg-alt) 0%, #ffffff 55%, var(--bg) 100%);
    color: var(--text-body);
    border-radius: var(--radius-lg);
    padding: clamp(2.25rem, 5vw, 3.75rem);
    box-shadow: var(--shadow-card-hover);
    border: 1px solid var(--border);
}

.newsletter-band h1,
.newsletter-band h2,
.newsletter-band h3,
.newsletter-band .h1,
.newsletter-band .h2,
.newsletter-band .h3 {
    color: var(--text);
}

.newsletter-band p,
.newsletter-band .lead {
    color: var(--text-subtle);
}

.newsletter-band .form-control {
    border-radius: 2rem;
    padding: 0.7rem 1.35rem;
    color: var(--text);
    background-color: #ffffff;
}

.newsletter-band .form-control::placeholder {
    color: var(--text-placeholder);
    opacity: 1;
}

.newsletter-band .btn-light {
    border-radius: 2rem;
    font-weight: 600;
    padding-left: 1.65rem;
    padding-right: 1.65rem;
    color: var(--accent);
    background-color: #ffffff;
    border-color: var(--border);
}

/* ——— Footer ——— */
.site-footer {
    background: var(--bg-alt);
    border-top: 1px solid var(--border);
}

.footer-top {
    border-top: 1px solid var(--border);
}

.footer-col-title {
    color: var(--text);
    font-size: 0.68rem !important;
}

.footer-lead {
    max-width: 22rem;
    line-height: 1.65;
    color: var(--text-body);
}

.footer-links a {
    color: var(--accent);
    text-decoration: none;
    display: inline-block;
    padding: 0.28rem 0;
    transition: color 0.2s ease, transform 0.2s ease;
}

.footer-links a:hover {
    color: var(--accent-hover);
    transform: translateX(3px);
}

.footer-connect a {
    color: var(--accent);
    text-decoration: none;
    word-break: break-word;
}

.footer-connect a:hover {
    color: var(--accent-hover);
}

.footer-social-link {
    color: var(--accent);
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    transition: color 0.2s ease;
}

.footer-social-link:hover {
    color: var(--accent-hover);
}

.footer-newsletter-input {
    background: #ffffff !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: 2rem !important;
}

.footer-newsletter-input::placeholder {
    color: var(--text-placeholder);
    opacity: 1;
}

.btn-gold-footer {
    background: var(--accent);
    border: none;
    color: var(--white);
    border-radius: 2rem;
    transition: background 0.2s ease, transform 0.2s ease;
}

.btn-gold-footer:hover {
    background: var(--accent-hover);
    color: var(--white);
    transform: translateY(-1px);
}

.footer-bottom-note {
    color: var(--text-muted);
    opacity: 1;
}

/* ——— Back to top ——— */
.btn-backtotop {
    position: fixed;
    left: auto;
    top: auto;
    right: max(1.1rem, env(safe-area-inset-right));
    bottom: max(1.25rem, env(safe-area-inset-bottom));
    z-index: 1040; /* below Bootstrap modal (1055) */
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    background: var(--green);
    color: var(--white);
    box-shadow: 0 10px 30px rgba(36, 28, 26, 0.35);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease, background 0.2s ease;
}

.btn-backtotop.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.btn-backtotop:hover {
    background: var(--green-light);
    color: var(--white);
}

.btn-backtotop:focus-visible {
    outline: 2px solid var(--gold-bright);
    outline-offset: 3px;
}

@media (min-width: 992px) {
    .btn-backtotop {
        right: max(1.75rem, env(safe-area-inset-right));
        bottom: max(1.75rem, env(safe-area-inset-bottom));
    }
}

/* ——— Reveal animations ——— */
.reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.reveal-delay-1 {
    transition-delay: 0.1s;
}

.reveal-delay-2 {
    transition-delay: 0.18s;
}

@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .btn-backtotop {
        transition: none;
    }
}

/* ——— Contact ——— */
.contact-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    border: 1px solid rgba(36, 28, 26, 0.06);
}

.form-control,
.form-select {
    border-color: rgba(36, 28, 26, 0.14);
    border-radius: 0.55rem;
}

.form-control:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 0.2rem rgba(36, 28, 26, 0.1);
}

/* ——— Book detail ——— */
.detail-cover {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-card-hover);
    background: linear-gradient(145deg, var(--green), var(--green-deep));
}

.breadcrumb {
    --bs-breadcrumb-divider-color: rgba(61, 77, 70, 0.45);
}

.review-card {
    background: var(--white);
    border-radius: var(--radius-card);
    padding: 1.35rem 1.5rem;
    border: 1px solid rgba(36, 28, 26, 0.07);
    box-shadow: var(--shadow-soft);
}

.stars {
    color: var(--gold-bright);
    letter-spacing: 0.08em;
}

.sample-chapter {
    background: linear-gradient(90deg, var(--cream-dark) 0%, var(--cream-mid) 100%);
    border-left: 4px solid var(--gold-bright);
    border-radius: 0 var(--radius-card) var(--radius-card) 0;
    padding: 1.65rem 1.85rem;
    font-style: italic;
    color: var(--ink);
    font-size: 1.02rem;
    line-height: 1.75;
}

/* ——— Utilities ——— */
.bg-cream-dark {
    background: linear-gradient(180deg, var(--cream-dark) 0%, var(--cream-mid) 100%) !important;
}

.text-green {
    color: var(--green) !important;
}

.text-gold {
    color: var(--gold-bright);
}

.min-vh-50 {
    min-height: 50vh;
}

.ratio-portrait {
    aspect-ratio: 3 / 4;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.ratio-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ratio-portrait .author-portrait-card {
    width: 100%;
    height: 100%;
    max-width: none;
    aspect-ratio: auto;
    min-height: 100%;
    border-radius: 0;
}

.achievement-chip {
    background: rgba(36, 28, 26, 0.07);
    border: 1px solid rgba(36, 28, 26, 0.06);
    transition: background 0.2s ease, transform 0.2s ease;
}

.achievement-chip:hover {
    background: rgba(36, 28, 26, 0.1);
    transform: translateY(-2px);
}

.cta-band {
    background: linear-gradient(180deg, var(--cream-dark) 0%, var(--cream-mid) 100%);
    border-top: 1px solid rgba(36, 28, 26, 0.08);
    border-bottom: 1px solid rgba(36, 28, 26, 0.06);
}

/* ——— Navbar cart & mini cart ——— */
.site-cart-btn {
    color: var(--green);
    background: rgba(36, 28, 26, 0.06);
    border-radius: 0.65rem;
    width: 46px;
    height: 46px;
    padding: 0;
    border: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.site-cart-btn:hover {
    background: rgba(36, 28, 26, 0.12);
    color: var(--green-deep);
}

.cart-count-badge {
    position: absolute;
    top: 4px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    color: var(--white);
    background: var(--gold-bright);
    border-radius: 99px;
}

.cart-count-badge.is-empty {
    opacity: 0.35;
}

.mini-cart-panel {
    width: min(360px, 94vw);
    padding: 0;
    border: 1px solid rgba(36, 28, 26, 0.1);
    border-radius: var(--radius-card);
    overflow: hidden;
}

.mini-cart-panel__head {
    padding: 1rem 1.25rem;
    background: var(--cream-mid);
    border-bottom: 1px solid rgba(36, 28, 26, 0.08);
    font-size: 1.05rem;
}

.mini-cart-panel__body {
    padding: 1rem 1.25rem;
    max-height: 280px;
    overflow-y: auto;
}

.mini-cart-panel__foot {
    padding: 1rem 1.25rem;
    background: var(--white-soft);
    border-top: 1px solid rgba(36, 28, 26, 0.08);
}

.mini-cart-line__img {
    width: 48px;
    border-radius: 0.35rem;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
}

.mini-cart-line__img img {
    width: 48px;
    height: 72px;
    object-fit: cover;
    display: block;
}

.mini-cart-line__img .book-cover-card--thumb,
.mini-cart-line__img .cart-thumb-img {
    display: block;
}

.mini-cart-empty {
    padding: 0.5rem 0;
}

/* ——— Shop / product grid ——— */
.shop-page-intro {
    max-width: 42rem;
}

.product-sale-ribbon {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    z-index: 3;
    background: var(--accent);
    color: var(--white);
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.35rem 0.65rem;
    border-radius: 2rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.book-card .cover .product-author {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.5rem 0.75rem;
    font-size: 0.72rem;
    color: var(--cream);
    background: linear-gradient(transparent, rgba(36, 28, 26, 0.75));
    z-index: 2;
}

.price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem 0.75rem;
}

.price-old {
    font-size: 0.95rem;
    color: var(--ink-soft);
    text-decoration: line-through;
    opacity: 0.75;
}

.product-qty-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.product-qty-row .form-label {
    margin-bottom: 0;
}

.qty-input-lg {
    max-width: 88px;
    text-align: center;
    font-weight: 600;
}

/* ——— Books / shop page (hero + product showcase) ——— */
.books-page-hero__body {
    max-width: 38rem;
    font-size: 1.05rem;
    line-height: 1.65;
}

.books-page-hero__body p:last-child {
    margin-bottom: 0;
}

.books-page-hero__fallback {
    max-width: 38rem;
    font-size: 1.05rem;
    line-height: 1.65;
}

.books-showcase__container {
    max-width: 1080px;
}

.books-showcase__cover-wrap {
    max-width: 380px;
}

.books-showcase__cover-img {
    width: 100%;
    height: auto;
    max-height: min(72vh, 580px);
    object-fit: contain;
    box-shadow: 0 24px 56px rgba(36, 28, 26, 0.14), 0 8px 20px rgba(36, 28, 26, 0.08);
}

.books-product-panel.cinema-product-panel {
    padding: clamp(1.75rem, 4vw, 2.35rem) clamp(1.5rem, 4vw, 2rem);
}

.books-product-eyebrow {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 700;
    color: var(--ink-soft);
    margin-bottom: 0.35rem;
}

.books-product-title {
    font-size: clamp(1.65rem, 3.2vw, 2.15rem);
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: -0.02em;
    margin-bottom: 0.35rem;
}

.books-product-byline {
    font-size: 0.95rem;
    margin-bottom: 0;
}

.books-product-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.65rem;
    font-size: 0.82rem;
}

.books-product-stars {
    color: var(--accent);
    letter-spacing: 0.06em;
    font-size: 0.95rem;
    line-height: 1;
}

.books-product-rating-note {
    color: var(--ink-soft);
    font-size: 0.8rem;
    letter-spacing: 0.02em;
}

.books-product-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem 0.75rem;
}

.books-product-price__was {
    font-size: 0.95rem;
    color: var(--ink-soft);
    text-decoration: line-through;
    opacity: 0.8;
}

.books-product-price__now {
    font-family: var(--font-serif);
    font-size: clamp(1.65rem, 2.8vw, 2.1rem);
    font-weight: 700;
    color: var(--green);
    line-height: 1.1;
}

.books-product-price__label {
    font-size: 0.88rem;
    color: var(--ink-soft);
    font-weight: 500;
}

.books-product-price__label::before {
    content: "·";
    margin-right: 0.45rem;
    opacity: 0.45;
}

.books-product-blurb {
    font-size: 0.98rem;
    line-height: 1.6;
    margin-bottom: 0;
}

.books-product-description {
    font-size: 0.9rem;
    line-height: 1.65;
    margin-top: 0.75rem;
}

.books-product-description p:last-child {
    margin-bottom: 0;
}

.books-product-divider {
    height: 1px;
    background: rgba(36, 28, 26, 0.1);
    margin: clamp(1.25rem, 3vw, 1.75rem) 0;
}

.books-product-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (min-width: 576px) {
    .books-product-actions {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 1rem 1.25rem;
    }
}

.books-product-qty__label {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 600;
    color: var(--ink-soft);
    margin-bottom: 0.35rem;
}

.books-product-qty__input {
    max-width: 5.5rem;
    text-align: center;
    font-weight: 600;
    padding: 0.55rem 0.65rem;
    border-radius: 0.45rem;
}

.books-product-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    flex: 1 1 auto;
    min-width: min(100%, 14rem);
}

@media (min-width: 576px) {
    .books-product-buttons {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: stretch;
        min-width: 0;
    }

    .books-product-buttons .btn {
        flex: 1 1 auto;
        min-width: 9.5rem;
    }
}

.books-product-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    margin-top: 1rem;
    padding-top: 0.25rem;
}

@media (min-width: 576px) {
    .books-product-links {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.5rem 1rem;
    }
}

.dream-theme .books-product-eyebrow {
    color: var(--lux-muted) !important;
}

.dream-theme .books-product-price__now {
    color: var(--lux-burgundy) !important;
}

.dream-theme .books-product-stars {
    color: var(--lux-burgundy) !important;
}

.dream-theme .books-product-divider {
    background: rgba(36, 28, 26, 0.08);
}

.tag-pill {
    display: inline-block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.3rem 0.65rem;
    border-radius: 2rem;
    background: rgba(36, 28, 26, 0.08);
    color: var(--green);
    margin: 0 0.35rem 0.35rem 0;
    font-weight: 600;
}

/* ——— Cart & checkout (Woo-style) ——— */
.cart-empty {
    background: var(--white);
    border-radius: var(--radius-lg);
    border: 1px dashed rgba(36, 28, 26, 0.15);
}

.shop-table-wrap {
    background: var(--white);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(36, 28, 26, 0.08);
    overflow: hidden;
    box-shadow: var(--shadow-card);
}

.shop-cart-table thead {
    background: var(--cream-mid);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ink-soft);
}

.shop-cart-th-product {
    min-width: 200px;
}

.shop-cart-table th {
    font-weight: 700;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(36, 28, 26, 0.1);
}

.shop-cart-table td {
    padding: 1.25rem 1.25rem;
    vertical-align: middle;
    border-color: rgba(36, 28, 26, 0.08);
}

.shop-cart-thumb {
    flex-shrink: 0;
    border-radius: 0.35rem;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
}

.shop-cart-thumb img {
    width: 64px;
    height: 96px;
    object-fit: cover;
    display: block;
}

.shop-cart-thumb .book-cover-card--thumb,
.shop-cart-thumb .cart-thumb-img {
    display: block;
}

.qty-control {
    border: 1px solid rgba(36, 28, 26, 0.15);
    border-radius: 2rem;
    overflow: hidden;
    background: var(--white);
}

.qty-btn {
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    background: var(--cream-mid);
    color: var(--ink);
    font-size: 1.1rem;
    line-height: 1;
    transition: background 0.15s ease;
}

.qty-btn:hover {
    background: rgba(36, 28, 26, 0.12);
}

.qty-input {
    width: 48px;
    border: none !important;
    text-align: center;
    font-weight: 600;
    box-shadow: none !important;
}

.cart-totals-card {
    background: var(--white);
    border: 1px solid rgba(36, 28, 26, 0.08);
    border-radius: var(--radius-lg);
    padding: 1.75rem;
    box-shadow: var(--shadow-card);
}

.checkout-card,
.checkout-summary-card {
    background: var(--white);
    border: 1px solid rgba(36, 28, 26, 0.08);
    border-radius: var(--radius-lg);
    padding: 1.75rem 1.85rem;
    box-shadow: var(--shadow-card);
}

.checkout-order-lines {
    max-height: 320px;
    overflow-y: auto;
}

/* ——— Testimonials ——— */
.testimonial-card {
    background: var(--white);
    border-radius: var(--radius-card);
    padding: 2rem 1.75rem;
    height: 100%;
    border: 1px solid rgba(36, 28, 26, 0.06);
    box-shadow: var(--shadow-card);
    position: relative;
}

.testimonial-card::before {
    content: "“";
    font-family: var(--font-serif);
    font-size: 3rem;
    line-height: 1;
    color: var(--gold-bright);
    opacity: 0.35;
    position: absolute;
    top: 1rem;
    left: 1.25rem;
}

.testimonial-quote {
    font-family: var(--font-serif);
    font-size: 1.08rem;
    line-height: 1.55;
    color: var(--ink);
    margin: 1.5rem 0 1.25rem;
    position: relative;
    z-index: 1;
}

.testimonial-meta {
    font-size: 0.85rem;
    color: var(--ink-soft);
}

.testimonial-meta strong {
    color: var(--green);
}

@media (max-width: 991.98px) {
    .shop-cart-table thead {
        display: none;
    }

    .shop-cart-table tr {
        display: block;
        border-bottom: 1px solid rgba(36, 28, 26, 0.08);
    }

    .shop-cart-table td {
        display: block;
        padding: 0.75rem 1rem;
        border: 0;
    }

    .shop-cart-table td::before {
        content: attr(data-label);
        display: block;
        font-size: 0.65rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: var(--ink-soft);
        margin-bottom: 0.35rem;
    }
}

/* =============================================================================
   LEONA-STYLE LAYOUT + CSS VISUAL CARDS (no <img> for books / blog / author)
   Premium placeholders: gradients, borders, spine, shadows — zero image files.
   ============================================================================= */

.leona-preheader {
    background: var(--ink);
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.8rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.leona-preheader a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
}

.leona-preheader a:hover {
    color: var(--gold-soft);
}

.leona-preheader .form-control {
    max-width: 200px;
    font-size: 0.78rem;
    padding: 0.25rem 0.75rem;
    border-radius: 2rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: var(--white);
}

.leona-preheader .form-control::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.leona-preheader-cart {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 600;
    border: none;
    background: transparent;
    padding: 0.2rem 0.5rem;
}

.leona-mainheader {
    background: rgba(253, 252, 250, 0.97);
    border-bottom: 1px solid rgba(36, 28, 26, 0.08);
}

.leona-mainheader .navbar-brand {
    font-size: 1.45rem !important;
}

.leona-mainheader .nav-link {
    font-size: 0.92rem;
    letter-spacing: 0.04em;
}

.shop-sidebar {
    background: var(--white);
    border: 1px solid rgba(36, 28, 26, 0.08);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    box-shadow: var(--shadow-soft);
}

.shop-sidebar h3 {
    font-family: var(--font-serif);
    font-size: 1.05rem;
    margin-bottom: 1rem;
    color: var(--ink);
}

.shop-sidebar .list-group-item {
    border: 0;
    padding: 0.4rem 0;
    background: transparent;
    color: var(--ink-soft);
    font-size: 0.9rem;
}

.shop-sidebar .list-group-item:hover {
    color: var(--green);
}

.product-rating-row {
    font-size: 0.88rem;
    color: var(--gold-bright);
}

.product-rating-row .rating-num {
    color: var(--ink-soft);
    margin-left: 0.35rem;
}

.label-new {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    z-index: 4;
    background: var(--green);
    color: var(--white);
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 0.3rem 0.55rem;
    border-radius: 2rem;
}

/* ——— .book-cover-card — fictional edition art (CSS only) ——— */
.book-cover-card {
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 3;
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
    padding: 1.1rem 1.15rem 1.2rem 1.35rem;
    box-shadow:
        0 22px 50px rgba(36, 28, 26, 0.2),
        0 4px 12px rgba(36, 28, 26, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.book-cover-card--hero {
    max-width: min(360px, 90vw);
    margin-left: auto;
    margin-right: auto;
    min-height: 420px;
}

.book-cover-card__frame {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 2;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.14),
        inset 0 0 0 6px rgba(0, 0, 0, 0.06),
        inset 0 0 0 7px rgba(255, 255, 255, 0.04);
}

.book-cover-card__spine {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 14px;
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.12) 55%, transparent 100%);
    box-shadow: inset -4px 0 10px rgba(0, 0, 0, 0.25);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.book-cover-card__shine {
    position: absolute;
    top: -25%;
    left: -35%;
    width: 58%;
    height: 150%;
    z-index: 1;
    pointer-events: none;
    transform: rotate(-14deg);
    background: linear-gradient(105deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.06) 35%, transparent 55%);
}

.book-cover-card__inner {
    position: relative;
    z-index: 4;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.35rem;
    min-height: 0;
}

.book-cover-card__author {
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: rgba(253, 252, 250, 0.72);
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

.book-cover-card__title {
    font-family: var(--font-serif);
    font-weight: 600;
    font-size: clamp(1rem, 2.8vw, 1.35rem);
    line-height: 1.2;
    color: #fdfcfa;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.4);
}

.book-cover-card--hero .book-cover-card__title {
    font-size: clamp(1.25rem, 3vw, 1.65rem);
}

.book-cover-card__sub {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: rgba(253, 252, 250, 0.78);
}

.book-cover-card--book-1 {
    background: linear-gradient(155deg, #ffffff 0%, var(--bg-alt) 55%, rgba(139, 47, 60, 0.18) 100%);
}

.book-cover-card--book-2 {
    background: linear-gradient(160deg, #e8dfd2 0%, #9a8b78 45%, #4a433c 100%);
}

.book-cover-card--book-2 .book-cover-card__author,
.book-cover-card--book-2 .book-cover-card__title,
.book-cover-card--book-2 .book-cover-card__sub {
    color: #1a1814;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

.book-cover-card--book-2 .book-cover-card__author {
    color: rgba(26, 24, 20, 0.65);
}

.book-cover-card--book-3 {
    background: linear-gradient(145deg, var(--bg-alt) 0%, rgba(139, 47, 60, 0.22) 90%);
}

.book-cover-card--book-4 {
    background: linear-gradient(180deg, #ffffff 0%, var(--bg-alt) 85%);
}

.book-cover-card--book-4 .book-cover-card__title {
    color: #141f1b;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
}

.book-cover-card--book-4 .book-cover-card__sub,
.book-cover-card--book-4 .book-cover-card__author {
    color: rgba(36, 28, 26, 0.78);
}

.book-cover-card.book-cover-card--thumb,
a.book-cover-card.book-cover-card--thumb {
    width: 64px;
    height: 96px;
    aspect-ratio: auto;
    flex-shrink: 0;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-end;
    padding: 0.25rem 0.3rem 0.35rem 0.42rem;
}

.book-cover-card--thumb .book-cover-card__spine {
    width: 10px;
}

.book-cover-card--thumb .book-cover-card__frame {
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.12),
        inset 0 0 0 3px rgba(0, 0, 0, 0.07);
}

.book-cover-card--thumb .book-cover-card__thumb-text {
    position: relative;
    z-index: 4;
    font-family: var(--font-serif);
    font-size: 0.52rem;
    line-height: 1.12;
    color: #fdfcfa;
    text-align: center;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

.book-cover-card--book-2.book-cover-card--thumb .book-cover-card__thumb-text {
    color: #1a1814;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
}

.book-cover-card--book-4.book-cover-card--thumb .book-cover-card__thumb-text {
    color: #141f1b;
}

.mini-cart-line .book-cover-card--thumb {
    width: 48px;
    height: 72px;
}

.mini-cart-line .book-cover-card__thumb-text {
    font-size: 0.48rem;
    -webkit-line-clamp: 3;
}

.checkout-line .book-cover-card--thumb {
    width: 44px;
    height: 66px;
}

.hero-book__frame .book-cover-card {
    border-radius: var(--radius-lg);
}

.book-card .cover {
    position: relative;
}

.book-card .cover .book-cover-card {
    border-radius: var(--radius-card) var(--radius-card) 0 0;
}

/* ——— .blog-image-card — editorial thumbnail ——— */
.blog-image-card {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    min-height: 168px;
    border-radius: var(--radius-card);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1.35rem 1.5rem;
    box-shadow: 0 18px 40px rgba(36, 28, 26, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.blog-image-card__frame {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.12),
        inset 0 0 0 8px rgba(0, 0, 0, 0.04);
}

.blog-image-card__shine {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.12) 0%, transparent 42%, rgba(0, 0, 0, 0.12) 100%);
}

.blog-image-card__inner {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.blog-image-card__kicker {
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: rgba(253, 252, 250, 0.65);
}

.blog-image-card__title {
    font-family: var(--font-serif);
    font-weight: 600;
    font-size: clamp(0.95rem, 2.5vw, 1.2rem);
    line-height: 1.35;
    color: #fdfcfa;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
    max-width: 22rem;
}

.blog-image-card--whyilovelighthouses {
    background: linear-gradient(135deg, var(--bg-alt), rgba(139, 47, 60, 0.2));
}

.blog-image-card--researchtripnotes {
    background: linear-gradient(135deg, var(--bg), var(--bg-alt));
}

.blog-image-card--readinglistwinter {
    background: linear-gradient(135deg, #ffffff, var(--bg-alt));
}

.blog-image-card--readinglistwinter .blog-image-card__kicker {
    color: rgba(26, 24, 20, 0.55);
}

.blog-image-card--readinglistwinter .blog-image-card__title {
    color: #1a1814;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

/* ——— .author-portrait-card — studio-style monogram ——— */
.author-portrait-card {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    max-width: 100%;
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem 3.25rem;
    box-shadow: 0 22px 48px rgba(36, 28, 26, 0.18), inset 0 0 0 1px rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(36, 28, 26, 0.12);
    background: linear-gradient(168deg, #ffffff 0%, var(--bg-alt) 42%, rgba(139, 47, 60, 0.15) 88%);
}

.author-portrait-card__frame {
    position: absolute;
    inset: 10px;
    border-radius: calc(var(--radius-lg) - 6px);
    pointer-events: none;
    z-index: 2;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.35),
        inset 0 0 0 5px rgba(36, 28, 26, 0.08);
}

.author-portrait-card__wash {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: radial-gradient(ellipse 80% 60% at 50% 35%, rgba(255, 255, 255, 0.35), transparent 65%);
}

.author-portrait-card__initials {
    position: relative;
    z-index: 3;
    font-family: var(--font-serif);
    font-size: clamp(3rem, 10vw, 4.75rem);
    font-weight: 600;
    color: var(--white);
    text-shadow: 0 6px 28px rgba(0, 0, 0, 0.28);
    letter-spacing: 0.02em;
}

.author-portrait-card__name {
    position: relative;
    z-index: 3;
    margin-top: 1rem;
    font-family: var(--font-serif);
    font-size: clamp(1rem, 2.4vw, 1.25rem);
    font-weight: 600;
    color: rgba(253, 252, 250, 0.95);
    text-align: center;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
    max-width: 16rem;
    line-height: 1.25;
}

.author-portrait-card__line {
    position: absolute;
    bottom: 1.75rem;
    left: 18%;
    right: 18%;
    height: 2px;
    z-index: 3;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
}

/* Woo-style product tabs */
.product-tabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--ink-soft);
    font-weight: 600;
    padding: 0.75rem 1.25rem;
    border-radius: 0;
}

.product-tabs .nav-link.active {
    color: var(--green);
    border-bottom-color: var(--gold-bright);
    background: transparent;
}

.product-tab-pane {
    padding-top: 1.25rem;
}

.coupon-box {
    border-top: 1px dashed rgba(36, 28, 26, 0.15);
    padding-top: 1.25rem;
    margin-top: 0.5rem;
}

.payment-placeholder {
    border: 1px dashed rgba(36, 28, 26, 0.2);
    border-radius: var(--radius-card);
    padding: 1rem 1.25rem;
    background: var(--cream-mid);
}

.signature-line {
    font-family: var(--font-serif);
    font-style: italic;
    font-size: 1.35rem;
    color: var(--green);
    opacity: 0.85;
}

/* ——— Leona homepage (uses global accent + neutrals) ——— */
:root {
    --leona-coral: var(--accent);
    --leona-coral-dark: var(--accent-hover);
    --leona-mint: var(--bg-alt);
    --leona-mint-dark: var(--bg-alt);
    --leona-cream: var(--bg);
    --leona-paper: #ffffff;
    --leona-ink: var(--text);
}

body.site-body--leona-home {
    --cream: var(--leona-cream);
    --leona-env-h: 0px;
    background: var(--leona-cream);
    padding-top: 0 !important;
}

.site-body--leona-home #main-content,
.site-body--leona-home .site-main--leona {
    padding-top: 0;
}

.site-main.site-main--leona {
    overflow: hidden;
}

/* Hero header overlay */
.site-header--leona.site-header--on-hero {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1025;
    background: transparent;
    box-shadow: none;
    border: none;
    --header-h: 0px;
    backdrop-filter: none;
}
.site-header--leona.site-header--on-hero.is-scrolled,
.site-header--leona.site-header--on-hero.is-solid {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

.leona-nav .leona-menu .leona-nav-link {
    color: #2b2b2b;
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    position: relative;
    padding: 0.4rem 0.35rem;
}
.leona-nav .leona-menu .leona-nav-link::after {
    content: "";
    position: absolute;
    left: 0.35rem;
    right: 0.35rem;
    bottom: 0.15rem;
    height: 1px;
    background: var(--leona-coral);
    transform: scaleX(0);
    transition: transform 0.3s ease;
    transform-origin: right;
}
.leona-nav .leona-menu .leona-nav-link:hover::after,
.leona-nav .leona-menu .leona-nav-link.active::after {
    transform: scaleX(1);
    transform-origin: left;
}
.site-header--on-hero .leona-nav .leona-menu .leona-nav-link { color: #1e1e1e; }
/* Image logo: soft lift so it reads on light hero + wood bg */
.site-header--on-hero .site-logo img {
    filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.8)) drop-shadow(0 1px 3px rgba(0, 0, 0, 0.18));
}
.site-header--on-hero.is-scrolled .site-logo img,
.site-header--on-hero.is-solid .site-logo img {
    filter: none;
}
.site-header--on-hero .site-cart-icon { color: #1e1e1e; }
.site-header--on-hero .leona-icon-btn { color: #1e1e1e; }
.site-header--on-hero.is-scrolled .leona-nav .leona-menu .leona-nav-link,
.site-header--on-hero.is-solid .leona-nav .leona-menu .leona-nav-link { color: #2b2b2b; }
.cart-count-badge--coral {
    background: var(--leona-coral);
    color: #fff;
    border: 2px solid #fff;
}

/* Coral buttons (Bootstrap hooks) */
.btn-coral, .btn-leona-subscribe, .leona .btn-brand {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--leona-coral);
    --bs-btn-border-color: var(--leona-coral);
    --bs-btn-hover-bg: var(--leona-coral-dark);
    --bs-btn-hover-border-color: var(--leona-coral-dark);
    --bs-btn-active-bg: var(--leona-coral-dark);
    border-radius: 0.25rem;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.5rem 1.25rem;
    font-weight: 600;
}
.btn-outline-coral, .leona .btn-outline-brand {
    --bs-btn-color: var(--leona-coral);
    --bs-btn-border-color: var(--leona-coral);
    --bs-btn-hover-bg: var(--leona-coral);
    --bs-btn-hover-color: #fff;
    border-width: 1.5px;
    border-radius: 0.25rem;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
}

/* Hero: one fold = env bar + hero, capped by 60rem so tall desks don’t waste space */
.leona-hero {
    --leona-hero-h: min(60rem, max(0px, calc(100svh - var(--leona-env-h, 2.45rem))));
    position: relative;
    min-height: var(--leona-hero-h);
    max-height: var(--leona-hero-h);
    display: flex;
    align-items: center;
    box-sizing: border-box;
    /* Padding scales down on short viewports so the row still fits */
    padding-top: clamp(4rem, 6vh, 7.5rem);
    padding-bottom: clamp(1.75rem, 3.5vh, 4.5rem);
    overflow: hidden;
    margin-top: 0;
}
@supports (height: 100dvh) {
    .leona-hero {
        --leona-hero-h: min(60rem, max(0px, calc(100dvh - var(--leona-env-h, 2.45rem))));
    }
}
.leona-hero__row {
    --bs-gutter-y: 2.5rem;
    padding-top: clamp(0.5rem, 1.5vh, 2.5rem) !important;
    padding-bottom: clamp(0.5rem, 1.5vh, 2.5rem) !important;
}
@media (min-width: 992px) {
    .leona-hero__row { --bs-gutter-y: 3.5rem; }
}
/* Short windows: don’t let intro + book win over the fixed hero box */
@media (max-height: 800px) {
    .leona-hero {
        padding-top: clamp(3.25rem, 6vh, 4.5rem);
        padding-bottom: clamp(1rem, 2.5vh, 2.25rem);
    }
    .leona-hero__row { --bs-gutter-y: 1.5rem; }
    .leona-intro-card { padding: 1.5rem 1.35rem !important; }
    .leona-intro-card__p { margin-bottom: 1rem !important; font-size: 0.98rem !important; }
}
@media (max-height: 650px) {
    .leona-hero { padding-top: 3.25rem; padding-bottom: 0.75rem; }
    .leona-hero__row { --bs-gutter-y: 1rem; }
    .leona-intro-card { padding: 1.15rem 1.1rem !important; }
    .leona-intro-card__kicker { margin-bottom: 0.45rem !important; }
    .leona-intro-card__name { margin-bottom: 0.65rem !important; }
    .leona-intro-card__name .leona-subtle { font-size: clamp(1.2rem, 2.5vh, 1.75rem) !important; }
    .leona-intro-card__name .leona-coral { font-size: clamp(1.6rem, 4.5vh, 2.4rem) !important; }
    .leona-intro-card .leona-muted { font-size: 0.7rem !important; margin-bottom: 0.65rem !important; }
    .leona-intro-card__p { line-height: 1.5 !important; }
    .leona-hero-book__img { max-width: min(200px, 50vw) !important; }
}
@media (max-height: 520px) {
    .leona-hero { padding-top: 2.85rem; }
    .leona-hero-book__img { max-width: min(150px, 40vw) !important; }
}
.leona-hero__bg {
    position: absolute;
    inset: 0;
    /* Lighter scrim so the book-art background is visible; foreground portrait is the author photo. */
    background: linear-gradient(180deg, rgba(255, 252, 245, 0.78) 0%, rgba(250, 246, 240, 0.86) 100%),
        var(--leona-hero-bg) center / cover no-repeat;
    z-index: 0;
    /* no scale: scale() extends past the hero box and can cause x-overflow on some layouts */
    will-change: auto;
}
.leona-hero__inner { z-index: 1; }
.leona-intro-card {
    background: var(--leona-paper);
    border-radius: 0.35rem;
    padding: 2.75rem 2.5rem;
    max-width: 30rem;
    min-height: 0;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.1);
}
@media (min-width: 768px) {
    .leona-intro-card {
        padding: 3.25rem 2.75rem;
        max-width: 36rem;
    }
}
@media (min-width: 1200px) {
    .leona-intro-card {
        padding: 3.75rem 3.25rem;
        max-width: 40rem;
    }
}
.leona-intro-card__kicker {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.28em;
    margin-bottom: 0.75rem !important;
    color: #5a5a5a;
}
.leona-intro-card__name {
    line-height: 0.95;
    margin-bottom: 1.25rem !important;
}
.leona-intro-card__name .leona-subtle {
    font-size: clamp(1.9rem, 2.6vw, 2.35rem) !important;
    font-weight: 300;
    line-height: 1.1;
    margin-bottom: 0.2em;
    letter-spacing: 0.02em;
    color: #4a4a4a !important;
}
.leona-intro-card__name .leona-coral {
    font-size: clamp(2.9rem, 6.5vw, 4.4rem) !important;
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -0.03em;
    margin-top: 0.1em;
}
.leona-intro-card .leona-muted {
    font-size: 0.82rem !important;
    letter-spacing: 0.22em;
    line-height: 1.5;
    margin-bottom: 1.35rem !important;
    color: #5c5c5c;
}
.leona-subtle { font-size: 1.75rem; }
.leona-coral { color: var(--leona-coral) !important; }
.leona-muted {
    color: var(--text-muted);
    letter-spacing: 0.2em;
}
.kicker, .leona-kicker, .letter-spacing-tight { letter-spacing: 0.2em; }
.leona-p { line-height: 1.8; }
.leona-heading { line-height: 1.2; }
.leona-intro-card__p {
    color: #4a4a4a;
    font-size: 1.05rem;
    line-height: 1.8;
    margin-bottom: 1.75rem !important;
    max-width: 38em;
}
@media (min-width: 768px) {
    .leona-intro-card__p {
        font-size: 1.12rem;
        line-height: 1.82;
    }
}
.leona-intro-card .leona-cta-links {
    gap: 1.75rem 2.5rem !important;
    margin-top: 0.25rem;
}
.leona-link-und {
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #c8c8c8;
    padding-bottom: 0.2rem;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 600;
    transition: color 0.2s ease, border-color 0.2s ease;
}
.leona-intro-card .leona-link-und {
    font-size: 0.88rem;
    letter-spacing: 0.14em;
    padding-bottom: 0.25rem;
    border-bottom-width: 1.5px;
}
.leona-link-und:hover { color: var(--leona-coral); border-color: var(--leona-coral); }

.leona-hero-book__tilt { perspective: 900px; }
.leona-hero-book__img {
    max-width: min(400px, 86vw);
    width: 100%;
    height: auto;
    border-radius: 0.15rem 0.35rem 0.35rem 0.15rem;
    box-shadow: 20px 40px 60px rgba(0, 0, 0, 0.22);
    transform: rotateY(-6deg) rotateZ(-4deg);
    transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}
/* Author headshot in hero (separate from catalog cover). */
.leona-hero-book__img--author {
    aspect-ratio: 2 / 3;
    object-fit: cover;
    object-position: center top;
    max-height: min(600px, 70vh);
}
@media (min-width: 1200px) {
    .leona-hero-book__img { max-width: min(420px, 40vw); }
}
.leona-hero-book:hover .leona-hero-book__img {
    transform: rotateY(0) rotateZ(-1deg) translateY(-4px) scale(1.02);
}

/* Quote */
.leona-quote-band { background: #fff; border-top: 1px solid rgba(0, 0, 0, 0.04); }
.leona-quote-band__q { font-size: clamp(1.35rem, 3vw, 1.8rem); color: #1f1f1f; }
.leona-leaf-orn { color: #111; }
.leona-sig { font-size: 0.7rem; letter-spacing: 0.18em; }

/* Book trailer (home) — cinematic */
.trailer-section {
    padding: var(--section-pad-y) 0;
    background: #fff;
}
.trailer-heading {
    font-family: 'Playfair Display', serif;
    font-size: 36px;
    margin-bottom: 40px;
    color: #222;
}
.trailer-video-box {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.2);
    transition: transform 0.5s ease, box-shadow 0.5s ease;
}
.trailer-video-box:hover {
    transform: translateY(-10px) scale(1.01);
    box-shadow: 0 35px 100px rgba(0, 0, 0, 0.25);
}
.trailer-video-box video {
    position: relative;
    z-index: 0;
    width: 100%;
    height: auto;
    display: block;
    vertical-align: top;
}
/* Dark overlay (above video, below play) */
.trailer-video-box::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
    transition: background 0.4s, opacity 0.4s;
    pointer-events: none;
}
.trailer-video-box:hover::after {
    background: rgba(0, 0, 0, 0.2);
}
.trailer-video-box.is-playing::after {
    opacity: 0;
    pointer-events: none;
}
/* Play control */
.trailer-video-box .play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #000;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
    pointer-events: auto;
    margin: 0;
    padding: 0;
    border: none;
}
.trailer-video-box .play-button span {
    position: relative;
    z-index: 1;
    margin-left: 0.2em;
}
.trailer-video-box .play-button:hover,
.trailer-video-box .play-button:focus-visible {
    transform: translate(-50%, -50%) scale(1.1);
    background: #000;
    color: #fff;
    outline: none;
}
/* Pulse ring */
.trailer-video-box .play-button::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 100%;
    margin-left: -50%;
    margin-top: -50%;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.6);
    animation: trailer-pulse 2s infinite;
    z-index: 0;
    pointer-events: none;
}
.trailer-video-box.is-playing .play-button,
.trailer-video-box.is-playing .play-button::before {
    display: none;
}
@keyframes trailer-pulse {
    0% { transform: scale(1); opacity: 1; }
    70% { transform: scale(1.6); opacity: 0; }
    100% { opacity: 0; }
}
@media (max-width: 576px) {
    .trailer-heading { font-size: 1.65rem; margin-bottom: 1.5rem; }
    .trailer-video-box { border-radius: 8px; }
    .trailer-video-box .play-button {
        width: 64px;
        height: 64px;
        font-size: 1.25rem;
    }
}

/* Newest grid */
.leona-mini-book__link { color: inherit; }
.leona-mini-book__img-wrap { border-radius: 0.35rem; }
.leona-mini-book__img {
    width: 100%;
    height: auto;
    aspect-ratio: 2/3;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.leona-mini-book:hover .leona-mini-book__img { transform: scale(1.05); }
.leona-mini-book { transition: transform 0.35s ease, box-shadow 0.35s ease; }
.leona-mini-book:hover { transform: translateY(-6px); }
.leona-flower {
    position: absolute;
    top: 6%;
    right: 0;
    width: min(200px, 45vw);
    height: min(200px, 45vw);
    opacity: 0.12;
    background: radial-gradient(circle at 30% 30%, rgba(139, 47, 60, 0.35), transparent 55%);
    pointer-events: none;
    border-radius: 50% 40% 50% 45% / 45% 50% 50% 55%;
    transform: translate3d(18%, 0, 0);
    contain: layout;
}
/* Decor stays inside the column: avoid negative right % (it sat past the content box) */
section.leona-newest .row > [class*="col-"] {
    min-width: 0;
}
.leona-link-line { color: #333; border-bottom: 2px solid #ccc; display: inline-block; padding-bottom: 0.35rem; }
.leona-link-line:hover { color: var(--leona-coral); border-color: var(--leona-coral); }

/* Bestseller mint block */
.leona-mint {
    background: var(--leona-mint) !important;
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 18px 50px rgba(42, 90, 55, 0.08) !important;
}
.leona-bestsell__pane { display: none; }
.leona-bestsell__pane.is-active { display: flex; }
.leona-bestsell__img {
    max-height: 380px;
    width: auto;
    object-fit: contain;
    transition: transform 0.5s ease;
}
.leona-bestsell__cover:hover .leona-bestsell__img { transform: scale(1.04); }
.leona-bestsell__name { color: #1a1a1a; }
.leona-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: rgba(36, 28, 26, 0.15);
    padding: 0;
    transition: transform 0.2s, background 0.2s;
}
.leona-dot.is-active, .leona-dot:hover { background: var(--leona-coral); transform: scale(1.1); }

/* Featured double column */
.leona-feat-mock__img { max-width: 100%; max-height: 640px; width: auto; border-radius: 0.2rem; box-shadow: 0 24px 50px rgba(0,0,0,0.12); }
/* Service strip (Elementor-style: divider + 3 columns + divider) */
.leona-service-divider { padding: 0.15rem 0; }
.leona-service-divider__line {
    height: 0;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    margin: 0;
    width: 100%;
}
.leona-service-panels__title {
    color: #1a1a1a;
    font-weight: 600;
    letter-spacing: 0.08em;
    font-size: 0.72rem !important;
    line-height: 1.35;
}
.leona-service-panels__text p { margin: 0; }
.leona-service-panels__text em { color: #444; font-style: italic; }

/* Reveal */
.leona-reveal {
    opacity: 0;
    transform: translate3d(0, 32px, 0);
    transition: opacity 0.75s ease, transform 0.75s ease;
}
.leona-reveal--delay-1 { transition-delay: 0.12s; }
.leona-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Footer light — quote band above main footer */
.leona-prefooter { background: #fff; }
.leona-prefooter__quote,
.leona-prefooter__sig,
.tii-prefooter__quote,
.tii-prefooter__sig {
    color: var(--text);
    font-size: 1.15rem;
    line-height: 1.55;
}
.leona-prefooter__sig,
.tii-prefooter__sig {
    font-size: 1.35rem;
}
.leona-footer { background: #fff; }
.leona-footer__main { border-top: 1px solid #eee; }
.leona-footer__h { color: var(--text); }
.leona-footer__list a { color: var(--accent); text-decoration: none; }
.leona-footer__list a:hover { color: var(--accent-hover); }
.leona-footer a { color: var(--accent); text-decoration: none; }
.leona-footer a:hover { color: var(--accent-hover); }
.leona-footer-input { border: 1px solid #e0e0e0; border-radius: 0.15rem; }
.btn-leona-subscribe { min-width: 7rem; }

/* Cart image thumbs */
.cart-thumb-img {
    width: 64px;
    height: 96px;
    object-fit: cover;
    border-radius: 0.25rem;
    display: block;
}
.mini-cart-line .cart-thumb-img { width: 48px; height: 72px; }
.checkout-line .cart-thumb-img { width: 44px; height: 66px; }

/* Shop grid cover link */
.book-card__cover-link { display: block; height: 100%; }
.book-card .cover .book-card__cover-link img {
    min-height: 100%;
    transition: transform 0.55s cubic-bezier(0.33, 1, 0.68, 1);
}
.book-card:hover .book-card__cover-link img { transform: scale(1.04); }

/* ——— Single-book landing (This is it!) ——— */
.book-image-wrapper {
    text-align: center;
}
.book-main-image {
    max-width: 320px;
    width: 100%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.book-main-image:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.2);
}
.leona-cream { background: var(--leona-cream, #fbf8f2); }
.leona-hero-cta-btns .btn { min-width: 7.5rem; }
.leona-editorial-text p:last-child { margin-bottom: 0; }
.leona-book-stage { position: relative; }
.leona-book-stage__glow {
    position: absolute;
    inset: 8% -4% -2% 8%;
    background: radial-gradient(ellipse at 30% 40%, rgba(212, 101, 88, 0.18), transparent 58%);
    pointer-events: none;
    z-index: 0;
}
.leona-book-stage__cover { position: relative; z-index: 1; max-width: min(100%, 420px); }
.leona-benefit { transition: transform 0.35s ease, box-shadow 0.35s ease; }
.leona-benefit:hover { transform: translateY(-4px); }
.leona-review, .leona-stars { letter-spacing: 0.12em; }
.leona-timeline li:last-child { border-bottom: none !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
.leona-media { transition: border-color 0.3s ease, background 0.3s ease; }
.leona-media:hover { border-color: var(--leona-coral) !important; background: #fff; }
.leona-bestsell__pane.is-single { display: flex !important; }
.leona-home-cta .form-control-lg { border: 1px solid #e0e0e0; border-radius: 0.15rem; }
.leona-the-book-hero { background: linear-gradient(180deg, var(--leona-cream, #fbf8f2) 0%, #fff 100%); }
.leona-the-book-showcase .leona-the-book-cover img { max-height: min(85vh, 700px); width: auto; object-fit: contain; }
.leona-ghost-coral { border-color: var(--leona-coral) !important; color: var(--leona-coral) !important; }
.leona-ghost-coral:hover { background: var(--leona-coral); color: #fff !important; }
@media (min-width: 992px) {
    .leona-the-book-excerpt { column-count: 1; }
}

/* ——— About the Author page ——— */
.about-author-hero {
    background: #faf7f0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
.about-author-hero__bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(251, 248, 242, 0.97) 0%, rgba(255, 255, 255, 0.5) 100%),
        radial-gradient(ellipse 80% 50% at 50% -20%, rgba(212, 101, 88, 0.06), transparent 50%);
    pointer-events: none;
}
.about-author-breadcrumb { --bs-breadcrumb-divider: '·'; }
.about-author-breadcrumb a { color: #5a5a5a; }
.about-author-breadcrumb a:hover { color: var(--leona-coral); }
.about-author-hero__title { letter-spacing: -0.02em; }

/* About biography — transparent band, black type on page background */
.about-author-bio.tii-about-bio--transparent {
    background: transparent;
    color: #000;
}

.dream-theme .about-author-bio.tii-about-bio--transparent .cinema-about-panel {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.about-author-bio.tii-about-bio--transparent .text-brand-dark,
.about-author-bio.tii-about-bio--transparent .text-secondary,
.about-author-bio.tii-about-bio--transparent .about-author-section-heading,
.about-author-bio.tii-about-bio--transparent .about-author-name,
.about-author-bio.tii-about-bio--transparent .about-author-bio__body,
.about-author-bio.tii-about-bio--transparent .about-author-bio__body p,
.about-author-bio.tii-about-bio--transparent .about-author-bio__body li,
.about-author-bio.tii-about-bio--transparent .about-author-bio__body strong,
.about-author-bio.tii-about-bio--transparent .about-author-bio__body em,
.about-author-bio.tii-about-bio--transparent .about-author-signature {
    color: #000 !important;
}

.about-author-bio.tii-about-bio--transparent .about-author-bio__body a {
    color: #000 !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.about-author-bio.tii-about-bio--transparent .leona-p {
    color: #000 !important;
}

.author-image {
    width: 100%;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    display: block;
}
.about-author-bio__body p:last-child { margin-bottom: 0; }
.about-author-stat { transition: transform 0.35s ease, box-shadow 0.35s ease; }
.about-author-stat:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.06) !important; }
.about-author-writing { background: var(--leona-cream, #fbf8f2); }
.about-author-writing__prose p { margin-bottom: 1.25rem; }
.about-author-writing__prose p:last-child { margin-bottom: 0; }
.about-author-writing__prose p + p { text-indent: 0; }
.about-author-quote { background: #fff; border-top: 1px solid rgba(0, 0, 0, 0.04); }
.about-author-quote__q {
    font-size: clamp(1.35rem, 2.8vw, 1.85rem);
    line-height: 1.45;
    color: #1a1a1a;
    margin: 0;
    font-style: normal;
    font-weight: 400;
}
.about-author-cta { background: linear-gradient(180deg, #fbf8f2 0%, #fff 50%); }

/* ——— Contact (Leona) ——— */
.leona-contact-hero {
    position: relative;
    background: linear-gradient(180deg, #fbf8f2 0%, #ffffff 100%);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.leona-contact-hero__bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 50% at 20% 0%, rgba(212, 101, 88, 0.05), transparent 60%);
    pointer-events: none;
}
.leona-contact-hero__inner { z-index: 1; }
.leona-contact-hero__title { letter-spacing: -0.02em; }
.leona-contact-hero__sub { font-size: 1.05rem; line-height: 1.7; }
.leona-contact { background: #fff; }
.leona-contact__max { max-width: 68rem; }
.leona-contact-card { background: #faf7f0; border: 1px solid rgba(0, 0, 0, 0.04); border-radius: 0.2rem; }
.leona-contact-card__h { font-size: 1.35rem; letter-spacing: -0.01em; }
.leona-contact-info__value { color: #1a1a1a; }
a.leona-contact-info__value:hover { color: var(--leona-coral); }
.leona-contact-form-wrap {
    background: #fff;
    border: 1px solid #ece8e0;
    border-radius: 0.25rem;
    box-shadow: 0 20px 60px rgba(20, 20, 20, 0.04);
}
.leona-contact-form__label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #5a5a5a;
    margin-bottom: 0.45rem;
}
.leona-contact-form__control,
.leona-contact-form__textarea {
    border: 1px solid #e0ddd6;
    border-radius: 0.15rem;
    padding: 0.7rem 1rem;
    font-size: 0.98rem;
}
.leona-contact-form__control:focus,
.leona-contact-form__textarea:focus {
    border-color: var(--leona-coral);
    box-shadow: 0 0 0 0.2rem rgba(212, 101, 88, 0.12);
}
.leona-contact-form__textarea { resize: vertical; min-height: 10rem; }

/* ===== Cinematic (aligned to site palette) ===== */
:root {
    --cinema-bg: var(--bg);
    --cinema-surface: #ffffff;
    --cinema-surface-2: var(--bg-alt);
    --cinema-burgundy: var(--accent);
    --cinema-burgundy-soft: var(--accent-hover);
    --cinema-gold: var(--accent);
    --cinema-cream: var(--bg);
    --cinema-ink: var(--text);
}

body.site-body {
    background: var(--bg);
    color: var(--text-muted);
}

.cinema-site-header {
    background: rgba(251, 247, 240, 0.92);
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.cinema-site-header .nav-link,
.cinema-site-header .navbar-brand {
    color: var(--text) !important;
}

.cinema-site-header.is-scrolled,
.cinema-site-header.is-solid {
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 8px 32px rgba(36, 28, 26, 0.06);
}

.cinema-hero {
    position: relative;
    padding: 7rem 0 5.5rem;
    color: var(--text);
    background: linear-gradient(180deg, #ffffff 0%, var(--bg) 55%, var(--bg-alt) 100%);
    overflow: hidden;
}

.cinema-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--hero-bg);
    background-size: cover;
    background-position: center;
    opacity: 0.08;
}

.cinema-hero__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        95deg,
        rgba(251, 247, 240, 0.92) 0%,
        rgba(251, 247, 240, 0.72) 45%,
        rgba(244, 235, 221, 0.45) 100%
    );
}

.cinema-title {
    font-size: clamp(2.2rem, 5vw, 4.1rem);
    line-height: 1.06;
    margin: 0;
}

.cinema-title-soft {
    color: var(--accent);
    font-size: clamp(1.1rem, 2.2vw, 1.65rem);
    margin-top: 0.6rem;
}

.cinema-kicker {
    letter-spacing: 0.22em;
    font-size: 0.74rem;
    color: var(--text-muted);
}

.cinema-sub {
    color: var(--text-muted);
    max-width: 34rem;
    font-size: 1.05rem;
}

.cinema-book-cover {
    width: min(90%, 460px);
    border-radius: 0.8rem;
    box-shadow: 0 40px 90px rgba(0, 0, 0, 0.55);
}

.cinema-book-float {
    animation: cinemaFloat 4.6s ease-in-out infinite;
}

@keyframes cinemaFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

.cinema-banner__inner {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 0.8rem 1.4rem;
    color: var(--text-muted);
    letter-spacing: 0.12em;
    font-size: 0.72rem;
    box-shadow: var(--shadow-soft);
}

.cinema-trailer,
.cinema-themes,
.cinema-testimonials,
.cinema-final-cta {
    background: var(--bg-alt);
    color: var(--text);
}

.cinema-about,
.cinema-editions {
    background: var(--bg);
}

.cinema-section-title {
    font-size: clamp(1.7rem, 3.2vw, 2.8rem);
}

.cinema-section-sub {
    color: var(--text-muted);
}

.trailer-video-box--cinema {
    border: 1px solid rgba(194, 160, 109, 0.4);
    border-radius: 1rem;
}

.cinema-copy {
    color: var(--text-muted);
}

.cinema-quote {
    font-size: 1.15rem;
    color: var(--text);
    border-left: 3px solid var(--accent);
    padding-left: 1rem;
}

.cinema-about-cover {
    width: min(88%, 470px);
    border-radius: 0.9rem;
    box-shadow: 0 24px 60px rgba(21, 17, 21, 0.25);
}

.cinema-theme-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    padding: 1.25rem;
    height: 100%;
    box-shadow: var(--shadow-card);
}

.cinema-theme-card h3 {
    color: var(--text);
    margin-bottom: 0.6rem;
}

.cinema-theme-card p {
    color: var(--text-muted);
    font-size: 0.94rem;
}

.cinema-edition-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    padding: 1.2rem;
    box-shadow: var(--shadow-card);
}

.cinema-testimonial-card {
    margin: 0;
    padding: 1.3rem;
    border-radius: 0.9rem;
    border: 1px solid var(--border);
    background: #ffffff;
    box-shadow: var(--shadow-soft);
}

.cinema-testimonial-card p {
    color: var(--text-muted);
}

.cinema-testimonial-card footer strong {
    display: block;
    color: var(--text);
}

.cinema-testimonial-card footer span {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.cinema-final-cta h2 {
    color: var(--text);
    font-size: clamp(1.9rem, 3.6vw, 3rem);
}

.cinema-final-cta p {
    color: var(--text-muted);
}

.cinema-book-shell .cinema-product-panel,
.cinema-detail-panel {
    background: #ffffff;
    color: var(--text);
    padding: 1.5rem;
    border-radius: 1rem;
    border: 1px solid var(--border);
    box-shadow: var(--shadow-card);
}

.cinema-book-shell .cinema-product-panel .text-secondary,
.cinema-detail-panel .text-secondary,
.cinema-detail-panel .rating-num {
    color: var(--text-muted) !important;
}

.cinema-variation-select {
    border: 1px solid var(--border);
    background: #ffffff;
    color: var(--text);
}

.cinema-detail-page #productTabs .nav-link {
    background: var(--bg-alt);
    color: var(--text-muted);
    border-radius: 0.6rem 0.6rem 0 0;
}

.cinema-detail-page #productTabs .nav-link.active {
    background: var(--accent);
    color: #fff;
}

.cinema-detail-page #productTabsContent {
    border-color: var(--border) !important;
}

.cinema-cart-intro {
    background: var(--bg-alt);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 0.8rem;
    padding: 0.9rem 1rem;
}

.cinema-cart-table-wrap,
.cinema-cart-totals,
.cinema-checkout-form-card,
.cinema-checkout-summary,
.cinema-contact-info-card,
.cinema-contact-form-card,
.cinema-about-panel {
    border-radius: 1rem !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow-card);
}

.cinema-checkout-page .checkout-payment-block .form-check {
    background: var(--bg);
    border-color: var(--border);
}

.cinema-about-hero,
.cinema-contact-hero {
    background: linear-gradient(120deg, #ffffff 0%, var(--bg) 100%);
    color: var(--text);
}

.cinema-author-image {
    border-radius: 1rem;
    box-shadow: var(--shadow-card-hover);
}

.cinema-footer {
    background: var(--bg-alt);
    color: var(--text-muted);
}

.cinema-footer .text-secondary,
.cinema-footer a {
    color: var(--text-muted) !important;
}

.cinema-footer a:hover {
    color: var(--accent) !important;
}

.btn-coral,
.btn-brand {
    position: relative;
    overflow: hidden;
}

.btn-coral::after,
.btn-brand::after {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.28), transparent);
    transition: left 0.45s ease;
}

.btn-coral:hover::after,
.btn-brand:hover::after {
    left: 130%;
}

@media (max-width: 991.98px) {
    .cinema-hero {
        padding-top: 6rem;
        text-align: center;
    }
    .cinema-sub {
        margin-left: auto;
        margin-right: auto;
    }
}

/* ===== Version 2: cinematic polish (luxury / editorial / emotional) ===== */
:root {
    --v2-prose: 1.08rem;
    --v2-prose-lh: 1.75;
    --v2-glow: 0 0 100px rgba(139, 47, 60, 0.12);
}

.cinema-body-text,
.cinema-copy p,
.cinema-section-sub {
    font-size: var(--v2-prose);
    line-height: var(--v2-prose-lh);
    max-width: 38rem;
}

.cinema-copy p + p {
    margin-top: 1.1em;
}

.cinema-label {
    font-size: 0.68rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--cinema-burgundy-soft);
    margin-bottom: 0.35rem;
    font-weight: 600;
}

.cinema-label--on-dark {
    color: var(--text-muted);
}

.cinema-section {
    position: relative;
}

.cinema-y {
    padding-top: clamp(3.75rem, 8.5vw, 6.25rem);
    padding-bottom: clamp(3.75rem, 8.5vw, 6.25rem);
}

.cinema-hero__inner {
    z-index: 1;
}

.cinema-title {
    font-size: clamp(2.65rem, 6.2vw, 4.85rem);
    letter-spacing: -0.02em;
}

.cinema-title-soft {
    font-size: clamp(1.05rem, 2.4vw, 1.75rem);
    font-weight: 400;
    letter-spacing: 0.02em;
    margin-top: 0.85rem;
    opacity: 0.95;
}

.cinema-sub {
    font-size: clamp(1.02rem, 1.35vw, 1.15rem);
    line-height: 1.72;
}

.cinema-hero-cta .btn {
    min-height: 3.05rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
}

.cinema-hero-cta .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28);
}

.cinema-book-float {
    position: relative;
    display: inline-block;
}

.cinema-book-float::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 52%;
    transform: translate(-50%, -50%);
    width: 118%;
    height: 92%;
    background: radial-gradient(ellipse at center, rgba(194, 160, 109, 0.35) 0%, rgba(91, 31, 52, 0.15) 42%, transparent 68%);
    filter: blur(12px);
    z-index: 0;
    pointer-events: none;
}

.cinema-book-cover {
    position: relative;
    z-index: 1;
    width: min(82%, 420px);
    max-width: 420px;
}

@media (min-width: 992px) {
    .cinema-book-cover {
        width: min(92%, 460px);
        max-width: 460px;
    }
}

.cinema-banner__inner {
    padding: 0.95rem 1.75rem;
    background: linear-gradient(135deg, #ffffff 0%, var(--bg-alt) 50%, #ffffff 100%);
    box-shadow: var(--shadow-card);
    border: 1px solid var(--border);
}

.cinema-trailer {
    background: radial-gradient(ellipse 120% 80% at 50% 0%, rgba(139, 47, 60, 0.12) 0%, transparent 55%), var(--bg-alt) !important;
}

.cinema-trailer__stage {
    position: relative;
    max-width: 56rem;
    margin: 0 auto;
    padding: 0.5rem;
}

.cinema-trailer__stage::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 1.15rem;
    background: linear-gradient(135deg, rgba(139, 47, 60, 0.18), rgba(36, 28, 26, 0.06), transparent 60%);
    opacity: 0.65;
    z-index: 0;
    pointer-events: none;
}

.cinema-trailer__stage .trailer-video-box {
    position: relative;
    z-index: 1;
    border-radius: 1rem;
    box-shadow: 0 24px 60px rgba(36, 28, 26, 0.12), var(--v2-glow);
}

.cinema-trailer .trailer-video-box::after {
    background: linear-gradient(180deg, rgba(36, 28, 26, 0.08) 0%, rgba(36, 28, 26, 0.14) 100%);
}

.cinema-trailer .trailer-video-box:hover::after {
    background: linear-gradient(180deg, rgba(36, 28, 26, 0.05) 0%, rgba(36, 28, 26, 0.1) 100%);
}

.cinema-trailer .trailer-video-box .play-button {
    width: 92px;
    height: 92px;
    background: linear-gradient(145deg, #ffffff 0%, var(--bg-alt) 100%);
    color: var(--accent);
    border: 2px solid var(--border);
    box-shadow: 0 12px 40px rgba(36, 28, 26, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.9);
}

.cinema-trailer .trailer-video-box .play-button:hover,
.cinema-trailer .trailer-video-box .play-button:focus-visible {
    background: linear-gradient(145deg, #ffffff 0%, rgba(139, 47, 60, 0.12) 100%);
    color: var(--text);
}

.cinema-about {
    background: linear-gradient(180deg, #ffffff 0%, var(--bg) 45%, var(--bg-alt) 100%);
}

.cinema-cover-frame {
    position: relative;
    display: inline-block;
}

.cinema-cover-frame::before {
    content: "";
    position: absolute;
    inset: -10px -8px -14px -8px;
    border-radius: 1rem;
    background: radial-gradient(ellipse at 50% 40%, rgba(139, 47, 60, 0.12), transparent 62%);
    z-index: 0;
    pointer-events: none;
}

.cinema-cover-frame .cinema-about-cover,
.cinema-cover-frame img.leona-img {
    position: relative;
    z-index: 1;
}

.cinema-about-cover {
    width: min(78%, 440px);
    box-shadow: 0 28px 70px rgba(36, 28, 26, 0.12), 0 0 0 1px var(--border);
}

.cinema-theme-card {
    padding: 1.65rem 1.45rem;
    transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.35s ease;
}

.cinema-theme-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-card-hover);
    border-color: var(--border);
}

.cinema-edition-name {
    letter-spacing: 0.14em;
    color: var(--text-muted);
    font-weight: 600;
}

.cinema-edition-price {
    font-size: clamp(1.65rem, 2.8vw, 2.15rem);
    color: var(--accent);
    letter-spacing: -0.02em;
}

.cinema-edition-card {
    padding: 1.65rem 1.5rem;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.cinema-edition-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 55px rgba(42, 22, 30, 0.14);
}

.cinema-edition-actions .btn {
    min-height: 2.85rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.cinema-testimonial-card {
    padding: 1.65rem 1.45rem;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.cinema-testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-card-hover);
}

.cinema-final-cta {
    background: radial-gradient(ellipse 100% 70% at 50% 120%, rgba(139, 47, 60, 0.15), transparent 55%),
        linear-gradient(165deg, var(--bg-alt) 0%, var(--bg) 100%) !important;
    padding-top: clamp(4rem, 10vw, 7rem) !important;
    padding-bottom: clamp(4rem, 10vw, 7rem) !important;
}

.cinema-final-cta__title {
    font-size: clamp(2rem, 4vw, 3.15rem);
    color: var(--text);
}

.cinema-final-cta__lead {
    color: var(--text-muted);
    max-width: 28rem;
}

.cinema-final-cta__btn {
    box-shadow: var(--shadow-card);
}

.leona-reveal {
    transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1), transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

.leona-reveal--delay-1 {
    transition-delay: 0.14s;
}

/* Header: slimmer, clearer active state */
.cinema-site-header .site-navbar.leona-nav {
    padding-top: 0.55rem !important;
    padding-bottom: 0.55rem !important;
}

.cinema-site-header .nav-link {
    padding-top: 0.45rem !important;
    padding-bottom: 0.45rem !important;
}

.cinema-site-header .nav-link.active {
    color: var(--accent) !important;
    font-weight: 600;
}

.cinema-site-header .nav-link.active::after {
    background: linear-gradient(90deg, transparent, var(--accent), transparent) !important;
    opacity: 1;
    height: 2px;
    bottom: 0.15rem;
}

.cinema-site-header .leona-nav-cta {
    border-radius: 999px;
    letter-spacing: 0.1em;
    padding: 0.45rem 1.1rem !important;
    box-shadow: 0 8px 22px rgba(139, 47, 60, 0.25);
}

/* Footer premium */
.cinema-footer.leona-footer {
    background: linear-gradient(180deg, var(--bg-alt) 0%, var(--bg) 100%);
    border-top: 1px solid var(--border);
}

.cinema-footer .leona-footer__main {
    border-top: none;
}

.cinema-footer .leona-footer-input {
    background: #ffffff;
    border-color: var(--border);
    color: var(--text);
}

.cinema-footer .btn-leona-subscribe {
    background: var(--accent);
    border: none;
    color: #ffffff;
    letter-spacing: 0.12em;
}

.cinema-footer .btn-leona-subscribe:hover {
    background: var(--accent-hover);
    color: #ffffff;
}

/* Books / product showcase */
.cinema-page-hero .cinema-label + .section-kicker {
    margin-top: 0;
}

.cinema-cover-frame--showcase img {
    transition: transform 0.55s ease;
}

.cinema-cover-frame--showcase:hover img {
    transform: scale(1.03);
}

.cinema-product-actions .btn,
.cinema-detail-actions .btn {
    flex: 1 1 auto;
    min-width: 10rem;
}

/* Cart / checkout readability */
.cinema-cart-page .shop-cart-table,
.cinema-checkout-page .form-control,
.cinema-checkout-page .form-select {
    border-radius: 0.65rem;
}

.cinema-checkout-page .cinema-checkout-form-card .form-label {
    letter-spacing: 0.02em;
}

.cinema-checkout-lead {
    max-width: 36rem;
    line-height: 1.65;
}

.cinema-checkout-summary {
    background: linear-gradient(180deg, #fdfaf5 0%, #f5ebe0 100%) !important;
}

/* About / contact */
.cinema-about-writing {
    background: linear-gradient(180deg, #f7f1e8 0%, #eee4d8 100%);
}

.cinema-about-cta-band {
    background: linear-gradient(135deg, var(--bg-alt) 0%, var(--bg) 100%);
    color: var(--text);
}

.cinema-about-cta-inner .text-brand-dark,
.cinema-about-cta-inner .font-serif {
    color: var(--text) !important;
}

.cinema-about-cta-inner .text-secondary {
    color: var(--text-muted) !important;
}

.cinema-contact-page .cinema-contact-info-card {
    background: linear-gradient(180deg, #fdfaf6 0%, #f3ebe3 100%);
}

@media (max-width: 575.98px) {
    .cinema-hero-cta .btn {
        width: 100%;
    }

    .cinema-product-actions .btn,
    .cinema-detail-actions .btn {
        width: 100%;
        min-width: 0;
    }

    .cinema-edition-actions .btn {
        width: 100%;
    }

    .cinema-y {
        padding-top: clamp(3rem, 10vw, 4.5rem);
        padding-bottom: clamp(3rem, 10vw, 4.5rem);
    }
}

/* ========== Dream theme — same 2-color system + neutrals ========== */
.dream-theme.site-body,
.dream-theme .site-body {
    --dream-navy: var(--text);
    --dream-navy-soft: var(--text-muted);
    --dream-sky: var(--accent);
    --dream-sky-deep: var(--accent-hover);
    --dream-pink: var(--accent);
    --dream-pink-soft: rgba(139, 47, 60, 0.12);
    --dream-butter: var(--bg-alt);
    --dream-paper: #fbf7f0;
    --dream-paper-2: #f4ebe0;
    --dream-text: #241c1a;
    --dream-muted: rgba(36, 28, 26, 0.7);
    --lux-bg: var(--dream-paper);
    --lux-bg-alt: var(--dream-paper-2);
    --lux-ivory: #ffffff;
    --lux-text: var(--dream-text);
    --lux-muted: var(--dream-muted);
    --lux-burgundy: #8b2f3c;
    --lux-blush: var(--dream-pink-soft);
    --lux-gold: #8b2f3c;
    --lux-border: rgba(36, 28, 26, 0.1);
    --lux-card: #ffffff;
    font-family: "Nunito", system-ui, sans-serif !important;
    background: linear-gradient(180deg, #ffffff 0%, var(--dream-paper) 45%, var(--dream-paper-2) 100%) !important;
    color: var(--dream-text) !important;
}

.dream-theme .font-serif {
    font-family: "Nunito", system-ui, sans-serif !important;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.dream-theme.site-body::before {
    display: block !important;
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 0.2;
    background-image: radial-gradient(1.5px 1.5px at 8% 12%, rgba(255, 255, 255, 0.95), transparent),
        radial-gradient(1px 1px at 22% 44%, rgba(255, 255, 255, 0.85), transparent),
        radial-gradient(1px 1px at 38% 18%, rgba(255, 255, 255, 0.75), transparent),
        radial-gradient(1.5px 1.5px at 55% 62%, rgba(255, 255, 255, 0.9), transparent),
        radial-gradient(1px 1px at 72% 28%, rgba(255, 255, 255, 0.8), transparent),
        radial-gradient(1px 1px at 88% 76%, rgba(255, 255, 255, 0.85), transparent),
        radial-gradient(1.5px 1.5px at 15% 78%, rgba(255, 255, 255, 0.7), transparent),
        radial-gradient(1px 1px at 91% 14%, rgba(255, 255, 255, 0.75), transparent);
    background-size: 100% 100%;
}

/* Exclude .btn-backtotop — fixed viewport button must not get position: relative */
.dream-theme.site-body > *:not(.btn-backtotop) {
    position: relative;
    z-index: 1;
}

@media (prefers-reduced-motion: no-preference) {
    .dream-theme.dream-motion.site-body::before {
        animation: dream-twinkle 10s ease-in-out infinite alternate;
    }
}

@keyframes dream-twinkle {
    from {
        opacity: 0.16;
    }
    to {
        opacity: 0.26;
    }
}

/* Hero — light editorial wash (inner pages) */
.dream-theme .cinema-hero,
.dream-theme .dream-hero {
    color: var(--lux-text) !important;
    background: radial-gradient(ellipse 88% 68% at 88% 10%, rgba(139, 47, 60, 0.1) 0%, transparent 52%),
        radial-gradient(ellipse 72% 58% at 6% 86%, rgba(36, 28, 26, 0.04) 0%, transparent 52%),
        linear-gradient(165deg, #ffffff 0%, var(--lux-bg) 48%, var(--lux-bg-alt) 100%) !important;
    padding-bottom: clamp(4rem, 10vw, 6rem) !important;
}

.dream-theme .cinema-hero::before {
    opacity: 0.1 !important;
}

.dream-theme .cinema-hero__veil,
.dream-theme .dream-hero__veil {
    background: linear-gradient(
            95deg,
            rgba(251, 247, 240, 0.94) 0%,
            rgba(244, 235, 221, 0.78) 45%,
            rgba(244, 235, 221, 0.45) 100%
        ) !important;
}

.dream-theme .cinema-title {
    color: var(--lux-text) !important;
    text-shadow: 0 2px 28px rgba(255, 253, 248, 0.9);
}

.dream-theme .cinema-title-soft {
    color: var(--lux-burgundy) !important;
    font-weight: 500;
}

.dream-theme .cinema-kicker {
    color: var(--lux-gold) !important;
    letter-spacing: 0.2em;
}

.dream-theme .cinema-sub {
    color: var(--lux-muted) !important;
}

.dream-theme .dream-cloud--top {
    background: radial-gradient(ellipse 120% 100% at 50% 0%, rgba(255, 253, 248, 0.95) 0%, rgba(216, 167, 167, 0.15) 40%, transparent 72%);
    opacity: 1;
}

.dream-theme .dream-cloud--bottom {
    background: radial-gradient(ellipse 130% 100% at 50% 100%, rgba(244, 235, 221, 0.9) 0%, rgba(216, 167, 167, 0.12) 45%, transparent 72%);
}

.dream-theme .dream-book-float::before {
    background: radial-gradient(ellipse at center, rgba(184, 150, 90, 0.28) 0%, rgba(216, 167, 167, 0.18) 45%, transparent 68%);
    filter: blur(20px);
}

.dream-theme .cinema-book-cover {
    box-shadow: 0 28px 60px rgba(36, 28, 26, 0.12), 0 0 0 1px var(--lux-border), 0 0 40px rgba(184, 150, 90, 0.15);
}

.dream-theme .dream-banner-text {
    color: var(--lux-text) !important;
}

.dream-theme .cinema-banner__inner,
.dream-theme .dream-banner-glow {
    background: linear-gradient(135deg, rgba(255, 253, 248, 0.98) 0%, rgba(244, 235, 221, 0.95) 100%) !important;
    border: 1px solid var(--lux-border) !important;
    box-shadow: 0 10px 36px rgba(36, 28, 26, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* Section titles on light bands */
.dream-theme .cinema-label {
    color: var(--lux-gold) !important;
}

.dream-theme .cinema-section-title {
    color: var(--lux-text) !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}

.dream-theme .cinema-section-sub {
    color: var(--lux-muted) !important;
}

/* Trailer — light band + elegant card (not cinematic black) */
.dream-theme .cinema-trailer,
.dream-theme .cinema-themes,
.dream-theme .cinema-testimonials,
.dream-theme .cinema-final-cta {
    background: transparent !important;
    color: var(--lux-text) !important;
}

.dream-theme .cinema-trailer {
    background: linear-gradient(180deg, var(--lux-bg-alt) 0%, var(--lux-bg) 100%) !important;
}

.dream-theme .cinema-trailer__stage::before {
    background: linear-gradient(135deg, rgba(184, 150, 90, 0.35), rgba(216, 167, 167, 0.35), rgba(255, 253, 248, 0.8)) !important;
    opacity: 0.55 !important;
}

.dream-theme .cinema-trailer__stage .trailer-video-box {
    box-shadow: 0 24px 56px rgba(36, 28, 26, 0.1), 0 0 0 1px var(--lux-border) !important;
    border-radius: 1rem !important;
}

.dream-theme .cinema-trailer .trailer-video-box::after {
    background: linear-gradient(180deg, rgba(36, 28, 26, 0.06) 0%, rgba(36, 28, 26, 0.12) 100%) !important;
}

.dream-theme .cinema-trailer .trailer-video-box:hover::after {
    background: linear-gradient(180deg, rgba(36, 28, 26, 0.04) 0%, rgba(36, 28, 26, 0.08) 100%) !important;
}

.dream-theme .cinema-trailer .trailer-video-box .play-button {
    background: linear-gradient(145deg, #fffdf8 0%, var(--lux-bg-alt) 100%) !important;
    color: var(--lux-burgundy) !important;
    border: 2px solid rgba(184, 150, 90, 0.45) !important;
    box-shadow: 0 12px 32px rgba(36, 28, 26, 0.12), 0 0 0 1px rgba(255, 253, 248, 0.8) inset !important;
}

.dream-theme .cinema-trailer .trailer-video-box .play-button:hover,
.dream-theme .cinema-trailer .trailer-video-box .play-button:focus-visible {
    background: linear-gradient(145deg, #ffffff 0%, rgba(216, 167, 167, 0.35) 100%) !important;
    color: var(--lux-text) !important;
}

/* About */
.dream-theme .cinema-about {
    background: linear-gradient(180deg, var(--lux-ivory) 0%, var(--lux-bg) 100%) !important;
}

.dream-theme .cinema-copy,
.dream-theme .cinema-body-text {
    color: var(--lux-muted) !important;
}

.dream-theme .cinema-quote {
    color: var(--lux-text) !important;
    border-left-color: var(--lux-burgundy) !important;
    background: linear-gradient(90deg, rgba(139, 47, 60, 0.06), transparent) !important;
}

.dream-theme .cinema-cover-frame::before {
    background: radial-gradient(ellipse at 50% 40%, rgba(184, 150, 90, 0.2), transparent 62%);
}

.dream-theme .cinema-about-cover {
    box-shadow: 0 22px 50px rgba(36, 28, 26, 0.1), 0 0 0 1px var(--lux-border);
}

/* Homepage — “About this book” (#about-book): 60/40 grid, capped cover, balanced typography */
#about-book.cinema-y {
    padding-top: var(--section-pad-y) !important;
    padding-bottom: var(--section-pad-y) !important;
}

#about-book .cinema-about__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.dream-theme #about-book .cinema-about__col--text {
    display: flex;
    align-items: center;
}

.dream-theme #about-book .cinema-about__text {
    max-width: 500px;
    width: 100%;
}

.dream-theme #about-book .cinema-about__label {
    font-size: 0.72rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 0.65rem !important;
}

.dream-theme #about-book .cinema-about__heading {
    font-size: clamp(1.85rem, 3.2vw, 2.65rem);
    line-height: 1.15;
    margin-bottom: 1.15rem !important;
}

.dream-theme #about-book .cinema-about__prose {
    font-size: 1.05rem;
    line-height: 1.7;
    max-width: 500px;
}

.dream-theme #about-book .cinema-about__quote {
    font-style: italic;
    background: #f4ebdd !important;
    border-left: 4px solid var(--lux-burgundy, #8b2f3c) !important;
    padding: 1.25rem 1.35rem 1.25rem 1.25rem !important;
    border-radius: 0 0.65rem 0.65rem 0 !important;
    margin-top: 1.75rem !important;
    box-shadow: 0 8px 28px rgba(36, 28, 26, 0.06);
}

.dream-theme #about-book .cinema-cover-frame--about {
    display: block;
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

.dream-theme #about-book .cinema-about__cover-img,
.dream-theme #about-book .cinema-about-cover {
    max-width: 320px !important;
    width: 100% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
}

.dream-theme #about-book .cinema-cover-frame::before {
    inset: -6px -6px -10px -6px;
}

@media (max-width: 991.98px) {
    #about-book.cinema-y {
        padding-top: 3.75rem !important;
        padding-bottom: 3.75rem !important;
    }

    .dream-theme #about-book .cinema-about__cover-img,
    .dream-theme #about-book .cinema-about-cover {
        max-width: 240px !important;
    }

    .dream-theme #about-book .cinema-cover-frame--about {
        max-width: 240px;
        margin-bottom: 0.5rem;
    }

    .dream-theme #about-book .cinema-about__col--text {
        align-items: flex-start;
    }
}

/* Theme cards — ivory editorial */
.dream-theme .cinema-themes {
    background: linear-gradient(180deg, var(--lux-bg) 0%, var(--lux-bg-alt) 100%) !important;
}

.dream-theme .cinema-theme-card {
    background: var(--lux-card) !important;
    border: 1px solid var(--lux-border) !important;
    border-radius: 1.25rem !important;
    box-shadow: 0 14px 36px rgba(36, 28, 26, 0.06) !important;
    backdrop-filter: none !important;
}

.dream-theme .cinema-theme-card h3 {
    color: var(--lux-text) !important;
    font-weight: 600 !important;
}

.dream-theme .cinema-theme-card p {
    color: var(--lux-muted) !important;
}

.dream-theme .cinema-theme-card:hover {
    border-color: rgba(216, 167, 167, 0.55) !important;
    box-shadow: 0 20px 48px rgba(36, 28, 26, 0.1) !important;
}

/* Editions */
.dream-theme .cinema-editions {
    background: linear-gradient(180deg, var(--lux-ivory) 0%, var(--lux-bg) 100%) !important;
}

.dream-theme .cinema-section--editions .cinema-section-title {
    color: var(--lux-text) !important;
}

.dream-theme .cinema-section--editions .cinema-label {
    color: var(--lux-gold) !important;
}

.dream-theme .cinema-edition-card {
    background: var(--lux-card) !important;
    border: 1px solid var(--lux-border) !important;
    box-shadow: 0 16px 40px rgba(36, 28, 26, 0.07) !important;
}

.dream-theme .cinema-edition-name {
    color: var(--lux-muted) !important;
}

.dream-theme .cinema-edition-price {
    color: var(--lux-burgundy) !important;
}

/* Testimonials */
.dream-theme .cinema-testimonials {
    background: linear-gradient(180deg, var(--lux-bg-alt) 0%, var(--lux-bg) 100%) !important;
}

.dream-theme .cinema-testimonial-card {
    background: var(--lux-card) !important;
    border: 1px solid var(--lux-border) !important;
}

.dream-theme .cinema-testimonial-card p {
    color: var(--lux-muted) !important;
}

.dream-theme .cinema-testimonial-card footer strong {
    color: var(--lux-text) !important;
}

.dream-theme .cinema-testimonial-card footer span {
    color: var(--lux-muted) !important;
}

/* Final CTA — warm band, not black */
.dream-theme .cinema-final-cta {
    background: linear-gradient(180deg, var(--lux-bg-alt) 0%, rgba(216, 167, 167, 0.25) 55%, var(--lux-bg) 100%) !important;
    padding-top: clamp(3.75rem, 9vw, 6rem) !important;
    padding-bottom: clamp(3.75rem, 9vw, 6rem) !important;
}

.dream-theme .cinema-final-cta__title {
    color: var(--lux-text) !important;
}

.dream-theme .cinema-final-cta__lead {
    color: var(--lux-muted) !important;
}

.dream-theme .cinema-label--on-dark {
    color: var(--lux-burgundy) !important;
}

/* Buttons */
.dream-theme .btn {
    border-radius: 999px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em;
    transition: transform 0.25s ease, box-shadow 0.3s ease, background 0.25s ease;
}

.dream-theme .btn-coral,
.dream-theme .btn-brand {
    background: var(--accent) !important;
    border: none !important;
    color: #fff !important;
    text-shadow: none !important;
    box-shadow: 0 10px 28px rgba(139, 47, 60, 0.28) !important;
}

.dream-theme .btn-coral:hover,
.dream-theme .btn-brand:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
    box-shadow: 0 14px 36px rgba(139, 47, 60, 0.35) !important;
    color: #fff !important;
}

.dream-theme .btn-outline-coral,
.dream-theme .btn-outline-brand {
    background: var(--lux-card) !important;
    border: 2px solid rgba(36, 28, 26, 0.15) !important;
    color: var(--accent) !important;
    box-shadow: 0 6px 18px rgba(36, 28, 26, 0.06) !important;
}

.dream-theme .btn-outline-coral:hover,
.dream-theme .btn-outline-brand:hover {
    background: rgba(139, 47, 60, 0.08) !important;
    border-color: var(--accent) !important;
    color: var(--accent-hover) !important;
}

.dream-theme .btn-outline-light {
    border: 1px solid var(--lux-border) !important;
    color: var(--lux-text) !important;
    background: rgba(255, 253, 248, 0.92) !important;
    backdrop-filter: blur(8px);
}

.dream-theme .btn-outline-light:hover {
    border-color: rgba(139, 47, 60, 0.35) !important;
    color: var(--lux-burgundy) !important;
    background: #fff !important;
}

/* Header — light glass */
.dream-theme .cinema-site-header {
    background: rgba(251, 247, 240, 0.94) !important;
    backdrop-filter: blur(14px) saturate(1.1);
    border-bottom: 1px solid var(--lux-border) !important;
}

.dream-theme .cinema-site-header .nav-link,
.dream-theme .cinema-site-header .navbar-brand {
    color: var(--lux-text) !important;
}

.dream-theme .cinema-site-header .nav-link.active {
    color: var(--accent) !important;
    background: rgba(139, 47, 60, 0.1) !important;
    box-shadow: none !important;
}

.dream-theme .cinema-site-header .leona-nav-cta {
    background: var(--accent) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 8px 24px rgba(139, 47, 60, 0.28) !important;
}

.dream-theme .cinema-site-header .leona-nav-cta:hover {
    color: #fff !important;
}

.dream-theme .site-header--on-hero .leona-nav .leona-menu .leona-nav-link,
.dream-theme .site-header--on-hero .site-cart-icon {
    color: var(--lux-text) !important;
}

.dream-theme .site-cart-btn {
    color: var(--accent) !important;
    background: rgba(139, 47, 60, 0.1) !important;
}

/* Footer — cream band */
.dream-theme .cinema-footer.leona-footer {
    background: linear-gradient(180deg, var(--lux-bg-alt) 0%, var(--lux-bg) 100%) !important;
    border-top: 1px solid var(--lux-border) !important;
    color: var(--lux-text) !important;
}

.dream-theme .cinema-footer .text-secondary,
.dream-theme .cinema-footer .leona-footer__lead {
    color: var(--lux-muted) !important;
}

.dream-theme .cinema-footer a:not(.btn):not(.navbar-brand) {
    color: var(--lux-burgundy) !important;
}

.dream-theme .cinema-footer a:not(.btn):not(.navbar-brand):hover {
    color: var(--accent-hover) !important;
}

.dream-theme .cinema-footer .leona-footer-input {
    background: var(--lux-card) !important;
    border-color: var(--lux-border) !important;
    color: var(--lux-text) !important;
}

.dream-theme .cinema-footer .leona-footer-input::placeholder {
    color: var(--text-placeholder) !important;
    opacity: 1 !important;
}

.dream-theme .cinema-footer .btn-leona-subscribe {
    background: var(--lux-burgundy) !important;
    color: #fff !important;
}

.dream-theme .leona-prefooter {
    background: #fff !important;
    border-color: var(--lux-border) !important;
}

.dream-theme .leona-prefooter__quote {
    color: var(--lux-text) !important;
}

.dream-theme .leona-prefooter__sig {
    color: var(--lux-text) !important;
}

/* Product / book detail — light editorial panels */
.dream-theme .cinema-product-panel,
.dream-theme .cinema-detail-panel {
    background: linear-gradient(165deg, #ffffff 0%, var(--lux-ivory) 100%) !important;
    color: var(--lux-text) !important;
    border: 1px solid var(--lux-border) !important;
    box-shadow: 0 20px 50px rgba(36, 28, 26, 0.07) !important;
}

.dream-theme .cinema-book-shell .cinema-product-panel .text-secondary,
.dream-theme .cinema-detail-panel .text-secondary,
.dream-theme .cinema-detail-panel .rating-num {
    color: var(--lux-muted) !important;
}

.dream-theme .cinema-variation-select {
    background: var(--lux-card) !important;
    color: var(--lux-text) !important;
    border: 1px solid var(--lux-border) !important;
}

.dream-theme .cinema-detail-page #productTabs .nav-link {
    background: var(--lux-bg-alt) !important;
    color: var(--lux-muted) !important;
}

.dream-theme .cinema-detail-page #productTabs .nav-link.active {
    background: var(--lux-card) !important;
    color: var(--lux-burgundy) !important;
    border-bottom: 2px solid var(--lux-gold) !important;
}

.dream-theme .cinema-detail-page #productTabsContent {
    background: var(--lux-card) !important;
    border-color: var(--lux-border) !important;
}

/* Cart / checkout */
.dream-theme .cinema-cart-intro {
    background: rgba(216, 167, 167, 0.12) !important;
    border: 1px dashed rgba(139, 47, 60, 0.25) !important;
    color: var(--lux-text) !important;
}

.dream-theme .cinema-cart-totals,
.dream-theme .cinema-checkout-summary,
.dream-theme .cinema-checkout-form-card {
    background: var(--lux-card) !important;
    border: 1px solid var(--lux-border) !important;
    box-shadow: 0 16px 40px rgba(36, 28, 26, 0.06) !important;
}

.dream-theme .cinema-checkout-page .checkout-payment-block .form-check {
    background: var(--lux-ivory) !important;
    border: 1px solid var(--lux-border) !important;
}

.dream-theme .cinema-checkout-page .form-control,
.dream-theme .cinema-checkout-page .form-select {
    border-color: var(--lux-border) !important;
}

/* About / contact page shells */
.dream-theme .cinema-about-hero,
.dream-theme .cinema-contact-hero {
    background: linear-gradient(180deg, var(--lux-ivory) 0%, var(--lux-bg) 100%) !important;
    color: var(--lux-text) !important;
}

.dream-theme .cinema-about-panel {
    border: 1px solid var(--lux-border) !important;
    background: var(--lux-card) !important;
}

.dream-theme .cinema-about-cta-band {
    background: linear-gradient(180deg, var(--lux-bg-alt) 0%, var(--lux-bg) 100%) !important;
    color: var(--lux-text) !important;
}

.dream-theme .cinema-about-cta-inner .text-brand-dark,
.dream-theme .cinema-about-cta-inner .font-serif {
    color: var(--lux-text) !important;
}

.dream-theme .cinema-about-cta-inner .text-secondary {
    color: var(--lux-muted) !important;
}

.dream-theme .cinema-contact-page .cinema-contact-info-card,
.dream-theme .cinema-contact-page .cinema-contact-form-card {
    background: var(--lux-card) !important;
    border: 1px solid var(--lux-border) !important;
}

.dream-theme .hero-title,
.dream-theme .section-title {
    color: var(--lux-text) !important;
}

.dream-theme .page-hero {
    background: linear-gradient(180deg, var(--lux-ivory) 0%, var(--lux-bg) 100%) !important;
    border-bottom: 1px solid var(--lux-border) !important;
}

.dream-theme .text-green {
    color: var(--lux-burgundy) !important;
}

.dream-theme .leona-preheader {
    background: rgba(251, 247, 240, 0.97) !important;
    border-bottom: 1px solid var(--lux-border) !important;
    color: var(--lux-muted) !important;
}

.dream-theme .leona-preheader a {
    color: var(--lux-text) !important;
}

.dream-theme .btn-backtotop {
    background: var(--lux-burgundy) !important;
    color: #fff !important;
    box-shadow: 0 10px 28px rgba(139, 47, 60, 0.25) !important;
}

.dream-theme .btn-backtotop:hover,
.dream-theme .btn-backtotop:focus-visible {
    background: #7a2a35 !important;
    color: #fff !important;
    outline-color: var(--lux-gold) !important;
}

/* Float animation (keep) */
@media (prefers-reduced-motion: no-preference) {
    .dream-theme .cinema-book-float {
        animation: dreamFloatSoft 5s ease-in-out infinite !important;
    }
}

@keyframes dreamFloatSoft {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dream-theme .cinema-book-float {
        animation: none !important;
    }
}

/* ========== Safe polish: spacing, typography, buttons, hero cover, trailer (cinema layout unchanged) ========== */
.dream-theme .cinema-y {
    padding-top: clamp(4rem, 9vw, 6.5rem) !important;
    padding-bottom: clamp(4rem, 9vw, 6.5rem) !important;
}

.dream-theme .cinema-section-title {
    letter-spacing: 0.01em;
    line-height: 1.22;
}

.dream-theme .cinema-label {
    letter-spacing: 0.24em;
}

.dream-theme .btn-coral,
.dream-theme .btn-brand,
.dream-theme .btn-outline-coral,
.dream-theme .btn-outline-brand,
.dream-theme .btn-outline-light {
    transition:
        transform 0.22s ease,
        box-shadow 0.25s ease,
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        filter 0.2s ease;
}

@media (prefers-reduced-motion: no-preference) {
    .dream-theme .btn-coral:hover,
    .dream-theme .btn-brand:hover,
    .dream-theme .btn-outline-coral:hover,
    .dream-theme .btn-outline-brand:hover,
    .dream-theme .btn-outline-light:hover {
        transform: translateY(-2px);
    }

    .dream-theme .cinema-theme-card,
    .dream-theme .cinema-edition-card,
    .dream-theme .cinema-testimonial-card {
        transition: transform 0.22s ease, box-shadow 0.28s ease, border-color 0.22s ease;
    }

    .dream-theme .cinema-theme-card:hover,
    .dream-theme .cinema-edition-card:hover {
        transform: translateY(-4px);
    }
}

/* Larger hero book without changing markup */
.dream-theme .cinema-hero__visual {
    max-width: 32rem;
    margin-left: auto;
    margin-right: auto;
}

.dream-theme .cinema-hero__visual .cinema-book-cover {
    width: 100%;
    max-width: 31rem;
    height: auto;
}

/* Trailer: clearer frame on light editorial theme */
.dream-theme .cinema-trailer .cinema-trailer__stage {
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
}

.dream-theme .cinema-trailer .cinema-trailer__stage .trailer-video-box {
    border-radius: 1.15rem !important;
    box-shadow:
        0 28px 56px rgba(36, 28, 26, 0.11),
        0 0 0 1px rgba(36, 28, 26, 0.07) !important;
}

.dream-theme .cinema-trailer .trailer-video-box .play-button {
    transition: transform 0.25s ease, box-shadow 0.28s ease, background 0.2s ease !important;
}

@media (prefers-reduced-motion: no-preference) {
    .dream-theme .cinema-trailer .trailer-video-box .play-button:hover,
    .dream-theme .cinema-trailer .trailer-video-box .play-button:focus-visible {
        transform: translate(-50%, -50%) scale(1.06);
    }
}

/* GSAP image reveal mask (transform/opacity animated in JS; overflow clips scale) */
.gsap-image-reveal {
    overflow: hidden;
}

.gsap-image-reveal img {
    transform-origin: center center;
    will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
    .gsap-image-reveal img {
        will-change: auto;
    }
}

/* ========== This is it! · book presentation (tii-*) ========== */
.tii-presentation {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    .tii-presentation {
        scroll-behavior: auto;
    }
}

.tii-presentation {
    --tii-paper: #fbf7f0;
    --tii-paper-2: #f4ebe0;
    --tii-ink: #241c1a;
    --tii-muted: rgba(36, 28, 26, 0.7);
    --tii-accent: #8b2f3c;
    --tii-accent-soft: rgba(139, 47, 60, 0.15);
    --tii-gold: #8b2f3c;
    --tii-sky: #8b2f3c;
    --tii-dark: #241c1a;
    --tii-dark-2: #f4ebe0;
    --tii-line: rgba(36, 28, 26, 0.1);
}

/* Header */
.tii-presentation .tii-header {
    background: rgba(251, 247, 240, 0.94) !important;
    backdrop-filter: blur(16px) saturate(1.15);
    border-bottom: 1px solid var(--tii-line) !important;
    transition: box-shadow 0.3s ease, background 0.3s ease;
}

.tii-presentation .tii-header.is-scrolled,
.tii-presentation .tii-header.is-solid {
    background: rgba(255, 255, 255, 0.97) !important;
    box-shadow: 0 8px 32px rgba(36, 28, 26, 0.08);
}

.tii-presentation .tii-nav .leona-nav-link {
    color: var(--tii-ink) !important;
    font-weight: 500;
    letter-spacing: 0.04em;
    font-size: 0.8rem;
    text-transform: uppercase;
}

.tii-presentation .tii-nav .leona-nav-link:hover,
.tii-presentation .tii-nav .leona-nav-link.active {
    color: var(--tii-accent) !important;
}

.tii-presentation .tii-nav-cta {
    background: var(--tii-accent) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 999px;
    font-size: 0.72rem !important;
    letter-spacing: 0.08em;
    box-shadow: 0 6px 20px rgba(139, 47, 60, 0.28);
}

.tii-presentation .tii-nav-cta:hover {
    filter: brightness(1.06);
    box-shadow: 0 10px 28px rgba(139, 47, 60, 0.35);
    color: #fff !important;
}

.tii-presentation .tii-cart-btn {
    color: var(--tii-accent) !important;
    background: rgba(139, 47, 60, 0.1) !important;
    border-radius: 50%;
}

.tii-presentation .site-header--on-hero .tii-nav .leona-nav-link {
    color: var(--tii-ink) !important;
}

/* Blacks homepage: #siteHeader stacks above dark hero — tii/dream use dark ink; switch to light until first scroll */
body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .tii-nav .leona-nav-link,
body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .leona-nav .leona-nav-link {
    color: rgba(255, 255, 255, 0.95) !important;
}

body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .tii-nav .leona-nav-link:hover,
body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .tii-nav .leona-nav-link.active {
    color: #ffffff !important;
}

body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .tii-cart-btn {
    color: rgba(255, 255, 255, 0.95) !important;
    background: rgba(255, 255, 255, 0.12) !important;
}

body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .site-cart-icon {
    color: inherit !important;
}

body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .leona-icon-btn {
    color: rgba(255, 255, 255, 0.95) !important;
}

body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .tii-nav-cta {
    background: rgba(255, 255, 255, 0.14) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.38) !important;
    box-shadow: none !important;
}

body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .tii-nav-cta:hover {
    background: rgba(255, 255, 255, 0.24) !important;
    color: #fff !important;
}

body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .site-logo img {
    filter: brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45)) !important;
}

body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .site-nav-toggler {
    background: rgba(255, 255, 255, 0.12) !important;
}

body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .site-nav-toggler__bars,
body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .site-nav-toggler__bars::before,
body.blacks-home #siteHeader.site-header--on-hero:not(.is-scrolled) .site-nav-toggler__bars::after {
    background: #fff !important;
}

/* Hero */
.tii-hero {
    position: relative;
    min-height: min(92vh, 900px);
    display: flex;
    align-items: center;
    padding: clamp(6rem, 12vw, 8rem) 0 clamp(4rem, 8vw, 6rem);
    background: var(--tii-paper);
    overflow: hidden;
}

.tii-hero__bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 60% at 100% 0%, rgba(184, 150, 90, 0.12), transparent 55%),
        radial-gradient(ellipse 60% 50% at 0% 100%, rgba(139, 47, 60, 0.08), transparent 50%),
        linear-gradient(180deg, #fffcf7 0%, var(--tii-paper) 100%);
    pointer-events: none;
}

.tii-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
}

@media (min-width: 992px) {
    .tii-hero__grid {
        grid-template-columns: 1.05fr 0.95fr;
        gap: clamp(2rem, 5vw, 4rem);
    }
}

.tii-eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--tii-gold);
    font-weight: 700;
    margin-bottom: 1rem;
}

.tii-hero__title {
    font-size: clamp(2.75rem, 7.5vw, 5.25rem);
    line-height: 0.98;
    font-weight: 600;
    color: var(--tii-ink);
    margin: 0 0 0.5rem;
    letter-spacing: -0.02em;
}

.tii-hero__subtitle {
    font-size: clamp(1.1rem, 2.2vw, 1.45rem);
    color: var(--tii-accent);
    font-weight: 500;
    margin-bottom: 1.25rem;
    letter-spacing: 0.04em;
}

.tii-hero__lead {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--tii-muted);
    max-width: 32rem;
    margin-bottom: 1.5rem;
}

.tii-hero__badge {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: 1.75rem;
}

.tii-price-badge {
    font-size: 1.75rem;
    color: var(--tii-ink);
    font-weight: 600;
}

.tii-edition-pill {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    padding: 0.4rem 0.9rem;
    border: 1px solid var(--tii-line);
    border-radius: 999px;
    color: var(--tii-muted);
    background: #fff;
}

.tii-hero__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
}

.tii-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.9rem 1.75rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border-radius: 999px;
    border: none;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.25s ease, background 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.tii-btn--primary {
    background: var(--tii-accent);
    color: #fff;
    box-shadow: 0 12px 32px rgba(139, 47, 60, 0.25);
}

.tii-btn--primary:hover {
    background: #6e252e;
    color: #fff;
    transform: translateY(-2px);
}

.tii-btn--ghost {
    background: transparent;
    color: var(--tii-ink);
    border: 1px solid var(--tii-line);
}

.tii-btn--ghost:hover {
    border-color: var(--tii-accent);
    color: var(--tii-accent);
    transform: translateY(-2px);
}

.tii-btn--outline {
    background: #fff;
    color: var(--tii-ink);
    border: 1px solid var(--tii-line);
}

.tii-btn--outline:hover {
    border-color: var(--tii-accent);
    color: var(--tii-accent);
}

.tii-btn--ghost-light {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.28);
}

.tii-btn--ghost-light:hover {
    background: #fff;
    color: var(--tii-ink);
}

/* CTA / newsletter band is light — ghost-light must not use white text */
.tii-band--cta .tii-btn--ghost-light {
    background: transparent;
    color: var(--tii-ink);
    border: 1px solid var(--tii-line);
}

.tii-band--cta .tii-btn--ghost-light:hover {
    background: rgba(139, 47, 60, 0.08);
    color: var(--tii-accent);
    border-color: var(--tii-accent);
}

.tii-hero__visual {
    display: flex;
    justify-content: center;
}

.tii-book-stage {
    max-width: min(100%, 420px);
    filter: drop-shadow(0 40px 60px rgba(18, 16, 14, 0.18));
}

.tii-book-stage__inner {
    border-radius: 0.2rem;
}

.tii-book-cover {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0.2rem;
}

/* Bands */
.tii-band {
    padding: var(--section-pad-y) 0;
}

.tii-band--contrast {
    background: var(--bg-alt);
    color: var(--text);
}

.tii-band--light {
    background: linear-gradient(180deg, #fff 0%, var(--tii-paper) 100%);
}

.tii-band--dark {
    background: linear-gradient(180deg, var(--bg-alt) 0%, var(--bg) 100%);
    color: var(--text);
}

.tii-band--cta {
    background: linear-gradient(135deg, var(--bg-alt) 0%, rgba(139, 47, 60, 0.1) 50%, var(--bg) 100%);
    color: var(--text);
}

.tii-eyebrow--light {
    color: var(--accent);
}

.tii-section-title {
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.12;
    margin: 0 0 1rem;
    font-weight: 600;
}

.tii-section-title--inverse {
    color: var(--text);
}

.tii-section-head {
    margin-bottom: 2.5rem;
}

.tii-section-head--center {
    text-align: center;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3rem;
}

/* Offer */
.tii-offer__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: center;
}

@media (min-width: 992px) {
    .tii-offer__grid {
        grid-template-columns: 1.05fr 0.95fr;
        gap: 4rem;
    }
}

.tii-offer__text {
    max-width: 36rem;
}

.tii-offer__lede {
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--tii-muted);
    margin-bottom: 1.25rem;
}

.tii-text-link {
    color: var(--tii-accent-soft);
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 0.06em;
    font-size: 0.85rem;
    text-transform: uppercase;
}

.tii-text-link:hover {
    color: var(--tii-ink);
}

.tii-offer__media {
    border-radius: 0.35rem;
    max-height: 520px;
    overflow: hidden;
}

.tii-offer__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Themes */
.tii-theme-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

@media (min-width: 576px) {
    .tii-theme-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .tii-theme-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
    }
}

.tii-theme-card {
    background: #fff;
    border: 1px solid var(--tii-line);
    border-radius: 1rem;
    padding: 1.75rem 1.5rem;
    height: 100%;
    transition: transform 0.25s ease, box-shadow 0.3s ease, border-color 0.25s ease;
}

.tii-theme-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px rgba(18, 16, 14, 0.1);
    border-color: rgba(139, 47, 60, 0.25);
}

.tii-theme-card__title {
    font-size: 1.2rem;
    margin-bottom: 0.65rem;
    color: var(--tii-ink);
}

.tii-theme-card__text {
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--tii-muted);
    margin-bottom: 1.25rem;
}

.tii-theme-card__more {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--tii-accent);
    text-decoration: none;
}

.tii-theme-card__more:hover {
    color: var(--tii-ink);
}

/* Stats */
.tii-stats__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1.5rem;
}

@media (min-width: 768px) {
    .tii-stats__grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem;
    }
}

.tii-stat {
    text-align: center;
}

.tii-stat__value {
    display: block;
    font-size: clamp(2.25rem, 4.5vw, 3.25rem);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.tii-stat__label {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: rgba(255, 252, 248, 0.55);
}

/* Trailer */
.tii-trailer__intro {
    color: var(--tii-muted);
    font-size: 1.05rem;
    max-width: 36rem;
    margin: 0 auto;
}

.tii-trailer__frame {
    max-width: 900px;
    margin: 0 auto;
    border-radius: 1.15rem;
    padding: 3px;
    background: linear-gradient(135deg, rgba(184, 150, 90, 0.5), rgba(139, 47, 60, 0.35), rgba(248, 245, 240, 0.4));
}

.tii-trailer .tii-trailer__video,
.tii-trailer .trailer-video-box {
    border-radius: 1rem;
    aspect-ratio: 16 / 9;
    background: #1a1512;
}

.tii-trailer .tii-trailer__video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Buy */
.tii-buy__wrap {
    max-width: 920px;
    margin: 0 auto;
}

.tii-buy__sub {
    color: var(--tii-muted);
    font-size: 1.05rem;
}

.tii-buy-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: center;
    background: #fff;
    border: 1px solid var(--tii-line);
    border-radius: 1.25rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    box-shadow: 0 28px 60px rgba(18, 16, 14, 0.08);
}

@media (min-width: 768px) {
    .tii-buy-card {
        grid-template-columns: 220px 1fr;
        gap: 2.5rem;
    }
}

.tii-buy-card__media {
    border-radius: 0.5rem;
    overflow: hidden;
    max-width: 220px;
    margin: 0 auto;
}

.tii-buy-card__media img {
    width: 100%;
    height: auto;
    display: block;
}

.tii-buy-price {
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    color: var(--tii-accent);
    margin-bottom: 1.25rem;
}

.tii-buy-price__label {
    display: block;
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--tii-muted);
    font-family: var(--font-sans);
    margin-bottom: 0.25rem;
}

.tii-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--tii-muted);
    margin-bottom: 0.35rem;
}

.tii-buy-field {
    margin-bottom: 1rem;
}

.tii-select,
.tii-qty {
    border-radius: 0.5rem !important;
    border-color: var(--tii-line) !important;
    max-width: 22rem;
}

.tii-buy-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1.25rem 0;
}

.tii-buy-foot {
    font-size: 0.9rem;
    margin: 0;
}

.tii-buy-foot a {
    color: var(--tii-muted);
    text-decoration: none;
    font-weight: 600;
}

.tii-buy-foot a:hover {
    color: var(--tii-accent);
}

/* Testimonials */
.tii-quote-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

@media (min-width: 768px) {
    .tii-quote-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.tii-quote-card {
    background: #fff;
    border: 1px solid var(--tii-line);
    border-radius: 1rem;
    padding: 1.75rem 1.5rem;
    margin: 0;
    transition: transform 0.25s ease, box-shadow 0.3s ease;
}

.tii-quote-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 44px rgba(18, 16, 14, 0.09);
}

.tii-quote-card__text {
    font-size: 1.02rem;
    line-height: 1.65;
    font-style: italic;
    color: var(--tii-muted);
    margin-bottom: 1.25rem;
}

.tii-quote-card__foot strong {
    display: block;
    color: var(--tii-ink);
    font-style: normal;
}

.tii-quote-card__foot span {
    font-size: 0.85rem;
    color: var(--tii-muted);
}

/* Journal */
.tii-journal-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .tii-journal-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.tii-journal-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
    padding: 1.75rem 1.5rem;
    height: 100%;
}

.tii-journal-card__date {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 252, 248, 0.45);
}

.tii-journal-card__title {
    font-size: 1.2rem;
    margin: 0.75rem 0;
    line-height: 1.35;
}

.tii-journal-card__title a {
    color: #fff;
    text-decoration: none;
}

.tii-journal-card__title a:hover {
    color: var(--tii-accent-soft);
}

.tii-journal-card__excerpt {
    font-size: 0.95rem;
    line-height: 1.6;
    color: rgba(255, 252, 248, 0.72);
    margin-bottom: 1rem;
}

.tii-journal-card__link {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--tii-gold);
    text-decoration: none;
}

.tii-journal-card__link:hover {
    color: #fff;
}

/* Newsletter CTA */
.tii-newsletter__inner {
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}

.tii-newsletter__title {
    font-size: clamp(2rem, 4vw, 3rem);
    margin-bottom: 0.75rem;
    color: var(--text);
}

.tii-newsletter__lead {
    font-size: 1.1rem;
    color: var(--text-subtle);
    margin-bottom: 2rem;
}

.tii-newsletter__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    align-items: center;
}

.tii-newsletter__input {
    flex: 1 1 220px;
    min-width: 200px;
    padding: 0.85rem 1.15rem;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #ffffff;
    color: var(--text);
}

.tii-newsletter__input::placeholder {
    color: var(--text-placeholder);
    opacity: 1;
}

/* Footer presentation */
.tii-presentation .tii-prefooter {
    background: #fff !important;
    border-color: var(--tii-line) !important;
}

.tii-presentation .tii-footer {
    background: linear-gradient(180deg, var(--bg-alt) 0%, var(--bg) 100%) !important;
    color: var(--text-body) !important;
    box-shadow: none;
}

.tii-presentation .tii-footer__lead,
.tii-presentation .tii-footer .text-secondary {
    color: var(--text-subtle) !important;
}

.tii-presentation .tii-footer a {
    color: var(--accent) !important;
}

.tii-presentation .tii-footer a:hover {
    color: var(--accent-hover) !important;
}

.tii-presentation .tii-footer__h {
    color: var(--text) !important;
}

.tii-presentation .tii-footer-input {
    background: #ffffff !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}

.tii-presentation .tii-footer-input::placeholder {
    color: var(--text-placeholder) !important;
    opacity: 1 !important;
}

.tii-presentation .tii-footer-submit {
    background: var(--accent) !important;
    border: none !important;
    color: #ffffff !important;
    border-radius: 999px !important;
}

.tii-presentation .tii-footer-submit:hover {
    background: var(--accent-hover) !important;
    color: #ffffff !important;
}

.tii-presentation .leona-footer__bottom {
    border-color: var(--border) !important;
    color: var(--text-muted) !important;
}

/* Inner pages shell */
.tii-page-hero {
    padding: var(--section-pad-y) 0;
    background: linear-gradient(180deg, #fffcf7 0%, var(--tii-paper) 100%);
    border-bottom: 1px solid var(--tii-line);
}

.tii-page-hero .section-title {
    font-size: clamp(2.25rem, 4.5vw, 3.5rem);
    font-weight: 600;
    letter-spacing: -0.02em;
}

@media (max-width: 575.98px) {
    .tii-hero {
        min-height: auto;
        padding-top: 5.5rem;
    }

    .tii-stats__grid {
        grid-template-columns: 1fr;
    }
}

/* ——— Dream homepage hero layers (light, aligned to palette) ——— */
.dream-sky-layer {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.dream-theme .tii-hero {
    background: transparent;
    color: var(--text);
}

.dream-theme .tii-hero__bg {
    background: radial-gradient(ellipse 95% 60% at 85% 8%, rgba(139, 47, 60, 0.1), transparent 52%),
        radial-gradient(ellipse 75% 50% at 5% 95%, rgba(36, 28, 26, 0.04), transparent 58%),
        radial-gradient(ellipse 50% 35% at 50% 100%, rgba(0, 0, 0, 0.03), transparent 70%),
        linear-gradient(168deg, #ffffff 0%, #fbf7f0 38%, #f4ebe0 100%);
}

.dream-theme .dream-sky-layer--glow {
    background: radial-gradient(circle at 50% 115%, rgba(139, 47, 60, 0.06), transparent 42%);
}

.dream-theme .dream-sky-layer--stars {
    opacity: 0;
    background-image: none;
    background-size: 100% 100%;
}

@media (prefers-reduced-motion: no-preference) {
    .dream-theme.dream-motion .dream-sky-layer--stars {
        animation: dream-hero-shimmer 14s ease-in-out infinite alternate;
    }
}

@keyframes dream-hero-shimmer {
    from {
        opacity: 0.45;
    }
    to {
        opacity: 0.62;
    }
}

.dream-theme .dream-sky-layer--clouds {
    inset: auto 0 0 0;
    height: min(42%, 280px);
    background: radial-gradient(ellipse 120% 90% at 20% 100%, rgba(255, 255, 255, 0.14), transparent 55%),
        radial-gradient(ellipse 100% 80% at 55% 110%, rgba(255, 255, 255, 0.12), transparent 58%),
        radial-gradient(ellipse 90% 70% at 85% 100%, rgba(255, 255, 255, 0.1), transparent 55%);
    filter: blur(1px);
}

.dream-theme .tii-hero .tii-eyebrow {
    color: var(--accent);
    letter-spacing: 0.22em;
}

.dream-theme .tii-hero .tii-hero__title {
    color: var(--text);
    text-shadow: none;
    font-weight: 800;
}

.dream-theme .tii-hero .tii-hero__subtitle {
    color: var(--text-muted);
}

.dream-theme .tii-hero .tii-hero__lead {
    color: var(--text-muted);
}

.dream-theme .tii-hero .tii-price-badge {
    color: var(--text);
}

.dream-theme .tii-hero .tii-edition-pill {
    background: rgba(255, 255, 255, 0.85);
    border-color: var(--border);
    color: var(--text-muted);
}

.dream-theme .tii-btn--primary {
    background: var(--accent);
    color: #fff;
    box-shadow: 0 14px 36px rgba(139, 47, 60, 0.28);
    border: none;
}

.dream-theme .tii-btn--primary:hover {
    filter: brightness(1.05);
    box-shadow: 0 18px 44px rgba(139, 47, 60, 0.35);
}

.dream-theme .tii-btn--ghost {
    background: rgba(255, 255, 255, 0.65);
    border-color: var(--border);
    color: var(--text);
}

.dream-theme .tii-btn--ghost:hover {
    background: #ffffff;
    border-color: var(--accent);
    color: var(--accent);
}

.dream-theme .site-header--on-hero.tii-header {
    background: rgba(251, 247, 240, 0.55) !important;
    border-bottom-color: var(--border) !important;
}

.dream-theme .site-header--on-hero.tii-header.is-scrolled,
.dream-theme .site-header--on-hero.tii-header.is-solid {
    background: rgba(255, 255, 255, 0.96) !important;
}

.dream-theme .site-header--on-hero.tii-header:not(.is-solid) .tii-nav .leona-nav-link {
    color: var(--text) !important;
}

.dream-theme .site-header--on-hero.tii-header:not(.is-solid) .tii-nav .leona-nav-link:hover,
.dream-theme .site-header--on-hero.tii-header:not(.is-solid) .tii-nav .leona-nav-link.active {
    color: var(--accent) !important;
}

.dream-theme .site-header--on-hero.tii-header:not(.is-solid) .tii-cart-btn {
    color: var(--accent) !important;
    background: rgba(255, 255, 255, 0.75) !important;
}

/* Blacks homepage + transparent header: beat rules above (otherwise dark ink on dark hero / mobile bar) */
body.blacks-home.dream-theme #siteHeader.site-header--on-hero.tii-header:not(.is-solid):not(.is-scrolled) .tii-nav .leona-nav-link,
body.blacks-home.dream-theme #siteHeader.site-header--on-hero.tii-header:not(.is-solid):not(.is-scrolled) .leona-nav .leona-menu .leona-nav-link {
    color: rgba(255, 255, 255, 0.95) !important;
}

body.blacks-home.dream-theme #siteHeader.site-header--on-hero.tii-header:not(.is-solid):not(.is-scrolled) .tii-nav .leona-nav-link:hover,
body.blacks-home.dream-theme #siteHeader.site-header--on-hero.tii-header:not(.is-solid):not(.is-scrolled) .tii-nav .leona-nav-link.active {
    color: #ffffff !important;
}

body.blacks-home.dream-theme #siteHeader.site-header--on-hero.tii-header:not(.is-solid):not(.is-scrolled) .tii-cart-btn {
    color: rgba(255, 255, 255, 0.95) !important;
    background: rgba(255, 255, 255, 0.12) !important;
}

.dream-theme .tii-band--contrast {
    background: linear-gradient(180deg, var(--bg-alt) 0%, var(--bg) 55%, #ffffff 100%);
    color: var(--text);
}

.dream-theme .tii-theme-card {
    background: rgba(255, 255, 255, 0.97);
    border-radius: 1.35rem;
    border: 2px solid var(--border);
    box-shadow: var(--shadow-card);
}

.dream-theme .tii-theme-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-card-hover);
    border-color: rgba(36, 28, 26, 0.18);
}

.dream-theme .tii-band--light {
    background: linear-gradient(180deg, #fff 0%, var(--tii-paper) 100%);
}

.dream-theme .tii-band--dark {
    background: linear-gradient(180deg, var(--bg-alt) 0%, var(--bg) 100%);
    color: var(--text);
}

.dream-theme .tii-band--cta {
    background: linear-gradient(125deg, var(--bg-alt) 0%, rgba(139, 47, 60, 0.12) 45%, var(--bg) 100%);
    color: var(--text);
}

.dream-theme .tii-trailer__frame {
    border-radius: 1.5rem;
    padding: 4px;
    background: linear-gradient(135deg, rgba(139, 47, 60, 0.18), rgba(36, 28, 26, 0.06), rgba(244, 235, 221, 0.8));
    box-shadow: 0 24px 48px rgba(36, 28, 26, 0.1);
}

.dream-theme .tii-trailer .trailer-video-box .play-button {
    background: linear-gradient(145deg, #ffffff 0%, var(--bg-alt) 100%) !important;
    border: 3px solid var(--border) !important;
    color: var(--accent) !important;
    box-shadow: 0 12px 36px rgba(36, 28, 26, 0.12);
}

.dream-theme .tii-trailer .trailer-video-box .play-button:hover,
.dream-theme .tii-trailer .trailer-video-box .play-button:focus-visible {
    filter: brightness(1.08);
    transform: scale(1.06);
}

.dream-theme .tii-buy-card {
    border-radius: 1.5rem;
    border: 2px solid var(--border);
    box-shadow: var(--shadow-card);
}

.dream-theme .tii-quote-card {
    border-radius: 1.35rem;
    border: 2px solid var(--border);
    box-shadow: var(--shadow-soft);
}

.dream-theme .tii-quote-card:hover {
    box-shadow: var(--shadow-card-hover);
    border-color: rgba(36, 28, 26, 0.15);
}

.dream-theme .tii-book-stage {
    filter: drop-shadow(0 28px 48px rgba(36, 28, 26, 0.12));
}

.dream-theme .tii-book-cover {
    border-radius: 0.35rem;
}

.dream-theme .tii-stat__value {
    background: linear-gradient(180deg, var(--text) 0%, var(--accent) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: none;
}

@supports not (background-clip: text) {
    .dream-theme .tii-stat__value {
        color: var(--accent);
        background: none;
        filter: none;
    }
}

.dream-theme .tii-page-hero {
    background: linear-gradient(180deg, #ffffff 0%, var(--tii-paper) 100%);
}

.dream-theme.tii-presentation .tii-prefooter {
    background: #fff !important;
    border-color: var(--border) !important;
}

.dream-theme.tii-presentation .tii-prefooter__quote,
.dream-theme.tii-presentation .tii-prefooter__sig {
    color: var(--tii-ink) !important;
}

@media (max-width: 575.98px) {
    .dream-theme .tii-btn,
    .dream-theme .tii-presentation .tii-nav-cta {
        min-height: 48px;
        padding-left: 1.35rem;
        padding-right: 1.35rem;
    }

    .dream-theme .site-navbar .nav-link {
        padding-top: 0.65rem;
        padding-bottom: 0.65rem;
    }
}

/* ========== Book presentation homepage (Blacks-style layout, scoped) ========== */
.bp-presentation {
    --bp-paper: #fbf7f0;
    --bp-paper-2: #f4ebe0;
    --bp-maroon: #8b2f3c;
    --bp-olive: #8b2f3c;
    --bp-ink: #241c1a;
    --bp-muted: rgba(36, 28, 26, 0.7);
    --bp-line: rgba(36, 28, 26, 0.1);
    --bp-max: 1290px;
    font-family: "Quattrocento Sans", system-ui, sans-serif;
    color: var(--bp-ink);
    background-color: var(--bp-paper);
    position: relative;
    z-index: 1;
}

.bp-presentation .font-serif {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 500;
}

.bp-hero {
    position: relative;
    min-height: min(94vh, 940px);
    display: flex;
    align-items: stretch;
    color: #fffefe;
    overflow: hidden;
}

.bp-hero .bp-hero__bg,
.bp-hero .tii-hero__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.bp-hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.bp-hero__bg-scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12, 12, 12, 0.55) 0%, rgba(12, 12, 12, 0.75) 45%, rgba(87, 29, 25, 0.35) 100%);
}

.bp-hero__inner {
    position: relative;
    z-index: 2;
    padding-top: clamp(4rem, 12vw, 7rem);
    padding-bottom: clamp(3rem, 8vw, 5rem);
    width: 100%;
    max-width: var(--bp-max);
    margin-inline: auto;
}

.bp-hero__mega {
    font-size: clamp(3.5rem, 14vw, 18rem);
    line-height: 0.88;
    letter-spacing: -0.03em;
    text-align: center;
    margin: 0 0 0.15em;
    text-transform: uppercase;
    color: #fcfcfc;
}

.bp-hero__mega em {
    font-style: italic;
    font-weight: 400;
}

.bp-hero__row {
    display: flex;
    justify-content: center;
}

.bp-hero__book {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    max-width: 420px;
}

@media (min-width: 992px) {
    .bp-hero__book {
        flex-direction: row;
        align-items: flex-end;
        justify-content: center;
        gap: clamp(1.5rem, 4vw, 3rem);
        max-width: none;
    }
}

.bp-hero__book-inner {
    flex-shrink: 0;
}

.bp-hero__cover {
    display: block;
    width: clamp(200px, 26vw, 340px);
    height: auto;
    border-radius: 2px;
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.45);
}

.bp-hero__priceblock {
    text-align: center;
}

@media (min-width: 992px) {
    .bp-hero__priceblock {
        text-align: center;
        padding-bottom: 0.5rem;
    }
}

.bp-hero__booktitle {
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    margin: 0 0 0.25rem;
    color: #fffefe;
}

.bp-hero__subtitle {
    font-size: clamp(1rem, 1.6vw, 1.35rem);
    margin: 0 0 0.35rem;
    color: rgba(255, 254, 254, 0.92);
}

.bp-hero__subtitle--accent {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: clamp(0.85rem, 1.2vw, 1rem);
}

.bp-hero__price {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    margin: 0.5rem 0 1rem;
}

.bp-hero__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}

.bp-hero__scroll {
    position: absolute;
    left: 50%;
    bottom: clamp(1rem, 4vw, 2rem);
    transform: translateX(-50%);
    color: #fffefe;
    opacity: 0.85;
    animation: bp-scroll-nudge 2.8s ease-in-out infinite;
}

@keyframes bp-scroll-nudge {
    0%,
    100% {
        transform: translate(-50%, 0);
    }
    50% {
        transform: translate(-50%, 6px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .bp-hero__scroll {
        animation: none;
    }
}

.bp-band {
    position: relative;
    padding-top: var(--section-pad-y);
    padding-bottom: var(--section-pad-y);
}

.bp-band--paper {
    background-color: var(--bp-paper);
}

.bp-band__overlay {
    display: none;
}

.bp-band--paper .bp-band__container {
    position: relative;
    z-index: 1;
}

.bp-split {
    display: grid;
    gap: clamp(1.75rem, 4vw, 3rem);
    align-items: start;
}

@media (min-width: 768px) {
    .bp-split--offer {
        grid-template-columns: 41% 59%;
    }

    .bp-split--offer.bp-split--about-book {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: clamp(2rem, 5vw, 4rem);
    }

    .bp-split--services-top {
        grid-template-columns: 1fr 1fr;
        gap: clamp(2rem, 5vw, 4rem);
    }
}

.bp-eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--bp-muted);
    margin-bottom: 0.65rem;
}

.bp-section-title {
    font-size: clamp(1.75rem, 3.5vw, 2.75rem);
    line-height: 1.15;
    margin: 0 0 1rem;
    color: var(--bp-ink);
}

.bp-lede,
.bp-prose {
    margin: 0 0 1rem;
    color: var(--bp-muted);
    font-size: 1.05rem;
    line-height: 1.75;
}

/* About the book / author: editorial 2-column visual */
.about-book-visual {
    position: relative;
    max-width: 460px;
    margin: 0 auto;
    width: 100%;
    /* Room for book overlay (negative right/bottom) without clipping */
    padding: 0 44px 44px 0;
    box-sizing: border-box;
}

.about-book-visual .author-portrait {
    width: 100%;
    max-width: 420px;
    height: 520px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 8px;
}

.about-book-visual .book-cover-overlay {
    position: absolute;
    width: 190px;
    height: auto;
    right: -35px;
    bottom: -35px;
    z-index: 2;
    border-radius: 6px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
}

.about-book-copy {
    max-width: 560px;
}

.about-book-quote {
    margin: 28px 0 0;
    padding: 24px 28px;
    background: #f4ebdd;
    border-left: 3px solid #8b2f3c;
    font-style: italic;
    color: var(--bp-ink);
}

.about-book-quote p {
    margin: 0 0 0.65rem;
    font-size: 1.05rem;
    line-height: 1.65;
}

.about-book-quote__sig {
    font-style: normal;
    font-size: 0.9rem;
    color: var(--bp-muted);
    margin: 0;
}

.about-book-cta {
    margin-top: 1.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: center;
}

@media (max-width: 575.98px) {
    .about-book-visual {
        max-width: none;
        padding: 0 20px 32px 0;
    }

    .about-book-visual .author-portrait {
        max-width: none;
    }

    .about-book-visual .book-cover-overlay {
        width: 140px;
        right: 20px;
        bottom: -25px;
    }
}

.bp-band.bp-band--flush {
    padding-top: 0 !important;
}

.bp-icon-grid {
    display: grid;
    gap: clamp(1.25rem, 3vw, 2rem);
    margin-top: clamp(2rem, 5vw, 3.5rem);
    padding-top: clamp(1.5rem, 4vw, 2.5rem);
    border-top: 1px solid var(--bp-line);
}

@media (min-width: 768px) {
    .bp-icon-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 767.98px) {
    .bp-icon-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.bp-icon-card {
    padding: 0.25rem 0.5rem 0.25rem 0;
}

.bp-icon-card__glyph {
    font-size: 1.75rem;
    display: block;
    margin-bottom: 0.75rem;
    opacity: 0.85;
}

.bp-icon-card__title {
    font-size: clamp(1.1rem, 1.8vw, 1.35rem);
    line-height: 1.3;
    margin: 0 0 0.75rem;
}

.bp-icon-card__title a {
    color: var(--bp-ink);
    text-decoration: none;
}

.bp-icon-card__title a:hover {
    color: var(--bp-maroon);
}

.bp-icon-card__more {
    font-size: 0.8rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bp-maroon);
    text-decoration: none;
}

.bp-band--video {
    position: relative;
    min-height: clamp(280px, 42vw, 420px);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-alt);
}

.bp-band--video .bp-band__overlay--dark {
    display: block;
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(244, 235, 221, 0.85));
    opacity: 1;
    pointer-events: none;
}

.bp-band--video .bp-eyebrow--light {
    color: var(--text-muted);
}

.bp-band--video .bp-section-title--light {
    color: var(--text);
}

.bp-band--video .bp-subtle-light {
    color: var(--text-muted);
}

.bp-band__narrow {
    position: relative;
    z-index: 1;
    padding-block: clamp(2rem, 5vw, 3.5rem);
}

.bp-play-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #fff;
    color: var(--bp-maroon);
    margin-bottom: 1.25rem;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.bp-play-btn:hover {
    transform: scale(1.06);
    color: var(--bp-maroon);
}

.bp-eyebrow--light {
    color: rgba(255, 254, 254, 0.75);
}

.bp-section-title--light {
    color: #fffefe;
}

.bp-subtle-light {
    color: rgba(255, 254, 254, 0.82);
    max-width: 42rem;
    margin-inline: auto;
}

.bp-testimonials .bp-eyebrow--light {
    color: var(--text-muted);
}

.bp-testimonials .bp-section-title--light {
    color: var(--text);
}

.bp-stats {
    background: var(--bg-alt);
    color: var(--text);
    padding-top: var(--section-pad-y);
    padding-bottom: var(--section-pad-y);
}

.bp-stats__grid {
    display: grid;
    gap: 2rem;
    text-align: center;
}

@media (min-width: 768px) {
    .bp-stats__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.bp-stat {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-items: center;
}

.bp-stat__label {
    font-size: 0.8rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.85;
    order: 0;
}

.bp-stats .tii-stat__value,
.bp-stats .bp-stat__value-static {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    line-height: 1.1;
    order: 1;
}

.bp-stats .tii-stat__value {
    background: linear-gradient(180deg, var(--text) 0%, var(--accent) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

@supports not (background-clip: text) {
    .bp-stats .tii-stat__value {
        color: var(--accent);
        background: none;
    }
}

.bp-stat__line {
    font-size: 0.85rem;
    opacity: 0.85;
    max-width: 14rem;
    order: 2;
}

.bp-blog-band {
    padding-bottom: 0;
}

.bp-blog-head {
    margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
}

.bp-blog-split {
    display: grid;
    gap: clamp(1.5rem, 4vw, 2.5rem);
}

@media (min-width: 992px) {
    .bp-blog-split {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }
}

.bp-blog-feature__media {
    display: block;
    overflow: visible;
    border-radius: 2px;
}

.bp-blog-feature__img {
    width: 100%;
    height: auto;
    vertical-align: middle;
    transition: transform 0.5s ease;
}

/* News & stories: featured author/portrait — full image visible, no tight cover-crop */
.news-featured-image {
    background: #f4ebdd;
    padding: 12px;
    box-sizing: border-box;
}

.news-featured-image img,
.bp-blog-band .bp-blog-feature__img {
    width: 100%;
    height: auto;
    max-height: 420px;
    object-fit: contain;
    object-position: center;
    background: #f4ebdd;
    display: block;
}

.bp-blog-feature:hover .bp-blog-feature__img {
    transform: scale(1.03);
}

.bp-blog-feature__body {
    padding-top: 1rem;
}

.bp-blog-meta {
    font-size: 0.8rem;
    color: var(--bp-muted);
}

.bp-blog-feature__title {
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    margin: 0.35rem 0;
}

.bp-blog-feature__title a {
    color: var(--bp-ink);
    text-decoration: none;
}

.bp-blog-feature__excerpt {
    color: var(--bp-muted);
    font-size: 0.95rem;
}

.bp-blog-list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.bp-blog-row {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 1rem;
    align-items: center;
}

.bp-blog-row__thumb {
    display: block;
    border-radius: 2px;
    overflow: hidden;
}

.bp-blog-row__img {
    width: 100%;
    height: auto;
    display: block;
}

.bp-blog-row__title {
    font-size: 1.05rem;
    margin: 0.25rem 0 0;
}

.bp-blog-row__title a {
    color: var(--bp-ink);
    text-decoration: none;
}

.bp-cats-band {
    background: var(--bg-alt);
    color: var(--text);
    padding-top: var(--section-pad-y);
    padding-bottom: var(--section-pad-y);
    position: relative;
    overflow: hidden;
}

.bp-cats-band__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1.25rem, 4vw, 2.25rem);
    text-align: center;
    max-width: min(52rem, 100%);
    margin-inline: auto;
    padding-inline: clamp(1rem, 4vw, 2rem);
}

.bp-cats-band__pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem 0.75rem;
    width: 100%;
    max-width: 100%;
}

.bp-cat-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 1.25rem;
    border-radius: 999px;
    background: var(--accent);
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 0.9rem;
    margin: 0;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bp-cat-pill:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.bp-cats-band__title {
    font-size: clamp(1.75rem, 4.5vw, 3.2rem);
    line-height: 1.15;
    margin: 0;
    max-width: 100%;
    padding-inline: 0;
    color: var(--text);
    text-wrap: balance;
}

.bp-testimonials {
    padding-top: var(--section-pad-y);
    padding-bottom: var(--section-pad-y);
    background: var(--bg);
    color: var(--text);
}

.bp-quote-grid {
    display: grid;
    gap: 1.25rem;
    margin-top: 2rem;
    width: 100%;
}

@media (min-width: 768px) {
    .bp-quote-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1200px) {
    .bp-quote-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-width: min(100%, 1080px);
        margin-inline: auto;
    }
}

.bp-quote-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 0.35rem;
    padding: 1.25rem;
    margin: 0;
    box-shadow: var(--shadow-soft);
    color: var(--text);
}

.bp-quote-card__text {
    font-size: 0.95rem;
    line-height: 1.65;
}

.bp-quote-card__foot {
    margin-top: 1rem;
    font-size: 0.85rem;
    opacity: 0.9;
}

.bp-check-head {
    display: grid;
    gap: 1.5rem;
    margin-bottom: clamp(2rem, 5vw, 3rem);
}

@media (min-width: 768px) {
    .bp-check-head {
        grid-template-columns: 1fr 1fr;
        align-items: end;
    }
}

.bp-masonry-2 {
    display: grid;
    gap: clamp(1.5rem, 4vw, 2.5rem);
}

@media (min-width: 768px) {
    .bp-masonry-2 {
        grid-template-columns: 1fr 1fr;
    }
}

.bp-masonry-card__media {
    display: block;
    overflow: hidden;
    border-radius: 2px;
}

.bp-masonry-card__media img {
    width: 100%;
    height: auto;
    vertical-align: middle;
}

.bp-masonry-card__body {
    padding-top: 1rem;
}

.bp-masonry-card__title {
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    margin: 0.35rem 0 0;
}

.bp-masonry-card__title a {
    color: var(--bp-ink);
    text-decoration: none;
}

.bp-trailer-wrap {
    background: var(--bp-paper);
}

.bp-buy-band {
    background: linear-gradient(180deg, #fff 0%, var(--bp-paper) 100%);
}

.dream-theme .bp-presentation .tii-btn--primary {
    background: var(--bp-maroon);
    border-color: var(--bp-maroon);
    color: #fff;
}

.dream-theme .bp-presentation .tii-btn--ghost {
    border-color: rgba(255, 254, 254, 0.65);
    color: #fffefe;
}

.dream-theme .bp-presentation .tii-btn--ghost:hover {
    background: rgba(255, 254, 254, 0.12);
}

.dream-theme .bp-presentation .bp-band--paper {
    background-image: linear-gradient(180deg, rgba(241, 241, 233, 0.94), rgba(241, 241, 233, 0.94));
}

.dream-theme.site-body::before {
    opacity: 0.08;
}

@media (max-width: 767.98px) {
    .bp-hero__mega {
        font-size: clamp(2.5rem, 18vw, 5rem);
    }
}

/* ——— Book presentation: layout QA (images, overflow, spacing, responsive) ——— */
.bp-presentation {
    overflow-x: hidden;
}

.bp-presentation section {
    overflow-x: hidden;
}

.bp-presentation > .bp-hero {
    overflow-x: hidden;
}

.bp-presentation img {
    max-width: 100%;
    height: auto;
    display: block;
}

.bp-presentation .bp-hero__cover {
    max-width: 360px;
    width: 100%;
    margin-inline: auto;
}

.bp-presentation .about-book-visual .author-portrait {
    object-position: center;
}

.bp-presentation .about-book-visual .book-cover-overlay {
    max-width: min(190px, 42vw);
}

.bp-presentation .bp-blog-feature__img,
.bp-presentation .news-featured-image img {
    width: 100%;
    height: auto;
    max-height: 420px;
    object-fit: contain;
    object-position: center;
    background: #f4ebdd;
}

.bp-presentation .bp-blog-feature__media.news-featured-image,
.bp-presentation .news-featured-image {
    overflow: visible;
    max-height: none;
    background: #f4ebdd;
    padding: 12px;
    box-sizing: border-box;
}

.bp-presentation .bp-blog-row__img,
.bp-presentation .bp-masonry-card__media img {
    width: 100%;
    height: 260px;
    max-height: 320px;
    object-fit: cover;
    object-position: center;
}

.bp-presentation .bp-masonry-card__media {
    max-height: 320px;
    overflow: hidden;
}

.bp-presentation .tii-trailer__frame,
.bp-presentation .tii-trailer__inner {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.bp-presentation .tii-trailer__video,
.bp-presentation .tii-trailer__frame .trailer-video-box {
    max-width: 100%;
}

.bp-presentation .bp-hero {
    min-height: min(85vh, 800px);
    padding-top: var(--section-hero-padding-top);
    padding-bottom: var(--section-pad-y);
}

@media (max-width: 991.98px) {
    .bp-presentation .bp-hero {
        padding-top: min(var(--section-hero-padding-top), calc(var(--section-space-tablet) + 24px));
    }
}

.bp-presentation .bp-hero__inner {
    box-sizing: border-box;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
}

.bp-presentation .bp-band.bp-band--flush {
    padding-top: 0 !important;
}

.bp-presentation .bp-split--offer,
.bp-presentation .bp-split--services-top {
    align-items: center;
    gap: clamp(48px, 5vw, 80px);
}

@media (min-width: 992px) {
    .bp-presentation .bp-split--offer {
        grid-template-columns: 1fr 1fr;
    }

    .bp-presentation .bp-split--offer .bp-split__col--copy {
        max-width: 560px;
        width: 100%;
        justify-self: end;
    }

    .bp-presentation .bp-split--offer .bp-split__col--visual {
        max-width: min(100%, 520px);
        width: 100%;
        justify-self: center;
    }

    .bp-presentation .bp-split--services-top .bp-split__col {
        max-width: 560px;
        width: 100%;
    }

    .bp-presentation .bp-split--services-top {
        justify-content: center;
        justify-items: center;
    }
}

.bp-presentation .bp-icon-grid {
    margin-top: 2rem;
    padding-top: 2rem;
}

.bp-presentation .bp-blog-split {
    align-items: start;
    gap: clamp(32px, 4vw, 56px);
}

@media (min-width: 992px) {
    .bp-presentation .bp-blog-split {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: start;
    }
}

.bp-presentation .bp-check-head {
    gap: clamp(24px, 4vw, 48px);
}

.bp-presentation .bp-blog-feature:hover .bp-blog-feature__img {
    transform: none;
}

@media (max-width: 991.98px) {
    .bp-presentation .bp-split--offer,
    .bp-presentation .bp-split--services-top,
    .bp-presentation .bp-blog-split,
    .bp-presentation .bp-check-head,
    .bp-presentation .bp-masonry-2 {
        grid-template-columns: 1fr !important;
    }

    .bp-presentation .bp-split--offer .bp-split__col--copy,
    .bp-presentation .bp-split--offer .bp-split__col--visual,
    .bp-presentation .bp-split--services-top .bp-split__col {
        max-width: 100%;
        justify-self: center;
        text-align: center;
    }

    .bp-presentation .bp-split__col--copy .bp-lede,
    .bp-presentation .bp-split__col--copy .bp-section-title {
        margin-left: auto;
        margin-right: auto;
    }

    .bp-presentation .about-book-visual {
        margin-inline: auto;
        max-width: min(460px, 100%);
        padding: 0 32px 32px 0;
    }

    .bp-presentation .about-book-cta {
        justify-content: center;
    }

    .bp-presentation .bp-hero__cover {
        max-width: 280px;
    }

    .bp-presentation .bp-icon-grid {
        grid-template-columns: 1fr !important;
        max-width: 420px;
        margin-inline: auto;
    }

    .bp-presentation .bp-stats__grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .bp-presentation .bp-quote-grid {
        grid-template-columns: 1fr !important;
    }

    .bp-presentation .bp-blog-row {
        grid-template-columns: 100px 1fr;
        max-width: 100%;
    }

    .bp-presentation .bp-blog-feature__media,
    .bp-presentation .bp-blog-feature__img {
        margin-inline: auto;
    }
}

@media (max-width: 575.98px) {
    .bp-presentation .bp-hero {
        padding-top: min(var(--section-hero-padding-top), calc(var(--section-space-mobile) + 24px));
    }

    .bp-presentation .bp-hero__mega {
        font-size: clamp(2rem, 12vw, 3.25rem);
        line-height: 1;
    }

    .bp-presentation .bp-hero__cover {
        max-width: 220px;
    }

    .bp-presentation .about-book-visual .book-cover-overlay {
        max-width: 140px;
    }

    .bp-presentation .bp-quote-card,
    .bp-presentation .bp-icon-card {
        width: 100%;
        max-width: 100%;
    }

    .bp-presentation .bp-stats__grid {
        grid-template-columns: 1fr !important;
    }

    .bp-presentation .container {
        padding-left: max(16px, env(safe-area-inset-left));
        padding-right: max(16px, env(safe-area-inset-right));
    }
}

body.site-body:has(.bp-presentation) {
    overflow-x: hidden;
}

/* Trailer modal (opened from hero video band play icon) */
.trailer-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.trailer-modal.is-open {
    display: flex !important;
}

.trailer-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.78);
    backdrop-filter: blur(6px);
}

.trailer-modal__dialog {
    position: relative;
    z-index: 2;
    width: min(100%, 960px);
    background: #000;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.5);
}

.trailer-modal__dialog video {
    max-width: 100%;
    width: 100%;
    display: block;
}

.trailer-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 3;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #241c1a;
    font-size: 28px;
    cursor: pointer;
}

body.trailer-modal-open {
    overflow: hidden;
}

/* Blog detail (single post) */
.blog-detail {
    padding: var(--section-pad-y) 0;
}

.blog-detail__title {
    font-size: 42px;
    margin-bottom: 12px;
}

.blog-detail__meta {
    color: rgba(36, 28, 26, 0.6);
}

.blog-detail__image img {
    width: 100%;
    max-width: 900px;
    margin: 40px auto;
    display: block;
    border-radius: 12px;
}

.blog-detail__content {
    max-width: 720px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.8;
    color: rgba(36, 28, 26, 0.85);
}

.blog-detail__prose p + p {
    margin-top: 1.35em;
}

.blog-detail__prose p:first-child {
    margin-top: 0;
}

.blog-detail__author {
    max-width: 720px;
    margin-top: 3.5rem;
}

.blog-detail__author-inner {
    padding: 1.5rem 0;
    border-top: 1px solid rgba(36, 28, 26, 0.1);
}

.blog-detail__author-photo img {
    width: 72px;
    height: 72px;
    object-fit: cover;
}

.blog-detail__footer-nav {
    max-width: 900px;
    margin-top: 1rem;
}

.blog-card-link:focus-visible {
    outline: 2px solid rgba(139, 47, 60, 0.45);
    outline-offset: 4px;
    border-radius: 4px;
}

/* ========== Blacks book-presentation reference — homepage only ========== */
body.blacks-home {
    --blacks-black: #0a0a0a;
    --blacks-cream: #f5f2ed;
    --blacks-cream-2: #ebe6df;
    --blacks-maroon: #5d1a1a;
    --blacks-olive: #5b6739;
    --blacks-white: #faf8f5;
    --blacks-sans: "Source Sans 3", "Nunito", system-ui, sans-serif;
    --blacks-serif: "Playfair Display", "Cormorant Garamond", Georgia, serif;
    overflow-x: hidden;
    max-width: 100%;
}

body.blacks-home #main-content,
body.blacks-home .site-main--leona {
    padding-top: 0 !important;
}

/* Blacks bar is global (#siteHeader); home + inner pages overlay hero with same transparent bar */

body.blacks-home #siteHeader.blacks-site-header.site-header--on-hero {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.blacks-home #siteHeader.blacks-site-header.site-header--on-hero.is-scrolled,
body.blacks-home #siteHeader.blacks-site-header.site-header--on-hero.is-solid {
    background: rgba(10, 8, 12, 0.92) !important;
    backdrop-filter: blur(10px);
}

/* Inner pages: same header overlay + scroll behavior as homepage */
body.has-inner-layout #siteHeader.blacks-site-header.site-header--on-hero {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.has-inner-layout #siteHeader.blacks-site-header.site-header--on-hero.is-scrolled {
    background: rgba(10, 8, 12, 0.92) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

body.blacks-home #siteHeader .leona-nav .leona-menu .leona-nav-link {
    font-size: clamp(0.88rem, 2.6vw, 0.98rem);
    letter-spacing: 0.055em;
}

body.blacks-home #siteHeader .site-navbar svg.site-cart-icon,
body.blacks-home #siteHeader .site-navbar .leona-icon-btn svg {
    width: clamp(24px, 6.5vw, 28px);
    height: clamp(24px, 6.5vw, 28px);
}

body.blacks-home .leona-prefooter--hide-home {
    display: none !important;
}

body.blacks-home .blacks-ref .font-serif {
    font-family: var(--blacks-serif);
}

body.blacks-home .blacks-ref {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    font-family: var(--blacks-sans);
    color: #1a1512;
    background: var(--blacks-cream);
}

html:has(body.blacks-home) {
    overflow-x: hidden;
    max-width: 100%;
}

/* Homepage presentation shell — catches spill from GSAP / floats / grid quirks */
#blacks-presentation {
    overflow-x: hidden;
    max-width: 100%;
}

/* --- Hero (Blacks book-presentation ref: mega behind · book centered · nav|logo|tools · bottom title/price/scroll) --- */
.blacks-hero--rev {
    --blacks-hero-pad-zone: clamp(1.75rem, 5vw, 3rem) 0 0;
    color: #fffefe;
    --section-pad-y: 0px;
    min-height: min(100vh, 980px);
    position: relative;
    display: block;
    width: 100%;
    background: #080306;
}

.blacks-hero--ref.blacks-hero--rev {
    min-height: min(100vh, 1000px);
}

/* Override global .bp-presentation .bp-hero padding — RevSlider slide fills viewport
   .bp-hero is display:flex; with only abspos children the inner slide can collapse to 0 width. */
body.blacks-home .bp-presentation .blacks-hero--rev.bp-hero {
    display: block !important;
    padding: 0 !important;
    min-height: min(100vh, 1000px);
}

.blacks-hero__slide {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: min(100vh, 1000px);
    max-height: none;
    overflow: hidden;
}

.blacks-hero__bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.blacks-hero__bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: saturate(0.75) brightness(0.38) contrast(1.05);
}

.blacks-hero__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(48, 8, 18, 0.55) 0%,
        rgba(18, 4, 10, 0.35) 38%,
        rgba(0, 0, 0, 0.82) 72%,
        rgba(4, 2, 6, 0.95) 100%
    );
    pointer-events: none;
}

.blacks-hero--ref .blacks-hero__veil {
    background: linear-gradient(
        165deg,
        rgba(62, 12, 22, 0.5) 0%,
        rgba(20, 6, 12, 0.35) 45%,
        rgba(0, 0, 0, 0.88) 78%,
        rgba(0, 0, 0, 0.96) 100%
    );
}

/* Mega title — behind book (lower z-index); Blacks ref: non-italic display serif */
.blacks-hero__mega {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, calc(-50% - clamp(28px, 9vw, 96px)));
    z-index: 2;
    pointer-events: none;
    width: 100%;
    max-width: min(calc(100% - 24px), 1920px);
    text-align: center;
    padding-right: clamp(6px, 1vw, 14px);
}

.blacks-hero__center {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.blacks-hero__center .blacks-hero__cover-loop {
    pointer-events: auto;
    margin-top: clamp(-2rem, -3vw, 0px);
}

.blacks-hero__mega-lines {
    display: block;
    white-space: nowrap;
}

/* Full book title behind cover (“THIS IS IT!”) — allow wrapping on narrow viewports */
.blacks-hero__mega-lines--wrap {
    white-space: normal;
    max-width: min(96vw, 1200px);
    margin-left: auto;
    margin-right: auto;
}

.blacks-hero__mega-lines--wrap .blacks-hero__mega-em {
    font-size: clamp(2.75rem, 10vw, 11rem);
    line-height: clamp(2.4rem, 9vw, 9rem);
}

.blacks-hero__mega-em {
    font-style: normal;
    font-weight: 500;
    font-size: clamp(4.5rem, 17.5vw, 14.25rem);
    line-height: clamp(3.6rem, 14vw, 11.5rem);
    letter-spacing: -0.02em;
    color: #faf8f6;
    text-transform: uppercase;
    text-shadow: 0 8px 60px rgba(0, 0, 0, 0.65), 0 0 1px rgba(0, 0, 0, 0.8);
}

.blacks-hero__mega-charwrap {
    display: inline-block;
    overflow: hidden;
    vertical-align: top;
    margin: 0 -0.01em;
}

.blacks-hero__mega-char {
    display: inline-block;
}

.blacks-hero__top {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 12;
    padding: clamp(1rem, 2.2vw, 1.75rem) 0;
}

/* Global header: same markup; keep bar in document flow (override absolute above) */
#siteHeader.blacks-site-header .blacks-hero__top.blacks-hero__top--site-header {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    z-index: 1;
}

/* Blacks ref: primary nav | centered logo | bag · search · grid */
.blacks-hero__top-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: clamp(0.75rem, 2vw, 1.5rem);
    max-width: 100%;
}

.blacks-hero__logo {
    justify-self: center;
    grid-column: 2;
    line-height: 0;
}

.blacks-hero__logo img {
    height: clamp(30px, 4vw, 40px);
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.96;
}

.blacks-hero__nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: clamp(0.65rem, 2vw, 2rem);
    grid-column: 1;
    justify-self: start;
    max-width: 100%;
}

@media (max-width: 575.98px) {
    /* Same Blacks bar on all pages — tighten spacing on narrow screens */
    .blacks-hero__top-inner {
        gap: 0.65rem;
    }

    .blacks-hero__nav {
        gap: 0.5rem 1rem;
        justify-content: center;
    }

    body.blacks-home #siteHeader.blacks-site-header.site-header--on-hero.is-scrolled,
    body.blacks-home #siteHeader.blacks-site-header.site-header--on-hero.is-solid {
        background: rgba(10, 8, 12, 0.94) !important;
    }
}

.blacks-hero__nav a,
.blacks-hero__nav-link {
    color: rgba(255, 255, 255, 0.92);
    text-decoration: none;
    font-size: clamp(0.82rem, 1.15vw, 0.95rem);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 500;
    padding-bottom: 4px;
    border-bottom: 2px solid transparent;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.blacks-hero__nav a:hover,
.blacks-hero__nav-link:hover {
    color: #fff;
}

.blacks-hero__nav a.is-active,
.blacks-hero__nav a[aria-current="page"],
.blacks-hero__nav-link.is-active,
.blacks-hero__nav-link[aria-current="page"] {
    border-bottom-color: #fff;
}

.blacks-hero__tools {
    grid-column: 3;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: clamp(0.45rem, 1.5vw, 1.15rem);
}

.blacks-hero__tool {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.92);
    padding: 0.4rem;
    line-height: 0;
    text-decoration: none;
    background: none;
    border: 0;
    cursor: pointer;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.blacks-hero__tool:hover {
    color: #fff;
}

.blacks-hero__tool svg {
    width: clamp(24px, 3vw, 30px);
    height: clamp(24px, 3vw, 30px);
}

/* Non-home pages without hero overlay: same dark bar + white nav as homepage (scrolled) */
body:not(.blacks-home):not(.has-inner-layout) #siteHeader.blacks-site-header {
    background: rgba(10, 8, 12, 0.92) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
}

.blacks-hero__cart {
    position: relative;
}

.blacks-hero__cart .cart-count-badge {
    top: -2px;
    right: -6px;
}

/* Bottom zone — title / price / scroll only (book sits in .blacks-hero__center) */
.blacks-hero__zone {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 8;
    padding: var(--blacks-hero-pad-zone);
    pointer-events: none;
}

.blacks-hero__zone-inner {
    pointer-events: auto;
    max-width: min(100%, 36rem);
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.35rem, 1.5vw, 0.65rem);
}

.blacks-hero__cover-loop {
    display: inline-block;
    perspective: 601px;
    margin-bottom: 0;
    filter: drop-shadow(0 28px 50px rgba(0, 0, 0, 0.65));
}

.blacks-hero__book {
    display: inline-block;
}

.blacks-hero__cover {
    width: min(300px, 78vw);
    max-width: min(319px, 46vw);
    height: auto;
    aspect-ratio: 340 / 497;
    object-fit: cover;
    border-radius: 2px;
    display: block;
    margin: 0 auto;
    opacity: 1;
    visibility: visible;
    box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.35), 0 24px 48px rgba(0, 0, 0, 0.55);
}

.blacks-hero__shape--gap-md {
    height: clamp(12px, 2vw, 30px);
}

.blacks-hero__shape--rule-sm {
    height: clamp(8px, 1.5vw, 20px);
}

.blacks-hero__shape--gap-lg {
    height: clamp(28px, 5vw, 90px);
}

.blacks-hero__product-title {
    font-size: clamp(1.35rem, 3.2vw, 2.25rem);
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    color: #fffefe;
    letter-spacing: 0.01em;
}

.blacks-hero__price-line {
    margin: 0;
}

.blacks-hero__price {
    font-size: clamp(1rem, 2.2vw, 1.45rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fffefe;
}

.blacks-hero__scroll--svg {
    display: inline-flex;
    margin-top: clamp(0.5rem, 2vw, 1rem);
    color: #fffefe;
    opacity: 0.92;
    transition: opacity 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.blacks-hero__scroll--svg:hover {
    opacity: 1;
    color: #fff;
}

.blacks-hero__scroll--svg svg {
    width: 18px;
    height: auto;
    display: block;
}

.blacks-hero__cta {
    margin-top: 0.15rem;
    font-weight: 600;
    letter-spacing: 0.03em;
}

.blacks-hero__intro-band {
    position: relative;
    z-index: 9;
    background: linear-gradient(180deg, rgba(8, 12, 22, 0.55) 0%, rgba(15, 26, 51, 0.92) 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: clamp(1.35rem, 3.5vw, 2.25rem) 0 clamp(1.5rem, 3vw, 2rem);
}

.blacks-hero__intro-text {
    max-width: 42rem;
    margin: 0 auto 0.85rem;
    text-align: center;
    font-size: clamp(0.95rem, 2vw, 1.05rem);
    line-height: 1.7;
    color: rgba(251, 247, 240, 0.88);
}

.blacks-hero__intro-text:last-child {
    margin-bottom: 0;
}

.tii-buy-benefits li {
    position: relative;
    padding-left: 1.35rem;
    margin-bottom: 0.55rem;
    line-height: 1.55;
    color: var(--tii-ink-muted, #5a6478);
}

.tii-buy-benefits li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--tii-brand, #c94a4a);
    font-weight: 700;
}

.blacks-footer-trx-tagline-text {
    font-size: clamp(1.15rem, 2.5vw, 1.45rem);
    letter-spacing: 0.02em;
    color: rgba(251, 247, 240, 0.88);
    font-style: italic;
}

.blacks-footer-trx-news-blurb {
    max-width: 28rem;
    margin: 0 auto 0.5rem;
    font-size: 0.92rem;
    line-height: 1.6;
    color: rgba(251, 247, 240, 0.78);
}

@media (prefers-reduced-motion: reduce) {
    .blacks-hero__cover-loop,
    .blacks-hero__scroll--svg {
        animation: none !important;
    }
}

@media (max-width: 575.98px) {
    .blacks-hero__mega-em {
        font-size: clamp(2.75rem, 11vw, 4rem);
        line-height: 0.95;
    }

    .blacks-hero__zone-inner {
        max-width: 100%;
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* --- Editorial — Blacks Elementor “What we offer” (book-presentation inner section) --- */
.blacks-editorial {
    background: var(--blacks-cream);
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
}

.blacks-editorial--elementor {
    padding-top: clamp(3rem, 6vw, 5.25rem);
    padding-bottom: clamp(3rem, 6vw, 5.25rem);
    overflow-x: hidden;
    max-width: 100%;
}

.blacks-editorial--elementor .elementor-inner-row > .col-lg-6:first-child {
    overflow-x: hidden;
    overflow-y: visible;
    max-width: 100%;
}

.blacks-editorial__visual-wrap {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 600px;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .blacks-editorial__visual-wrap {
        margin-inline: 0 auto;
    }
}

.blacks-editorial__widget-img-main img {
    display: block;
    width: 100%;
    max-width: 600px;
    height: auto;
}

.blacks-editorial__widget-img-accent {
    position: absolute;
    width: 210px;
    max-width: min(210px, 42vw);
    left: 50%;
    top: 50%;
    transform: translate(50%, -50%);
    z-index: 2;
    pointer-events: none;
}

.blacks-editorial__widget-img-accent img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 767.98px) {
    .blacks-editorial__widget-img-accent {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        margin: 1.25rem auto 0;
        max-width: 210px;
        pointer-events: auto;
    }
}

.blacks-trx-title .sc_item_subtitle {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(26, 21, 18, 0.45);
    margin-bottom: 0.65rem;
    font-weight: 500;
}

.blacks-trx-title .sc_item_title {
    font-size: clamp(1.85rem, 3.2vw, 2.85rem);
    line-height: 1.12;
    margin: 0;
    color: #14110f;
    font-weight: 500;
    font-style: normal;
}

.blacks-editorial__spacer .elementor-spacer-inner {
    height: clamp(1rem, 2.5vw, 1.85rem);
}

.blacks-editorial--elementor .elementor-widget-text-editor p {
    font-size: 1.02rem;
    line-height: 1.75;
    color: rgba(26, 21, 18, 0.72);
    margin: 0;
}

.blacks-editorial--elementor .elementor-widget-image.gsap-image-reveal img {
    width: 100%;
    height: auto;
    display: block;
    max-width: 700px;
}

.blacks-eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(26, 21, 18, 0.45);
    margin-bottom: 0.65rem;
}

/* --- Elementor video band + news shell (homepage) --- */
.blacks-elementor-video {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(440px, 62vh, 760px);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    color: #faf8f5;
}

.blacks-elementor-video .elementor-background-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        165deg,
        rgba(8, 6, 10, 0.45) 0%,
        rgba(14, 8, 12, 0.58) 45%,
        rgba(6, 4, 8, 0.75) 100%
    );
    pointer-events: none;
}

.blacks-elementor-video .elementor-container {
    position: relative;
    z-index: 1;
    width: 100%;
}

.blacks-elementor-video__inner {
    max-width: 44rem;
    margin-inline: auto;
}

.blacks-elementor-video .blacks-elementor-video__titles .sc_item_subtitle {
    display: block;
    font-family: var(--blacks-serif);
    font-size: clamp(0.68rem, 1.1vw, 0.78rem);
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(255, 252, 248, 0.88);
    margin-bottom: clamp(0.85rem, 2vw, 1.25rem);
}

.blacks-elementor-video .blacks-elementor-video__titles .sc_item_title {
    font-size: clamp(1.85rem, 4.2vw, 3.15rem);
    font-weight: 500;
    line-height: 1.14;
    margin: 0;
    color: #fdfcfa;
    text-shadow: 0 4px 36px rgba(0, 0, 0, 0.55);
}

.blacks-elementor-video .elementor-icon-wrapper {
    display: flex;
    justify-content: center;
}

.blacks-elementor-video .elementor-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(3.75rem, 9vw, 4.75rem);
    height: clamp(3.75rem, 9vw, 4.75rem);
    border: 1px solid rgba(255, 252, 248, 0.65);
    border-radius: 50%;
    color: #fdfcfa;
    background: rgba(0, 0, 0, 0.18);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
    transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.blacks-elementor-video .elementor-icon:hover {
    background: rgba(255, 252, 248, 0.14);
    border-color: rgba(255, 252, 248, 0.95);
    transform: translateY(3px);
}

.blacks-elementor-video .elementor-icon svg {
    margin-left: 4px;
    width: 14px;
    height: auto;
}

.blacks-el-spacer--video-top .elementor-spacer-inner {
    height: clamp(1.5rem, 4vh, 3.5rem);
}

.blacks-el-spacer--after-play .elementor-spacer-inner {
    height: clamp(1.15rem, 2.5vw, 1.85rem);
}

.blacks-el-spacer--video-bottom .elementor-spacer-inner {
    height: clamp(1.5rem, 4vh, 3.5rem);
}

.blacks-el-spacer--xs .elementor-spacer-inner {
    height: clamp(0.65rem, 1.5vw, 1rem);
}

.blacks-el-spacer--sm .elementor-spacer-inner {
    height: clamp(1rem, 2vw, 1.5rem);
}

.blacks-el-spacer--medium .elementor-spacer-inner {
    height: clamp(1.75rem, 3.5vw, 2.75rem);
}

.blacks-elementor-news-wrap {
    position: relative;
    background: #f5f3ef;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n2'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n2)' opacity='0.035'/%3E%3C/svg%3E");
    overflow-x: hidden;
    max-width: 100%;
}

.blacks-elementor-news-wrap .elementor-background-overlay--light {
    position: absolute;
    inset: 0;
    background: rgba(245, 243, 239, 0.02);
    pointer-events: none;
}

.blacks-elementor-news-wrap .blacks-news-ref-title .sc_item_subtitle {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(26, 21, 18, 0.42);
    margin-bottom: 0.65rem;
}

.blacks-elementor-news-wrap .blacks-news-ref-title .sc_item_title {
    font-size: clamp(2rem, 4vw, 2.65rem);
    font-weight: 500;
    line-height: 1.12;
    margin: 0;
    color: #1a1512;
}

.blacks-elementor-news-wrap > .elementor-container,
.blacks-elementor-news-wrap > .container-fluid {
    position: relative;
    z-index: 1;
}

/* Blog featured card layout: bg image + category pill + date column */
.blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .post_featured {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .post_featured .post_thumb_bg {
    display: block;
    width: 100%;
    padding-bottom: 75%;
    height: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.45s ease;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .post_featured:hover .post_thumb_bg {
    transform: scale(1.03);
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .post_featured .mask {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(185deg, rgba(8, 6, 10, 0.2) 0%, transparent 55%);
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .post_featured .post_link,
.blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .post_featured .link {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.blacks-elementor-news-wrap .post_info_tl {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 4;
    pointer-events: none;
}

.blacks-elementor-news-wrap .post_info_tl a {
    pointer-events: auto;
}

.blacks-elementor-news-wrap .post_meta_categories a {
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #fdfcfa;
    text-decoration: none;
    background: #5b6739;
    padding: 0.38rem 0.7rem;
    border-radius: 2px;
    display: inline-block;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .sc_blogger_item_content {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(1rem, 2.5vw, 1.5rem);
    margin-top: 1.35rem;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .post_meta_date {
    flex: 0 0 auto;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .post_meta_date .post_date a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-decoration: none;
    line-height: 1;
    font-size: inherit;
    color: inherit;
}

.blacks-elementor-news-wrap .blacks-blogger-date__day {
    font-family: var(--blacks-serif);
    font-size: clamp(1.85rem, 3.5vw, 2.35rem);
    font-weight: 600;
    color: #1a1512;
}

.blacks-elementor-news-wrap .blacks-blogger-date__mon {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: rgba(26, 21, 18, 0.48);
    margin-top: 0.4rem;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .blacks-blogger-feat-text {
    flex: 1;
    min-width: 0;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .blacks-blogger-feat-text .sc_blogger_item_title {
    font-size: clamp(1.05rem, 1.35vw, 1.2rem);
    line-height: 1.32;
    margin: 0;
}

.blacks-elementor-news-wrap .sc_blogger_item_excerpt {
    font-size: 0.98rem;
    line-height: 1.7;
    color: rgba(26, 21, 18, 0.58);
    margin-top: 0.65rem;
}

.blacks-elementor-news-wrap .post_meta--feat-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.75rem;
    margin-top: 1rem;
    font-size: 0.82rem;
    color: rgba(26, 21, 18, 0.42);
}

.blacks-elementor-news-wrap .post_meta--feat-foot a {
    color: inherit;
    text-decoration: none;
}

.blacks-elementor-news-wrap .post_meta--feat-foot a:hover,
.blacks-elementor-news-wrap .post_meta--feat-foot .post_meta_likes:hover {
    color: rgba(26, 21, 18, 0.65);
}

.blacks-elementor-news-wrap .sc_blogger_stack {
    display: flex;
    flex-direction: column;
    gap: clamp(1.35rem, 3vw, 1.85rem);
}

/* Classic simple — thumb left, meta + title */
.blacks-elementor-news-wrap .sc_blogger_default_classic_simple .sc_blogger_item_body {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_simple .post_featured {
    position: relative;
    flex: 0 0 96px;
    width: 96px;
    border-radius: 4px;
    overflow: hidden;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_simple .post_thumb_bg {
    display: block;
    width: 100%;
    padding-bottom: 100%;
    height: 0;
    background-size: cover;
    background-position: center;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_simple .post_featured .mask {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_simple .post_featured .link {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_simple .post_meta {
    font-size: 0.78rem;
    margin-bottom: 0.4rem;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_simple .post_categories a {
    color: #5b6739;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_simple .post_date a {
    color: rgba(26, 21, 18, 0.45);
    text-decoration: none;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_simple .sc_blogger_item_title {
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.38;
    margin: 0;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_simple .sc_blogger_item_title a {
    color: #1a1512;
    text-decoration: none;
}

.blacks-elementor-news-wrap .sc_blogger_default_classic_simple .sc_blogger_item_title a:hover {
    color: var(--blacks-maroon);
}

@media (max-width: 575.98px) {
    .blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .sc_blogger_item_content {
        flex-direction: column;
        gap: 1rem;
    }

    .blacks-elementor-news-wrap .sc_blogger_default_classic_time_2 .post_meta_date {
        flex-basis: auto;
    }
}

/* Blog head row + classic-masonry card layout */
.blacks-elementor-news-wrap .blacks-blog-ref-head-row {
    padding-top: clamp(0.25rem, 1vw, 0.75rem);
}

.blacks-elementor-news-wrap .blacks-blog-ref-intro p {
    margin: 0 0 1rem;
    font-size: 1rem;
    line-height: 1.65;
    color: rgba(26, 21, 18, 0.72);
}

.blacks-elementor-news-wrap .blacks-blog-ref-intro p:last-child {
    margin-bottom: 0;
}

.blacks-blog-ref-spacer-sm .elementor-spacer-inner {
    height: clamp(0.65rem, 2vw, 1.1rem);
}

.blacks-blog-ref-spacer-above-copy .elementor-spacer-inner {
    height: clamp(1.25rem, 3.5vw, 2.25rem);
}

.blacks-elementor-news-wrap .blacks-blog-ref-masonry-section {
    padding-top: clamp(0.5rem, 2vw, 1.25rem);
}

.blacks-elementor-news-wrap .blacks-blog-ref-masonry-row {
    --bs-gutter-x: clamp(1.5rem, 3vw, 2.25rem);
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_featured {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    background: #0a0a0a;
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_featured img {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: middle;
    transition: transform 0.5s ease;
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_featured:hover img {
    transform: scale(1.028);
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_featured .mask {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(185deg, rgba(8, 6, 10, 0.12) 0%, transparent 50%);
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_featured .link {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_header {
    margin-top: clamp(1rem, 2vw, 1.35rem);
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_meta {
    font-size: 0.78rem;
    margin-bottom: 0.45rem;
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_categories a {
    color: #5b6739;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_categories a:hover {
    color: var(--blacks-olive);
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_date a {
    color: rgba(26, 21, 18, 0.45);
    text-decoration: none;
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_title {
    font-size: clamp(1.05rem, 1.35vw, 1.28rem);
    font-weight: 500;
    line-height: 1.32;
    margin: 0;
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_title a {
    color: #1a1512;
    text-decoration: none;
}

.blacks-elementor-news-wrap .blacks-blog-ref-post .post_title a:hover {
    color: var(--blacks-maroon);
}

/* --- Full-width CTA --- */
.blacks-cta-band {
    position: relative;
    min-height: clamp(320px, 52vw, 520px);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.blacks-cta-band__bg {
    position: absolute;
    inset: 0;
    background-image: var(--blacks-cta-img);
    background-size: cover;
    background-position: center;
    filter: brightness(0.38);
    transform: scale(1.03);
}

.blacks-cta-band__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.3), rgba(30, 10, 15, 0.65));
}

.blacks-cta-band__inner {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: clamp(3rem, 8vw, 5rem) 1.5rem;
    max-width: 52rem;
}

.blacks-eyebrow--on-dark {
    color: rgba(255, 250, 245, 0.55);
}

.blacks-cta-band__title {
    font-size: clamp(1.75rem, 4vw, 3rem);
    line-height: 1.18;
    color: #fff;
    margin: 0;
    text-shadow: 0 8px 40px rgba(0, 0, 0, 0.45);
}

/* --- Stats — label above number; blues gradient --- */
.blacks-stats-strip {
    background: linear-gradient(180deg, #2b5480 0%, #06023f 100%);
    color: #fdfcfa;
}

.blacks-stats-strip--after-hero > .container {
    padding-top: 0 !important;
}

.blacks-stats-strip__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(1.75rem, 4vw, 2.5rem) 1.5rem;
    text-align: center;
    align-items: center;
}

@media (min-width: 768px) {
    .blacks-stats-strip__grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem 2rem;
    }
}

.blacks-stats-strip--ref .blacks-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.blacks-stats-strip--ref .blacks-stat__label {
    display: block;
    font-family: var(--blacks-sans);
    font-size: clamp(0.72rem, 1.1vw, 0.82rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: none;
    color: rgba(253, 252, 250, 0.92);
    opacity: 1;
    order: 0;
}

.blacks-stats-strip--ref .blacks-stat .tii-stat__value {
    display: block;
    font-family: var(--blacks-serif);
    font-size: clamp(2.35rem, 4.8vw, 3.35rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.05;
    margin: 0;
    color: #fdfcfa;
    font-variant-numeric: tabular-nums;
}

.blacks-stat .tii-stat__value {
    display: block;
    font-size: clamp(2rem, 4vw, 2.85rem);
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.1;
    margin-bottom: 0.35rem;
    font-variant-numeric: tabular-nums;
}

.blacks-stats-strip:not(.blacks-stats-strip--ref) .blacks-stat__label {
    font-size: 0.78rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    opacity: 0.85;
}

/* --- News --- */
.blacks-news {
    background: var(--blacks-cream);
}

.blacks-news__head {
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.blacks-news__title {
    font-size: clamp(2rem, 4vw, 3rem);
    margin: 0;
    color: #14110f;
}

.blacks-news__split {
    display: grid;
    gap: clamp(2rem, 4vw, 3rem);
}

@media (min-width: 992px) {
    .blacks-news__split {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
        align-items: start;
    }
}

.blacks-news__feat-img {
    display: block;
    overflow: hidden;
    border-radius: 4px;
    margin-bottom: 1.25rem;
}

.blacks-news__feat-img img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.55s ease;
}

.blacks-news__feat:hover .blacks-news__feat-img img {
    transform: scale(1.03);
}

.blacks-news__feat-title {
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    margin: 0 0 0.75rem;
}

.blacks-news__feat-title a {
    color: inherit;
    text-decoration: none;
}

.blacks-news__feat-title a:hover {
    color: var(--blacks-maroon);
}

.blacks-news__feat-excerpt {
    font-size: 0.98rem;
    line-height: 1.65;
    color: rgba(26, 21, 18, 0.68);
    margin-bottom: 1rem;
}

.blacks-news__feat-meta {
    font-size: 0.8rem;
    color: rgba(26, 21, 18, 0.45);
}

.blacks-news__feat-meta a {
    color: var(--blacks-maroon);
    text-decoration: none;
    margin-right: 0.5rem;
}

.blacks-news__list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.blacks-news__row {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 1rem;
    align-items: center;
}

.blacks-news__row-thumb img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

.blacks-news__row-title {
    font-size: 1rem;
    line-height: 1.35;
    margin: 0 0 0.35rem;
}

.blacks-news__row-title a {
    color: #14110f;
    text-decoration: none;
}

.blacks-news__row-title a:hover {
    color: var(--blacks-maroon);
}

.blacks-news__row-meta {
    font-size: 0.78rem;
    color: rgba(26, 21, 18, 0.45);
}

/* --- Quote wall --- */
.blacks-quote-wall {
    background: var(--blacks-maroon);
    color: #fdf8f6;
}

.blacks-quote-wall__title {
    font-size: clamp(1.65rem, 3.5vw, 2.65rem);
    line-height: 1.2;
    text-align: center;
    max-width: 52rem;
    margin: 0 auto 2rem;
}

.blacks-quote-wall__pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 0.65rem;
    margin-bottom: 2.5rem;
}

.blacks-pill {
    display: inline-flex;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    background: rgba(91, 103, 57, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fdfcfa !important;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.blacks-pill:hover {
    background: rgba(91, 103, 57, 0.85);
    transform: translateY(-2px);
}

.blacks-quote-wall__grid {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .blacks-quote-wall__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.blacks-quote-card {
    background: var(--blacks-cream);
    color: #1a1512;
    border-radius: 6px;
    padding: clamp(1.5rem, 3vw, 2rem);
    margin: 0;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blacks-quote-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 56px rgba(0, 0, 0, 0.22);
}

.blacks-quote-card__text {
    font-size: 1.08rem;
    line-height: 1.65;
    font-style: italic;
    margin: 0 0 1.25rem;
}

.blacks-quote-card__foot strong {
    display: block;
    font-style: normal;
    font-size: 1rem;
}

.blacks-quote-card__foot span {
    font-size: 0.85rem;
    opacity: 0.65;
}

/* --- Order band on cream --- */
body.blacks-home .blacks-order-band.tii-band--light {
    background: linear-gradient(180deg, var(--blacks-cream) 0%, var(--blacks-cream-2) 100%);
}

/* --- Marquee --- */
.blacks-marquee {
    background: var(--blacks-black);
    color: rgba(255, 255, 255, 0.85);
    padding: 0.85rem 0;
    overflow: hidden;
}

.blacks-marquee__viewport {
    overflow: hidden;
}

.blacks-marquee__track {
    display: flex;
    width: max-content;
    animation: blacks-marquee-move 32s linear infinite;
}

.blacks-marquee__group {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding-right: 2rem;
    white-space: nowrap;
}

.blacks-marquee__item {
    font-size: 0.72rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
}

.blacks-marquee__ico {
    font-size: 0.55rem;
    opacity: 0.55;
    color: #c94a4a;
}

@keyframes blacks-marquee-move {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .blacks-marquee__track {
        animation: none;
    }
}

/* --- Footer blacks --- */
.leona-footer.leona-footer--blacks {
    background: var(--blacks-black) !important;
    color: rgba(255, 250, 245, 0.82) !important;
}

.leona-footer--blacks .leona-footer__main {
    padding-top: clamp(2.5rem, 5vw, 4rem) !important;
}

.leona-footer--blacks .text-secondary,
.leona-footer--blacks .leona-footer__lead,
.leona-footer--blacks a:not(.btn) {
    color: rgba(255, 250, 245, 0.72) !important;
}

.leona-footer--blacks .leona-footer__h,
.leona-footer--blacks .tii-footer__h {
    color: rgba(255, 250, 245, 0.88) !important;
}

.leona-footer--blacks .footer-logo img {
    filter: brightness(0) invert(1);
    opacity: 0.92;
}

.leona-footer--blacks .leona-footer__bottom {
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.leona-footer--blacks .form-control {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.15);
    color: #fff;
}

.leona-footer--blacks .btn-leona-subscribe {
    background: var(--blacks-maroon);
    border-color: var(--blacks-maroon);
    color: #fff;
}

.blacks-footer-kicker {
    font-size: clamp(1.35rem, 2.8vw, 2rem);
    line-height: 1.35;
    color: rgba(255, 250, 245, 0.92) !important;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
}

/* Book-presentation footer band (homepage) */
.footer_wrap.blacks-footer-trx {
    overflow-x: clip;
    max-width: 100%;
}

.blacks-footer-trx-top {
    position: relative;
    background: #000000;
    color: rgba(253, 252, 250, 0.96);
}

.blacks-footer-trx-overlay {
    background: transparent;
    pointer-events: none;
}

.blacks-footer-trx-stage {
    overflow: hidden;
}

.blacks-footer-trx-spacer--top-desktop .elementor-spacer-inner {
    height: clamp(1rem, 3vw, 2rem);
}

.blacks-footer-trx-spacer--huge .elementor-spacer-inner {
    height: clamp(2rem, 6vw, 4rem);
}

.blacks-footer-trx-spacer--after-bg .elementor-spacer-inner {
    height: clamp(0.75rem, 2vw, 1.5rem);
}

.blacks-footer-trx-spacer--large .elementor-spacer-inner {
    height: clamp(2.5rem, 7vw, 5rem);
}

.blacks-footer-trx-spacer--mid .elementor-spacer-inner {
    height: clamp(1.25rem, 4vw, 3rem);
}

.blacks-footer-trx-spacer--title-gap .elementor-spacer-inner {
    height: clamp(0.65rem, 2vw, 1.1rem);
}

.blacks-footer-trx-spacer--form-gap .elementor-spacer-inner {
    height: clamp(1rem, 2.5vw, 1.75rem);
}

.blacks-footer-trx-spacer--before-bar .elementor-spacer-inner {
    height: clamp(2rem, 5vw, 3.5rem);
}

.blacks-footer-trx-spacer--bottom .elementor-spacer-inner {
    height: clamp(1.5rem, 4vw, 2.75rem);
}

.blacks-footer-trx-marquee-viewport {
    overflow: hidden;
    margin: 0;
    padding: 0.35rem 0 0.85rem;
    opacity: 1;
    pointer-events: none;
    user-select: none;
}

.blacks-footer-trx-marquee-track {
    display: flex;
    width: max-content;
    animation: blacks-marquee-move 48s linear infinite;
}

.blacks-footer-trx-marquee-group {
    display: flex;
    align-items: center;
    gap: clamp(1.25rem, 3vw, 2.5rem);
    padding-right: clamp(1.25rem, 3vw, 2.5rem);
    white-space: nowrap;
}

.blacks-footer-trx-marquee-text {
    font-size: clamp(2.75rem, 12vw, 7.5rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: capitalize;
    line-height: 1;
    color: rgba(253, 252, 250, 0.95);
    font-family: var(--blacks-serif);
}

.blacks-footer-trx-marquee-group .trx_addons_bg_text_delimiter svg {
    display: block;
    width: clamp(72px, 14vw, 123px);
    height: auto;
    color: #f5f2ee;
}

.blacks-footer-trx-marquee-group .trx_addons_bg_text_delimiter svg path {
    fill: #f5f2ee;
    filter: drop-shadow(0 0 1px rgba(139, 0, 18, 0.55));
}

.blacks-footer-trx-news-container {
    position: relative;
    min-height: 12rem;
}

.blacks-footer-trx-news-col {
    position: relative;
    z-index: 3;
}

.blacks-footer-trx-deco {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    max-width: min(40vw, 360px);
    width: auto;
    height: auto;
    opacity: 0.92;
}

.blacks-footer-trx-deco--left {
    left: max(-3%, -1.5rem);
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}

.blacks-footer-trx-deco--right {
    right: max(-3%, -1.5rem);
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}

.blacks-footer-trx-news .sc_item_title_text {
    color: rgba(253, 252, 250, 0.96);
    font-size: clamp(1.35rem, 3vw, 1.85rem);
    line-height: 1.25;
}

.blacks-footer-trx-form.mc4wp-form {
    max-width: 38rem;
    margin: 0 auto;
    text-align: left;
}

.blacks-footer-trx-input-row {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    width: 100%;
    margin-bottom: 0.85rem;
    padding: 0.18rem;
    border-radius: 999px;
    background: rgba(35, 35, 35, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-sizing: border-box;
}

.blacks-footer-trx-input {
    flex: 1 1 auto;
    min-width: 0;
    display: block;
    width: auto;
    padding: 0.72rem 1rem 0.72rem 1.15rem;
    margin: 0;
    font-size: 0.95rem;
    font-family: var(--body-font, system-ui, sans-serif);
    border: none;
    border-radius: 999px 0 0 999px;
    background: transparent;
    color: #fdfcfa;
}

.blacks-footer-trx-input:focus {
    outline: none;
    box-shadow: none;
}

.blacks-footer-trx-input::placeholder {
    color: rgba(180, 180, 180, 0.95);
}

.blacks-footer-trx-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    flex: 0 0 auto;
    padding: 0.55rem 1.35rem 0.55rem 1.1rem;
    margin: 0 0 0 0.1rem;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: #ffffff;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.blacks-footer-trx-submit .blacks-footer-trx-plane {
    flex-shrink: 0;
    stroke: currentColor;
}

.blacks-footer-trx-submit:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.blacks-footer-trx-privacy {
    font-size: 0.82rem;
    line-height: 1.45;
    color: rgba(253, 252, 250, 0.62);
}

.blacks-footer-trx-privacy input {
    margin-right: 0.4rem;
    vertical-align: middle;
}

.blacks-footer-trx-privacy a {
    color: rgba(253, 252, 250, 0.88);
    text-decoration: underline;
}

.blacks-footer-trx-bar {
    border-top: 1px solid rgba(253, 252, 250, 0.1);
    padding-top: clamp(1.25rem, 3vw, 2rem);
}

.blacks-footer-trx-credit,
.blacks-footer-trx-credit a {
    color: rgba(253, 252, 250, 0.55);
}

.blacks-footer-trx-credit a:hover {
    color: rgba(253, 252, 250, 0.85);
}

.blacks-footer-trx-logo-link img {
    display: inline-block;
    max-width: min(200px, 55vw);
    height: auto;
}

.blacks-footer-trx-socials .socials_wrap {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.blacks-footer-trx-soc-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: rgba(253, 252, 250, 0.85);
    transition: color 0.2s ease, transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.blacks-footer-trx-soc-link:hover {
    color: #fdfcfa;
    border-color: rgba(255, 255, 255, 0.65);
    background: rgba(255, 255, 255, 0.06);
    transform: translateY(-2px);
}

.blacks-footer-trx-soc-link svg {
    display: block;
    width: 16px;
    height: 16px;
}

@media (prefers-reduced-motion: reduce) {
    .blacks-footer-trx-marquee-track {
        animation: none;
    }
}
