/* ═══════════════════════════════════════════════════════════════════════════
   LENA — Official Music Site  v1.3
   Design system: warm cream / sage green / earth brown
═══════════════════════════════════════════════════════════════════════════ */

@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/cormorant-garamond-300.ttf') format('truetype');
}
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/cormorant-garamond-400.ttf') format('truetype');
}
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/cormorant-garamond-500.ttf') format('truetype');
}
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 600;
    font-display: block;
    src: url('../fonts/cormorant-garamond-600.ttf') format('truetype');
}
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/cormorant-garamond-italic-400.ttf') format('truetype');
}
@font-face {
    font-family: 'Great Vibes';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/great-vibes-400.ttf') format('truetype');
}
@font-face {
    font-family: 'Jost';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/jost-300.ttf') format('truetype');
}
@font-face {
    font-family: 'Jost';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/jost-400.ttf') format('truetype');
}
@font-face {
    font-family: 'Jost';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/jost-500.ttf') format('truetype');
}
@font-face {
    font-family: 'Jost';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/jost-600.ttf') format('truetype');
}
@font-face {
    font-family: 'Jost';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/jost-italic-300.ttf') format('truetype');
}
@font-face {
    font-family: 'Jost';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/jost-italic-400.ttf') format('truetype');
}

:root {
    /* ── Lena palette ─────────────────────────────────────────── */
    --cream:        #F6F3EC;
    --cream-dark:   #EDE9DF;
    --brown:        #8A6338;
    --brown-light:  #B08050;
    --brown-pale:   #D4B898;
    --sage:         #5A6B4A;
    --sage-dark:    #2E3328;
    --sage-light:   #C2CDB6;
    --text:         #41463D;
    --text-soft:    #6B6858;
    --warm-mid:     #565444;
    --primary:      #565444;
    --white:        #FFFFFF;
    --nav-h:        72px;
    --radius:       2px;
    --ease-out:     cubic-bezier(0.25, 0.46, 0.45, 0.94);

    /* ── Override Kadence global palette (replaces their default blues) ── */
    --global-palette1: #565444;
    --global-palette2: #8A6338;
    --global-palette3: #5A6B4A;
    --global-palette4: #2E3328;
    --global-palette5: #41463D;
    --global-palette6: #6B6858;
    --global-palette7: #C2CDB6;
    --global-palette8: #EDE9DF;
    --global-palette9: #F6F3EC;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; font-size: 16px; }

/* ── Neutralise WordPress / Kadence default blues ───────────────────────── */

/* Link hover — override browser default blue */
body a:hover { color: var(--brown); }

/* Global: remove all browser/Kadence blue from buttons */
button {
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
    appearance: none;
}
button:focus:not(.lena-btn),
button:active:not(.lena-btn) {
    outline: none !important;
    box-shadow: none !important;
    background-color: inherit;
}
button:focus:not(:focus-visible):not(.lena-btn) { background-color: initial; }

/* Block editor button default */
.wp-block-button__link:not([style*="background"]) {
    background-color: var(--sage-dark);
    border-color: var(--sage-dark);
    color: var(--white);
}
.wp-block-button__link:not([style*="background"]):hover {
    background-color: var(--sage);
    border-color: var(--sage);
}

/* Kadence scroll-to-top button */
.kt-scroll-up,
#kt-scroll-up {
    background-color: var(--primary) !important;
    border-color: var(--brown-pale) !important;
    color: var(--white) !important;
}
.kt-scroll-up:hover,
#kt-scroll-up:hover {
    background-color: var(--sage-dark) !important;
    border-color: var(--brown-pale) !important;
}

/* Kadence info-bar / popup / off-canvas close button */
.kadence-info-bar__dismiss,
.kb-close-btn,
.kt-close-btn,
.kadence-popup-close {
    background-color: var(--primary) !important;
    color: var(--white) !important;
    border-color: var(--brown-pale) !important;
}

/* Focus ring — replace WP yellow/blue with our palette */
:focus-visible {
    outline: 2px solid var(--brown-pale);
    outline-offset: 2px;
}

/* Kadence header link hover (inner pages) */
.lena-header--solid .lena-nav a:hover,
.lena-header.is-scrolled .lena-nav a:hover { color: var(--brown); }

body.lena-home,
body.lena-inner {
    background: var(--cream);
    color: var(--text);
    font-family: 'Jost', -apple-system, sans-serif;
    font-weight: 300;
    line-height: 1.7;
    overflow-x: hidden;
}

img { max-width: 100%; display: block; }
a   { color: inherit; text-decoration: none; }

/* ─── Layout helpers ────────────────────────────────────────────────────── */

.lena-container {
    width: 100%;
    max-width: 1120px;
    margin-inline: auto;
    padding-inline: clamp(1.25rem, 5vw, 3rem);
}

.lena-container--narrow {
    max-width: 760px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   HEADER / NAV
═══════════════════════════════════════════════════════════════════════════ */

.lena-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 999;
    height: var(--nav-h);
    transition: background .35s, box-shadow .35s;
}

/* Push header down when WP admin bar is visible */
.admin-bar .lena-header { top: 32px; }
@media screen and (max-width: 782px) {
    .admin-bar .lena-header { top: 46px; }
}

.lena-header.is-scrolled {
    background: rgba(246, 243, 236, 0.96);
    backdrop-filter: blur(8px);
    box-shadow: 0 1px 0 rgba(0,0,0,.07);
}

.lena-header.is-scrolled .lena-header__logo,
.lena-header.is-scrolled .lena-nav a,
.lena-header.is-scrolled .lena-social-icon { color: var(--text) !important; }

.lena-header.is-scrolled .lena-header__logo-img { filter: brightness(0) invert(0) saturate(0) brightness(0.25); }

.lena-header__inner {
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: clamp(1.25rem, 4vw, 2.5rem);
    height: 100%;
    display: flex;
    align-items: center;
    gap: 2rem;
}

.lena-header__logo {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    color: rgba(255,255,255,.95);
    letter-spacing: .12em;
    text-transform: uppercase;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.lena-header__logo-img {
    display: block;
    height: 36px;
    width: auto;
    max-width: 200px;
    object-fit: contain;
}

.lena-nav { margin-inline: auto; display: flex; align-items: center; }

.lena-nav ul {
    list-style: none;
    display: flex;
    gap: 2.5rem;
    margin: 0;
    padding: 0;
}

.lena-nav a {
    font-size: .72rem;
    font-weight: 400;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.85);
    transition: color .2s;
}

.lena-nav a:hover { color: var(--white); }

.lena-header__social {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
}

.lena-social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.8);
    transition: color .2s, opacity .2s;
}

.lena-social-icon:hover { color: var(--white); opacity: 1; }

.lena-social-icon svg { width: 18px; height: 18px; }

.lena-social-icon--light { color: rgba(255,255,255,.7); }
.lena-social-icon--light:hover { color: var(--white); }

/* Mobile nav toggle */
.lena-nav-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: transparent !important;
    border: none;
    cursor: pointer;
    padding: 4px;
    margin-left: auto;
}

.lena-nav-toggle:hover,
.lena-nav-toggle:active,
.lena-nav-toggle:focus,
.lena-nav-toggle:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
}

.lena-nav-toggle span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: var(--white);
    transition: transform .3s, opacity .3s;
}

.lena-header.is-scrolled .lena-nav-toggle span { background: var(--text); }

/* ═══════════════════════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════════════════════ */

.lena-hero {
    position: relative;
    height: 100svh;
    min-height: 600px;
    background: linear-gradient(160deg, var(--sage-dark) 0%, var(--sage) 40%, var(--brown) 100%);
    background-size: cover;
    background-position: center 30%;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.lena-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.15) 0%,
        rgba(0,0,0,.08) 50%,
        rgba(61,74,53,.5) 100%
    );
}

.lena-hero__content {
    position: absolute;
    bottom: clamp(3rem, 8vh, 6rem);
    left: clamp(1.5rem, 6vw, 5rem);
    z-index: 2;
    max-width: 580px;
}

.lena-hero__tagline {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1rem, 2.2vw, 1.2rem);
    font-weight: 300;
    font-style: italic;
    color: rgba(255,255,255,.85);
    letter-spacing: .04em;
    line-height: 1.8;
    margin-bottom: 1.8rem;
}

/* ─── Animated Signature ───────────────────────────────────────────────── */

.lena-signature-wrap {
    margin-bottom: 1.5rem;
}

.lena-signature-text {
    font-family: 'Great Vibes', cursive;
    font-size: clamp(4.5rem, 10vw, 8rem);
    color: var(--white);
    line-height: 1.2;
    display: inline-block;
    padding: 0 .1em .1em 0;
    text-shadow: 0 2px 20px rgba(0,0,0,.15);
    clip-path: inset(0 100% 0 0);
    animation: lena-write-in 2s var(--ease-out) .4s forwards;
}

.lena-signature-img {
    max-width: min(360px, 72vw);
    height: auto;
    display: block;
    filter: drop-shadow(0 2px 20px rgba(0,0,0,.2));
    clip-path: inset(0 100% 0 0);
    animation: lena-write-in 2s var(--ease-out) .4s forwards;
}

@keyframes lena-write-in {
    to { clip-path: inset(0 0% 0 0); }
}

.lena-signature-flourish {
    width: min(400px, 80vw);
    height: 30px;
    display: block;
    margin-top: -1.5rem;
}

.lena-flourish-path {
    stroke-dasharray: 500;
    stroke-dashoffset: 500;
    animation: lena-draw-flourish 1.6s var(--ease-out) 2.1s forwards;
}

@keyframes lena-draw-flourish {
    to { stroke-dashoffset: 0; }
}

/* ─── Hero Buttons ─────────────────────────────────────────────────────── */

.lena-hero__buttons {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
    opacity: 0;
    animation: lena-fade-up .8s var(--ease-out) 2.4s forwards;
}

.lena-btn--hero {
    display: inline-flex;
    align-items: center;
    padding: .75rem 2rem;
    font-family: 'Jost', sans-serif;
    font-size: .72rem;
    font-weight: 400;
    letter-spacing: .18em;
    text-transform: uppercase;
    background: rgba(255,255,255,.1);
    color: var(--white);
    border: 1px solid rgba(255,255,255,.45);
    cursor: pointer;
    transition: background .2s, border-color .2s;
    border-radius: var(--radius);
    backdrop-filter: blur(4px);
    text-decoration: none;
}
.lena-btn--hero:hover,
.lena-btn--hero:focus,
.lena-btn--hero:active { background: rgba(255,255,255,.22); border-color: rgba(255,255,255,.7); color: var(--white); }
.lena-btn--hero-ghost { background: transparent; border-color: rgba(255,255,255,.25)!important; }
.lena-btn--hero-ghost:hover,
.lena-btn--hero-ghost:focus,
.lena-btn--hero-ghost:active { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.5); }

/* ─── Scroll hint ──────────────────────────────────────────────────────── */

.lena-hero__scroll {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    color: rgba(255,255,255,.5);
    animation: lena-scroll-bounce 2s ease-in-out 3.5s infinite;
    opacity: 0;
    animation-fill-mode: forwards;
}

.lena-hero__scroll svg { width: 24px; height: 24px; }

@keyframes lena-scroll-bounce {
    0%, 100% { opacity: .4; transform: translateX(-50%) translateY(0); }
    50%       { opacity: .8; transform: translateX(-50%) translateY(6px); }
}

/* ─── Birds ────────────────────────────────────────────────────────────── */

.lena-bird {
    position: absolute;
    z-index: 3;
    color: rgba(255,255,255,.65);
    pointer-events: none;
    will-change: transform, opacity;
    opacity: 0;
}

.lena-bird svg { width: 100%; height: auto; }

/* Occasional wing-burst: 3 quick beats then a long glide */
.lena-bird .lena-bird__wing--left  { animation: lena-wing-left-burst  11s ease-in-out infinite; }
.lena-bird .lena-bird__wing--right { animation: lena-wing-right-burst 11s ease-in-out infinite; }

@keyframes lena-wing-left-burst {
    0%   { d: path("M 31,13 C 22,4  12,4  2,11"); }
    4%   { d: path("M 31,13 C 22,18 12,20 2,17"); }
    8%   { d: path("M 31,13 C 22,4  12,4  2,11"); }
    12%  { d: path("M 31,13 C 22,18 12,20 2,17"); }
    16%  { d: path("M 31,13 C 22,4  12,4  2,11"); }
    20%  { d: path("M 31,13 C 22,18 12,20 2,17"); }
    24%  { d: path("M 31,13 C 22,4  12,4  2,11"); }
    100% { d: path("M 31,13 C 22,4  12,4  2,11"); }
}
@keyframes lena-wing-right-burst {
    0%   { d: path("M 39,13 C 48,4  58,4  68,11"); }
    4%   { d: path("M 39,13 C 48,18 58,20 68,17"); }
    8%   { d: path("M 39,13 C 48,4  58,4  68,11"); }
    12%  { d: path("M 39,13 C 48,18 58,20 68,17"); }
    16%  { d: path("M 39,13 C 48,4  58,4  68,11"); }
    20%  { d: path("M 39,13 C 48,18 58,20 68,17"); }
    24%  { d: path("M 39,13 C 48,4  58,4  68,11"); }
    100% { d: path("M 39,13 C 48,4  58,4  68,11"); }
}

