/*
Theme Name: Eliane Elias - Dreams of Jobim
Author: Fade Agency
Description: Theme inspired by the "Dreams of Jobim" album artwork: warm cream, antique gold and emerald, with elegant Didone lettering.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: eliane-elias-jobim
*/

/* Button shape: 999px = pill, 4px = rounded corners. Change here to switch site-wide. */
:root { --jobim-btn-radius: 999px; --jobim-img-radius: 10px; --jobim-container: 1200px; }

/* Header lockup: gold rule + flourishes, echoing the album cover */
.jobim-header { padding-top: 48px; padding-bottom: 24px; }
.jobim-title, .jobim-title a { color: var(--wp--preset--color--emerald); text-decoration: none; font-size: clamp(2.2rem, 6vw, 4.5rem); line-height: 1; letter-spacing: 0.04em; margin: 0; }
.jobim-rule { display: flex; align-items: center; gap: 16px; max-width: var(--jobim-container); margin: 14px auto 18px; color: var(--wp--preset--color--gold); }
.jobim-line { flex: 1; height: 2px; background: var(--wp--preset--color--gold); opacity: .6; }
.jobim-flourish { font-size: 1.8rem; line-height: 1; }
.jobim-flourish-r { transform: scaleX(-1); }

/* Links & buttons */
a { text-underline-offset: 3px; }
a:hover { color: var(--wp--preset--color--emerald); }
.wp-block-button__link:hover { background: var(--wp--preset--color--gold) !important; color: #fff !important; }
.wp-block-separator { border-color: var(--wp--preset--color--gold); opacity: .5; }

/* ===== Ported site CSS (from previous theme's Global Styles) ===== */
/* =============================================================================
   GALLERY
============================================================================= */

.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
    flex-grow: 0 !important;
    max-width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px) * .75) !important;
}

@media (max-width: 900px) {
    .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
        max-width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) * .5) !important;
    }
}

@media (max-width: 500px) {
    .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
        max-width: 100% !important;
    }
}


/* =============================================================================
   VIDEO EMBEDS
============================================================================= */

.wp-block-embed__wrapper {
    position: relative !important;
    padding-bottom: 56.25% !important;
    height: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(15, 42, 31, 0.25);
    border-radius: var(--jobim-img-radius);
    z-index: 3;
    transform: translateZ(0);
    will-change: transform;
}

.wp-block-embed__wrapper iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}


/* =============================================================================
   BUTTONS
============================================================================= */

.wp-element-button,
.wp-block-button__link {
    border-radius: var(--jobim-btn-radius) !important;
    display: inline-block !important;
    position: relative !important;
    overflow: hidden !important;
    transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease !important;
}

/* Shimmer sweep */
.wp-element-button::after,
.wp-block-button__link::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%);
    transition: left 0.5s ease;
}

.wp-element-button:hover::after,
.wp-block-button__link:hover::after {
    left: 150%;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
    background-color: var(--wp--preset--color--gold) !important;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(199, 138, 43, 0.4) !important;
    cursor: pointer;
}


/* =============================================================================
   DISCOGRAPHY ARCHIVE GRID
============================================================================= */

.music-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-bottom: 48px;
}

.music-grid img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--jobim-img-radius);
    transition: transform 0.3s ease, opacity 0.3s ease;
    margin-bottom: 20px;
}

.music-grid a:hover img {
    transform: scale(1.05);
    opacity: 0.85;
}

.music-grid .music-title {
    text-transform: uppercase;
}

.music-grid .music-date {
    color: var(--wp--preset--color--ink);
}

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

@media (max-width: 500px) {
    .music-grid {
        grid-template-columns: 1fr;
    }
}


/* =============================================================================
   DISCOGRAPHY SINGLE PAGE
============================================================================= */

.single-discography .wp-block-post-title,
.post-type-archive-discography .wp-block-post-title {
    margin-block-start: 0 !important;
    padding-top: 0 !important;
}

.music-single-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.music-left img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--jobim-img-radius);
}

.music-right h2 {
    margin-top: 0;
}

.music-label {
    opacity: 0.7;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.back-button {
    text-align: center;
    margin-top: 50px;
    display: block;
}

/* Keep discography content behind nav overlay */
#music,
.wrapper,
.music-single-grid,
.music-left,
.music-right {
    position: relative;
    z-index: 0;
}


/* =============================================================================
   AWARDS / RECOGNITION
============================================================================= */

.awards-list {
    list-style: none;
    padding-left: 0;
    text-align: center;
}

.awards-list li {
    margin-bottom: 10px;
    color: var(--wp--preset--color--gold);
    border: 1px solid var(--wp--preset--color--emerald);
    padding: 20px;
    border-radius: var(--jobim-btn-radius);
    display: inline-block;
    cursor: default;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.awards-list li:hover {
    background-color: var(--wp--preset--color--emerald);
    color: #fff;
    transform: scale(1.02);
    box-shadow: 0 4px 15px rgba(33, 138, 103, 0.4);
}

.awards-list li::before,
.awards-list li::after {
    color: var(--wp--preset--color--gold);
    transition: color 0.3s ease;
}

.awards-list li::before {
    content: '★';
    margin-right: 8px;
}

.awards-list li::after {
    content: '★';
    margin-left: 8px;
}

.awards-list li:hover::before,
.awards-list li:hover::after {
    color: #fff;
}


/* =============================================================================
   PAGINATION
============================================================================= */

.wp-block-query-pagination {
    justify-content: center;
    gap: 8px;
    margin: 48px 0;
}

.wp-block-query-pagination-numbers .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--wp--preset--color--emerald);
    color: #fff !important;
    text-decoration: none !important;
    font-family: var(--wp--preset--font-family--playfair-sc);
    font-size: 14px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.wp-block-query-pagination-numbers .page-numbers.current {
    background-color: var(--wp--preset--color--gold);
    color: #fff !important;
}

.wp-block-query-pagination-numbers .page-numbers:hover {
    background-color: var(--wp--preset--color--gold) !important;
    color: #fff !important;
}

.wp-block-query-pagination-numbers .page-numbers.dots {
    background: none;
    color: var(--wp--preset--color--gold) !important;
}

.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 16px;
    border-radius: var(--jobim-btn-radius);
    background-color: var(--wp--preset--color--emerald);
    color: #fff !important;
    text-decoration: none !important;
    font-family: var(--wp--preset--font-family--playfair-sc);
    font-size: 14px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-previous:hover {
    background-color: var(--wp--preset--color--gold) !important;
    color: #fff !important;
}

@media (max-width: 500px) {
    .wp-block-query-pagination {
        flex-wrap: wrap;
        justify-content: center;
    }

    .wp-block-query-pagination-numbers {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
    }
}


/* =============================================================================
   NAVIGATION
============================================================================= */

.wp-block-navigation a.wp-block-navigation-item__content {
    transition: color 0.3s ease;
}

.wp-block-navigation a.wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--gold) !important;
}

/* Mobile menu overlay — fixed fullscreen */
.wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
    width: 100vw !important;
    z-index: 999999 !important;
    overflow-y: auto !important;
    background-color: var(--wp--preset--color--cream) !important;
}

/* Freeze page scroll when menu is open */
html.has-modal-open {
    overflow: hidden !important;
}

/* Prevent fade-in transforms from trapping the menu behind them when open */
html.has-modal-open .fade-in-target,
html.has-modal-open .fade-in-visible {
    transform: none !important;
    z-index: auto !important;
}


/* =============================================================================
   BACK TO TOP
============================================================================= */

#back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--wp--preset--color--emerald);
    color: #fff;
    border: none;
    font-size: 20px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, background-color 0.3s ease, transform 0.3s ease;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

#back-to-top.visible {
    opacity: 1;
    visibility: visible;
}

#back-to-top:hover {
    background-color: var(--wp--preset--color--gold);
    color: #000;
    transform: translateY(-3px);
}


/* =============================================================================
   FADE IN ON SCROLL
============================================================================= */

.fade-in-target {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-visible {
    opacity: 1;
    transform: translateY(0);
}


/* =============================================================================
   BACKGROUND BLOBS
============================================================================= */

#blob-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
}

.wp-site-blocks {
    position: relative;
    z-index: 2;
}

.wp-block-image {
    position: relative;
    z-index: 3;
}


/* =============================================================================
   IMAGES
============================================================================= */

.wp-block-media-text__media img {
    border-radius: var(--jobim-img-radius);
}


/* =============================================================================
   SITE LOGO
============================================================================= */