/* Top-left positions — depth through size */
.lena-bird--1 { top: 18%; left:  5%; width: 42px; animation: lena-bird-haunt-1 44s ease-in-out  2s infinite; }
.lena-bird--2 { top: 24%; left: 14%; width: 30px; animation: lena-bird-haunt-2 52s ease-in-out 20s infinite; }
.lena-bird--3 { top: 15%; left: 22%; width: 24px; animation: lena-bird-haunt-3 38s ease-in-out 33s infinite; }

/* Per-bird flap cadence */
.lena-bird--2 .lena-bird__wing--left, .lena-bird--2 .lena-bird__wing--right { animation-duration:  9s; }
.lena-bird--3 .lena-bird__wing--left, .lena-bird--3 .lena-bird__wing--right { animation-duration: 14s; }

/*
 * Appear → gentle drift → disappear.
 * Position resets while opacity is 0 so there is no visible jump.
 */
@keyframes lena-bird-haunt-1 {
    0%   { opacity: 0;    transform: translate(0px,  0px); }
    6%   { opacity: 0.30; transform: translate(3px, -2px); }
    24%  { opacity: 0.25; transform: translate(20px,-11px); }
    32%  { opacity: 0;    transform: translate(24px,-13px); }
    100% { opacity: 0;    transform: translate(0px,  0px); }
}
@keyframes lena-bird-haunt-2 {
    0%   { opacity: 0;    transform: translate(0px, 0px); }
    5%   { opacity: 0.20; transform: translate(2px,-1px); }
    22%  { opacity: 0.17; transform: translate(15px,-8px); }
    29%  { opacity: 0;    transform: translate(18px,-9px); }
    100% { opacity: 0;    transform: translate(0px, 0px); }
}
@keyframes lena-bird-haunt-3 {
    0%   { opacity: 0;    transform: translate(0px, 0px); }
    7%   { opacity: 0.16; transform: translate(1px,-2px); }
    26%  { opacity: 0.13; transform: translate(11px,-6px); }
    34%  { opacity: 0;    transform: translate(13px,-7px); }
    100% { opacity: 0;    transform: translate(0px, 0px); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SECTION MARKERS
═══════════════════════════════════════════════════════════════════════════ */

.lena-section-marker-wrap {
    margin-bottom: .85rem;
}

.lena-section-marker {
    width: 34px;
    height: 34px;
    color: var(--brown);
    opacity: .5;
    display: block;
}

.lena-section-marker--custom {
    width: auto;
    height: 48px;
    color: unset;
    opacity: 1;
    object-fit: contain;
}

.lena-section-header {
    margin-bottom: 3rem;
}


/* ─── Dividers ─────────────────────────────────────────────────────────── */

.lena-divider {
    display: flex;
    justify-content: center;
    color: var(--warm-mid);
    margin-block: 2rem;
}

.lena-botanical { width: 200px; height: 40px; }

/* ═══════════════════════════════════════════════════════════════════════════
   SECTIONS — base
═══════════════════════════════════════════════════════════════════════════ */

.lena-section {
    position: relative;
    padding-block: clamp(2.5rem, 8vw, 7rem);
}

.lena-section--cream { background: var(--cream); }
.lena-section--sage  { background: var(--warm-mid); }
.lena-section--dark  { background: var(--warm-mid); }
.lena-section--admin-hint { padding-bottom: 2.5rem; }

/* When Shows section is absent and nothing else fills its slot, reduce the gap above Videos.
   Skip this when the Booking teaser is active — it already provides its own top/bottom
   padding + border, so zeroing Videos' padding-top on top of that made the gap collapse. */
.lena-no-upcoming-shows:not(.lena-booking-active) #videos { padding-top: 0rem!important; }

.lena-eyebrow {
    display: block;
    font-size: .68rem;
    font-weight: 400;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--brown);
    margin-bottom: .75rem;
}

.lena-eyebrow--light { color: var(--brown-pale); }

.lena-section-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 400;
    color: var(--sage-dark);
    line-height: 1.15;
    margin-bottom: 2rem;
}

.lena-section-title--light { color: var(--cream); }

/* ═══════════════════════════════════════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════════════════════════════════════ */

.lena-about-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: clamp(2rem, 6vw, 5rem);
    align-items: start;
}

.lena-about__image {
    position: sticky;
    top: 2rem;
}

@media (max-width: 960px) {
    .lena-about__image { position: static; }
}

.lena-about__image img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    border-radius: 2px;
}

.lena-placeholder-image {
    width: 100%;
    aspect-ratio: 3/4;
    background: var(--cream-dark);
    border: 2px dashed var(--brown-pale);
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem;
    color: var(--text-soft);
    font-size: .85rem;
    line-height: 1.6;
}

.lena-about__bio p { margin-bottom: 1rem; font-size: 1.05rem; }
.lena-about__bio p:last-child { margin-bottom: 0; }
.lena-about__text .lena-btn { margin-top: 2rem; }
.lena-about__buttons { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; justify-content: center;}
.lena-about__buttons .lena-btn { margin-top: 0; }

/* ═══════════════════════════════════════════════════════════════════════════
   MUSIC — Listen section
═══════════════════════════════════════════════════════════════════════════ */

.lena-listen-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.6fr) minmax(0, 1.1fr) minmax(0, 0.6fr);
    align-items: center;
    gap: clamp(1.5rem, 2.5vw, 2.5rem);
    margin-bottom: 2.5rem;
}

.lena-listen__text {
    align-self: start;
    padding-top: .5rem;
    min-width: 0;
}

.lena-listen__eyebrow-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .3rem;
    margin-bottom: .85rem;
}

.lena-listen__leaf {
    width: 18px;
    height: 38px;
    color: var(--brown);
    opacity: .65;
}

.lena-listen__eyebrow-wrap .lena-section-marker--custom {
    height: 48px;
    width: auto;
    object-fit: contain;
    opacity: .85;
}

/* h2 in the music section keeps lena-section-title size */
.lena-listen__heading-size {
    font-size: clamp(2.6rem, 5.5vw, 4.5rem) !important;
    margin-bottom: 0 !important;
}

.lena-listen__rule {
    width: 52px;
    height: 2px;
    background: var(--brown);
    opacity: .55;
    margin: 1.25rem 0 1.5rem;
}

.lena-listen__subtitle {
    font-size: 1.2rem;
    font-weight: 300;
    color: var(--text-soft);
    line-height: 1.7;
}

/* Button SVG icon sizing */
.lena-btn svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

/* Botanical deco below the grid — flex rule + CSS lines */
.lena-listen__deco {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-top: 2.5rem;
    opacity: .55;
    color: var(--text);
}

.lena-listen__deco-line {
    flex: 1;
    height: 1px;
    background: currentColor;
    opacity: .4;
}

.lena-listen__deco-icon {
    flex-shrink: 0;
}

.lena-listen__deco-icon .lena-botanical {
    display: block;
    width: 42px;
    height: 34px;
}

/* ── Release carousel — center column ───────────────────────────── */
.lena-releases {
    text-align: center;
}

.lena-releases__nav-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}

.lena-releases__art-wrap {
    flex: 1 1 0;
    min-width: 0;
}

.lena-releases__art-btn {
    display: block;
    width: 100%;
    position: relative;
    border: none;
    padding: 0;
    background: var(--cream-dark);
    cursor: pointer;
    border-radius: 14px;
    overflow: hidden;
    transition: transform 300ms ease, opacity 350ms ease;
}

.lena-releases__art-btn:hover {
    transform: scale(1.02);
}

.lena-releases__art-btn.is-fading { opacity: 0; }

.lena-releases__art {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 14px;
}

.lena-releases__art-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.28);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 300ms ease;
    border-radius: 14px;
}

.lena-releases__art-btn:hover .lena-releases__art-overlay { opacity: 1; }

.lena-releases__play-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(255,255,255,.88);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sage-dark);
}

.lena-releases__play-icon svg { width: 22px; height: 22px; margin-left: 3px; }

.lena-releases__arrow {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    padding: 0 !important;
    border-radius: 50%;
    border: 1px solid var(--sage-dark);
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sage-dark) !important;
    transition: border-color 180ms ease;
}
.lena-releases__arrow:hover,
.lena-releases__arrow:focus,
.lena-releases__arrow:active {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text) !important;
    border-color: rgba(65,70,61,.7);
}

.lena-releases__arrow svg { width: 20px; height: 20px; stroke-width: 2 !important; }

.lena-releases__dots {
    display: flex;
    justify-content: center;
    gap: .5rem;
    margin: 1.25rem 0 1rem;
}

.lena-releases__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1.5px solid var(--text);
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: background 200ms ease;
}

.lena-releases__dot.is-active { background: var(--text); }

.lena-releases__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.5rem, 2.5vw, 2.1rem);
    font-weight: 500;
    color: var(--sage-dark);
    margin: 0 0 .3rem;
    line-height: 1.15;
    transition: opacity 300ms ease;
}
.lena-releases__title.is-fading { opacity: 0; }

.lena-releases__meta {
    font-size: .7rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--text-soft);
    margin: 0 0 1.25rem;
    transition: opacity 300ms ease;
}
.lena-releases__meta.is-fading { opacity: 0; }

.lena-releases__play-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    padding: .72rem 2rem;
    border: 1px solid var(--primary);
    border-radius: 4px;
    font-size: .72rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    font-weight: 500;
    font-family: inherit;
    color: var(--sage-dark);
    background: transparent;
    cursor: pointer;
    transition: background 200ms ease, color 200ms ease;
    min-width: 200px;
}

.lena-releases__play-btn:hover {
    background: var(--primary);
    color: #fff;
    box-shadow: none;
    border: 1.5px solid var(--primary);
}

.lena-releases__play-btn svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--brown); transition: color 200ms ease; }
.lena-releases__play-btn:hover svg { color: #fff; }



.lena-releases__play-hint {
    font-size: .82rem;
    font-style: italic;
    font-family: 'Cormorant Garamond', serif;
    color: var(--text-soft);
    margin: .6rem 0 0;
}

/* ── Listen On — right column ────────────────────────────────────── */
.lena-listen-on {
    align-self: start;
    padding-top: .5rem;
    transition: opacity 300ms ease;
}
.lena-listen-on.is-fading { opacity: 0; }

.lena-listen-on__heading {
    font-size: .72rem !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    color: var(--text-soft) !important;
    font-weight: 500 !important;
    margin: 0 0 .6rem !important;
    padding-bottom: .7rem !important;
    border-bottom: 1px solid rgba(65,70,61,.18) !important;
}

.lena-listen-on__links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lena-listen-on__link {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: 1.1rem 0;
    color: var(--sage-dark);
    text-decoration: none;
    border-bottom: 1px solid rgba(65,70,61,.09);
    font-size: .92rem;
    transition: color 180ms ease;
}

.lena-listen-on__link:hover { color: var(--brown); }

.lena-listen-on__icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lena-listen-on__icon svg { width: 21px; height: 21px; }

.lena-listen-on__name { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.lena-listen-on__ext { opacity: .35; display: flex; }
.lena-listen-on__ext svg { width: 0px; height: 0px; }

.lena-listen-on__more-btn {
    display: flex;
    align-items: center;
    gap: .4rem;
    width: 100%;
    padding: .8rem 0 .3rem;
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: .88rem;
    color: var(--text-soft);
    font-family: inherit;
    text-align: left;
}

.lena-listen-on__more-btn svg {
    width: 15px;
    height: 15px;
    transition: transform 200ms ease;
}

.lena-listen-on__more-btn[aria-expanded="true"] svg { transform: rotate(180deg); }

/* ── Release modal ───────────────────────────────────────────────── */
.lena-release-modal {
    position: fixed;
    inset: 0;
    z-index: 9000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 250ms ease;
}

.lena-release-modal.is-open {
    opacity: 1;
    pointer-events: all;
}

.lena-release-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.62);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.lena-release-modal__inner {
    position: relative;
    background: #F8F6F1;
    border-radius: 20px;
    padding: 2rem 2rem 1.75rem;
    width: 100%;
    max-width: 540px;
    box-shadow: 0 20px 60px rgba(0,0,0,.22);
    transform: translateY(18px);
    transition: transform 250ms ease;
}

.lena-release-modal.is-open .lena-release-modal__inner {
    transform: translateY(0);
}

.lena-release-modal__close {
    position: absolute;
    top: 0.35rem;
    right: 0.35rem;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--text-soft) !important;
    padding: 0;
    transition: color 150ms ease;
}

.lena-release-modal__close:hover,
.lena-release-modal__close:focus,
.lena-release-modal__close:active {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text) !important;
}

.lena-release-modal__close svg { width: 18px; height: 18px; }

/* ── Focus/click colour fixes — no browser-blue on any music button ─── */
.lena-releases__arrow:focus,
.lena-releases__dot:focus,
.lena-releases__play-btn:focus,
.lena-releases__art-btn:focus,
.lena-listen-on__more-btn:focus {
    outline: none !important;
    box-shadow: none !important;
}

.lena-releases__arrow:focus-visible,
.lena-releases__dot:focus-visible,
.lena-releases__play-btn:focus-visible,
.lena-listen-on__more-btn:focus-visible {
    outline: 2px solid var(--brown) !important;
    outline-offset: 2px;
}

.lena-release-modal__close svg { stroke-width: 2; }
.lena-release-modal__close:active svg { stroke-width: 3.5; }

#lena-release-modal-embed { margin-bottom: 1.25rem; }
#lena-release-modal-embed iframe { width: 100%; border-radius: 12px; display: block; }

.lena-release-modal__spotify-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .88rem;
    color: var(--brown);
    text-decoration: none;
    opacity: .85;
    transition: opacity 150ms ease;
}

.lena-release-modal__spotify-link:hover { opacity: 1; text-decoration: underline; }
.lena-release-modal__spotify-link svg { width: 14px; height: 14px; flex-shrink: 0; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .lena-listen-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .lena-listen-on {
        padding-top: 0;
        text-align: left;
    }
}

@media (max-width: 600px) {
    .lena-releases__arrow { width: 40px; height: 40px; }
    .lena-releases__arrow svg { width: 22px; height: 22px; }
    .lena-releases__arrow--prev { left: .5rem; }
    .lena-releases__arrow--next { right: .5rem; }

    .lena-listen-on {
        text-align: center;
    }

    .lena-listen-on__heading {
        text-align: center !important;
    }

    .lena-listen-on__links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .35rem 1rem;
        align-items: start;
    }

    .lena-listen-on__link {
        justify-content: center;
        gap: .45rem;
        padding: .85rem .25rem;
        text-align: center;
    }

    .lena-listen-on__name {
        flex: 0 1 auto;
        white-space: normal;
        text-align: center;
    }

    .lena-listen-on__ext {
        display: none;
    }

    .lena-listen-on__more-btn {
        grid-column: 1 / -1;
        justify-content: center;
        text-align: center;
    }
}

.lena-music__embed { margin-bottom: 2.5rem; }
.lena-music__embed iframe { width: 100%; border-radius: 12px; }

.lena-spotify-wrap {
    width: 100%;
}

.lena-spotify-card {
    background: var(--cream-dark);
    border: 1px solid var(--brown-pale);
    border-radius: 16px;
    padding: 1.25rem;
    box-shadow: 0 2px 12px rgba(138, 99, 56, 0.10);
}

/* ── Cassette photo frame — image at natural size, player centered over it */
.lena-cassette-frame {
    position: relative;
}

.lena-cassette-frame__img {
    display: block;
    width: 100%;
    height: auto;
}

.lena-cassette-frame__player {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 7%;
    z-index: 1;
}

/* Strip card styling when nested inside the cassette so no background bleeds through the PNG */
.lena-cassette-frame .lena-spotify-card {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

/* ── CSS cassette frame ───────────────────────────────────────────────── */
.lena-cassette-wrap {
    background: #1c1712;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.05);
    position: relative;
}

/* Corner screws */
.lena-cassette-wrap::before,
.lena-cassette-wrap::after {
    content: '';
    position: absolute;
    top: 12px;
    width: 7px; height: 7px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #3a3028, #151009);
    border: 1px solid #2a2218;
    box-shadow: inset 0 1px 1px rgba(255,255,255,.07);
    z-index: 1;
}
.lena-cassette-wrap::before { left: 12px; }
.lena-cassette-wrap::after  { right: 12px; }

.lena-cassette-reels {
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    padding: 18px 56px 0;
    position: relative;
}

/* Tape "smile" arch connecting the two reels */
.lena-cassette-reels::before {
    content: '';
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 70px; height: 20px;
    background: #0a0806;
    border-radius: 4px 4px 0 0;
    border: 1px solid #2a2218;
    border-bottom: none;
}

.lena-cassette-reel {
    width: 62px; height: 62px;
    border-radius: 50%;
    background: #0d0a07;
    border: 3px solid #2a2218;
    box-shadow: 0 0 0 4px #1c1712, inset 0 2px 8px rgba(0,0,0,.75);
    position: relative;
    flex-shrink: 0;
}

/* Gold hub */
.lena-cassette-reel::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 20px; height: 20px;
    border-radius: 50%;
    background: radial-gradient(circle at 38% 32%, #d8c89c, #8c7a58);
    box-shadow: 0 2px 4px rgba(0,0,0,.55);
}

/* Spoke lines inside reel */
.lena-cassette-reel::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 1px; height: 34px;
    background: rgba(200,180,140,.2);
    box-shadow: 17px 0 0 rgba(200,180,140,.2), -17px 0 0 rgba(200,180,140,.2);
}

.lena-cassette-player {
    padding: 10px 14px 14px;
    background: #1c1712;
}

/* Subtle inset on the player within cassette */
.lena-cassette-player .lena-spotify-wrap {
    border-radius: 4px;
    overflow: hidden;
    outline: 1px solid rgba(255,255,255,.06);
}

.lena-placeholder-embed {
    background: var(--cream-dark);
    border: 2px dashed var(--brown-pale);
    border-radius: 8px;
    padding: 3rem 2rem;
    text-align: center;
    color: var(--text-soft);
    margin-bottom: 2.5rem;
    font-size: .9rem;
}

.lena-music__subtitle {
    font-size: 1rem;
    color: var(--text-soft);
    font-style: italic;
    margin-top: -.5rem;
    margin-bottom: 2rem;
    max-width: 480px;
}

.lena-music__links {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════════════════════════════════ */

.lena-btn {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    padding: .7rem 1.6rem;
    font-family: 'Jost', sans-serif;
    font-size: .78rem;
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
    border-radius: var(--radius);
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s, opacity .2s;
    border: 1.5px solid transparent;
    white-space: nowrap;
}

/* Kadence's own button styles (global.min.css) add a drop shadow and fall back to its
   blue palette on :hover/:focus/:active. These rules pin our own colours/no-shadow at
   higher specificity so they always win, regardless of stylesheet load order. */
.lena-btn:hover,
.lena-btn:focus,
.lena-btn:active {
    box-shadow: none;
}

.lena-btn--primary {
    background: var(--primary);
    color: var(--white);
    border-color: var(--primary);
}
.lena-btn--primary:hover,
.lena-btn--primary:focus,
.lena-btn--primary:active { background: var(--warm-mid); border-color: var(--warm-mid); color: var(--white); opacity: .88; }

.lena-btn--outline {
    background: transparent;
    color: var(--primary);
    border-color: var(--primary);
}
.lena-btn--outline:hover,
.lena-btn--outline:focus,
.lena-btn--outline:active { background: var(--primary); color: var(--white); }

/* Icon-only circle button — platform icons in music hero */
.lena-btn--icon {
    width: 44px;
    height: 44px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
    border: 1.5px solid var(--primary);
    color: var(--primary);
    background: transparent;
    flex-shrink: 0;
}
.lena-btn--icon svg { width: 20px; height: 20px; }
.lena-btn--icon:hover,
.lena-btn--icon:focus,
.lena-btn--icon:active { background: var(--primary); color: var(--white); }

@media (max-width: 600px) {
    .lena-listen__buttons--hero .lena-btn--icon,
    .lena-music__links .lena-btn--icon {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        aspect-ratio: 1 / 1;
        flex: 0 0 44px;
        align-items: center;
        justify-content: center;
    }
}

/* Buttons on dark / primary-coloured section backgrounds — use cream */
.lena-btn--tickets {
    background: var(--cream);
    color: var(--sage-dark);
    border-color: var(--cream);
    padding: .5rem 1.2rem;
    font-size: .72rem;
}
.lena-btn--tickets:hover,
.lena-btn--tickets:focus,
.lena-btn--tickets:active { background: var(--white); border-color: var(--white); color: var(--sage-dark); opacity: 1; }

/* ═══════════════════════════════════════════════════════════════════════════
   SHOWS
═══════════════════════════════════════════════════════════════════════════ */

.lena-shows {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.lena-show-row {
    display: grid;
    grid-template-columns: 90px 1fr auto;
    align-items: center;
    gap: 1.5rem;
    padding: 1.4rem 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.lena-show-row:first-child { border-top: 1px solid rgba(255,255,255,.12); }

.lena-show__date {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: var(--cream);
}

.lena-show__day   { font-family: 'Cormorant Garamond', serif; font-size: 2.4rem; font-weight: 300; line-height: 1; }
.lena-show__month { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; opacity: .7; margin-top: .1rem; }
.lena-show__year  { font-size: .72rem; letter-spacing: .1em; opacity: .5; }

.lena-show__venue {
    display: block;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    color: var(--cream);
    font-weight: 400;
}

.lena-show__location {
    display: block;
    font-size: .82rem;
    color: var(--sage-light);
    margin-top: .2rem;
    letter-spacing: .04em;
}

.lena-badge {
    display: inline-block;
    font-size: .72rem;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: .3rem .8rem;
    border-radius: 100px;
    border: 1px solid rgba(255,255,255,.2);
    color: rgba(255,255,255,.6);
}

.lena-badge--sold-out {
    border-color: rgba(255,255,255,.15);
    color: rgba(255,255,255,.35);
    text-decoration: line-through;
}

.lena-shows-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--sage-light);
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.1rem;
    font-style: italic;
}

.lena-shows-empty__hint {
    font-family: 'Jost', sans-serif;
    font-size: .8rem;
    font-style: normal;
    opacity: .55;
    margin-top: .75rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   VIDEOS
═══════════════════════════════════════════════════════════════════════════ */

.lena-videos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

.lena-video-wrap {
    position: relative;
    aspect-ratio: 16/9;
    border-radius: 4px;
    overflow: hidden;
    background: var(--text);
}

.lena-video-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ─── Video facade (thumbnail + play → iframe on click) ─────────────────── */

.lena-video-facade {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    overflow: hidden;
    background: var(--sage-dark);
}

.lena-video-facade__thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s var(--ease-out), filter .3s;
}

.lena-video-facade:hover .lena-video-facade__thumb {
    transform: scale(1.04);
    filter: brightness(.78);
}

.lena-video-facade__play {
    position: relative;
    z-index: 1;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.93);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform .25s var(--ease-out), background .2s, box-shadow .25s;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .38);
}

.lena-video-facade:hover .lena-video-facade__play {
    transform: scale(1.12);
    background: #fff;
    box-shadow: 0 6px 30px rgba(0, 0, 0, .5);
}

.lena-video-facade__play svg {
    width: 22px;
    height: 22px;
    color: var(--text);
    margin-left: 3px;
}

.lena-placeholder-text {
    color: var(--text-soft);
    font-size: .95rem;
    max-width: 460px;
    margin-inline: auto;
    margin-top: 1rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   STORE
═══════════════════════════════════════════════════════════════════════════ */

.lena-store__note {
    color: var(--text-soft);
    font-size: 1.05rem;
    max-width: 480px;
    margin-inline: auto;
    margin-bottom: 2rem;
}

.lena-store__links {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    justify-content: center;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CONTACT + NEWSLETTER
═══════════════════════════════════════════════════════════════════════════ */

.lena-footer__contact {
    scroll-margin-top: calc(var(--nav-h) + 1rem);
    background: var(--warm-mid);
    padding: clamp(4rem, 8vw, 6rem) 0 0.75rem;
    text-align: left;
}

.lena-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 6vw, 5rem);
    align-items: start;
/*    padding: 3rem clamp(1.5rem, 6vw, 5rem);*/
}

.lena-contact__email {
    color: rgba(246,243,236,.88);
    font-size: 1.1rem;
    margin-bottom: 2rem;
    line-height: 1.7;
}

.lena-contact__email a {
    color: var(--brown-pale);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .2s;
}

.lena-contact__email a:hover { color: var(--white); }

.lena-contact__social {
    display: flex;
    gap: 1.4rem;
    flex-wrap: wrap;
    margin-top: 1.4rem;
}

.lena-contact__social .lena-social-icon svg { width: 24px; height: 24px; }

.lena-newsletter-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.7rem!important;
    font-weight: 400;
    color: var(--cream);
    margin-bottom: .5rem;
}

.lena-newsletter-desc {
    color: var(--sage-light);
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
}

.lena-newsletter-placeholder {
    background: rgba(255,255,255,.06);
    border: 1px dashed rgba(255,255,255,.15);
    border-radius: 4px;
    padding: 1.75rem;
    color: rgba(255,255,255,.5);
    font-size: .85rem;
    line-height: 1.7;
}

/* ─── Newsletter Plugin (TNP) form — dark-background context ─────────────── */

/* Title: eyebrow style matches mockup "MAILING LIST" */
.lena-contact__newsletter {
    padding-top: 1.43rem;
}

.lena-contact__newsletter .lena-newsletter-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
    color: var(--cream);
    margin-bottom: .5rem;
}

.lena-contact__newsletter .lena-newsletter-desc {
    font-size: 1.1rem;
    color: rgba(246, 243, 236, 0.68);
    margin-bottom: 1.25rem;
}

.lena-contact__newsletter .tnp.tnp-subscription,
.lena-newsletter-form-wrap .tnp.tnp-subscription {
    width: 100%;
    background: none !important;
    padding: 0 !important;
    border: none !important;
}

.lena-contact__newsletter .tnp.tnp-subscription form,
.lena-newsletter-form-wrap .tnp.tnp-subscription form {
    display: flex;
    align-items: stretch;
    gap: 10px;
    flex-wrap: wrap;
}

.lena-contact__newsletter .tnp-field,
.lena-newsletter-form-wrap .tnp-field {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}

.lena-contact__newsletter .tnp-field-firstname,
.lena-newsletter-form-wrap .tnp-field-firstname { flex: 1 1 150px; min-width: 0; order: 1; }