.wp-block-site-logo a {
    display: inline-block;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.wp-block-site-logo a:hover {
    transform: scale(1.05);
    filter: brightness(1.2) drop-shadow(0 0 10px rgba(199, 138, 43, 0.6));
}


/* =============================================================================
   MOBILE
============================================================================= */

@media (max-width: 700px) {
    /* Discography single — full width image, left aligned */
    .music-single-grid {
        grid-template-columns: 1fr;
    }

    .music-left img {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
}

@media (max-width: 600px) {
    /* Headings 20% smaller */
    h1 { font-size: 40px !important; }
    h2 { font-size: 32px !important; }
    h3 { font-size: 24px !important; }
    h4 { font-size: 16px !important; }
    h5 { font-size: 13px !important; }
    h6 { font-size: 8px !important; }

    /* Discography page padding */
    .post-type-archive-discography main,
    .single-discography main {
        padding-right: var(--wp--style--root--padding-right) !important;
        padding-left: var(--wp--style--root--padding-left) !important;
    }

    /* Footer logo smaller */
    footer .wp-block-site-logo img {
        width: 150px !important;
        height: auto !important;
    }

    /* Home page — center right-aligned elements */
    .wp-block-media-text__content .has-text-align-right {
        text-align: center !important;
    }

    .wp-block-media-text__content .is-content-justification-right {
        justify-content: center !important;
    }

    .wp-block-media-text__content .wp-block-image.alignright {
        float: none !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .wp-block-media-text__content .wp-block-image.alignright img {
        margin: 0 auto !important;
    }

    .wp-block-media-text__content .wp-block-buttons {
        justify-content: center !important;
    }

    .wp-block-media-text__content .wp-block-group.is-content-justification-right {
        align-items: center !important;
    }
}
/* =============================================================================
   BANDSINTOWN WIDGET — recolor for the cream theme
   (page content sets pale text for the old dark theme)
============================================================================= */
.bit-date,
.bit-mobile-date,
.bit-location,
.bit-location-under-desktop,
.bit-venue,
[class*="bit-"][class*="-text"]:not(.bit-offers-text):not(.bit-sold-out-text) {
    color: var(--wp--preset--color--ink) !important;
}
.bit-offers,
.bit-offers-text { background-color: var(--wp--preset--color--emerald) !important; border-color: var(--wp--preset--color--emerald) !important; }
.bit-offers-text { color: #fff !important; }
[class*="bit-event"] { border-color: rgba(199, 138, 43, 0.35) !important; }

/* =============================================================================
   PRESS CAROUSEL (plugin CSS is written for a dark background)
============================================================================= */
.press-carousel .press-carousel-quote p { color: var(--wp--preset--color--ink); }
.press-carousel .press-carousel-attr,
.press-carousel .press-carousel-attr a { color: #7a4a0a; }
.press-carousel .press-carousel-attr a:hover { border-color: #7a4a0a; }
.press-carousel .press-carousel-btn { border-color: var(--wp--preset--color--emerald); color: var(--wp--preset--color--emerald); }
.press-carousel .press-carousel-btn:hover,
.press-carousel .press-carousel-btn:focus-visible { background: var(--wp--preset--color--emerald); color: #fff; }
.press-carousel .press-carousel-dot { background: rgba(15, 42, 31, 0.3); }
.press-carousel .press-carousel-dot.is-active { background: var(--wp--preset--color--emerald); }

/* =============================================================================
   TOUR DATES — refined Bandsintown styling (Dreams of Jobim look)
============================================================================= */
.bit-widget, .bit-widget * { font-family: var(--wp--preset--font-family--source-sans), system-ui, sans-serif !important; }
.bit-widget .bit-upcoming-events { max-width: none; }

.bit-widget .bit-event {
    align-items: center !important;
    padding: 18px 8px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(199, 138, 43, 0.35) !important;
    background: transparent !important;
    transition: background-color 0.25s ease;
}
.bit-widget .bit-event:first-child { border-top: 1px solid rgba(199, 138, 43, 0.35) !important; }
.bit-widget .bit-event:hover { background: rgba(199, 138, 43, 0.08) !important; }

/* Date: gold small-caps display */
.bit-widget .bit-date,
.bit-widget .bit-mobile-date {
    font-family: var(--wp--preset--font-family--source-sans), Georgia, serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    color: #7a4a0a !important;
}

/* Venue: ink, elegant */
.bit-widget .bit-venue {
    font-family: var(--wp--preset--font-family--source-sans), Georgia, serif !important;
    font-size: 1.1rem !important;
    letter-spacing: 0.04em !important;
    color: var(--wp--preset--color--ink) !important;
    text-transform: uppercase;
}

/* Location: quiet secondary line */
.bit-widget .bit-location,
.bit-widget .bit-location-under-desktop {
    font-size: 1.1rem !important;
    font-style: normal;
    letter-spacing: 0.05em !important;
    text-transform: none !important;
    color: var(--wp--preset--color--emerald) !important;
}

/* Buttons: outlined emerald, fill on hover */
.bit-widget .bit-offers.bit-button,
.bit-widget a.bit-offers {
    background: transparent !important;
    border: 1.5px solid var(--wp--preset--color--emerald) !important;
    border-radius: var(--jobim-btn-radius) !important;
    padding: 6px 22px !important;
    min-width: 120px;
    justify-content: center;
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
}
.bit-widget .bit-offers-text {
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.1em !important;
    color: var(--wp--preset--color--emerald) !important;
    background: transparent !important;
    text-transform: uppercase;
}
.bit-widget a.bit-offers:hover { background: var(--wp--preset--color--emerald) !important; box-shadow: 0 4px 14px rgba(33, 138, 103, 0.3); }
.bit-widget a.bit-offers:hover .bit-offers-text { color: #fff !important; }

/* Sold out: muted */
.bit-widget .bit-sold-out-button { border-color: rgba(15, 42, 31, 0.35) !important; background: transparent !important; }
.bit-widget .bit-sold-out-text { color: rgba(15, 42, 31, 0.55) !important; background: transparent !important; font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif !important; font-size: 0.85rem !important; letter-spacing: 0.1em !important; text-transform: uppercase; }
.bit-widget a.bit-sold-out-button:hover { background: transparent !important; box-shadow: none; }
.bit-widget a.bit-sold-out-button:hover .bit-sold-out-text { color: rgba(15, 42, 31, 0.55) !important; }
.bit-widget { width: 100% !important; max-width: 100% !important; margin-left: auto !important; margin-right: auto !important; }
.bit-widget .bit-upcoming-events, .bit-widget .bit-event-lists, .bit-widget .bit-events-container { width: 100% !important; max-width: none !important; }

/* Tour dates: collapsed list + toggle */
.bit-widget .bit-upcoming-events.jobim-tour-collapsed > .bit-event:nth-child(n+11) { display: none !important; }
.jobim-tour-toggle-wrap { text-align: center; margin: 32px 0 0; }
.jobim-tour-toggle {
    background: transparent !important;
    color: var(--wp--preset--color--emerald) !important;
    border: 1.5px solid var(--wp--preset--color--emerald) !important;
    border-radius: var(--jobim-btn-radius) !important;
    padding: 10px 32px !important;
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-size: 0.95rem !important;
    cursor: pointer;
}
.jobim-tour-toggle:hover { background: var(--wp--preset--color--emerald) !important; color: #fff !important; }
/* Wider tour rows: give the date/venue column room so venues don't wrap */
.bit-widget .bit-details-inner-wrapper { flex: 1 1 auto !important; width: auto !important; max-width: none !important; }
.bit-widget .bit-titleWrapper, .bit-widget .bit-venue { max-width: none !important; width: auto !important; white-space: normal; }
.bit-widget .bit-event { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; box-sizing: border-box !important; }
.bit-widget .bit-upcoming-events, .bit-widget .bit-upcoming-events-container, .bit-widget .bit-event-lists { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }

/* =============================================================================
   TOUR ROW LAYOUT — wide first column, city/state/country always visible
   (forces our own layout regardless of the widget's desktop/mobile mode)
============================================================================= */
.bit-widget .bit-mobile-date-and-share-wrapper,
.bit-widget .bit-location-under-desktop { display: none !important; }

.bit-widget .bit-details-inner-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    column-gap: 32px;
    row-gap: 2px;
    align-items: center;
}
.bit-widget .bit-details-inner-wrapper > a.bit-details { display: contents !important; }
.bit-widget .bit-date-wrapper { grid-column: 1; grid-row: 1; display: block !important; }
.bit-widget .bit-date { display: inline !important; }
.bit-widget .bit-titleWrapper { grid-column: 1; grid-row: 2; display: block !important; }
.bit-widget .bit-location { grid-column: 2; grid-row: 1 / span 2; display: block !important; visibility: visible !important; }

@media (max-width: 700px) {
    .bit-widget .bit-event { flex-wrap: wrap !important; gap: 10px 12px; }
    .bit-widget .bit-details-inner-wrapper { grid-template-columns: minmax(0, 1fr); flex: 1 1 100% !important; }
    .bit-widget .bit-location { grid-column: 1; grid-row: 3; }
    .bit-widget .bit-event-buttons { flex: 0 0 auto; }
}
.bit-widget .bit-event .bit-location,
.bit-widget .bit-event .bit-location * {
    color: var(--wp--preset--color--emerald) !important;
    opacity: 1 !important;
    font-size: 1.1rem !important;
    font-style: normal;
    text-transform: none !important;
    letter-spacing: 0.04em !important;
}
@media (max-width: 700px) {
    .bit-widget .bit-details-inner-wrapper { text-align: center; }
    .bit-widget .bit-event { justify-content: center !important; }
    .bit-widget .bit-event .bit-location { font-size: 1.15rem !important; }
}

/* Mobile-mode city line (widget swaps in .bit-location-under-mobile) */
.bit-widget .bit-location-under-mobile {
    display: block !important;
    grid-column: 1;
    grid-row: 3;
    color: var(--wp--preset--color--emerald) !important;
    opacity: 1 !important;
    font-size: 1.15rem !important;
    font-style: normal;
    text-transform: none !important;
    letter-spacing: 0.04em !important;
    text-align: center;
}

/* Press carousel: larger quote + citation */
.press-carousel { max-width: 960px; }
.press-carousel .press-carousel-quote p { font-size: clamp(1.2rem, 2.2vw, 1.6rem); line-height: 1.6; margin-bottom: 20px; }
.press-carousel .press-carousel-attr { font-size: clamp(0.9rem, 1.3vw, 1.05rem); letter-spacing: 0.08em; font-family: var(--wp--preset--font-family--source-sans), Georgia, serif; }

/* Tour dates: larger city/country text */
.bit-widget .bit-event .bit-location,
.bit-widget .bit-event .bit-location *,
.bit-widget .bit-location-under-mobile { font-size: 1.4rem !important; }
@media (max-width: 700px) {
    .bit-widget .bit-event .bit-location,
    .bit-widget .bit-event .bit-location *,
    .bit-widget .bit-location-under-mobile { font-size: 1.2rem !important; }
}

/* Larger button padding */
.bit-widget .bit-offers.bit-button,
.bit-widget a.bit-offers { padding: 11px 36px !important; min-width: 160px; }
.bit-widget .bit-offers-text,
.bit-widget .bit-sold-out-text { font-size: 0.95rem !important; }
.jobim-tour-toggle { padding: 14px 44px !important; }
.wp-block-button__link.wp-element-button { padding: 14px 38px !important; }
@media (max-width: 700px) {
    .bit-widget .bit-offers.bit-button,
    .bit-widget a.bit-offers { padding: 11px 32px !important; min-width: 150px; }
}

/* Ticket buttons: solid emerald to match the main CTA buttons */
.bit-widget .bit-offers.bit-button,
.bit-widget a.bit-offers {
    background: var(--wp--preset--color--emerald) !important;
    border-color: var(--wp--preset--color--emerald) !important;
}
.bit-widget .bit-offers-text { color: #fff !important; }
.bit-widget a.bit-offers:hover {
    background: var(--wp--preset--color--gold) !important;
    border-color: var(--wp--preset--color--gold) !important;
    box-shadow: 0 4px 15px rgba(199, 138, 43, 0.4);
}
.bit-widget a.bit-offers:hover .bit-offers-text { color: #fff !important; }

/* Sold out: same solid shape, muted so it reads as unavailable */
.bit-widget .bit-sold-out-button,
.bit-widget a.bit-sold-out-button {
    background: rgba(15, 42, 31, 0.45) !important;
    border-color: rgba(15, 42, 31, 0.45) !important;
}
.bit-widget .bit-sold-out-text { color: #fff !important; }
.bit-widget a.bit-sold-out-button:hover { background: rgba(15, 42, 31, 0.45) !important; border-color: rgba(15, 42, 31, 0.45) !important; box-shadow: none; }
.bit-widget a.bit-sold-out-button:hover .bit-sold-out-text { color: #fff !important; }

/* Sold out must outrank the ticket-button rule (needs both classes) */
.bit-widget .bit-offers.bit-button.bit-sold-out-button,
.bit-widget a.bit-offers.bit-sold-out-button,
.bit-widget a.bit-offers.bit-sold-out-button:hover {
    background: rgba(15, 42, 31, 0.45) !important;
    border-color: rgba(15, 42, 31, 0.45) !important;
    box-shadow: none !important;
}

/* Larger tour dates + venues */
.bit-widget .bit-date,
.bit-widget .bit-mobile-date { font-size: 1.55rem !important; }
.bit-widget .bit-venue { font-size: 1.35rem !important; }
.bit-widget .bit-event { padding-top: 22px !important; padding-bottom: 22px !important; }
@media (max-width: 700px) {
    .bit-widget .bit-date, .bit-widget .bit-mobile-date { font-size: 1.35rem !important; }
    .bit-widget .bit-venue { font-size: 1.2rem !important; }
}

/* "Show all dates" toggle: solid, matching the other CTA buttons */
.jobim-tour-toggle {
    background: var(--wp--preset--color--emerald) !important;
    border-color: var(--wp--preset--color--emerald) !important;
    color: #fff !important;
}
.jobim-tour-toggle:hover {
    background: var(--wp--preset--color--gold) !important;
    border-color: var(--wp--preset--color--gold) !important;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(199, 138, 43, 0.4);
}

/* Footer copyright / credit line */
.jobim-footer-copy, .jobim-footer-copy a { font-size: 1.15rem !important; letter-spacing: 0.03em; }
.jobim-footer-copy a { text-decoration: none !important; }
.jobim-footer-copy a:hover { color: var(--wp--preset--color--gold); }

/* =============================================================================
   HEADER — split nav around a centered title (desktop); stacked on mobile
============================================================================= */
.jobim-header-split { position: relative; padding: 28px 0 0; max-width: 1600px; margin: 0 auto; }
.jobim-header-split .jobim-title {
    position: absolute; left: 50%; top: 14px; transform: translateX(-50%);
    margin: 0; white-space: nowrap; text-align: center; z-index: 1;
    font-size: clamp(2.2rem, 3.6vw, 3.6rem);
}
.jobim-header-split .jobim-nav { min-height: 84px; align-items: center; width: 100%; }
.jobim-header-split .jobim-nav .wp-block-navigation__container { width: 100%; flex-wrap: nowrap; gap: 2rem; align-items: center; }
/* items 1-3 sit left, 4+ sit right of the title */
.jobim-header-split .jobim-nav .wp-block-navigation__container > li:nth-child(4) { margin-left: auto; }
.jobim-header-split .jobim-nav a { padding: 6px 2px; position: relative; }
.jobim-header-split .jobim-nav a::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
    background: var(--wp--preset--color--gold); transform: scaleX(0); transform-origin: center; transition: transform 0.25s ease;
}
.jobim-header-split .jobim-nav a:hover::after,
.jobim-header-split .jobim-nav .current-menu-item a::after { transform: scaleX(1); }
.jobim-header-split .jobim-rule { max-width: none; margin: 10px 0 0; gap: 4px; }
.jobim-header-split .jobim-rule .jobim-line { opacity: 0.55; }

/* Medium/small: title above, menu centered below (original stacked layout) */
@media (max-width: 1100px) {
    .jobim-header-split { padding-top: 32px; }
    .jobim-header-split .jobim-title { position: static; transform: none; display: block; font-size: clamp(2.2rem, 7vw, 3.4rem); }
    .jobim-header-split .jobim-nav { min-height: 0; margin-top: 14px; justify-content: center; }
    .jobim-header-split .jobim-nav .wp-block-navigation__container { justify-content: center; flex-wrap: wrap; gap: 0.5rem 1.4rem; }
    .jobim-header-split .jobim-nav .wp-block-navigation__container > li:nth-child(4) { margin-left: 0; }
    .jobim-header-split .jobim-rule { margin-top: 14px; }
}
@media (max-width: 600px) {
    .jobim-header-split .jobim-nav .wp-block-navigation__responsive-container-open { margin: 0 auto; }
}
.jobim-header-split .jobim-title { top: 28px; height: 84px; display: flex; align-items: center; justify-content: center; }
.jobim-header-split .jobim-title a { display: block; line-height: 1; }
@media (max-width: 1100px) { .jobim-header-split .jobim-title { height: auto; display: block; } }
@media (min-width: 1101px) {
    .jobim-header-split .jobim-nav { display: flex !important; align-items: center !important; height: 84px; min-height: 84px; margin: 0 !important; }
    .jobim-header-split .jobim-nav .wp-block-navigation__container { align-items: center !important; margin: 0; }
}

/* =============================================================================
   HOME PROMO — fills the first screen (header + promo = 100vh), centered both ways
============================================================================= */
:root { --jobim-header-h: 125px; }
.home .jobim-hero {
    min-height: calc(100vh - var(--jobim-header-h)) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box;
}
.home .jobim-hero > .wp-block-media-text {
    width: 100%;
    max-width: 1200px;
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: center;
}
.home .jobim-hero .wp-block-media-text__media img { max-height: calc(100vh - var(--jobim-header-h) - 80px); width: auto; max-width: 100%; margin: 0 auto; display: block; }
@media (max-width: 1100px) { :root { --jobim-header-h: 190px; } }
@media (max-width: 781px) { .home .jobim-hero { min-height: 0 !important; padding: 24px 0 !important; } }
:root { --jobim-header-h: 175px; }
.home .jobim-hero > .wp-block-media-text { max-width: 1500px; grid-template-columns: 50% 1fr !important; }
@media (max-width: 781px) { .home .jobim-hero > .wp-block-media-text { grid-template-columns: 1fr !important; } }

/* Tighten spacing between the promo text lines */
.home .jobim-hero .wp-block-media-text__content { display: flex; flex-direction: column; gap: 0 !important; }
.home .jobim-hero .wp-block-media-text__content > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.home .jobim-hero .wp-block-media-text__content > * + * { margin-block-start: 0.35em !important; }
.home .jobim-hero .wp-block-media-text__content :is(p, h1, h2, h3, h4) { line-height: 1.15; }
.home .jobim-hero .wp-block-media-text__content > :nth-child(3):not(.wp-block-buttons) { margin-block-start: 0.8em !important; }
.home .jobim-hero .wp-block-buttons { gap: 10px !important; }
.home .jobim-hero .wp-block-buttons .wp-block-button { margin: 0 !important; }
.home .jobim-hero .wp-block-media-text__content > .wp-block-buttons { margin-block-start: 1em !important; }

/* Header variant: gold rule ABOVE the title/nav row */
.jobim-header-split.jobim-rule-top { padding: 0 0 20px; }
.jobim-header-split.jobim-rule-top .jobim-rule { margin: 18px 0 0; height: 30px; align-items: center; }
.jobim-header-split.jobim-rule-top .jobim-title { top: 48px; }
@media (max-width: 1100px) {
    .jobim-header-split.jobim-rule-top { padding: 0 0 16px; }
    .jobim-header-split.jobim-rule-top .jobim-rule { margin: 18px 0 14px; }
    .jobim-header-split.jobim-rule-top .jobim-title { top: auto; }
}
.jobim-header-split.jobim-rule-top { padding: 18px 0 20px; }
.jobim-header-split.jobim-rule-top .jobim-rule { margin: 0; }
@media (max-width: 1100px) {
    .jobim-header-split.jobim-rule-top { padding: 18px 0 16px; }
    .jobim-header-split.jobim-rule-top .jobim-rule { margin: 0 0 14px; }
}

/* =============================================================================
   LOGO HOVER (header + footer title)
   Letters open up, color warms from emerald to gold, and a gold line draws out
   from the center underneath.
============================================================================= */
.jobim-title a {
    position: relative;
    display: inline-block;
    padding-bottom: 6px;
    transition: color 0.45s ease, letter-spacing 0.5s cubic-bezier(0.22, 1, 0.36, 1), text-shadow 0.45s ease;
}
.jobim-title a::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--wp--preset--color--gold) 20%, var(--wp--preset--color--gold) 80%, transparent);
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.jobim-title a:hover,
.jobim-title a:focus-visible {
    color: var(--wp--preset--color--gold) !important;
    letter-spacing: 0.09em;
    text-shadow: 0 2px 18px rgba(199, 138, 43, 0.35);
}
.jobim-title a:hover::after,
.jobim-title a:focus-visible::after { transform: translateX(-50%) scaleX(1); }
@media (prefers-reduced-motion: reduce) {
    .jobim-title a, .jobim-title a::after { transition: none; }
    .jobim-title a:hover, .jobim-title a:focus-visible { letter-spacing: 0.04em; }
}

/* Nav hover: same gold as the logo hover (default hover was white, too faint) */
.jobim-nav a:hover,
.jobim-nav a:focus-visible,
.jobim-nav .wp-block-navigation-item__content:hover,
.jobim-nav .current-menu-item > a,
.wp-block-navigation__responsive-container.is-menu-open a:hover {
    color: var(--wp--preset--color--gold) !important;
}
.jobim-nav a { transition: color 0.3s ease; }

/* Homepage video: thumbnail that opens the lightbox (same component as /videos) */
.jobim-home-video .yt-gallery-wrap { max-width: var(--jobim-container); margin: 0 auto; }
.jobim-home-video .yt-gallery { padding: 0; }
.jobim-home-video .yt-gallery-title { text-align: center; font-size: 1.3rem; margin-top: 16px; }
.jobim-home-video .yt-gallery-wrap { margin-left: auto !important; margin-right: auto !important; }

/* =============================================================================
   VIDEO PLAY BUTTON — emerald disc, gold ring, white triangle (home + /videos)
============================================================================= */
.yt-gallery-play svg {
    width: 88px;
    height: 88px;
    overflow: visible;
    filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.45));
}
.yt-gallery-play .yt-ring { stroke: var(--wp--preset--color--gold); opacity: 0.9; transition: transform 0.35s ease, opacity 0.35s ease; transform-origin: 48px 48px; }
.yt-gallery-play .yt-disc { fill: var(--wp--preset--color--emerald); transition: fill 0.3s ease; }
.yt-gallery-play .yt-tri  { fill: #fff; }
.yt-gallery-item:hover .yt-gallery-play svg,
.yt-gallery-item:focus-visible .yt-gallery-play svg { transform: scale(1.08); filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.55)); }
.yt-gallery-item:hover .yt-gallery-play .yt-disc,
.yt-gallery-item:focus-visible .yt-gallery-play .yt-disc { fill: var(--wp--preset--color--gold); }
.yt-gallery-item:hover .yt-gallery-play .yt-ring,
.yt-gallery-item:focus-visible .yt-gallery-play .yt-ring { transform: scale(1.08); opacity: 1; }
@media (max-width: 700px) { .yt-gallery-play svg { width: 64px; height: 64px; } }

/* Play button: gold at rest, emerald on hover (inverts the earlier default) */
.yt-gallery-play .yt-disc { fill: var(--wp--preset--color--gold); }
.yt-gallery-play .yt-ring { stroke: var(--wp--preset--color--gold); }
.yt-gallery-item:hover .yt-gallery-play .yt-disc,
.yt-gallery-item:focus-visible .yt-gallery-play .yt-disc { fill: var(--wp--preset--color--emerald); }

/* Video titles: deeper gold (same as tour dates) for contrast on the orbs */
.yt-gallery-title { color: #7a4a0a !important; }
.yt-gallery-title { font-size: 1.15rem !important; letter-spacing: 0.05em; }
.jobim-home-video .yt-gallery-title { font-size: 1.4rem !important; }

/* Play button: no outer ring */

/* =============================================================================
   PHOTOS — masonry layout (every photo keeps its own aspect ratio)
============================================================================= */
.wp-block-gallery.has-nested-images {
    display: block !important;
    column-count: 4;
    column-gap: 18px;
}
.wp-block-gallery.has-nested-images figure.wp-block-image,
.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    margin: 0 0 18px !important;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    position: relative;
    overflow: hidden;
    border-radius: var(--jobim-img-radius);
    background: rgba(15, 42, 31, 0.06);
}
.wp-block-gallery.has-nested-images figure.wp-block-image img {
    display: block;
    width: 100% !important;
    height: auto !important;
    object-fit: initial !important;
    cursor: zoom-in;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), filter 0.4s ease;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:hover img { transform: scale(1.04); filter: brightness(0.92); }
.wp-block-gallery.has-nested-images figure.wp-block-image::after {
    content: '';
    position: absolute; inset: 0;
    border-radius: var(--jobim-img-radius);
    box-shadow: inset 0 0 0 2px rgba(199, 138, 43, 0);
    transition: box-shadow 0.3s ease;
    pointer-events: none;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:hover::after { box-shadow: inset 0 0 0 2px rgba(199, 138, 43, 0.85); }
@media (max-width: 1200px) { .wp-block-gallery.has-nested-images { column-count: 3; } }
@media (max-width: 800px)  { .wp-block-gallery.has-nested-images { column-count: 2; column-gap: 12px; } .wp-block-gallery.has-nested-images figure.wp-block-image, .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) { margin-bottom: 12px !important; } }

/* Discography grid: larger, darker titles */
.music-grid .music-title {
    color: #7a4a0a !important;
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: 1.35rem !important;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.25;
    display: block;
}
.music-grid .music-date { display: block; font-size: 1.15rem !important; margin-top: 4px; color: var(--wp--preset--color--ink) !important; }

/* Discography hover: cover lifts with a gold edge + soft shadow; title warms to emerald */
.music-grid > div { cursor: pointer; }
.music-grid img {
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease !important;
    box-shadow: 0 2px 6px rgba(15, 42, 31, 0.12), 0 0 0 0 rgba(199, 138, 43, 0);
}
.music-grid > div:hover img,
.music-grid > div:focus-within img,
.music-grid a:hover img {
    transform: translateY(-8px) !important;
    opacity: 1 !important;
    box-shadow: 0 18px 30px rgba(15, 42, 31, 0.28), 0 0 0 2px var(--wp--preset--color--gold);
}
.music-grid .music-title { transition: color 0.3s ease; }
.music-grid > div:hover .music-title,
.music-grid > div:focus-within .music-title { color: var(--wp--preset--color--emerald) !important; }
@media (prefers-reduced-motion: reduce) { .music-grid img, .music-grid .music-title { transition: none !important; } }

/* Discography: tighter gap between cover and title (was 20px) */
.music-grid img { margin-bottom: 10px !important; }
.music-grid .music-date { font-size: 1.4rem !important; }

/* Discography: year sits on the same line as the title */
.music-grid .music-title { display: inline !important; }
.music-grid .music-date { display: inline !important; margin: 0 0 0 0.35em; font-size: 1.3rem !important; font-weight: 400; }

/* Photos: same lift + gold edge hover as the discography covers (replaces zoom) */
.wp-block-gallery.has-nested-images figure.wp-block-image {
    overflow: visible;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;
    box-shadow: 0 2px 6px rgba(15, 42, 31, 0.12);
}
.wp-block-gallery.has-nested-images figure.wp-block-image img {
    border-radius: var(--jobim-img-radius);
}
.wp-block-gallery.has-nested-images figure.wp-block-image:hover,
.wp-block-gallery.has-nested-images figure.wp-block-image:focus-within {
    transform: translateY(-8px);
    box-shadow: 0 18px 30px rgba(15, 42, 31, 0.28), 0 0 0 2px var(--wp--preset--color--gold);
}
.wp-block-gallery.has-nested-images figure.wp-block-image:hover img,
.wp-block-gallery.has-nested-images figure.wp-block-image:focus-within img { transform: none; filter: none; }
.wp-block-gallery.has-nested-images figure.wp-block-image::after { display: none; }
@media (prefers-reduced-motion: reduce) { .wp-block-gallery.has-nested-images figure.wp-block-image { transition: none; } }

/* Video thumbnails: same lift + gold edge hover as covers/photos (replaces zoom + darken) */
.yt-gallery-thumb {
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;
    box-shadow: 0 2px 6px rgba(15, 42, 31, 0.12);
    border-color: transparent;
}
.yt-gallery-item:hover .yt-gallery-thumb,
.yt-gallery-item:focus-visible .yt-gallery-thumb {
    transform: translateY(-8px);
    box-shadow: 0 18px 30px rgba(15, 42, 31, 0.28), 0 0 0 2px var(--wp--preset--color--gold);
}
.yt-gallery-item:hover .yt-gallery-thumb img,
.yt-gallery-item:focus-visible .yt-gallery-thumb img { transform: none; filter: none; }
.yt-gallery-item:focus-visible .yt-gallery-thumb { outline: none; }
.yt-gallery-title { transition: color 0.3s ease; }
.yt-gallery-item:hover .yt-gallery-title,
.yt-gallery-item:focus-visible .yt-gallery-title { color: var(--wp--preset--color--emerald) !important; }
@media (prefers-reduced-motion: reduce) { .yt-gallery-thumb, .yt-gallery-title { transition: none; } }

/* Discography: more room under the section subheadings (Albums / Compilations / Collaborations) */
.post-type-archive-discography h3.wp-block-post-title { margin-bottom: 56px !important; }
@media (max-width: 700px) { .post-type-archive-discography h3.wp-block-post-title { margin-bottom: 36px !important; } }

/* =============================================================================
   DISCOGRAPHY SINGLE PAGES — recolor plugin styles (written for a dark background)
============================================================================= */
.music-single-grid .music-label {
    color: var(--wp--preset--color--ink);
    opacity: 0.8;
    font-size: 1.05rem;
    letter-spacing: 0.08em;
}
.music-single-grid .music-right h3,
.music-single-grid .release-press h3 {
    color: #7a4a0a;
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
}
.music-single-grid .release-track-list li,
.music-single-grid .release-notes-content p,
.music-single-grid .release-notes-content li {
    color: var(--wp--preset--color--ink);
    font-size: 1.25rem;
    line-height: 1.7;
}
.music-single-grid .release-track-list li::marker { color: #7a4a0a; font-weight: 600; }
.music-single-grid .release-notes-content p::before { color: #7a4a0a; }
.music-single-grid .music-buy-links a:not(.wp-element-button) { color: #7a4a0a; }
.music-single-grid .release-press-item { border-left-color: rgba(199, 138, 43, 0.6); }
.music-single-grid .release-press-item blockquote { color: var(--wp--preset--color--ink); font-size: 1.05rem; line-height: 1.6; }
.music-single-grid .release-press-item footer,
.music-single-grid .release-press-item footer a {
    color: #7a4a0a;
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: 1rem;
    letter-spacing: 0.06em;
}
.music-single-grid .release-press-item footer a:hover { border-color: #7a4a0a; }
.music-left img { box-shadow: 0 10px 30px rgba(15, 42, 31, 0.3); }

/* Single discography cover: same resting shadow + radius as the grid covers, photos and videos */
:root { --jobim-img-shadow: 0 2px 6px rgba(15, 42, 31, 0.12); }
.music-single-grid .music-left img {
    box-shadow: var(--jobim-img-shadow) !important;
    border-radius: var(--jobim-img-radius) !important;
}

/* =============================================================================
   PREVIOUS / NEXT RELEASE NAV (single discography pages)
============================================================================= */
.release-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 32px;
    max-width: var(--jobim-container);
    margin: 56px auto 70px;
    padding-top: 40px;
    border-top: 1px solid rgba(199, 138, 43, 0.45);
}
.release-nav-cell-next { display: flex; justify-content: flex-end; }
.release-nav-link { display: inline-flex; align-items: center; gap: 18px; text-decoration: none; max-width: 100%; }
.release-nav-next { flex-direction: row-reverse; text-align: right; }
.release-nav-link img {
    width: 96px; height: 96px; object-fit: cover; flex: none;
    border-radius: var(--jobim-img-radius);
    box-shadow: var(--jobim-img-shadow);
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;
}
.release-nav-link:hover img, .release-nav-link:focus-visible img {
    transform: translateY(-6px);
    box-shadow: 0 16px 26px rgba(15, 42, 31, 0.28), 0 0 0 2px var(--wp--preset--color--gold);
}
.rn-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rn-label {
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: 0.95rem; letter-spacing: 0.1em; text-transform: uppercase; color: #7a4a0a;
}
.rn-title {
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: 1.3rem; line-height: 1.25; color: var(--wp--preset--color--ink); transition: color 0.3s ease;
}
.rn-year { font-family: var(--wp--preset--font-family--source-sans), Georgia, serif; }
.release-nav-link:hover .rn-title, .release-nav-link:focus-visible .rn-title { color: var(--wp--preset--color--emerald); }
@media (max-width: 800px) {
    .release-nav { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
    .release-nav-link { flex-direction: column; text-align: center; gap: 10px; align-items: center; }
    .release-nav-next { flex-direction: column; text-align: center; }
    .release-nav-link img { width: 84px; height: 84px; }
}
@media (prefers-reduced-motion: reduce) { .release-nav-link img { transition: none; } }

/* =============================================================================
   PRESS QUOTES ON RELEASE PAGES — card grid (masonry)
============================================================================= */
.release-press figure { margin: 0; }
.release-press-card figcaption {
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #7a4a0a;
}
.release-press-card figcaption a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.2s ease; }
.release-press-card figcaption a:hover { border-color: #7a4a0a; }
.release-press-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}
.release-press-card {
    display: flex; flex-direction: column; justify-content: space-between; gap: 18px;
    padding: 26px 30px 24px;
    background: rgba(255, 255, 255, 0.38);
    border: 1px solid rgba(199, 138, 43, 0.35);
    border-top: 3px solid var(--wp--preset--color--gold);
    border-radius: var(--jobim-img-radius);
    box-shadow: var(--jobim-img-shadow);
}
.release-press-card blockquote { margin: 0; border: 0; padding: 0; }
.release-press-card blockquote p { margin: 0; font-style: normal; font-size: 1.05rem; line-height: 1.6; color: var(--wp--preset--color--ink); }
.release-press-card figcaption { font-size: 0.9rem; }
@media (max-width: 800px) {
    .release-press-grid { grid-template-columns: 1fr; }
}

/* Press cards: masonry (CSS columns) so long and short quotes don't leave gaps */
.release-press-grid {
    display: block !important;
    column-count: 2;
    column-gap: 24px;
}
.release-press-grid .release-press-card {
    display: block;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    margin: 0 0 24px !important;
}
.release-press-grid .release-press-card figcaption { margin-top: 16px; }
@media (max-width: 800px) { .release-press-grid { column-count: 1; } }

/* JS-balanced press masonry (replaces CSS columns when the script runs) */
.release-press-grid.is-js-masonry { display: flex !important; column-count: auto; gap: 24px; align-items: flex-start; }
.release-press-grid.is-js-masonry .rp-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; }
.release-press-grid.is-js-masonry .release-press-card { margin: 0 0 24px !important; }
.release-press-grid.is-js-masonry .rp-col .release-press-card:last-child { margin-bottom: 0 !important; }

/* =============================================================================
   ABOUT — intro line + key facts strip
============================================================================= */
.about-intro { text-align: center; max-width: var(--jobim-container); margin: 0 auto; }
.about-kicker {
    margin: 0 0 10px;
    font-family: var(--wp--preset--font-family--source-sans), Georgia, serif;
    font-style: normal; font-size: 1.35rem; color: var(--wp--preset--color--ink); opacity: 0.85;
}
.about-tagline {
    margin: 0 0 36px;
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: clamp(1.8rem, 3.6vw, 3rem); line-height: 1.15; letter-spacing: 0.03em;
    color: var(--wp--preset--color--emerald);
}
.about-facts {
    list-style: none; margin: 0; padding: 28px 0 0;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px;
    border-top: 1px solid rgba(199, 138, 43, 0.5);
}
.about-facts li { display: flex; flex-direction: column; gap: 8px; align-items: center; }
.about-facts .fact-num {
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: clamp(2.4rem, 4.2vw, 3.6rem); line-height: 1; color: #7a4a0a;
}
.about-facts .fact-label {
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: 0.95rem; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.35;
    color: var(--wp--preset--color--ink); max-width: 18ch;
}
@media (max-width: 800px) { .about-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; } }

/* =============================================================================
   ABOUT — bio tabs, chapter menu, charts, awards
============================================================================= */
/* Layout: larger portrait that stays in view while the bio scrolls */
.about-layout { align-items: start !important; gap: 0; }
.about-layout .wp-block-media-text__media { position: sticky; top: 28px; align-self: start; }
.about-layout .wp-block-media-text__media img { width: 100%; height: auto; border-radius: var(--jobim-img-radius); box-shadow: var(--jobim-img-shadow); }
.about-layout .wp-block-media-text__content { padding: 0 0 0 48px; }
@media (max-width: 781px) {
    .about-layout .wp-block-media-text__media { position: static; }
    .about-layout .wp-block-media-text__content { padding: 28px 0 0; }
}

/* Top-level tabs: Bio / Awards / Charts */
.about-maintabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 32px; border-bottom: 3px solid var(--wp--preset--color--emerald); }
.about-maintab {
    flex: 1 1 0; min-width: 0; margin-bottom: -3px;
    font-family: var(--wp--preset--font-family--source-sans), system-ui, sans-serif; font-weight: 600;
    font-size: 1.45rem; letter-spacing: 0.1em; text-transform: uppercase; text-align: center;
    padding: 16px 20px; border-radius: 12px 12px 0 0;
    border: 2px solid var(--wp--preset--color--emerald); border-bottom: 0;
    background: rgba(20, 102, 74, 0.08); color: var(--wp--preset--color--emerald); cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.about-maintab:hover { background: rgba(20, 102, 74, 0.18); }
.about-maintab.is-active { background: var(--wp--preset--color--emerald); color: #fff; }
.about-maintab:focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 3px; }
@media (max-width: 600px) { .about-maintab { font-size: 1.1rem; padding: 12px 8px; letter-spacing: 0.06em; } }
.about-mainpanel[hidden] { display: none; }
/* the tab label replaces the section heading; keep the h2 for screen readers only */
.about-mainpanel .about-section > h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
.about-layout .about-mainpanel .about-section { margin-top: 0; }

/* Tabs */
.about-tablist { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.about-tab {
    font-family: var(--wp--preset--font-family--source-sans), system-ui, sans-serif; font-weight: 600;
    font-size: 0.95rem; letter-spacing: 0.1em; text-transform: uppercase;
    padding: 7px 18px; border-radius: var(--jobim-btn-radius);
    border: 1.5px solid var(--wp--preset--color--emerald);
    background: transparent; color: var(--wp--preset--color--emerald); cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
.about-tab:hover { background: rgba(20, 102, 74, 0.1); }
.about-tab.is-active { background: var(--wp--preset--color--emerald); color: #fff; }
.about-tab:focus-visible, .about-filter button:focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 3px; }

.about-tabpanel { padding-top: 8px; }
.about-tabpanel[hidden] { display: none; }
.bio-body { font-size: 1.25rem; line-height: 1.7; }
.bio-body p { margin: 0 0 1em; }
.bio-subhead {
    margin: 1.8em 0 0.5em; scroll-margin-top: 24px;
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: 1.5rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.25; color: #7a4a0a;
}
.bio-body .bio-subhead:first-child { margin-top: 0.4em; }

/* Sections below the bio */
.about-section { max-width: var(--jobim-container); margin: 96px auto 0; }
.about-section > h2 { margin-bottom: 28px; }
/* Awards + charts live in the bio column beside the sticky photo */
.about-layout .about-section { max-width: none; margin: 64px 0 0; padding-left: 0; padding-right: 0; }
.about-layout .about-section > h2 { text-align: left; font-size: clamp(1.4rem, 2vw, 1.8rem); }
.about-layout .about-filter { justify-content: flex-start; }
.about-layout .chart-list { grid-template-columns: minmax(0, 1fr); }
.about-filter { display: flex; justify-content: center; gap: 10px; margin: 0 0 28px; }
.about-filter button {
    font-family: var(--wp--preset--font-family--source-sans), system-ui, sans-serif; font-weight: 600;
    font-size: 0.95rem; letter-spacing: 0.1em; text-transform: uppercase;
    padding: 8px 22px; border-radius: var(--jobim-btn-radius);
    border: 1.5px solid var(--wp--preset--color--emerald); background: transparent; color: var(--wp--preset--color--emerald); cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease;
}
.about-filter button.is-active { background: var(--wp--preset--color--emerald); color: #fff; }

.chart-list, .award-list { list-style: none; margin: 0; padding: 0; }
.chart-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; }
.chart-list li {
    display: flex; align-items: center; gap: 18px;
    padding: 14px 4px; border-bottom: 1px solid rgba(199, 138, 43, 0.35);
    font-size: 1.25rem; line-height: 1.35;
}
.chart-list li[hidden], .award-list li[hidden] { display: none; }
.chart-list .rank {
    flex: none; min-width: 58px; text-align: center;
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif; font-size: 1.1rem;
    padding: 5px 10px; border-radius: var(--jobim-btn-radius);
}
.chart-list .rank-one { background: #7a4a0a; color: #fff; }
.chart-list .rank-other { border: 1.5px solid #7a4a0a; color: #7a4a0a; }

.award-list li {
    display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; align-items: center; gap: 8px 20px;
    padding: 14px 16px; border-bottom: 1px solid rgba(199, 138, 43, 0.35);
    font-size: 1.25rem; line-height: 1.4;
}
.award-list li.no-year { grid-template-columns: minmax(0, 1fr) auto; }
.award-list li.is-win { background: rgba(199, 138, 43, 0.14); border-left: 4px solid #7a4a0a; padding-left: 12px; }
.award-list .year { font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif; font-size: 1.3rem; color: #7a4a0a; }
.award-badge {
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif; font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase;
    padding: 4px 12px; border-radius: var(--jobim-btn-radius); white-space: nowrap;
}
.badge-win { background: #7a4a0a; color: #fff; }
.badge-nom { border: 1.5px solid rgba(15, 42, 31, 0.45); color: var(--wp--preset--color--ink); opacity: 0.8; }

.album-link { color: var(--wp--preset--color--emerald); text-decoration: none; border-bottom: 1px solid rgba(20, 102, 74, 0.4); transition: color 0.2s ease, border-color 0.2s ease; }
.album-link:hover { color: #7a4a0a; border-color: #7a4a0a; }

.about-cta { margin-bottom: 20px; }

@media (max-width: 800px) {
    .chart-list { grid-template-columns: 1fr; }
    .award-list li { grid-template-columns: 60px minmax(0, 1fr); }
    .award-list li .award-badge { grid-column: 2; justify-self: start; }
    .award-list li.no-year { grid-template-columns: minmax(0, 1fr); }
    .award-list li.no-year .award-badge { grid-column: 1; }
}
.about-tabpanel .bio-body { margin-top: 18px; padding-top: 22px; border-top: 1px solid rgba(199, 138, 43, 0.4); }

/* About tabs: explanatory line + two-line tabs (name + reading time) */
.about-tabs-intro {
    margin: 0 0 14px;
    font-family: var(--wp--preset--font-family--source-sans), Georgia, serif;
    font-style: normal; font-size: 1.3rem; line-height: 1.4; color: var(--wp--preset--color--ink); opacity: 0.85;
}

/* =============================================================================
   PAGE TITLES — one size and spacing on every page (matches the block-template pages)
============================================================================= */
.post-type-archive-discography .entry-header,
.single-discography .entry-header { margin-top: 24px; }
.post-type-archive-discography h2.wp-block-post-title,
.single-discography .entry-header h2.wp-block-post-title {
    font-size: 40px !important;
    line-height: 1.1;
    margin: 0 !important;
    padding: 0 !important;
}
/* same gap below the title as the block pages: 24px, spacer, 24px */
.post-type-archive-discography .entry-header + .wp-block-spacer,
.single-discography .entry-header + .wp-block-spacer { margin-top: 24px; }
.post-type-archive-discography .entry-header + .wp-block-spacer + *,
.single-discography .entry-header + .wp-block-spacer + * { margin-top: 24px; }
.post-type-archive-discography .entry-header,
.single-discography .entry-header { margin-top: 0; }
.post-type-archive-discography #music,
.single-discography #music { padding-top: 0 !important; }
.post-type-archive-discography .entry-header + .wp-block-spacer + h3.wp-block-post-title { margin-top: 24px !important; }

/* =============================================================================
   CONTACT — prominent unsolicited-music notice + booking cards
============================================================================= */
.contact-notice {
    position: relative;
    max-width: var(--jobim-container);
    margin: 0 auto;
    padding: 52px 56px 48px;
    text-align: center;
    color: var(--wp--preset--color--cream);
    background: var(--wp--preset--color--emerald);
    border-radius: var(--jobim-img-radius);
    box-shadow: 0 14px 34px rgba(20, 102, 74, 0.28), inset 0 0 0 2px rgba(240, 220, 170, 0.55);
}
.contact-notice .contact-notice-kicker {
    margin: 0 0 14px;
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: 1.05rem; letter-spacing: 0.28em; text-transform: uppercase; color: #e8c27a;
}
.contact-notice h2.contact-notice-title {
    margin: 0 auto 18px; max-width: 820px;
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: clamp(1.7rem, 3.2vw, 2.5rem) !important; line-height: 1.25; letter-spacing: 0.01em; font-weight: 400;
    color: var(--wp--preset--color--cream) !important;
}
.contact-notice .contact-notice-text {
    margin: 0 auto; max-width: 700px;
    font-size: 1.5rem; line-height: 1.5; font-style: normal; color: rgba(240, 230, 210, 0.95);
}

.contact-bookings { max-width: var(--jobim-container); margin: 0 auto; }
.contact-grid {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 40px;
}
.contact-card {
    padding: 34px 32px 30px; text-align: center;
    background: rgba(255, 255, 255, 0.38);
    border: 1px solid rgba(199, 138, 43, 0.35);
    border-top: 3px solid var(--wp--preset--color--gold);
    border-radius: var(--jobim-img-radius);
    box-shadow: var(--jobim-img-shadow);
}
.contact-card > * { margin-block: 0; }
.contact-card .contact-region {
    margin-bottom: 10px;
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: 1rem; letter-spacing: 0.16em; text-transform: uppercase; color: #7a4a0a;
}
.contact-card h3.contact-company {
    margin-bottom: 14px;
    font-family: var(--wp--preset--font-family--playfair-sc), Georgia, serif;
    font-size: 1.7rem !important; line-height: 1.2; font-weight: 400; color: var(--wp--preset--color--ink) !important;
}
.contact-card .contact-person { margin-bottom: 8px; font-size: 1.4rem; }
.contact-card .contact-details { font-size: 1.3rem; line-height: 1.7; }
.contact-card .contact-details a { color: var(--wp--preset--color--emerald); text-decoration: none; border-bottom: 1px solid rgba(20, 102, 74, 0.35); transition: color 0.2s ease, border-color 0.2s ease; word-break: break-word; }
.contact-card .contact-details a:hover { color: #7a4a0a; border-color: #7a4a0a; }

@media (max-width: 800px) {
    .contact-notice { padding: 40px 26px 36px; }
    .contact-notice .contact-notice-text { font-size: 1.3rem; }
    .contact-grid { grid-template-columns: 1fr; gap: 20px; }
}
.contact-notice { max-width: var(--jobim-container); }
.contact-grid > * { margin-block: 0 !important; }
.contact-grid { align-items: stretch; }

/* Contact notice: slightly smaller (still the focal point) */
.contact-notice { padding: 34px 40px 32px; max-width: var(--jobim-container); }
.contact-notice .contact-notice-kicker { font-size: 0.95rem; margin-bottom: 10px; }
.contact-notice h2.contact-notice-title { font-size: clamp(1.4rem, 2.4vw, 1.9rem) !important; margin-bottom: 12px; max-width: 760px; }
.contact-notice .contact-notice-text { font-size: 1.25rem; max-width: 640px; }
@media (max-width: 800px) { .contact-notice { padding: 28px 22px 26px; } .contact-notice .contact-notice-text { font-size: 1.15rem; } }
.contact-notice { max-width: var(--jobim-container); }

/* =============================================================================
   SCROLL REVEAL
   Hidden state is applied only when html.has-reveal is set (head script) and the
   element hasn't been revealed yet. Reveal is a CSS *animation* (backwards fill),
   so after it ends the element returns to its own styles and hover effects work.
   Keep the selector list in sync with assets/js/reveal.js.
============================================================================= */
html.has-reveal :is(
    h2.wp-block-post-title,
    h3.wp-block-post-title,
    .entry-content > :not(.wp-block-spacer):not(.contact-bookings):not(.about-section),
    .contact-bookings > h2,
    .about-section > h2,
    .release-nav,
    .release-press > h3,
    .music-left,
    .music-right,
    .jobim-footer-title,
    .wp-site-blocks .wp-block-social-links,
    .music-grid > div,
    .yt-gallery-item,
    .wp-block-gallery.has-nested-images figure.wp-block-image,
    .contact-card,
    .release-press-card,
    .chart-list li,
    .award-list li,
    .about-facts li
):not(.el-in) { opacity: 0; }

html.has-reveal .el-in {
    animation: el-reveal-up 0.85s cubic-bezier(0.22, 1, 0.36, 1) backwards;
    animation-delay: var(--reveal-delay, 0ms);
}
html.has-reveal .el-in.reveal-pop {
    animation-name: el-reveal-pop;
    animation-duration: 0.7s;
}
@keyframes el-reveal-up  { from { opacity: 0; transform: translateY(28px); } }
@keyframes el-reveal-pop { from { opacity: 0; transform: translateY(22px) scale(0.965); } }

/* Never leave content hidden: failsafe and reduced motion */
html.reveal-failsafe :is(
    h2.wp-block-post-title, h3.wp-block-post-title,
    .entry-content > *, .contact-bookings > h2, .about-section > h2, .release-nav, .release-press > h3,
    .music-left, .music-right, .jobim-footer-title, .wp-site-blocks .wp-block-social-links,
    .music-grid > div, .yt-gallery-item, .wp-block-gallery.has-nested-images figure.wp-block-image,
    .contact-card, .release-press-card, .chart-list li, .award-list li, .about-facts li
) { opacity: 1 !important; }
@media (prefers-reduced-motion: reduce) {
    html.has-reveal .el-in { animation: none !important; }
}

/* About: more breathing room between the intro stats and the bios */
.about-intro { margin-bottom: 64px; }
@media (max-width: 800px) { .about-intro { margin-bottom: 40px; } }

/* Video play buttons: slightly smaller */
.yt-gallery-play svg { width: 68px; height: 68px; }
@media (max-width: 700px) { .yt-gallery-play svg { width: 52px; height: 52px; } }

/* =============================================================================
   HOME — Press in an emerald panel (same treatment as the Contact notice)
============================================================================= */
.home-press {
    max-width: var(--jobim-container);
    margin-left: auto; margin-right: auto;
    padding: 48px 56px 40px;
    background: var(--wp--preset--color--emerald);
    border-radius: var(--jobim-img-radius);
    box-shadow: 0 14px 34px rgba(20, 102, 74, 0.28), inset 0 0 0 2px rgba(240, 220, 170, 0.55);
    color: var(--wp--preset--color--cream);
}
.home-press > h2.wp-block-heading {
    margin: 0 0 18px; color: #e8c27a !important; text-align: center;
}
.home-press .press-carousel { max-width: 900px; padding-top: 8px; }
.home-press .press-carousel .press-carousel-quote p { color: var(--wp--preset--color--cream); }
.home-press .press-carousel .press-carousel-attr,
.home-press .press-carousel .press-carousel-attr a { color: #e8c27a; }
.home-press .press-carousel .press-carousel-attr a:hover { border-color: #e8c27a; }
.home-press .press-carousel .press-carousel-btn { border-color: #e8c27a; color: #e8c27a; }
.home-press .press-carousel .press-carousel-btn:hover,
.home-press .press-carousel .press-carousel-btn:focus-visible { background: #e8c27a; color: var(--wp--preset--color--emerald); }
.home-press .press-carousel .press-carousel-dot { background: rgba(240, 230, 210, 0.35); }
.home-press .press-carousel .press-carousel-dot.is-active { background: #e8c27a; }
@media (max-width: 800px) { .home-press { padding: 34px 22px 30px; } }

/* =============================================================================
   PHONES — consistent vertical rhythm
   The large inline spacers (100–120px) between homepage sections stack up on
   small screens (e.g. around the video, and again above the footer), so scale
   them down to one consistent gap.
============================================================================= */
@media (max-width: 781px) {
    .wp-block-spacer[style*="height:100px"],
    .wp-block-spacer[style*="height:120px"] { height: 48px !important; }
    .wp-block-spacer[style*="height:50px"] { height: 32px !important; }
}

/* =============================================================================
   ABOUT — intro (kicker, tagline, stats) in the emerald panel
   (same treatment as the Contact notice and the Home press panel)
============================================================================= */
.about-intro {
    padding: 48px 56px 44px;
    background: var(--wp--preset--color--emerald);
    border-radius: var(--jobim-img-radius);
    box-shadow: 0 14px 34px rgba(20, 102, 74, 0.28), inset 0 0 0 2px rgba(240, 220, 170, 0.55);
    color: var(--wp--preset--color--cream);
}
.about-intro .about-kicker { color: rgba(240, 230, 210, 0.95); opacity: 1; }
.about-intro .about-tagline { color: #e8c27a; }
.about-intro .about-facts { border-top-color: rgba(232, 194, 122, 0.55); }
.about-intro .about-facts .fact-num { color: #e8c27a; }
.about-intro .about-facts .fact-label { color: var(--wp--preset--color--cream); }
@media (max-width: 800px) { .about-intro { padding: 34px 22px 30px; } }

/* Tour dates: any widget text not styled above (messages, follow/request blurbs, details)
   falls back to the site ink colour instead of the widget's light default. The specific
   date / venue / location / button rules above still win on specificity. */
.bit-widget,
.bit-widget div,
.bit-widget span,
.bit-widget p,
.bit-widget a,
.bit-widget h1, .bit-widget h2, .bit-widget h3, .bit-widget h4 { color: var(--wp--preset--color--ink) !important; }

/* Tour dates: lock colours with extra specificity so the widget's own text colour
   (set in the page as a light #e8e4e0) can never win. */
html body .bit-widget .bit-event .bit-location,
html body .bit-widget .bit-event .bit-location *,
html body .bit-widget .bit-event [class*="bit-location"],
html body .bit-widget .bit-event [class*="bit-location"] *,
html body .bit-widget .bit-event .bit-card-city {
    color: var(--wp--preset--color--emerald) !important;
    -webkit-text-fill-color: var(--wp--preset--color--emerald) !important;
    opacity: 1 !important;
}
html body .bit-widget .bit-event .bit-venue,
html body .bit-widget .bit-event .bit-venue *,
html body .bit-widget .bit-event .bit-card-venue {
    color: var(--wp--preset--color--ink) !important;
    -webkit-text-fill-color: var(--wp--preset--color--ink) !important;
}
html body .bit-widget .bit-event .bit-date,
html body .bit-widget .bit-event .bit-mobile-date,
html body .bit-widget .bit-event .bit-date * {
    color: #7a4a0a !important;
    -webkit-text-fill-color: #7a4a0a !important;
}

/* Tour dates: larger city / country column */
html body .bit-widget .bit-event .bit-location,
html body .bit-widget .bit-event .bit-location *,
html body .bit-widget .bit-event [class*="bit-location"],
html body .bit-widget .bit-event [class*="bit-location"] *,
html body .bit-widget .bit-location-under-mobile { font-size: 1.3rem !important; line-height: 1.3 !important; }
@media (max-width: 700px) {
    html body .bit-widget .bit-event .bit-location,
    html body .bit-widget .bit-event .bit-location *,
    html body .bit-widget .bit-event [class*="bit-location"],
    html body .bit-widget .bit-event [class*="bit-location"] *,
    html body .bit-widget .bit-location-under-mobile { font-size: 1.2rem !important; }
}

/* =============================================================================
   READABILITY (client feedback): Body copy is now Source Sans (serif only for headings); give body
   text and the tour widget more weight and size. Ink is now a deep green-black.
============================================================================= */
body { font-weight: 400; -webkit-font-smoothing: antialiased; }
html body .bit-widget, html body .bit-widget * { font-weight: 500 !important; }
html body .bit-widget .bit-event .bit-date,
html body .bit-widget .bit-event .bit-date * { font-size: 1.3rem !important; }
html body .bit-widget .bit-event .bit-venue,
html body .bit-widget .bit-event .bit-venue * { font-size: 1.25rem !important; }
@media (max-width: 700px) {
    body { font-size: 19px; }
    html body .bit-widget .bit-event .bit-date,
    html body .bit-widget .bit-event .bit-mobile-date,
    html body .bit-widget .bit-event .bit-date * { font-size: 1.35rem !important; }
    html body .bit-widget .bit-event .bit-venue,
    html body .bit-widget .bit-event .bit-venue * { font-size: 1.25rem !important; }
}
html body .bit-widget .bit-event .bit-date,
html body .bit-widget .bit-event .bit-mobile-date { font-weight: 700 !important; }

/* =============================================================================
   HOME STORE — two-up product row under the promo
============================================================================= */
.home-store { padding: 80px 24px 90px; }
.home-store-grid { gap: 40px !important; align-items: flex-start; }
.home-store-item .wp-block-image { margin: 0 0 20px; }
.home-store-item .wp-block-image img { width: 100%; height: auto; display: block; }
.home-store-item h3 { margin: 0 0 18px; font-size: 1.5rem; line-height: 1.2; }
@media (max-width: 781px) { .home-store { padding: 48px 20px 56px; } .home-store-grid { gap: 48px !important; } }

/* Mobile: breathing room between the cover and "The New Album" */
@media (max-width: 781px) {
    .home .jobim-hero .wp-block-media-text__content { padding-top: 28px !important; }
}