.lena-contact__newsletter .tnp-field-email,
.lena-newsletter-form-wrap .tnp-field-email { flex: 1 1 150px; min-width: 0; order: 2; }

.lena-contact__newsletter .tnp-field label,
.lena-newsletter-form-wrap .tnp-field label { display: none !important; }

.lena-contact__newsletter .tnp-field input[type="text"],
.lena-contact__newsletter .tnp-field input[type="email"],
.lena-newsletter-form-wrap .tnp-field input[type="text"],
.lena-newsletter-form-wrap .tnp-field input[type="email"] {
    display: block;
    width: 100%;
    height: 48px;
    padding: 0 1rem !important;
    font-family: 'Jost', sans-serif !important;
    font-size: .88rem !important;
    font-weight: 300 !important;
    letter-spacing: .03em !important;
    background: rgba(246, 243, 236, 0.09) !important;
    color: var(--cream) !important;
    border: 1px solid rgba(246, 243, 236, 0.25) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    transition: background .2s, border-color .2s;
    -webkit-appearance: none;
    appearance: none;
}

.lena-contact__newsletter .tnp-field input[type="text"]::placeholder,
.lena-contact__newsletter .tnp-field input[type="email"]::placeholder,
.lena-newsletter-form-wrap .tnp-field input[type="text"]::placeholder,
.lena-newsletter-form-wrap .tnp-field input[type="email"]::placeholder {
    color: rgba(246, 243, 236, 0.38);
    font-style: italic;
}

.lena-contact__newsletter .tnp-field input[type="text"]:focus,
.lena-contact__newsletter .tnp-field input[type="email"]:focus,
.lena-newsletter-form-wrap .tnp-field input[type="text"]:focus,
.lena-newsletter-form-wrap .tnp-field input[type="email"]:focus {
    background: rgba(246, 243, 236, 0.15) !important;
    border-color: rgba(246, 243, 236, 0.45) !important;
    box-shadow: none !important;
}

.lena-contact__newsletter .tnp-field-button,
.lena-newsletter-form-wrap .tnp-field-button { flex: 0 0 auto !important; margin: 0 !important; padding: 0 !important; order: 3; }

.lena-contact__newsletter .tnp-field-button input[type="submit"],
.lena-contact__newsletter .tnp-submit,
.lena-newsletter-form-wrap .tnp-field-button input[type="submit"],
.lena-newsletter-form-wrap .tnp-submit {
    display: block !important;
    height: 48px !important;
    padding: 0 1.6rem !important;
    font-family: 'Jost', sans-serif !important;
    font-size: .72rem !important;
    font-weight: 400 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    background: var(--cream-dark) !important;
    color: var(--sage-dark) !important;
    border: 1px solid var(--cream-dark) !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background .2s, border-color .2s !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    white-space: nowrap !important;
}

.lena-contact__newsletter .tnp-field-button input[type="submit"]:hover,
.lena-contact__newsletter .tnp-submit:hover,
.lena-newsletter-form-wrap .tnp-field-button input[type="submit"]:hover,
.lena-newsletter-form-wrap .tnp-submit:hover {
    background: var(--cream) !important;
    border-color: var(--cream) !important;
}

/* Warm-brown checkbox tick/fill instead of browser default blue */
.lena-contact__newsletter .tnp-field-privacy input[type="checkbox"],
.lena-newsletter-form-wrap .tnp-field-privacy input[type="checkbox"],
.lena-contact__newsletter .tnp-privacy-field input[type="checkbox"],
.lena-newsletter-form-wrap .tnp-privacy-field input[type="checkbox"] {
    accent-color: var(--brown-light);
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    margin-top: 2px;
}

/* Consent checkbox — order:4 keeps it below the [Name][Email][JOIN] row */
.lena-contact__newsletter .tnp-field-privacy,
.lena-contact__newsletter .tnp-privacy-field,
.lena-newsletter-form-wrap .tnp-field-privacy,
.lena-newsletter-form-wrap .tnp-privacy-field {
    flex: 0 0 100%;
    order: 4;
    margin-top: .85rem !important;
}

.lena-contact__newsletter .tnp-field-privacy label,
.lena-contact__newsletter .tnp-privacy-field label,
.lena-newsletter-form-wrap .tnp-field-privacy label,
.lena-newsletter-form-wrap .tnp-privacy-field label {
    display: flex !important;
    gap: .5rem;
    align-items: flex-start;
    font-size: .82rem;
    color: rgba(246, 243, 236, 0.5) !important;
    cursor: pointer;
    line-height: 1.55;
}

/* Kill Kadence blue on the privacy link; only the link text is underlined */
.lena-contact__newsletter .tnp-field-privacy a,
.lena-contact__newsletter .tnp-privacy-field a,
.lena-newsletter-form-wrap .tnp-field-privacy a,
.lena-newsletter-form-wrap .tnp-privacy-field a {
    color: rgba(246, 243, 236, 0.65) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

/* Prepend "I agree to the " before the link text without underline.
   inline-block breaks text-decoration inheritance from the <a>. */
.lena-contact__newsletter .tnp-field-privacy a::before,
.lena-contact__newsletter .tnp-privacy-field a::before,
.lena-newsletter-form-wrap .tnp-field-privacy a::before,
.lena-newsletter-form-wrap .tnp-privacy-field a::before {
    content: "I agree to the ";
    display: inline-block;
    color: rgba(246, 243, 236, 0.5);
    text-decoration: none;
}

.lena-contact__newsletter .tnp-result,
.lena-newsletter-form-wrap .tnp-result {
    padding: .75rem 1rem;
    margin-top: .75rem;
    font-size: .85rem;
    color: rgba(246, 243, 236, 0.7);
    border: 1px solid rgba(246, 243, 236, 0.18);
    border-radius: var(--radius);
    text-align: center;
}

/* Privacy note below the form */
.lena-newsletter-legal {
    font-size: .68rem;
    color: rgba(246, 243, 236, 0.3);
    margin-top: .85rem;
    letter-spacing: .02em;
    line-height: 1.6;
}

.lena-newsletter-legal a {
    color: rgba(246, 243, 236, 0.45);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .2s;
}

.lena-newsletter-legal a:hover { color: rgba(246, 243, 236, 0.75); }

/* Footer legal links */
.lena-footer__legal-inline {
    display: inline;
}

.lena-footer__legal-inline a {
    font-size: inherit;
    color: rgba(255,255,255,.42);
    text-decoration: none;
    transition: color .2s;
}

.lena-footer__legal-inline a:hover { color: rgba(255,255,255,.75); }

/* Mobile: stack form fields */
@media (max-width: 580px) {
    .lena-contact__newsletter .tnp.tnp-subscription form,
    .lena-newsletter-form-wrap .tnp.tnp-subscription form { flex-direction: column; }

    .lena-contact__newsletter .tnp-field-firstname,
    .lena-contact__newsletter .tnp-field-email,
    .lena-newsletter-form-wrap .tnp-field-firstname,
    .lena-newsletter-form-wrap .tnp-field-email { flex: 1 1 auto; }

    .lena-contact__newsletter .tnp-field input[type="text"],
    .lena-contact__newsletter .tnp-field input[type="email"],
    .lena-newsletter-form-wrap .tnp-field input[type="text"],
    .lena-newsletter-form-wrap .tnp-field input[type="email"] {
        border-right: 1px solid rgba(246, 243, 236, 0.25) !important;
        border-bottom: none !important;
    }

    .lena-contact__newsletter .tnp-field-button,
    .lena-newsletter-form-wrap .tnp-field-button { flex: 1 1 auto !important; }

    .lena-contact__newsletter .tnp-field-button input[type="submit"],
    .lena-contact__newsletter .tnp-submit,
    .lena-newsletter-form-wrap .tnp-field-button input[type="submit"],
    .lena-newsletter-form-wrap .tnp-submit { width: 100% !important; }
}

/* MailerLite form override (legacy) */
.lena-contact__newsletter .ml-embedded {
    --ml-border-radius: var(--radius);
}

/* ═══════════════════════════════════════════════════════════════════════════
   TREES SECTION
═══════════════════════════════════════════════════════════════════════════ */

.lena-trees-section {
    background: var(--cream);
    line-height: 0;
    position: relative;
}

.lena-trees-section__img {
    width: 100%;
    height: auto;
    display: block;
}

.lena-trees-section__quote {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
    max-width: 440px;
    padding: 0 2rem;
    line-height: normal;
}

.lena-trees-section__rule {
    display: block;
    width: 140px;
    height: 5px;
    margin: 0 auto 1.75rem;
    fill: rgba(127, 122, 99, 0.45);
}

.lena-trees-section__text {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.2rem, 2.4vw, 1.55rem);
    font-weight: 400;
    font-style: italic;
    color: var(--warm-mid);
    line-height: 1.7;
    letter-spacing: .01em;
}

.lena-trees-section__text::before {
    content: '\201C';
    font-size: 1.45em;
    line-height: 0;
    vertical-align: -0.12em;
    margin-right: .08em;
}

.lena-trees-section__text::after {
    content: '\201D';
    font-size: 1.45em;
    line-height: 0;
    vertical-align: -0.12em;
    margin-left: .08em;
}

@media (max-width: 768px) {
    .lena-trees-section__img {
        height: 200px;
        object-fit: cover;
        object-position: center bottom;
    }
    .lena-trees-section__quote {
        top: 2rem;
        transform: translateX(-50%);
        max-width: min(340px, 88vw);
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════════════════ */

.lena-footer {
    background: var(--warm-mid);
    text-align: center;
}


.lena-footer__bar {
    padding: 2rem clamp(1.25rem, 5vw, 3rem) 1.5rem;
}

/* 3-column bar: [bird] [tagline centered] [social icons] — then full-width copyright */
.lena-footer__inner {
    max-width: 1200px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr 1.6fr 1.4fr;
    gap: 1rem 2rem;
    align-items: center;
}

.lena-footer__bird { color: rgba(255,255,255,.5); }

.lena-footer__bird svg { width: 32px; height: 16px; }

.lena-footer__thanks {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-weight: 300;
    font-style: italic;
    color: rgba(255,255,255,.75);
    letter-spacing: .04em;
    text-align: center;
    justify-self: center;
    border-left: 1px solid rgba(255,255,255,.14);
    border-right: 1px solid rgba(255,255,255,.14);
    padding-inline: 2rem;
    padding-block: .35rem;
}

.lena-home .lena-footer__bar {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

/* nav (optional footer menu) spans full width below the main row */
.lena-footer__nav { grid-column: 1 / -1; }

.lena-footer__copy {
    grid-column: 1 / -1;
    font-size: .8rem;
    color: rgba(255,255,255,.42);
    letter-spacing: .05em;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,.1);
    padding-top: 1.5rem;
    margin-top: .5rem;
}

.lena-footer__legal {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    gap: 1.25rem;
    margin-top: .25rem;
    flex-wrap: wrap;
}

.lena-footer__legal a {
    font-size: .62rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,.18);
    text-decoration: none;
    transition: color .2s;
}

.lena-footer__legal a:hover { color: rgba(255,255,255,.45); }

.lena-footer__social {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.7rem;
    flex-wrap: nowrap;
}

.lena-footer__social .lena-social-icon {
    color: rgba(255,255,255,.6);
}

.lena-footer__social .lena-social-icon svg { width: 22px; height: 22px; }

.lena-footer__social .lena-social-icon:hover {
    color: rgba(255,255,255,.9);
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCROLL REVEAL
═══════════════════════════════════════════════════════════════════════════ */

.lena-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s var(--ease-out), transform .7s var(--ease-out);
}

.lena-reveal.is-visible {
    opacity: 1;
    transform: none;
}

@keyframes lena-fade-up {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 960px) {
    .lena-about-grid      { grid-template-columns: 1fr; }
    .lena-about__image    { max-width: 400px; }
    .lena-contact-grid    { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    /* ─── Hamburger toggle ───────────────────────────────────────────────── */
    .lena-nav-toggle {
        display: flex !important;
        position: relative;
        z-index: 1001;
        min-width: 44px;
        min-height: 44px;
        padding: 10px;
        justify-content: center;
        align-items: center;
        gap: 5px;
        flex-direction: column;
    }

    /* Animate to X when open */
    .lena-nav-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(6.5px) rotate(45deg);
    }
    .lena-nav-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
        transform: scaleX(0);
    }
    .lena-nav-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-6.5px) rotate(-45deg);
    }

    .lena-nav-toggle[aria-expanded="true"] span {
        background: var(--text) !important;
    }

    /* ─── Mobile nav overlay ─────────────────────────────────────────────── */
    .lena-nav {
        position: fixed;
        inset: 0;
        z-index: 1000;
        background: var(--cream);
        display: flex;
        align-items: center;
        justify-content: center;
        transform: translateX(100%);
        transition: transform .35s var(--ease-out);
    }

  
    
    /*Temporary Fix Header */
    html,
body {
    background: var(--cream)!important;
}
.lena-hero {
    position: relative;
    z-index: 1;
}
.lena-header {
    z-index: 9999;
}




    body.lena-inner .lena-nav {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        background: var(--cream) !important;
    }

    body.lena-inner.admin-bar .lena-nav {
        top: 32px !important;
    }

    @media screen and (max-width: 782px) {
        body.lena-inner.admin-bar .lena-nav {
            top: 46px !important;
        }
    }

    html:has(.lena-nav.is-open),
    body:has(.lena-nav.is-open) {
        background: var(--cream);
        overflow: hidden;
        overscroll-behavior: none;
    }

    body:has(.lena-nav.is-open) .lena-header {
        background: var(--cream);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: 0 1px 0 rgba(0,0,0,.07);
    }

    .lena-nav.is-open { transform: none; }

    .lena-nav ul {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }

    .lena-nav a {
        color: var(--sage-dark) !important;
        font-size: 1rem;
        letter-spacing: .2em;
        display: block;
        padding: .9rem 2rem;
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .lena-header__social { display: none; }

    body.lena-home .lena-section-marker-wrap,
    body.lena-home .lena-listen__eyebrow-wrap {
        align-items: center;
        text-align: center;
    }

    body.lena-home .lena-section-marker,
    body.lena-home .lena-section-marker--custom,
    body.lena-home .lena-listen__leaf {
        margin-inline: auto;
    }

    body.lena-home .lena-divider {
        justify-content: center;
    }

    body.lena-home .lena-listen__deco,
    body.lena-home .lena-booking-teaser__divider {
        justify-content: center;
    }

    body.lena-home .lena-listen__rule {
        margin-inline: auto;
    }

    body.lena-home .lena-eyebrow,
    body.lena-home .lena-section-title,
    body.lena-home .lena-listen__subtitle,
    body.lena-home .lena-music__subtitle,
    body.lena-home .lena-releases__title,
    body.lena-home .lena-releases__meta,
    body.lena-home .lena-booking-teaser__title {
        text-align: center;
    }

    body.lena-home .lena-hero__buttons,
    body.lena-home .lena-about__buttons,
    body.lena-home .lena-music__links,
    body.lena-home .lena-booking-teaser__buttons {
        justify-content: center;
    }

    body.lena-home .lena-listen__text {
        text-align: center;
    }

    body.lena-home .lena-listen__text p:not(.lena-listen__subtitle),
    body.lena-home .lena-about__bio p,
    body.lena-home .lena-booking-teaser__text {
        text-align: left;
    }



    body.lena-home .lena-contact__email {
        text-align: center!important;
    }

    body.lena-home .lena-contact__social {
        justify-content: center;
    }

    body.lena-home .lena-contact__booking-cta {
        text-align: center!important;
    }




    /* ─── Hero: mobile — mirror desktop layout, centered ── */
    .lena-hero__content {
        position: absolute;
        bottom: clamp(4rem, 10vh, 6rem);
        left: 0;
        right: 0;
        padding: 0 clamp(1.25rem, 5vw, 2rem);
        max-width: 100%;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .lena-hero__signature {
        text-align: center;
        max-width: 92vw;
        pointer-events: none;
    }

    .lena-hero__tagline {
        font-size: .95rem;
        margin-bottom: 1.5rem;
    }

    .lena-hero__buttons {
        justify-content: center;
    }

    /* ─── Shows ──────────────────────────────────────────────────────────── */
    .lena-show-row {
        grid-template-columns: 70px 1fr;
        grid-template-rows: auto auto;
    }

    .lena-show-row--has-flyer { grid-template-columns: 70px 1fr; }
    .lena-show__flyer-wrap    { display: none; }
    .lena-show__actions       { grid-column: 2; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: center; }
    .lena-show__badges        { justify-content: flex-start; }

    /* ─── Touch targets ──────────────────────────────────────────────────── */
    .lena-btn {
        min-height: 44px;
        padding: .75rem 1.8rem;
    }

    .lena-btn.lena-btn--icon,
    .lena-listen__buttons--hero .lena-btn.lena-btn--icon,
    .lena-music__links .lena-btn.lena-btn--icon {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        flex: 0 0 44px !important;
        aspect-ratio: 1 / 1;
    }

    .lena-btn--tickets { min-height: 40px; }

    .lena-social-icon {
        min-width: 44px;
        min-height: 44px;
    }
}

/* Tablet: mirror desktop layout, centered */
@media (max-width: 1024px) and (min-width: 769px) {
    .lena-hero__content {
        position: absolute;
        bottom: 14%;
        left: 0;
        right: 0;
        padding: 0 clamp(1.5rem, 6vw, 5rem);
        max-width: 100%;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .lena-hero__signature {
        text-align: center;
        max-width: 90vw;
        pointer-events: none;
    }

    .lena-hero__buttons {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .lena-signature-text { font-size: clamp(3.5rem, 18vw, 5.5rem); }
}

@media (prefers-reduced-motion: reduce) {
    .lena-signature-text,
    .lena-signature-img,
    .lena-flourish-path,
    .lena-hero__buttons,
    .lena-hero__scroll,
    .lena-reveal {
        animation: none !important;
        clip-path: none !important;
        opacity: 1 !important;
        transform: none !important;
        stroke-dashoffset: 0 !important;
    }
    .lena-bird { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   INNER PAGES
═══════════════════════════════════════════════════════════════════════════ */

/* ─── Solid header (inner pages, always opaque) ────────────────────────── */


.lena-header--solid {
    background: rgba(246, 243, 236, 0.97);
    backdrop-filter: blur(8px);
    box-shadow: 0 1px 0 rgba(0,0,0,.07);
}


.lena-header--solid .lena-header__logo,
.lena-header--solid .lena-nav a,
.lena-header--solid .lena-social-icon { color: var(--text) !important; }

.lena-header--solid .lena-header__logo-img { filter: brightness(0) invert(0) saturate(0) brightness(0.25); }

.lena-header--solid .lena-nav-toggle span { background: var(--text); }

/* ─── Page hero banner ──────────────────────────────────────────────────── */

.lena-page-hero {
    position: relative;
    background: var(--brown);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    margin-top: var(--nav-h);
}

.lena-page-hero--small  { min-height: 220px; }
.lena-page-hero--medium { min-height: 340px; }
.lena-page-hero--large  { min-height: 500px; }

.lena-page-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.08) 0%, rgba(100,66,34,.6) 100%);
}
.lena-page-hero--has-bottom::after {
    background: linear-gradient(to bottom, rgba(0,0,0,.03) 0%, rgba(30,18,6,.55) 55%, rgba(18,11,3,.82) 100%);
}

.lena-page-hero__inner {
    position: relative;
    z-index: 2;
    padding: 3rem clamp(1.5rem, 6vw, 5rem);
    width: 100%;
}

.lena-page-hero__label {
    display: block;
    font-family: 'Great Vibes', cursive;
    font-size: 1.6rem;
    color: rgba(255,255,255,.55);
    margin-bottom: -.25rem;
}

.lena-page-hero__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 400;
    color: var(--white);
    line-height: 1.1;
    margin: 0 0 .5rem;
}

.lena-page-hero__subtitle {
    font-size: 1rem;
    font-weight: 300;
    color: rgba(255,255,255,.7);
    font-style: italic;
    margin: 0;
}

/* Hero actions strip — subtitle + streaming buttons inside hero */
.lena-page-hero__actions {
    margin-top: 1.5rem;
}
.lena-page-hero__tagline {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    color: rgba(255,255,255,.68);
    font-size: clamp(.88rem, 1.3vw, 1.05rem);
    margin: 0 0 1.1rem;
    letter-spacing: .02em;
}
.lena-listen__buttons--hero .lena-btn--outline,
.lena-listen__buttons--hero .lena-btn--icon {
    border-color: rgba(255,255,255,.38);
    color: rgba(255,255,255,.82);
    background: transparent;
}
.lena-listen__buttons--hero .lena-btn--outline:hover,
.lena-listen__buttons--hero .lena-btn--outline:focus,
.lena-listen__buttons--hero .lena-btn--outline:active,
.lena-listen__buttons--hero .lena-btn--icon:hover,
.lena-listen__buttons--hero .lena-btn--icon:focus,
.lena-listen__buttons--hero .lena-btn--icon:active {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.65);
    color: var(--white);
}
.lena-listen__buttons--centered .lena-music__links { justify-content: center; }

/* ─── No-image variant: cream background, dark text, no overlay ─────────── */

.lena-page-hero--no-image {
    background: var(--cream);
    min-height: 0 !important;
    align-items: center;
}

.lena-page-hero--no-image::after { display: none; }

.lena-page-hero--no-image .lena-page-hero__inner {
    padding-top: clamp(2rem, 5vw, 3.5rem);
    padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.lena-page-hero--no-image .lena-page-hero__title {
    color: var(--text);
}

.lena-page-hero--no-image .lena-page-hero__subtitle {
    color: var(--text-soft);
}

/* ─── General page content (Gutenberg output) ───────────────────────────── */

.lena-page__content {
    font-size: 1.05rem;
    line-height: 1.85;
    color: var(--text);
    max-width: 680px;
}

.lena-page__content p  { margin-bottom: 1.2rem; }
.lena-page__content h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; font-weight: 400; color: var(--sage-dark); margin: 2rem 0 .75rem; }
.lena-page__content h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-weight: 400; color: var(--sage); margin: 1.5rem 0 .5rem; }
.lena-page__content a  { color: var(--brown); text-decoration: underline; text-underline-offset: 3px; }
.lena-page__content ul, .lena-page__content ol { padding-left: 1.5rem; margin-bottom: 1rem; }
.lena-page__content li { margin-bottom: .4rem; }
.lena-page__content img { border-radius: 2px; margin-block: 1.5rem; }
.lena-page__content blockquote { border-left: 3px solid var(--brown-pale); padding-left: 1.25rem; margin-left: 0; font-style: italic; color: var(--text-soft); }
.lena-page__content figure.wp-block-gallery { margin-block: 1.5rem; }

/* ─── Inner page footer — matches home footer bar ────────────────────────── */

.lena-inner .lena-footer {
    background: var(--warm-mid);
}

/* Optional WP footer menu (Appearance → Menus → Footer Navigation) */
.lena-footer__nav ul {
    list-style: none;
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    padding: 0;
}

.lena-footer__nav li { margin: 0; }

.lena-footer__nav a {
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
    transition: color .2s;
}

.lena-footer__nav a:hover { color: rgba(255,255,255,.8); }

/* Social row helpers */
.lena-social-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.lena-social-row--centered { justify-content: center; }
.lena-social-row--large .lena-social-icon svg { width: 26px; height: 26px; }
.lena-social-row--dark .lena-social-icon { color: var(--text-soft); }
.lena-social-row--dark .lena-social-icon:hover { color: var(--sage-dark); }

/* ─── Releases grid (Music page) ────────────────────────────────────────── */

.lena-releases-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    align-items: start;
}

.lena-release-card {
    display: flex;
    flex-direction: column;
}

.lena-release-card__cover {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    overflow: hidden;
    background: var(--cream-dark);
}

.lena-release-card__cover > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.lena-release-card__art-btn {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
    padding: 0;
    background: none;
    cursor: pointer;
    position: relative;
    transition: transform 300ms ease;
}
.lena-release-card__art-btn:hover { transform: scale(1.02); }

.lena-release-card__art-btn img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.lena-release-card__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.28);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 300ms ease;
    border-radius: 12px;
}
.lena-release-card__art-btn:hover .lena-release-card__overlay { opacity: 1; }

.lena-placeholder-cover {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sage-light);
}

.lena-release-card__type {
    position: absolute;
    top: .5rem; right: .5rem;
    background: rgba(61,74,53,.85);
    color: var(--white);
    font-size: .62rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: .2rem .55rem;
    border-radius: 2px;
    pointer-events: none;
}

.lena-release-card__info {
    padding: 1.1rem 0 0;
    text-align: center;
}

.lena-release-card__title { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-weight: 400; color: var(--sage-dark); margin: 0 0 .2rem; line-height: 1.2; }
.lena-release-card__year  { font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; color: var(--text-soft); }
.lena-release-card__desc  { margin-top: .7rem; font-size: .9rem; color: var(--text-soft); line-height: 1.6; }
.lena-release-card__links { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .85rem; justify-content: center; }

.lena-release-card__info .lena-releases__play-btn  { margin-top: 1rem; width: 100%; justify-content: center; }
.lena-release-card__info .lena-releases__play-hint { margin-top: .4rem; }

/* ─── Products grid (Store page) ────────────────────────────────────────── */

.lena-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 2rem;
}

.lena-product-card {
    background: var(--white);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    transition: transform .25s, box-shadow .25s;
}

.lena-product-card:hover { transform: translateY(-3px); box-shadow: 0 6px 24px rgba(0,0,0,.1); }

.lena-product-card__image {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--cream-dark);
}

.lena-product-card__image img { width: 100%; height: 100%; object-fit: cover; }

.lena-product-card__platform {
    position: absolute;
    bottom: .5rem; left: .5rem;
    background: rgba(255,255,255,.9);
    color: var(--sage-dark);
    font-size: .6rem;
    font-weight: 400;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .2rem .5rem;
    border-radius: 2px;
}

.lena-product-card__info { padding: 1.1rem; }
.lena-product-card__title { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 500; color: var(--sage-dark); margin: 0 0 .3rem; }
.lena-product-card__desc  { font-size: .82rem; color: var(--text-soft); margin: 0 0 .75rem; line-height: 1.5; }
.lena-product-card__footer { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.lena-product-card__price  { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; color: var(--brown); }

/* Small button variant */
.lena-btn--sm { padding: .45rem 1rem; font-size: .7rem; }

/* ─── Contact page ──────────────────────────────────────────────────────── */

.lena-page--contact > .lena-section:first-child {
    padding-top: calc(var(--nav-h) + clamp(2.5rem, 8vw, 7rem));
}

.lena-contact__email--light { color: var(--text); font-size: 1.05rem; line-height: 1.7; margin-bottom: 1.5rem; }
.lena-contact__email--light a { color: var(--brown); text-decoration: underline; text-underline-offset: 3px; }
.lena-contact__form-title { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 400; color: var(--sage-dark); margin-bottom: 1.25rem; }
.lena-contact__form-wrap .lena-newsletter-placeholder { background: var(--cream-dark); color: var(--text-soft); border-color: var(--brown-pale); }

/* Fluent Forms — override default blue with site palette */
.lena-contact__form .ff-btn-submit,
.lena-contact__form .wpf_has_custom_css.ff-btn-submit {
    background-color: var(--brown) !important;
    border-color: var(--brown) !important;
    color: #fff !important;
}
.lena-contact__form .ff-btn-submit:hover,
.lena-contact__form .ff-btn-submit:focus,
.lena-contact__form .wpf_has_custom_css.ff-btn-submit:hover,
.lena-contact__form .wpf_has_custom_css.ff-btn-submit:focus {
    background-color: var(--brown-light) !important;
    border-color: var(--brown-light) !important;
    color: #fff !important;
    opacity: 1 !important;
}
.lena-contact__form input[type="checkbox"] {
    accent-color: var(--brown);
}
.lena-contact__form a {
    color: var(--brown) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.lena-contact__form a:hover {
    color: var(--brown-light) !important;
}

.lena-newsletter-form-wrap { max-width: 480px; margin-inline: auto; }

/* ─── Press page ────────────────────────────────────────────────────────── */

.lena-press-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.lena-press__bio-text {
    background: var(--cream-dark);
    border-left: 3px solid var(--brown-pale);
    padding: 1.5rem;
    border-radius: 0 4px 4px 0;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--text-soft);
}

.lena-press__quotes { display: flex; flex-direction: column; gap: 1.5rem; }

.lena-press-quote {
    border-left: 3px solid var(--brown);
    padding: 1.25rem 1.5rem;
    margin: 0;
    background: var(--cream-dark);
    border-radius: 0 4px 4px 0;
}

.lena-press-quote p      { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; font-style: italic; color: var(--sage-dark); margin: 0 0 .5rem; }
.lena-press-quote footer { font-size: .8rem; color: var(--text-soft); letter-spacing: .04em; }

/* ─── Past shows — compressed ───────────────────────────────────────────── */

.lena-shows--past .lena-show-row {
    opacity: .5;
    padding: .55rem 0;
    grid-template-columns: 72px 1fr auto;
}

.lena-shows--past .lena-show__day   { font-size: 1.3rem; }
.lena-shows--past .lena-show__month { font-size: .6rem; margin-top: 0; }
.lena-shows--past .lena-show__year  { display: none; }
.lena-shows--past .lena-show__venue { font-size: 1rem; }
.lena-shows--past .lena-show__location { font-size: .75rem; }

.lena-badge--past { color: rgba(255,255,255,.3); border-color: rgba(255,255,255,.1); font-size: .65rem; padding: .2rem .55rem; }

/* ─── Shows empty state newsletter ─────────────────────────────────────── */

.lena-shows-nl {
    text-align: center;
    padding: 2.5rem 1rem 0;
    max-width: 480px;
    margin-inline: auto;
}

.lena-shows-nl__label {
    color: var(--sage-light);
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.05rem;
    font-style: italic;
    margin-bottom: 1.25rem;
}

.lena-shows-nl__sub {
    color: var(--sage-light);
    font-size: .88rem;
    opacity: .7;
}

/* ─── About page (inner) ────────────────────────────────────────────────── */

.lena-page--about .lena-about__text .lena-page__content { max-width: 100%; }
.lena-page--about .lena-section-title { margin-bottom: 1.25rem; }

/* ─── Photos gallery ────────────────────────────────────────────────────── */

.lena-photos__content .wp-block-gallery { --wp--style--unstable-gallery-gap: 1rem; }
.lena-photos__content figure img { border-radius: 3px; }
.lena-photos__content .wp-block-image { margin-bottom: 1.5rem; }

/* ─── Videos (full page, up to 6) ──────────────────────────────────────── */

.lena-videos-grid--full {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}

/* ─── Inner page responsive ─────────────────────────────────────────────── */

@media (max-width: 900px) {
    .lena-releases-grid { grid-template-columns: repeat(2, 1fr); }
    .lena-press-top     { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .lena-releases-grid { grid-template-columns: 1fr; }
    .lena-press-top { grid-template-columns: 1fr; }
    .lena-page-hero--medium { min-height: 260px; }
    .lena-page-hero--large  { min-height: 360px; }
}

/* Contact email label — intentional two-line layout */
.lena-contact__email-label {
    display: block;
    margin-bottom: .15rem;
}

/* Caption below social icons in Get in Touch block */
.lena-contact__caption {
    margin-top: 1.5rem;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(255,255,255,.18);
}

.lena-contact__caption-main {
    font-size: 1.1rem;
    line-height: 1.7;
    color: rgba(246,243,236,.88);
    margin-bottom: .65rem;
}

.lena-contact__caption-italic {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 1.2rem;
    line-height: 1.6;
    color: var(--brown-pale);
}

.lena-section--cream .lena-contact__caption {
    border-top-color: rgba(0,0,0,.1);
}

.lena-section--cream .lena-contact__caption-main { color: var(--text); }
.lena-section--cream .lena-contact__caption-italic { color: var(--brown); }

/* ─── Footer responsive ──────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .lena-footer__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .lena-footer__bird { justify-self: center; }
    .lena-footer__nav ul,
    .lena-footer__legal {
        justify-content: center;
    }
    .lena-footer__social { justify-content: center; flex-wrap: wrap; }
    .lena-footer__thanks {
        border-left: none;
        border-right: none;
        border-top: 1px solid rgba(255,255,255,.14);
        border-bottom: 1px solid rgba(255,255,255,.14);
        padding-block: 1rem;
        padding-inline: 0;
    }
    .lena-footer p {
        text-align: left;
    }
}

@media (max-width: 480px) {
    .lena-footer__bar { padding: 2rem 1.25rem 1.5rem; }
    .lena-footer__social { gap: .85rem; }
    .lena-footer__social .lena-social-icon svg { width: 24px; height: 24px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SHOWS — extended fields
═══════════════════════════════════════════════════════════════════════════ */

/* Flyer thumbnail */
.lena-show-row--has-flyer { grid-template-columns: 64px 90px 1fr auto; }
.lena-show__flyer-wrap    { display: flex; align-items: center; }
.lena-show__flyer         { width: 56px; aspect-ratio: 2/3; object-fit: cover; border-radius: 2px; opacity: .82; }

/* Date column extras */
.lena-show__time  { display: block; font-size: .75rem; letter-spacing: .1em; color: var(--brown-pale); margin-top: .4rem; }
.lena-show__time--range { display: block; line-height: 1.15; }
.lena-show__time-row { position: relative; display: block; width: 9.5ch; margin-inline: auto; text-align: left; white-space: nowrap; }
.lena-show__time-value { display: block; }
.lena-show__time-dash { position: absolute; left: calc(95% + .1em); top: 0; }
.lena-show__doors { display: block; font-size: .68rem; letter-spacing: .08em; color: var(--sage-light); opacity: .65; margin-top: .1rem; }

/* Details column extras */
.lena-show__festival { display: block; font-size: .75rem; font-weight: 400; letter-spacing: .16em; text-transform: uppercase; color: var(--brown-pale); opacity: .85; margin-bottom: .15rem; }
.lena-show__address  { display: block; font-size: .82rem; color: var(--sage-light); opacity: .7; margin-top: .15rem; letter-spacing: .02em; }
.lena-show__support  { display: block; font-size: .8rem; color: var(--sage-light); font-style: italic; opacity: .8; margin-top: .3rem; }
.lena-show__notes    { display: block; font-size: .78rem; color: var(--sage-light); opacity: .6; margin-top: .35rem; line-height: 1.55; max-width: 360px; }

/* Actions column */
.lena-show__actions { display: flex; flex-direction: column; align-items: flex-end; gap: .45rem; }
.lena-show__badges  { display: flex; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }

/* Tickets + Directions: same width */
.lena-show__actions .lena-btn--tickets,
.lena-show__actions .lena-btn--directions { width: 100%; justify-content: center; }

/* Directions button */
.lena-btn--directions { background: transparent; color: rgba(246,243,236,.75) !important; border-color: rgba(246,243,236,.3); padding: .38rem .95rem; font-size: .72rem; }
.lena-btn--directions svg, .lena-btn--directions img { width: 11px; height: 11px; flex-shrink: 0; object-fit: contain; }
.lena-btn--directions:hover,
.lena-btn--directions:focus,
.lena-btn--directions:active { background: rgba(246,243,236,.12); color: var(--cream) !important; border-color: rgba(246,243,236,.6); }

/* Directions: full image used as the clickable button */
.lena-directions-img-btn { display: inline-block; cursor: pointer; transition: opacity .2s, transform .2s; }
.lena-directions-img-btn img { display: block; max-width: 100%; height: auto; }
.lena-directions-img-btn:hover { opacity: .82; transform: scale(1.03); }

/* Add to Calendar button */
.lena-btn--calendar { background: transparent; color: rgba(246,243,236,.75); border-color: rgba(246,243,236,.3); padding: .38rem .95rem; font-size: .72rem; }
.lena-btn--calendar:hover,
.lena-btn--calendar:focus,
.lena-btn--calendar:active { background: rgba(246,243,236,.12); border-color: rgba(246,243,236,.6); }

/* Badges */
.lena-badge--price     { border-color: rgba(176,128,80,.45); color: var(--brown-pale); }
.lena-badge--age       { border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.5); font-size: .68rem; }
.lena-badge--cancelled { border-color: rgba(200,60,60,.35); color: rgba(220,100,100,.75); text-decoration: line-through; }

/* ═══════════════════════════════════════════════════════════════════════════
   PAPER TEXTURE OVERLAY
═══════════════════════════════════════════════════════════════════════════ */

body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image: var(--paper-texture);
    background-repeat: no-repeat;
    background-size: cover;
    opacity: var(--paper-texture-opacity, .04);
    mix-blend-mode: var(--paper-texture-blend, multiply);
    pointer-events: none;
    z-index: 9999;
}

/* ═══════════════════════════════════════════════════════════════════════════
   JOURNAL / FIELD NOTES PAGE
═══════════════════════════════════════════════════════════════════════════ */

.lena-journal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2.5rem;
    margin-top: 1rem;
}

.lena-journal-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    transition: transform .25s var(--ease-out);
}

.lena-journal-card:hover { transform: translateY(-4px); }

.lena-journal-card__thumb {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: 2px;
    background: var(--cream-dark);
    margin-bottom: 1.25rem;
    flex-shrink: 0;
}

.lena-journal-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s var(--ease-out);
}

.lena-journal-card:hover .lena-journal-card__thumb img { transform: scale(1.04); }

.lena-journal-card__thumb--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brown-pale);
}

.lena-journal-card__thumb--placeholder svg { width: 40px; height: 40px; opacity: .4; }

.lena-journal-card__meta {
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--brown);
    margin-bottom: .45rem;
}

.lena-journal-card__meta span + span::before { content: ' · '; }

.lena-journal-card__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 400;
    color: var(--text);
    line-height: 1.3;
    margin: 0 0 .6rem;
}

.lena-journal-card__excerpt {
    font-size: .9rem;
    color: var(--text-soft);
    line-height: 1.65;
    margin: 0;
    flex: 1;
}

.lena-journal-card__read {
    display: inline-block;
    margin-top: .85rem;
    font-size: .7rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--brown);
    text-decoration: none;
    transition: color .2s;
}

.lena-journal-card:hover .lena-journal-card__read { color: var(--brown-light); }

/* Featured (first) post — full width */
.lena-journal-card--featured {
    grid-column: 1 / -1;
    flex-direction: row;
    gap: 3rem;
    align-items: center;
}

.lena-journal-card--featured .lena-journal-card__thumb {
    flex: 0 0 52%;
    margin-bottom: 0;
    aspect-ratio: 16 / 9;
}

.lena-journal-card--featured .lena-journal-card__title {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
}

.lena-journal-pagination {
    display: flex;
    justify-content: center;
    gap: .5rem;
    margin-top: 4rem;
    flex-wrap: wrap;
}

.lena-journal-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.2rem;
    height: 2.2rem;
    padding: 0 .6rem;
    font-size: .78rem;
    letter-spacing: .06em;
    border: 1px solid var(--brown-pale);
    border-radius: var(--radius);
    color: var(--text-soft);
    text-decoration: none;
    transition: background .2s, border-color .2s, color .2s;
}

.lena-journal-pagination .page-numbers:hover,
.lena-journal-pagination .page-numbers.current {
    background: var(--warm-mid);
    border-color: var(--warm-mid);
    color: var(--white);
}

@media (max-width: 760px) {
    .lena-journal-card--featured { flex-direction: column; }
    .lena-journal-card--featured .lena-journal-card__thumb { flex: none; width: 100%; }
    .lena-journal-grid { grid-template-columns: 1fr; }
}

/* ── Homepage news preview grid ─────────────────────────────────────────── */
.lena-news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 1rem;
}

@media (max-width: 900px) {
    .lena-news-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
    .lena-news-grid { grid-template-columns: 1fr; }
}

/* ── Decorative floating elements ───────────────────────────────────────── */
body { position: relative; }
.lena-deco-layer {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    overflow: hidden;
}
/* Section-anchored layer: overflow visible so icons can peek out at the edges */
.lena-deco-layer--section {
    overflow: visible;
}
.lena-deco-item {
    position: absolute;
    display: block;
    height: auto;
    max-width: none;
    transform-origin: center;
}
@media (max-width: 768px) {
    .lena-deco-layer { display: none; }
    .lena-deco-layer--mobile { display: block; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   404
═══════════════════════════════════════════════════════════════════════════ */

.lena-404 {
    background: var(--cream);
    padding-top: calc(var(--nav-h) + 5rem);
    padding-bottom: 5rem;
    text-align: center;
}

.lena-404__inner {
    max-width: 640px;
    margin: 0 auto;
    padding: 0 clamp(1.5rem, 6vw, 3rem);
}

.lena-404__icon {
    margin-bottom: 1rem;
}

.lena-404__icon img {
    width: auto;
    height: 72px; /* overridden by inline style from customizer */
    opacity: .75;
}

.lena-404__divider-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 2rem;
    color: var(--warm-mid);
}

.lena-404__divider-icon::before,
.lena-404__divider-icon::after {
    content: '';
    flex: 1;
    max-width: 75px;
    height: 1px;
    background: currentColor;
    opacity: 0.4;
}

.lena-404__divider-icon img {
    width: 42px; /* overridden by inline style from customizer */
    height: auto;
    opacity: .75;
}

.lena-404__number {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(7rem, 20vw, 12rem);
    font-weight: 300;
    line-height: 1;
    color: var(--brown-pale);
    letter-spacing: .04em;
    margin-bottom: 1.5rem;
    user-select: none;
}

.lena-404 .lena-divider {
    margin-bottom: 2rem;
}

.lena-404__heading {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 400;
    color: var(--text);
    margin: 0 0 1rem;
}

.lena-404__text {
    font-size: 1rem;
    font-weight: 300;
    color: var(--text-soft);
    font-style: italic;
    line-height: 1.7;
    margin: 0 0 2.5rem;
}

.lena-404__actions {
    display: flex;
    gap: .75rem;
    justify-content: center;
    flex-wrap: wrap;
}

.lena-404__explore-wrap {
    text-align: center;
}

.lena-404__explore-label {
    font-size: .78rem;
    font-weight: 400;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--text-soft);
    margin-bottom: 1.25rem;
}

.lena-404__explore-nav {
    display: flex;
    gap: .5rem 1.5rem;
    justify-content: center;
    flex-wrap: wrap;
}

.lena-404__explore-nav a {
    font-size: .82rem;
    font-weight: 400;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--brown);
    text-decoration: none;
    border-bottom: 1px solid var(--brown-pale);
    padding-bottom: 1px;
    transition: color .2s, border-color .2s;
}

.lena-404__explore-nav a:hover {
    color: var(--sage-dark);
    border-color: var(--sage-dark);
}

/* ═══════════════════════════════════════════════════════════════════════════
   BOOKING PAGE
═══════════════════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────────────────────── */

.lena-booking-hero {
    position: relative;
    min-height: clamp(420px, 60vh, 680px);
    background: linear-gradient(160deg, var(--sage-dark) 0%, var(--sage) 45%, var(--brown) 100%);
    background-size: cover;
    background-position: center 35%;
    background-repeat: no-repeat;
    display: flex;
    align-items: flex-end;
    padding-top: var(--nav-h);
    overflow: hidden;
}

.lena-booking-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.18) 0%,
        rgba(0,0,0,.08) 50%,
        rgba(30,35,25,.62) 100%
    );
}

.lena-booking-hero--no-image {
    min-height: clamp(340px, 48vh, 520px);
}

.lena-booking-hero--no-image::after { display: none; }

.lena-booking-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1120px;
    margin-inline: auto;
    padding: clamp(3rem, 8vw, 5rem) clamp(1.5rem, 6vw, 3rem) clamp(3.5rem, 9vw, 5.5rem);
}

.lena-booking-hero__title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(3rem, 7vw, 5.5rem);
    font-weight: 400;
    color: var(--white);
    line-height: 1.1;
    letter-spacing: .01em;
    margin-bottom: 1.1rem;
}

.lena-booking-hero--no-image .lena-booking-hero__title { color: var(--cream); }
.lena-booking-hero--no-image .lena-eyebrow--light      { color: var(--brown-pale); }

.lena-booking-hero__sub {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1rem, 2.2vw, 1.3rem);
    font-weight: 300;
    font-style: italic;
    color: rgba(255,255,255,.82);
    line-height: 1.65;
    max-width: 560px;
    margin-bottom: 2.25rem;
}

.lena-booking-hero--no-image .lena-booking-hero__sub { color: var(--text-soft); }

.lena-booking-hero__buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

/* Hero buttons — solid warm + ghost */
.lena-btn--booking-primary {
    background: var(--brown);
    color: var(--white);
    border: 1.5px solid var(--brown);
    font-size: .72rem;
    letter-spacing: .18em;
    padding: .8rem 2rem;
    transition: background .22s, border-color .22s, color .22s;
}

.lena-btn--booking-primary:hover,
.lena-btn--booking-primary:focus,
.lena-btn--booking-primary:active {
    background: var(--cream);
    border-color: var(--cream);
    color: var(--brown);
}

.lena-btn--booking-ghost {
    background: transparent;
    color: rgba(255,255,255,.9);
    border: 1.5px solid rgba(255,255,255,.38);
    font-size: .72rem;
    letter-spacing: .18em;
    padding: .8rem 2rem;
    transition: background .22s, border-color .22s, color .22s;
}

.lena-btn--booking-ghost:hover,
.lena-btn--booking-ghost:focus,
.lena-btn--booking-ghost:active {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.65);
    color: var(--white);
}

/* ── Intro text ───────────────────────────────────────────────────────────── */

.lena-booking-intro-section { padding-block: clamp(3rem, 6vw, 4.5rem); }
.lena-booking-intro-section .lena-section-marker-wrap { display:flex; justify-content:center; }
.lena-about-connect-section .lena-section-marker-wrap { display:flex; justify-content:center; }

.lena-booking-intro {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.1rem, 2.2vw, 1.35rem);
    font-weight: 400;
    font-style: italic;
    color: var(--text);
    line-height: 1.8;
    letter-spacing: .01em;
    max-width: 640px;
    margin-inline: auto;
    margin-top: 1.75rem;
}

/* ── Performance type cards ───────────────────────────────────────────────── */

.lena-booking-types-section { background: var(--cream); }

.lena-booking-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 1rem;
}

.lena-booking-card {
    background: var(--white);
    border: 1px solid var(--brown-pale);
    border-radius: var(--radius);
    padding: 2.25rem 1.75rem 2rem;
    text-align: center;
    transition: box-shadow .25s, transform .25s, border-color .25s;
}

.lena-booking-card:hover {
    box-shadow: 0 6px 28px rgba(138,99,56,.1);
    transform: translateY(-3px);
    border-color: var(--brown-light);
}

.lena-booking-card__icon {
    width: 44px;
    height: 44px;
    margin-inline: auto;
    margin-bottom: 1.25rem;
    color: var(--brown);
}

.lena-booking-card__icon svg {
    width: 100%;
    height: 100%;
}

.lena-booking-card__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 500;
    color: var(--sage-dark);
    line-height: 1.25;
    margin-bottom: .75rem;
    letter-spacing: .01em;
}

.lena-booking-card__text {
    font-size: .9rem;
    font-weight: 300;
    color: var(--text-soft);
    line-height: 1.7;
}

/* ── Inquiry form section ─────────────────────────────────────────────────── */

.lena-booking-form-section { padding-block: clamp(4rem, 8vw, 6rem); }

.lena-booking-form__desc {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.1rem;
    font-style: italic;
    color: rgba(246,243,236,.72);
    margin-top: -.75rem;
    margin-bottom: 2.5rem;
    line-height: 1.7;
}

.lena-booking-form__wrap {
    max-width: 680px;
    margin-inline: auto;
}

.lena-booking-form__fallback {
    margin-top: 1rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BOOKING TEASER (Homepage interstitial band)
═══════════════════════════════════════════════════════════════════════════ */

.lena-booking-teaser {
    background: var(--cream);
    padding-block: clamp(3rem, 6vw, 4.5rem);
    text-align: center;
}

.lena-booking-teaser__inner {
    max-width: 640px;
    margin-inline: auto;
    padding-inline: clamp(1.25rem, 5vw, 2.5rem);
}

.lena-booking-teaser__divider {
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 2rem;
    color: var(--brown-pale);
}

.lena-booking-teaser__divider-line {
    flex: 1;
    max-width: 80px;
    height: 1px;
    background: var(--brown-pale);
    opacity: .5;
}

.lena-booking-teaser__divider-icon {
    width: 22px;
    height: 22px;
    opacity: .65;
    flex-shrink: 0;
    object-fit: contain;
}

.lena-booking-teaser__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    font-weight: 400;
    color: var(--sage-dark);
    line-height: 1.15;
    margin-bottom: .9rem;
}

.lena-booking-teaser__text {
    font-size: .95rem;
    font-weight: 300;
    color: var(--text-soft);
    line-height: 1.75;
    margin-bottom: 1.75rem;
}

.lena-booking-teaser__buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */

@media (max-width: 900px) {
    .lena-booking-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .lena-booking-cards {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .lena-booking-hero__buttons {
        flex-direction: column;
    }

    .lena-btn--booking-primary,
    .lena-btn--booking-ghost {
        text-align: center;
        justify-content: center;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   BOOKING — Inquiry CTA + Modal
═══════════════════════════════════════════════════════════════════════════ */

.lena-booking-cta-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .25rem;
}

.lena-booking-form__or {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    max-width: 320px;
    margin-block: 1.25rem;
    color: rgba(255,255,255,.35);
    font-size: .8rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.lena-booking-form__or::before,
.lena-booking-form__or::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(255,255,255,.18);
}

.lena-booking-form__fallback { text-align: center; margin-top: 1rem; }

.lena-booking-form__email-label {
    font-size: .8rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
    margin-bottom: .35rem;
}

.lena-booking-form__email {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.15rem;
    color: var(--brown-pale);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(212,184,152,.35);
    border-bottom: none;
    transition: color .2s, text-decoration-color .2s;
}
.lena-booking-form__email:hover {
    color: var(--white);
    text-decoration-color: rgba(255,255,255,.5);
}

/* ── Modal overlay ────────────────────────────────────────────────────────── */

.lena-booking-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.lena-booking-modal[hidden] { display: none; }

.lena-booking-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(30, 25, 20, .72);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.lena-booking-modal__box {
    position: relative;
    z-index: 1;
    background: var(--cream);
    max-width: 620px;
    width: 100%;
    max-height: 90dvh;
    overflow-y: auto;
    padding: 3rem 2.5rem 2.5rem;
    border-radius: var(--radius);
    box-shadow: 0 24px 60px rgba(20,16,10,.35);
    text-align: left;
}

.lena-booking-modal__close {
    position: absolute;
    top: 1rem;
    right: 1.1rem;
    background: none !important;
    border: none;
    color: var(--text-soft);
    cursor: pointer;
    padding: .25rem;
    line-height: 1;
    transition: color .2s;
    -webkit-appearance: none;
    appearance: none;
}
.lena-booking-modal__close:hover { color: var(--brown); }
.lena-booking-modal__close:focus,
.lena-booking-modal__close:active {
    outline: none !important;
    box-shadow: none !important;
    background: none !important;
}

/* Fluent Forms / Select2 / Choices.js dropdowns inside modals */
.select2-dropdown,
.choices__list--dropdown,
.ff-el-select-style__list { z-index: 10001 !important; }

.lena-booking-modal__title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 400;
    color: var(--sage-dark);
    text-align: center;
    margin-bottom: .75rem;
}

.lena-booking-modal__desc {
    font-size: .9rem;
    color: var(--text-soft);
    text-align: center;
    line-height: 1.65;
    margin-bottom: 1.5rem;
}

.lena-contact__booking-cta { margin-top: 1.75rem; }

.lena-contact__booking-btn {
    background: transparent;
    border: 1.5px solid rgba(255,255,255,.35);
    color: rgba(255,255,255,.88);
    padding: .65rem 1.5rem;
    font-size: .88rem;
    letter-spacing: .04em;
    cursor: pointer;
    transition: border-color .2s, color .2s, background .2s;
}
.lena-contact__booking-btn:hover {
    border-color: rgba(255,255,255,.7);
    color: #fff;
    background: rgba(255,255,255,.06);
}

/* Extra breathing room between form fields inside the modal */
.lena-booking-modal .ff-el-group { margin-bottom: 1.25rem; }
.lena-booking-modal .ff-el-group:last-of-type { margin-bottom: 0; }

.lena-booking-modal textarea.ff-el-form-control {
    line-height: 1.6;
}

/* Override Fluent Forms blue → warm brown for focus & submit button */
.lena-booking-modal .ff-el-form-control:focus {
    border-color: var(--brown) !important;
    box-shadow: 0 0 0 2px rgba(138,99,56,.12) !important;
    outline: none;
}
.lena-booking-modal .ff-btn-primary:not(.ff_btn_no_style) {
    background-color: var(--brown) !important;
    border-color: var(--brown) !important;
    color: var(--white) !important;
    font-family: 'Jost', -apple-system, sans-serif !important;
    letter-spacing: .1em;
    transition: background .22s, border-color .22s, color .22s;
}
.lena-booking-modal .ff-btn-primary:not(.ff_btn_no_style):hover,
.lena-booking-modal .ff-btn-primary:not(.ff_btn_no_style):focus {
    background-color: var(--cream) !important;
    border-color: var(--cream) !important;
    color: var(--brown) !important;
}

/* ── Choices.js dropdown — match Fluent Forms input sizing + site palette ─── */

.lena-booking-modal .choices { position: relative; margin-bottom: 0; }

.lena-booking-modal .choices__inner {
    background: var(--white);
    border: 1px solid #dadbdd;
    border-radius: 7px;
    padding: 0;
    min-height: unset;
    font-family: -apple-system, "system-ui", Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #606266;
    cursor: pointer;
    overflow: visible;
    transition: border-color .2s, box-shadow .2s;
}
.lena-booking-modal .choices.is-open .choices__inner {
    border-color: var(--brown);
    border-radius: 7px 7px 0 0;
    box-shadow: 0 0 0 2px rgba(138,99,56,.12);
}

/* Match exact FF input padding (11px 15px), leave room for arrow on right */
.lena-booking-modal .choices__list--single {
    padding: 11px 36px 11px 15px;
}
.lena-booking-modal .choices__list--single .choices__item {
    font-family: -apple-system, "system-ui", Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    color: #606266;
}

/* Arrow */
.lena-booking-modal .choices[data-type*=select-one]::after {
    border-color: var(--brown) transparent transparent;
    border-width: 5px 4px 0;
    right: 15px;
    top: 50%;
    margin-top: -3px;
}
.lena-booking-modal .choices[data-type*=select-one].is-open::after {
    border-color: transparent transparent var(--brown);
    border-width: 0 4px 5px;
    margin-top: -2px;
}

/* Placeholder — match FF input placeholder color */
.lena-booking-modal .choices__list--single .choices__item.choices__placeholder {
    color: var(--global-palette6);
    opacity: 1;
}

/* Dropdown panel */
.lena-booking-modal .choices__list--dropdown,
.lena-booking-modal .choices__list[aria-expanded] {
    background: var(--white);
    border: 1px solid var(--brown);
    border-top: none;
    border-radius: 0 0 7px 7px;
    box-shadow: 0 8px 24px rgba(20,16,10,.13);
    z-index: 10001 !important;
}

/* Dropdown items */
.lena-booking-modal .choices__list--dropdown .choices__item,
.lena-booking-modal .choices__list[aria-expanded] .choices__item {
    font-family: -apple-system, "system-ui", Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #606266;
    padding: 10px 15px;
    line-height: 1;
}

/* Hover / keyboard-focus item */
.lena-booking-modal .choices__list--dropdown .choices__item--highlighted,
.lena-booking-modal .choices__list[aria-expanded] .choices__item--highlighted {
    background: var(--cream);
    color: var(--brown);
}

/* Already-selected item inside open list */
.lena-booking-modal .choices__list--dropdown .choices__item.is-selected {
    background: var(--brown-pale);
    color: var(--warm-mid);
}

@media (max-width: 600px) {
    .lena-booking-modal__box {
        padding: 2.5rem 1.5rem 2rem;
        max-height: 95dvh;
    }
}

/* ══ RELEASE GROUP HEADINGS (grouped by type) ════════════════════════════ */

.lena-releases-group {
    margin-bottom: 3.5rem;
}
.lena-releases-group:last-child {
    margin-bottom: 0;
}
.lena-releases-group__heading {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 400;
    font-style: italic;
    color: var(--text-soft);
    letter-spacing: .1em;
    text-transform: uppercase;
    padding-bottom: .75rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--brown-pale);
}

/* ══ SUPPORT / TIP BADGE ═════════════════════════════════════════════════ */

/* Shared inner layout */
.lena-support-badge__inner {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 .85rem;
    gap: .5rem;
    white-space: nowrap;
    box-shadow: none!important;
}

/* Heart icon — always visible in floating */
.lena-support-badge__heart {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    line-height: 1;
}

/* Platform links */
.lena-support-badge__link {
    display: inline-flex;
    align-items: center;
    gap: .22rem;
    text-decoration: none;
    color: inherit;
    font-family: 'Jost', sans-serif;
    font-size: .78rem;
    font-weight: 400;
    letter-spacing: .05em;
    transition: opacity .15s;
}
.lena-support-badge__link:visited,
.lena-support-badge__link:active,
.lena-support-badge__link:focus { color: inherit; outline: none; }
.lena-support-badge__link:hover { opacity: .68; color: inherit; }

.lena-support-badge__sep {
    opacity: .28;
    font-size: .65em;
    line-height: 1;
    margin-inline: .05rem;
}

.lena-support-badge__label { display: none; } /* replaced by heart icon in floating */

/* ── Floating variant: circle → pill on hover ────────────────────────── */
.lena-support-badge--floating {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 950;
    height: 46px;
    max-width: 46px;
    overflow: hidden;
    border-radius: 23px;
    background: #6b4830;
    color: rgba(245,237,220,.92);
    box-shadow: none;
    transition: max-width .3s cubic-bezier(.4,0,.2,1);
    cursor: default;
}
.lena-support-badge--floating:hover,
.lena-support-badge--floating:focus-within {
    max-width: 240px;
}

/* Links hidden until expanded */
.lena-support-badge--floating .lena-support-badge__link,
.lena-support-badge--floating .lena-support-badge__sep {
    opacity: 0;
    pointer-events: none;
    transition: opacity .1s;
}
.lena-support-badge--floating:hover .lena-support-badge__link,
.lena-support-badge--floating:hover .lena-support-badge__sep,
.lena-support-badge--floating:focus-within .lena-support-badge__link,
.lena-support-badge--floating:focus-within .lena-support-badge__sep {
    opacity: 1;
    pointer-events: auto;
}

/* ── Footer variant ──────────────────────────────────────────────────── */
.lena-support-badge--footer {
    color: var(--cream);
    font-size: .8rem;
    letter-spacing: .04em;
    opacity: .7;
    padding: .3rem 0;
}
.lena-support-badge--footer .lena-support-badge__inner {
    padding: 0;
    height: auto;
}
.lena-support-badge--footer .lena-support-badge__label {
    display: inline;
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: .85em;
    opacity: .7;
}
.lena-support-badge--footer .lena-support-badge__heart { display: none; }

@media (max-width: 480px) {
    .lena-support-badge--floating {
        bottom: 1rem;
        right: 1rem;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE — GLOBAL IMPROVEMENTS
═══════════════════════════════════════════════════════════════════════════ */

/* ── Booking hero: reduce min-height on small screens ──────────────────── */
@media (max-width: 640px) {
    .lena-booking-hero           { min-height: clamp(280px, 55vh, 400px); }
    .lena-booking-hero--no-image { min-height: clamp(220px, 45vh, 320px); }
}

/* ── Inner page hero: tighter padding + smaller heights on phones ───────── */
@media (max-width: 640px) {
    .lena-page-hero__inner  { padding: 1.75rem clamp(1.25rem, 5vw, 2rem); }
    .lena-page-hero--small  { min-height: 140px; }
    .lena-page-hero--medium { min-height: 200px; }
    .lena-page-hero--large  { min-height: 280px; }
}

/* ── Show rows: simplify layout on very narrow screens ──────────────────── */
@media (max-width: 460px) {
    .lena-show-row {
        grid-template-columns: 52px 1fr;
        gap: .75rem;
    }
    .lena-show__actions {
        grid-column: 1 / -1;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: .5rem;
    }
    .lena-show__actions .lena-btn--tickets,
    .lena-show__actions .lena-btn--directions { width: auto; }
}

/* ── Home hero: stack CTA buttons on very small phones ──────────────────── */
@media (max-width: 400px) {
    .lena-hero__buttons  { flex-direction: column; align-items: stretch; gap: .65rem; }
    .lena-btn--hero      { justify-content: center; }
}

/* ── Booking page buttons: full-width on very small phones ──────────────── */
@media (max-width: 400px) {
    .lena-booking-hero__buttons   { gap: .65rem; }
    .lena-btn--booking-primary,
    .lena-btn--booking-ghost      { text-align: center; justify-content: center; width: 100%; }
}

/* ── Contact grid: single column earlier on tablet ──────────────────────── */
@media (max-width: 768px) {
    .lena-contact-grid { grid-template-columns: 1fr; }
}

/* ── Journal grid: tighter gap on phones ───────────────────────────────── */
@media (max-width: 480px) {
    .lena-journal-grid { gap: 1.75rem; }
}

/* ── Press top: ensure single column on mobile ──────────────────────────── */
@media (max-width: 768px) {
    .lena-press-top { grid-template-columns: 1fr; }
}

/* ── Videos grid: single column on phones ──────────────────────────────── */
@media (max-width: 540px) {
    .lena-videos-grid,
    .lena-videos-grid--full { grid-template-columns: 1fr; }
}

/* ── Products grid: two columns on phones, one on very small ───────────── */
@media (max-width: 480px) {
    .lena-products-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
}
@media (max-width: 360px) {
    .lena-products-grid { grid-template-columns: 1fr; }
}

/* ═══ v1.5.0 — Skip link, single post, archive/search ═════════════════════ */

/* Skip link — visually hidden until focused (accessibility).
   Clipped to 1x1px at top:0 rather than pushed above the viewport with a negative
   top offset — Safari's rubber-band/elastic overscroll at the top of the page can
   reveal absolutely-positioned elements sitting above y:0, which showed this as a
   stray green box that was clickable even without being focused. */
.lena-skip-link {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    white-space: nowrap;
    padding: .75rem 1.25rem;
    background: var(--sage-dark);
    color: var(--cream);
    font-family: 'Jost', sans-serif;
    font-size: .85rem;
    letter-spacing: .05em;
    text-decoration: none;
    border-radius: 2px;
}
.lena-skip-link:focus {
    top: 1rem;
    left: 1rem;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: normal;
    outline: 2px solid var(--brown-light);
    outline-offset: 2px;
}

/* Single journal post */
.lena-single__featured { margin-top: 2rem; }
.lena-single__featured-img {
    width: 100%;
    height: auto;
    border-radius: 2px;
    display: block;
}
.lena-single__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: 2rem;
}
.lena-single__tags .lena-badge { text-decoration: none; }
.lena-single__nav {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1rem;
    align-items: center;
    padding-block: 2rem;
    border-top: 1px solid var(--brown-pale, #DFC4A0);
    font-family: 'Jost', sans-serif;
    font-size: .9rem;
}
.lena-single__nav a {
    color: var(--brown);
    text-decoration: none;
}
.lena-single__nav a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lena-single__nav-next { text-align: right; }
.lena-single__nav-all  { text-align: center; }
.lena-single__nav-all a {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 1.05rem;
    color: var(--sage-dark);
}
@media (max-width: 600px) {
    .lena-single__nav { grid-template-columns: 1fr; text-align: left; }
    .lena-single__nav-next, .lena-single__nav-all { text-align: left; }
}

/* Search form (search.php) */
.lena-search-form-wrap {
    max-width: 480px;
    margin: 0 auto 3rem;
}
.lena-search-form-wrap form {
    display: flex;
    gap: .5rem;
}
.lena-search-form-wrap input[type="search"],
.lena-search-form-wrap input[type="text"] {
    flex: 1;
    padding: .7rem 1rem;
    border: 1px solid var(--brown-pale, #DFC4A0);
    border-radius: 2px;
    background: #fff;
    font-family: 'Jost', sans-serif;
    font-size: .95rem;
    color: var(--text);
}
.lena-search-form-wrap input[type="submit"],
.lena-search-form-wrap button {
    padding: .7rem 1.4rem;
    background: var(--sage-dark);
    color: var(--cream);
    border: none;
    border-radius: 2px;
    font-family: 'Jost', sans-serif;
    font-size: .85rem;
    letter-spacing: .05em;
    cursor: pointer;
}
.lena-search-form-wrap input[type="submit"]:hover,
.lena-search-form-wrap button:hover { background: var(--sage); }

/* the_posts_pagination() wrapper (archive/search) reuses journal pagination look */
.lena-page--journal .navigation.pagination { margin-top: 2.5rem; text-align: center; }
.lena-page--journal .navigation.pagination .nav-links {
    display: inline-flex;
    gap: .35rem;
    align-items: center;
}
.lena-page--journal .navigation.pagination .page-numbers {
    display: inline-block;
    min-width: 2.2rem;
    padding: .45rem .6rem;
    font-family: 'Jost', sans-serif;
    font-size: .9rem;
    color: var(--text);
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 2px;
}
.lena-page--journal .navigation.pagination .page-numbers:hover,
.lena-page--journal .navigation.pagination .page-numbers.current {
    border-color: var(--brown-pale, #DFC4A0);
    color: var(--brown);
}
.lena-page--journal .screen-reader-text {
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
