/* ==========================================================================
   Bohemian Museum — El Mundo ante un Niño
   Sistema visual: Sacred Curator (institutional-editorial)
   Trabaja sobre el markup nativo de Gutenberg (Cover, Group, Columns, Image).
   ========================================================================== */

/* --- Design tokens ------------------------------------------------------- */
:root {
    --bm-surface: #fff8f7;
    --bm-surface-dim: #ecd5d2;
    --bm-surface-container-lowest: #ffffff;
    --bm-surface-container-low: #fff0ef;
    --bm-surface-container: #ffe9e7;
    --bm-surface-container-high: #fae3e0;
    --bm-surface-variant: #f4dddb;
    --bm-on-surface: #251917;
    --bm-on-surface-variant: #58413f;
    --bm-outline: #8b716e;
    --bm-outline-variant: #dfbfbc;
    --bm-outline-muted: #8C716E;
    --bm-primary: #410003;
    --bm-primary-container: #690008;
    --bm-on-primary: #ffffff;
    --bm-on-primary-container: #f76c64;
    --bm-tertiary: #6c5e06;
    --bm-tertiary-container: #bdac52;
    --bm-tertiary-fixed: #f6e383;
    --bm-vellum-gray: #E5E0DB;
    --bm-sage-green: #7A846E;
    --bm-ink-black: #1A1A1A;

    --bm-font-serif: 'Playfair Display', Georgia, serif;
    --bm-font-sans: 'Montserrat', -apple-system, Segoe UI, Arial, sans-serif;

    --bm-fs-display-lg: 64px;
    --bm-fs-headline-lg: 48px;
    --bm-fs-headline-md: 32px;
    --bm-fs-headline-sm: 24px;
    --bm-fs-body-lg: 18px;
    --bm-fs-body-md: 16px;
    --bm-fs-label: 12px;

    --bm-gutter: 2rem;
    --bm-margin-safe: 5vw;
    --bm-section-gap: 8rem;
    --bm-rule: 1px;
    --bm-max: 1440px;
}

@media (max-width: 768px) {
    :root {
        --bm-section-gap: 4rem;
        --bm-fs-display-lg: 44px;
        --bm-fs-headline-lg: 36px;
        --bm-fs-headline-md: 26px;
    }
}

/* --- Base + neutralización wrapper padre -------------------------------- */
body.bm-page {
    background: var(--bm-surface);
    color: var(--bm-on-surface);
    font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-body-md);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    margin: 0;
}
body.bm-page ::selection { background: var(--bm-surface-dim); color: var(--bm-primary); }

body.bm-page .site,
body.bm-page .site-main,
body.bm-page main.site-main,
body.bm-page .page-content,
body.bm-page .entry-content {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.bm-page .site-header,
body.bm-page .site-footer,
body.bm-page .entry-header,
body.bm-page .entry-title { display: none !important; }

body.bm-page img { max-width: 100%; height: auto; display: block; }
body.bm-page a { color: inherit; text-decoration: none; }
body.bm-page a:hover { text-decoration: none; }

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    vertical-align: middle;
}

/* --- Utilidades --------------------------------------------------------- */
.bm-page .bm-label {
    font-family: var(--bm-font-sans) !important;
    font-size: var(--bm-fs-label) !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
}

/* ==========================================================================
   NAVBAR (chrome, inyectada por PHP)
   ========================================================================== */
.bm-nav {
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    z-index: 1000;
    background: rgba(255, 248, 247, 0.8);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--bm-outline-variant);
}
.bm-nav__inner {
    max-width: var(--bm-max);
    margin: 0 auto;
    padding: 1rem var(--bm-gutter);
    display: flex; justify-content: space-between; align-items: center; gap: 2rem;
}
.bm-nav__brand {
    font-family: var(--bm-font-serif);
    font-size: var(--bm-fs-headline-md);
    font-weight: 600;
    color: var(--bm-primary);
    letter-spacing: -0.01em;
    line-height: 1.2;
}
.bm-nav__links { display: flex; align-items: center; gap: 2rem; }
.bm-nav__link {
    font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-label);
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--bm-on-surface-variant);
    padding-bottom: 4px;
    transition: color .2s;
}
.bm-nav__link:hover { color: var(--bm-primary); }
.bm-nav__link.is-active { color: var(--bm-primary); border-bottom: 2px solid var(--bm-primary); }
.bm-nav__actions { display: flex; align-items: center; gap: 1.5rem; }
.bm-nav__lang {
    font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-label);
    font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase;
    color: var(--bm-on-surface-variant);
}
.bm-nav__cta {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .75rem 1.5rem;
    background: var(--bm-primary); color: var(--bm-on-primary);
    font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-label);
    font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase;
    transition: background .2s, color .2s;
}
.bm-nav__cta:hover { background: var(--bm-primary-container); color: var(--bm-on-primary-container); }
.bm-nav__cta .material-symbols-outlined { font-size: 18px; transition: transform .2s; }
.bm-nav__cta:hover .material-symbols-outlined { transform: translateX(4px); }
.bm-nav__burger { display: none; background: none; border: 0; color: var(--bm-primary); cursor: pointer; padding: 0; }
.bm-nav__burger .material-symbols-outlined { font-size: 24px; }

/* Que nada se parta en dos líneas */
.bm-nav__brand, .bm-nav__link, .bm-nav__lang, .bm-nav__cta { white-space: nowrap; }
.bm-nav__brand { font-size: clamp(22px, 2vw, 32px); }
.bm-nav__links { gap: clamp(1rem, 1.6vw, 2rem); }
@media (max-width: 1240px) {
    .bm-nav__lang { display: none; }
}

/* Menú móvil (hasta 900 px) */
@media (max-width: 900px) {
    .bm-nav__burger { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
    .bm-nav__burger .material-symbols-outlined { font-size: 28px; }
    .bm-nav__links, .bm-nav__actions { display: none; }
    .bm-nav.is-open { background: var(--bm-surface); }
    .bm-nav.is-open .bm-nav__inner { flex-wrap: wrap; }
    .bm-nav.is-open .bm-nav__links {
        display: flex; flex-direction: column; align-items: stretch; gap: 0;
        order: 3; width: 100%; padding: .5rem 0 0; border-top: 1px solid var(--bm-outline-variant);
    }
    .bm-nav.is-open .bm-nav__link {
        font-size: 15px; padding: 1.05rem 0; border-bottom: 1px solid var(--bm-outline-variant);
    }
    .bm-nav.is-open .bm-nav__link.is-active { border-bottom: 1px solid var(--bm-outline-variant); box-shadow: inset 3px 0 0 var(--bm-primary); padding-left: .9rem; }
    .bm-nav.is-open .bm-nav__actions { display: flex; order: 4; width: 100%; padding: 1.25rem 0 1.5rem; justify-content: space-between; }
    .bm-nav.is-open .bm-nav__lang { display: inline; }
    .bm-nav.is-open .bm-nav__cta { flex: 1; justify-content: center; margin-left: 1rem; }
    html.bm-menu-open, html.bm-menu-open body { overflow: hidden; }
    .bm-nav.is-open { max-height: 100vh; overflow-y: auto; box-shadow: 0 20px 40px rgba(26,26,26,.15); }
}

/* ==========================================================================
   HERO — Cover block con className .bm-hero
   ========================================================================== */
.bm-page .wp-block-cover.bm-hero {
    min-height: 100vh !important;
    padding: 6rem 2rem 4rem !important;
    background: var(--bm-ink-black);
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    position: relative;
}
/* Imagen de fondo del Cover — la aplicamos con mix-blend para el efecto terciopelo */
.bm-page .wp-block-cover.bm-hero .wp-block-cover__image-background {
    opacity: 0.55;
    mix-blend-mode: overlay;
}
/* Overlay dim de Cover — lo suplimos con nuestro gradiente vertical */
.bm-page .wp-block-cover.bm-hero .wp-block-cover__background {
    background: linear-gradient(to top, var(--bm-ink-black) 0%, rgba(26,26,26,0.55) 55%, rgba(26,26,26,0.2) 100%) !important;
    opacity: 1 !important;
}
.bm-page .wp-block-cover.bm-hero .wp-block-cover__inner-container {
    max-width: 900px;
    margin: 0 auto;
    width: 100%;
}
.bm-page .wp-block-cover.bm-hero .bm-hero__kicker {
    color: rgba(229, 224, 219, 0.85) !important;
    letter-spacing: 0.2em !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
    margin: 0 0 1.5rem !important;
}
.bm-page .wp-block-cover.bm-hero .bm-hero__title {
    font-family: var(--bm-font-serif) !important;
    font-size: clamp(44px, 8vw, 80px) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: #fff !important;
    text-shadow: 0 4px 16px rgba(0,0,0,0.5);
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
}
.bm-page .wp-block-cover.bm-hero .bm-hero__title::after {
    content: '';
    display: block;
    width: 6rem;
    height: 1px;
    background: rgba(140,113,110,0.6);
    margin: 1.5rem auto;
}
.bm-page .wp-block-cover.bm-hero .bm-hero__subtitle {
    font-family: var(--bm-font-serif) !important;
    font-size: clamp(20px, 3vw, 28px) !important;
    font-weight: 500 !important;
    font-style: italic !important;
    color: var(--bm-vellum-gray) !important;
    line-height: 1.4 !important;
    margin: 0 0 3rem !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.bm-page .wp-block-cover.bm-hero .bm-hero__meta-line {
    color: rgba(229, 224, 219, 0.9) !important;
    letter-spacing: 0.15em !important;
    margin: 0 !important;
}

/* ==========================================================================
   INTRO — La Colección (Group + Columns + Image)
   ========================================================================== */
.bm-page .bm-intro {
    padding: var(--bm-section-gap) var(--bm-margin-safe) !important;
    background: var(--bm-surface) !important;
    max-width: none !important;
    width: 100% !important;
}
.bm-page .bm-intro > .wp-block-columns,
.bm-page .bm-intro .bm-intro__cols {
    max-width: 1200px !important;
    margin: 0 auto !important;
    gap: 3rem !important;
}
.bm-page .bm-intro .bm-intro__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-lg) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: var(--bm-primary) !important;
    margin: 0 0 1.5rem !important;
}
.bm-page .bm-intro .bm-intro__rule {
    border: 0 !important;
    border-top: 1px solid var(--bm-outline-variant) !important;
    background: transparent !important;
    margin: 0 0 2rem !important;
    height: 1px !important;
    opacity: 1 !important;
}
.bm-page .bm-intro .bm-intro__body {
    font-size: var(--bm-fs-body-lg) !important;
    line-height: 1.6 !important;
    color: var(--bm-on-surface-variant) !important;
    margin: 0 0 1.5rem !important;
}
.bm-page .bm-intro .bm-intro__figure {
    padding: 1rem !important;
    border: 1px solid var(--bm-outline-variant) !important;
    background: var(--bm-surface-container-low) !important;
    margin: 0 !important;
    overflow: hidden;
}
.bm-page .bm-intro .bm-intro__figure img {
    width: 100% !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    filter: saturate(0.75) contrast(1.15);
    transition: transform .7s ease;
    display: block;
}
.bm-page .bm-intro .bm-intro__figure:hover img { transform: scale(1.03); }

/* Link con flecha en párrafo */
.bm-page .bm-link-arrow-wrap {
    margin: 1rem 0 0 !important;
}
.bm-page .bm-link-arrow-wrap a {
    color: var(--bm-primary) !important;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}
.bm-page .bm-link-arrow-wrap--underline a {
    border-bottom: 1px solid var(--bm-primary);
    padding-bottom: 4px;
}

/* ==========================================================================
   BENTO SECTION
   ========================================================================== */
.bm-page .bm-bento-section {
    padding: var(--bm-section-gap) var(--bm-margin-safe) !important;
    background: var(--bm-surface-container-lowest) !important;
    border-top: 1px solid var(--bm-outline-variant) !important;
    max-width: none !important;
    width: 100% !important;
}
.bm-page .bm-bento-section__head {
    max-width: 640px !important;
    margin: 0 auto 4rem !important;
    text-align: center;
}
.bm-page .bm-bento-section .bm-bento-section__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-lg) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: var(--bm-primary) !important;
    margin: 0 0 1rem !important;
}
.bm-page .bm-bento-section .bm-bento-section__rule {
    border: 0 !important;
    border-top: 1px solid var(--bm-outline-variant) !important;
    width: 4rem !important;
    margin: 0 auto 1.5rem !important;
    opacity: 1 !important;
    height: 1px !important;
    background: transparent !important;
}
.bm-page .bm-bento-section .bm-bento-section__lead {
    color: var(--bm-on-surface-variant) !important;
    font-size: var(--bm-fs-body-md) !important;
    margin: 0 !important;
}

/* Grid Bento — Group con layout default */
.bm-page .bm-bento {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-auto-rows: 300px !important;
    gap: 1rem !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* Cada tarjeta — Cover block */
.bm-page .bm-bento .bm-bento__card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--bm-outline-variant);
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
}
.bm-page .bm-bento .bm-bento__card--wide { grid-column: span 2; grid-row: span 2; }
.bm-page .bm-bento .bm-bento__card--full {
    grid-column: span 2;
    background: var(--bm-surface-container-high);
    padding: 2rem !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    border: 1px solid var(--bm-outline-variant);
}

/* Imagen de fondo dentro del Cover */
.bm-page .bm-bento .wp-block-cover.bm-bento__card .wp-block-cover__image-background {
    transition: transform .7s ease;
}
.bm-page .bm-bento .wp-block-cover.bm-bento__card:hover .wp-block-cover__image-background {
    transform: scale(1.05);
}
.bm-page .bm-bento .wp-block-cover.bm-bento__card .wp-block-cover__background {
    background: linear-gradient(to top, rgba(26,26,26,0.9) 0%, rgba(26,26,26,0.3) 55%, transparent 100%) !important;
    opacity: 1 !important;
}
.bm-page .bm-bento .wp-block-cover.bm-bento__card .wp-block-cover__inner-container {
    align-self: flex-end;
    width: 100%;
    padding: 1.5rem;
    color: #fff;
}
.bm-page .bm-bento .wp-block-cover.bm-bento__card--wide .wp-block-cover__inner-container {
    padding: 2rem;
}

.bm-page .bm-bento .bm-bento__room {
    color: rgba(229,224,219,0.7) !important;
    margin: 0 0 .5rem !important;
    display: block;
}
.bm-page .bm-bento .bm-bento__card--wide .bm-bento__room { color: var(--bm-tertiary-fixed) !important; }
.bm-page .bm-bento .bm-bento__title {
    font-family: var(--bm-font-serif) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #fff !important;
    margin: 0 0 .5rem !important;
    font-size: var(--bm-fs-headline-sm) !important;
}
.bm-page .bm-bento .bm-bento__card--wide .bm-bento__title { font-size: var(--bm-fs-headline-md) !important; }
.bm-page .bm-bento .bm-bento__desc {
    font-size: var(--bm-fs-body-md) !important;
    color: rgba(229,224,219,0.85) !important;
    margin: 0 !important;
}

/* Card de texto (Group con --full) */
.bm-page .bm-bento .bm-bento__card--full .bm-label {
    color: rgba(65,0,3,0.7) !important;
    margin: 0 0 1rem !important;
}
.bm-page .bm-bento .bm-bento__card--full .bm-bento__title-dark {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-md) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: var(--bm-on-surface) !important;
    margin: 0 0 1rem !important;
}
.bm-page .bm-bento .bm-bento__card--full .bm-bento__desc-dark {
    font-size: var(--bm-fs-body-md) !important;
    color: var(--bm-on-surface-variant) !important;
    margin: 0 0 1.5rem !important;
}

@media (max-width: 1024px) {
    .bm-page .bm-bento { grid-template-columns: repeat(2, 1fr) !important; }
    .bm-page .bm-bento .bm-bento__card--wide { grid-column: span 2; grid-row: span 1; }
    .bm-page .bm-bento .bm-bento__card--full { grid-column: span 2; }
}
@media (max-width: 640px) {
    .bm-page .bm-bento { grid-template-columns: 1fr !important; }
    .bm-page .bm-bento .bm-bento__card--wide,
    .bm-page .bm-bento .bm-bento__card--full { grid-column: span 1; }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.bm-footer {
    margin-top: var(--bm-section-gap);
    background: var(--bm-ink-black);
    border-top: 1px solid rgba(140,113,110,0.3);
    color: var(--bm-vellum-gray);
}
.bm-footer__inner {
    max-width: var(--bm-max);
    margin: 0 auto;
    padding: 4rem var(--bm-gutter) 3rem;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1.2fr;
    gap: 3rem;
}
.bm-footer__brand {
    font-family: var(--bm-font-serif);
    font-size: var(--bm-fs-headline-md);
    font-weight: 600;
    color: #fff;
    line-height: 1.2;
}
.bm-footer__tagline {
    font-family: var(--bm-font-serif);
    font-style: italic;
    font-size: var(--bm-fs-body-md);
    color: var(--bm-vellum-gray);
    margin: .5rem 0 1.5rem;
    opacity: .85;
}
.bm-footer__org {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(229,224,219,0.7);
    margin: 0;
}
.bm-footer__org strong { color: var(--bm-tertiary-fixed); font-weight: 500; }

.bm-footer__title {
    font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-label);
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #fff;
    margin: 0 0 1.25rem;
}
.bm-footer__nav { display: flex; flex-direction: column; gap: .6rem; }
.bm-footer__nav a {
    color: rgba(229,224,219,0.75);
    font-size: var(--bm-fs-body-md);
    transition: color .2s;
    width: fit-content;
}
.bm-footer__nav a:hover { color: var(--bm-tertiary-fixed); }

.bm-footer__contact p {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(229,224,219,0.75);
    margin: 0 0 .9rem;
}
.bm-footer__contact .material-symbols-outlined {
    font-size: 18px;
    color: var(--bm-tertiary-fixed);
    flex-shrink: 0;
    margin-top: 1px;
}
.bm-footer__contact a { color: rgba(229,224,219,0.9); text-decoration: underline; text-underline-offset: 3px; }
.bm-footer__contact a:hover { color: var(--bm-tertiary-fixed); }

.bm-footer__social {
    display: flex;
    gap: .75rem;
    margin-top: 1.5rem;
}
.bm-footer__social a {
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid rgba(140,113,110,0.4);
    color: var(--bm-vellum-gray);
    transition: all .2s;
}
.bm-footer__social a:hover {
    background: var(--bm-tertiary-fixed);
    color: var(--bm-ink-black);
    border-color: var(--bm-tertiary-fixed);
}
.bm-footer__social .material-symbols-outlined { font-size: 20px; }

.bm-footer__bottom {
    max-width: var(--bm-max);
    margin: 0 auto;
    padding: 1.5rem var(--bm-gutter);
    border-top: 1px solid rgba(140,113,110,0.25);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}
.bm-footer__legal { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.bm-footer__legal a {
    color: rgba(229,224,219,0.65);
    font-size: 13px;
    transition: color .2s;
}
.bm-footer__legal a:hover { color: var(--bm-tertiary-fixed); }
.bm-footer__sep { color: rgba(140,113,110,0.5); }
.bm-footer__copy { font-size: 13px; color: rgba(229,224,219,0.5); }

@media (max-width: 900px) {
    .bm-footer__inner { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
    .bm-footer__col--brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    .bm-footer__inner { grid-template-columns: 1fr; }
    .bm-footer__bottom { flex-direction: column; text-align: center; justify-content: center; }
}

/* ==========================================================================
   PÁGINA LA EXPOSICIÓN  —  eje único 1200px, ritmo de fondos, reveal on scroll
   ========================================================================== */

/* --- Animación de aparición al hacer scroll (premium, sutil) ----------- */
.bm-page .bm-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s cubic-bezier(.2,.6,.2,1), transform .7s cubic-bezier(.2,.6,.2,1);
    will-change: opacity, transform;
}
.bm-page .bm-reveal.is-visible {
    opacity: 1;
    transform: none;
}
@media (prefers-reduced-motion: reduce) {
    .bm-page .bm-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* --- Contenedor común: TODAS las secciones comparten eje y padding ----- */
.bm-page .bm-expo-manifesto,
.bm-page .bm-cifras-section,
.bm-page .bm-expo-split,
.bm-page .bm-ambitos,
.bm-page .bm-impacto,
.bm-page .bm-futuro {
    padding: var(--bm-section-gap) var(--bm-margin-safe) !important;
    max-width: none !important;
    width: 100% !important;
}
.bm-page .bm-expo-manifesto > *,
.bm-page .bm-cifras-section > *,
.bm-page .bm-expo-split > .wp-block-columns,
.bm-page .bm-ambitos > *,
.bm-page .bm-impacto > .wp-block-columns,
.bm-page .bm-futuro > * {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* --- Hero -------------------------------------------------------------- */
.bm-page .wp-block-cover.bm-expo-hero {
    min-height: 68vh !important;
    padding: 4rem 2rem !important;
    align-items: center; justify-content: center; text-align: center;
    margin: 0 !important; max-width: none !important;
}
.bm-page .wp-block-cover.bm-expo-hero .wp-block-cover__background {
    background: linear-gradient(to bottom, rgba(26,26,26,0.35), rgba(26,26,26,0.72)) !important;
    opacity: 1 !important;
}
.bm-page .wp-block-cover.bm-expo-hero .bm-expo-hero__kicker {
    color: var(--bm-tertiary-fixed) !important;
    letter-spacing: 0.25em !important;
    margin: 0 0 1.25rem !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.bm-page .wp-block-cover.bm-expo-hero .bm-expo-hero__title {
    font-family: var(--bm-font-serif) !important;
    font-size: clamp(40px, 6.5vw, 68px) !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
    color: #fff !important;
    margin: 0 0 1.5rem !important;
    text-shadow: 0 4px 20px rgba(0,0,0,0.5);
}
.bm-page .wp-block-cover.bm-expo-hero .bm-expo-hero__lead {
    font-family: var(--bm-font-serif) !important;
    font-style: italic !important;
    font-size: clamp(18px, 2.5vw, 25px) !important;
    color: var(--bm-vellum-gray) !important;
    line-height: 1.4 !important;
    max-width: 640px; margin: 0 auto !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

/* --- Manifiesto (fondo crema) ----------------------------------------- */
.bm-page .bm-expo-manifesto {
    background: var(--bm-surface) !important;
    text-align: center;
}
.bm-page .bm-expo-manifesto > * { max-width: 860px !important; }
.bm-page .bm-expo-manifesto__kicker {
    color: var(--bm-outline-muted) !important;
    letter-spacing: 0.25em !important;
    margin: 0 0 1.5rem !important;
}
.bm-page .bm-expo-manifesto__title {
    font-family: var(--bm-font-serif) !important;
    font-size: clamp(28px, 4vw, 40px) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: var(--bm-primary) !important;
    margin: 0 0 1.75rem !important;
    text-wrap: balance;
}
.bm-page .bm-expo-manifesto__body {
    font-size: var(--bm-fs-body-lg) !important;
    line-height: 1.7 !important;
    color: var(--bm-on-surface-variant) !important;
    margin: 0 !important;
}

/* --- Cifras (fondo crema oscuro, contraste de ritmo) ------------------ */
.bm-page .bm-cifras-section {
    background: var(--bm-surface-container-low) !important;
    border-top: 1px solid var(--bm-outline-variant);
    border-bottom: 1px solid var(--bm-outline-variant);
}

/* --- Split (fondo blanco) --------------------------------------------- */
.bm-page .bm-expo-split {
    background: var(--bm-surface-container-lowest) !important;
}
.bm-page .bm-expo-split > .wp-block-columns { gap: 4rem !important; align-items: center !important; }
.bm-page .bm-expo-split__figure {
    margin: 0 !important; padding: 1rem !important;
    border: 1px solid var(--bm-outline-variant) !important;
    background: var(--bm-surface-container) !important;
    overflow: hidden;
}
.bm-page .bm-expo-split__figure img { width: 100% !important; aspect-ratio: 4/3; object-fit: cover; display: block; }
.bm-page .bm-expo-split__kicker { color: var(--bm-outline-muted) !important; letter-spacing:0.2em !important; margin: 0 0 1rem !important; display:block; }
.bm-page .bm-expo-split__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-lg) !important;
    font-weight: 600 !important; line-height: 1.2 !important;
    color: var(--bm-primary) !important; margin: 0 0 1.5rem !important;
}
.bm-page .bm-expo-split__body {
    font-size: var(--bm-fs-body-md) !important; line-height: 1.7 !important;
    color: var(--bm-on-surface-variant) !important; margin: 0 0 1.5rem !important;
}

/* --- Ámbitos (fondo crema) -------------------------------------------- */
.bm-page .bm-ambitos {
    background: var(--bm-surface) !important;
    border-top: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-ambitos__head { max-width: 680px !important; margin: 0 auto 3rem !important; text-align: center; }
.bm-page .bm-ambitos__kicker { color: var(--bm-outline-muted) !important; letter-spacing:0.25em !important; margin:0 0 .75rem !important; }
.bm-page .bm-ambitos__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-lg) !important;
    font-weight: 600 !important; color: var(--bm-primary) !important;
    line-height: 1.2 !important; margin: 0 0 1rem !important;
}
.bm-page .bm-ambitos__lead { color: var(--bm-on-surface-variant) !important; font-size: var(--bm-fs-body-md) !important; margin: 0 !important; }
.bm-page .bm-ambitos__grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem !important;
}
.bm-page .bm-ambitos__grid .wp-block-column { display: contents !important; }

.bm-page .bm-ambito {
    background: var(--bm-surface-container-lowest) !important;
    border: 1px solid var(--bm-outline-variant) !important;
    padding: 2rem !important;
    text-align: left;
    transition: transform .3s ease, box-shadow .3s ease;
}
.bm-page .bm-ambito:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(65,0,3,0.08);
}
.bm-page .bm-ambito__icon {
    font-family: 'Material Symbols Outlined' !important;
    font-size: 34px !important;
    color: var(--bm-primary) !important;
    margin: 0 0 1rem !important;
    line-height: 1 !important;
    font-variation-settings: 'FILL' 0, 'wght' 300;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
}
.bm-page .bm-ambito__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-sm) !important;
    font-weight: 600 !important;
    color: var(--bm-primary) !important;
    margin: 0 0 .5rem !important;
}
.bm-page .bm-ambito__body {
    font-size: var(--bm-fs-body-md) !important;
    color: var(--bm-on-surface-variant) !important;
    line-height: 1.5 !important; margin: 0 !important;
}
.bm-page .bm-ambito--wide {
    grid-column: unset;
    max-width: 1200px !important;
    margin: 1.5rem auto 0 !important;
    background: var(--bm-primary) !important;
    border-color: var(--bm-primary) !important;
}
.bm-page .bm-ambito--wide:hover { transform: none; box-shadow: none; }
.bm-page .bm-ambito--wide .bm-ambito__icon,
.bm-page .bm-ambito--wide .bm-ambito__title { color: var(--bm-tertiary-fixed) !important; }
.bm-page .bm-ambito--wide .bm-ambito__body { color: rgba(229,224,219,0.9) !important; }

/* --- Impacto (fondo blanco) ------------------------------------------- */
.bm-page .bm-impacto {
    background: var(--bm-surface-container-lowest) !important;
    border-top: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-impacto > .wp-block-columns { gap: 4rem !important; align-items: start !important; }
.bm-page .bm-impacto__kicker { color: var(--bm-outline-muted) !important; letter-spacing:0.2em !important; margin:0 0 1rem !important; display:block; }
.bm-page .bm-impacto__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-md) !important;
    font-weight: 600 !important; line-height: 1.25 !important;
    color: var(--bm-primary) !important; margin: 0 0 1.25rem !important;
}
.bm-page .bm-impacto__body {
    font-size: var(--bm-fs-body-md) !important; line-height: 1.7 !important;
    color: var(--bm-on-surface-variant) !important; margin: 0 0 1.5rem !important;
}
.bm-page .bm-impacto__quote {
    font-family: var(--bm-font-serif) !important;
    font-style: italic !important;
    font-size: var(--bm-fs-headline-sm) !important;
    line-height: 1.4 !important;
    color: var(--bm-primary) !important;
    margin: 0 !important;
    padding-left: 1.25rem;
    border-left: 2px solid var(--bm-tertiary-container);
}

/* --- Futuro (fondo crema oscuro) -------------------------------------- */
.bm-page .bm-futuro {
    background: var(--bm-surface-container-low) !important;
    border-top: 1px solid var(--bm-outline-variant);
    text-align: center;
}
.bm-page .bm-futuro > * { max-width: 820px !important; }
.bm-page .bm-futuro__kicker { color: var(--bm-outline-muted) !important; letter-spacing:0.25em !important; margin:0 0 1rem !important; }
.bm-page .bm-futuro__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-lg) !important;
    font-weight: 600 !important; color: var(--bm-primary) !important;
    line-height: 1.2 !important; margin: 0 0 1.5rem !important;
}
.bm-page .bm-futuro__body {
    font-size: var(--bm-fs-body-lg) !important; line-height: 1.7 !important;
    color: var(--bm-on-surface-variant) !important; margin: 0 0 2rem !important;
}
.bm-page .bm-futuro__quote {
    font-family: var(--bm-font-serif) !important;
    font-style: italic !important;
    font-size: var(--bm-fs-headline-sm) !important;
    color: var(--bm-primary) !important; margin: 0 !important;
}

/* --- CTA final -------------------------------------------------------- */
.bm-page .wp-block-cover.bm-expo-cta {
    min-height: 44vh !important;
    align-items: center; justify-content: center; text-align: center;
    padding: 4rem 2rem !important; margin: 0 !important; max-width: none !important;
}
.bm-page .wp-block-cover.bm-expo-cta .bm-expo-cta__title {
    font-family: var(--bm-font-serif) !important;
    font-size: clamp(26px, 4vw, 40px) !important;
    font-weight: 600 !important; line-height: 1.25 !important;
    color: #fff !important; max-width: 760px; margin: 0 auto 2rem !important;
    text-wrap: balance;
}
.bm-page .wp-block-cover.bm-expo-cta .bm-expo-cta__actions { margin: 0 0 1.5rem !important; }
.bm-page .wp-block-cover.bm-expo-cta .bm-expo-cta__btn {
    display: inline-block;
    padding: .95rem 2.25rem;
    font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-label);
    font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase;
    margin: .4rem;
    transition: all .2s;
}
.bm-page .wp-block-cover.bm-expo-cta .bm-expo-cta__btn--primary {
    background: var(--bm-tertiary-fixed) !important;
    color: var(--bm-primary) !important;
}
.bm-page .wp-block-cover.bm-expo-cta .bm-expo-cta__btn--primary:hover { background: #fff !important; color: var(--bm-primary) !important; }
.bm-page .wp-block-cover.bm-expo-cta .bm-expo-cta__btn--ghost {
    border: 1px solid rgba(255,255,255,0.5);
    color: #fff !important;
}
.bm-page .wp-block-cover.bm-expo-cta .bm-expo-cta__btn--ghost:hover { background: rgba(255,255,255,0.1); border-color: #fff; color:#fff !important; }
.bm-page .wp-block-cover.bm-expo-cta .bm-expo-cta__sponsor {
    font-size: 14px !important;
    color: rgba(229,224,219,0.75) !important;
    margin: 0 !important;
}
.bm-page .wp-block-cover.bm-expo-cta .bm-expo-cta__sponsor a {
    color: var(--bm-tertiary-fixed) !important;
    text-decoration: underline; text-underline-offset: 3px;
}
.bm-page .wp-block-cover.bm-expo-cta .bm-expo-cta__sponsor a:hover { color: #fff !important; }

/* Responsive */
@media (max-width: 900px) {
    .bm-page .bm-ambitos__grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 782px) {
    .bm-page .bm-expo-split > .wp-block-columns,
    .bm-page .bm-impacto > .wp-block-columns { gap: 2.5rem !important; flex-wrap: wrap !important; }
}
@media (max-width: 600px) {
    .bm-page .bm-ambitos__grid { grid-template-columns: 1fr !important; }
}

/* ==========================================================================
   PÁGINA LAS SALAS
   ========================================================================== */

/* --- Hero superior con plano ------------------------------------------- */
.bm-page .bm-salas-hero {
    padding: var(--bm-section-gap) var(--bm-margin-safe) !important;
    max-width: none !important;
    width: 100% !important;
    text-align: center;
}
.bm-page .bm-salas-hero > * { margin-left: auto !important; margin-right: auto !important; }
.bm-page .bm-salas-hero .bm-salas-hero__head {
    max-width: 780px !important;
    margin: 0 auto 3rem !important;
    text-align: center;
}
.bm-page .bm-salas-hero .bm-salas-hero__kicker {
    color: var(--bm-outline-muted) !important;
    letter-spacing: 0.2em !important;
    margin: 0 0 1rem !important;
}
.bm-page .bm-salas-hero .bm-salas-hero__title {
    font-family: var(--bm-font-serif) !important;
    font-size: clamp(40px, 6vw, 64px) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: var(--bm-primary) !important;
    margin: 0 0 1.5rem !important;
}
.bm-page .bm-salas-hero .bm-salas-hero__lead {
    font-size: var(--bm-fs-body-lg) !important;
    color: var(--bm-on-surface-variant) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}
.bm-page .bm-salas-hero .bm-salas-hero__plano {
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: .5rem !important;
    border: 1px solid var(--bm-outline-variant) !important;
    background: var(--bm-surface-container-low) !important;
}
.bm-page .bm-salas-hero .bm-salas-hero__plano img {
    width: 100% !important;
    height: auto;
    display: block;
    border: 1px solid rgba(223, 191, 188, 0.5);
    object-fit: contain;
}

/* --- Fila de sala (alternante) ---------------------------------------- */
.bm-page .bm-sala-row {
    padding: var(--bm-section-gap) var(--bm-margin-safe) !important;
    max-width: none !important;
    width: 100% !important;
    position: relative;
    border-top: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-sala-row > .wp-block-columns {
    max-width: 1200px !important;
    margin: 0 auto !important;
    gap: 3rem !important;
    align-items: center !important;
}
.bm-page .bm-sala-row .bm-sala__kicker {
    color: var(--bm-outline-muted) !important;
    margin: 0 0 1rem !important;
    letter-spacing: 0.2em !important;
}
.bm-page .bm-sala-row .bm-sala__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-lg) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: var(--bm-primary) !important;
    margin: 0 0 1.5rem !important;
}
.bm-page .bm-sala-row .bm-sala__body {
    font-size: var(--bm-fs-body-md) !important;
    color: var(--bm-on-surface-variant) !important;
    line-height: 1.6 !important;
    margin: 0 0 2rem !important;
}

/* Marco de imagen "gallery frame" */
.bm-page .bm-sala-row .bm-sala__figure {
    padding: 1rem !important;
    border: 1px solid var(--bm-outline-variant) !important;
    background: var(--bm-surface-container) !important;
    margin: 0 !important;
    overflow: hidden;
}
.bm-page .bm-sala-row .bm-sala__figure--alt { background: var(--bm-surface-container-high) !important; }
.bm-page .bm-sala-row .bm-sala__figure img {
    width: 100% !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

/* --- Etiqueta de contenidos de sala (tags) ---------------------------- */
.bm-page .bm-sala-row .bm-sala__tags {
    margin: 1.5rem 0 0 !important;
    padding-top: 1.5rem;
    border-top: 1px solid var(--bm-outline-variant);
    color: var(--bm-outline-muted) !important;
    letter-spacing: 0.1em !important;
    line-height: 1.6 !important;
}

/* --- Fila invertida (imagen a la izquierda) --------------------------- */
/* El orden ya lo controla el markup de columnas; esta clase es un hook
   por si quieres forzar el sentido en móvil o ajustar algo. */
.bm-page .bm-sala-row--reverse { /* placeholder semántico */ }

/* ==========================================================================
   ESPACIOS ESPECIALES — El Patio y Goa (cover cinematográfico)
   ========================================================================== */
.bm-page .wp-block-cover.bm-espacio-hero {
    min-height: 70vh !important;
    padding: 4rem 2rem !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0 !important;
    max-width: none !important;
}
.bm-page .wp-block-cover.bm-espacio-hero .wp-block-cover__background {
    background: linear-gradient(to bottom, rgba(26,26,26,0.4) 0%, rgba(26,26,26,0.75) 100%) !important;
    opacity: 1 !important;
}
.bm-page .wp-block-cover.bm-espacio-hero--goa .wp-block-cover__background {
    background: linear-gradient(to bottom, rgba(65,0,3,0.55) 0%, rgba(65,0,3,0.85) 100%) !important;
}
.bm-page .wp-block-cover.bm-espacio-hero .wp-block-cover__inner-container {
    max-width: 900px;
    margin: 0 auto;
}
.bm-page .wp-block-cover.bm-espacio-hero .bm-espacio-hero__kicker {
    color: var(--bm-tertiary-fixed) !important;
    letter-spacing: 0.2em !important;
    margin: 0 0 1rem !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.bm-page .wp-block-cover.bm-espacio-hero .bm-espacio-hero__title {
    font-family: var(--bm-font-serif) !important;
    font-size: clamp(32px, 5vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: #fff !important;
    margin: 0 0 1.5rem !important;
    text-shadow: 0 4px 16px rgba(0,0,0,0.5);
}
.bm-page .wp-block-cover.bm-espacio-hero .bm-espacio-hero__body {
    font-size: var(--bm-fs-body-lg) !important;
    color: var(--bm-vellum-gray) !important;
    line-height: 1.6 !important;
    max-width: 720px;
    margin: 0 auto !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

/* --- Variante DARK (Sala 3) ------------------------------------------- */
.bm-page .bm-sala-row--dark {
    background: var(--bm-ink-black) !important;
    color: #fff !important;
    border-top: 0 !important;
}
.bm-page .bm-sala-row--dark .bm-sala__kicker { color: rgba(229,224,219,0.6) !important; }
.bm-page .bm-sala-row--dark .bm-sala__title { color: #fff !important; }
.bm-page .bm-sala-row--dark .bm-sala__body { color: var(--bm-vellum-gray) !important; }
.bm-page .bm-sala-row--dark .bm-sala__figure {
    padding: .5rem !important;
    border: 1px solid rgba(140,113,110,0.5) !important;
    background: transparent !important;
}
.bm-page .bm-sala-row--dark .bm-sala__figure img {
    opacity: 0.92;
    transition: opacity .3s ease;
}
.bm-page .bm-sala-row--dark .bm-sala__figure:hover img { opacity: 1; }

/* --- Bento salas 4 & 5 (dos tarjetas verticales) ---------------------- */
.bm-page .bm-sala-bento {
    padding: var(--bm-section-gap) var(--bm-margin-safe) !important;
    max-width: none !important;
    width: 100% !important;
    border-top: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-sala-bento > .wp-block-columns {
    max-width: 1200px !important;
    margin: 0 auto !important;
    gap: 2rem !important;
    align-items: flex-start !important;
}
.bm-page .bm-sala-bento .bm-sala-card__figure {
    padding: .75rem !important;
    border: 1px solid var(--bm-outline-variant) !important;
    margin: 0 0 1.5rem !important;
    overflow: hidden;
}
.bm-page .bm-sala-bento .bm-sala-card__figure--a { background: var(--bm-surface-container) !important; }
.bm-page .bm-sala-bento .bm-sala-card__figure--b { background: var(--bm-surface-container-high) !important; }
.bm-page .bm-sala-bento .bm-sala-card__figure img {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}
.bm-page .bm-sala-bento .bm-sala-card__kicker {
    color: var(--bm-outline-muted) !important;
    margin: 0 0 .5rem !important;
    letter-spacing: 0.2em !important;
}
.bm-page .bm-sala-bento .bm-sala-card__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-sm) !important;
    font-weight: 500 !important;
    color: var(--bm-primary) !important;
    margin: 0 0 .75rem !important;
}
.bm-page .bm-sala-bento .bm-sala-card__body {
    font-size: var(--bm-fs-body-md) !important;
    color: var(--bm-on-surface-variant) !important;
    margin: 0 !important;
}

/* --- Salas 6 & 7 wide (heading + text + imagen ancha) ----------------- */
.bm-page .bm-sala-wide {
    padding: var(--bm-section-gap) var(--bm-margin-safe) !important;
    max-width: none !important;
    width: 100% !important;
    border-top: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-sala-wide__head {
    max-width: 1200px !important;
    margin: 0 auto 2rem !important;
}
.bm-page .bm-sala-wide__head > .wp-block-columns {
    align-items: flex-end !important;
    gap: 2rem !important;
}
.bm-page .bm-sala-wide .bm-sala__kicker {
    color: var(--bm-outline-muted) !important;
    margin: 0 0 1rem !important;
    letter-spacing: 0.2em !important;
    display: block;
}
.bm-page .bm-sala-wide .bm-sala__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-lg) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: var(--bm-primary) !important;
    margin: 0 !important;
}
.bm-page .bm-sala-wide .bm-sala__body {
    font-size: var(--bm-fs-body-md) !important;
    color: var(--bm-on-surface-variant) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    padding-bottom: .5rem;
}
.bm-page .bm-sala-wide .bm-sala-wide__figure {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 1rem !important;
    border: 1px solid var(--bm-outline-variant) !important;
    background: var(--bm-surface-container) !important;
    overflow: hidden;
}
.bm-page .bm-sala-wide .bm-sala-wide__figure--alt { background: var(--bm-surface-container-high) !important; }
.bm-page .bm-sala-wide .bm-sala-wide__figure img {
    width: 100% !important;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

/* --- Responsive comunes salas ----------------------------------------- */
@media (max-width: 782px) {
    .bm-page .bm-sala-row > .wp-block-columns,
    .bm-page .bm-sala-bento > .wp-block-columns,
    .bm-page .bm-sala-wide__head > .wp-block-columns {
        flex-wrap: wrap !important;
    }
}

/* ==========================================================================
   PÁGINA COLECCIÓN
   ========================================================================== */

/* --- Header editorial -------------------------------------------------- */
.bm-page .bm-col-header {
    padding: 8rem var(--bm-margin-safe) 3rem !important;
    max-width: none !important;
    width: 100% !important;
}
.bm-page .bm-col-header > .wp-block-columns {
    max-width: 1200px !important;
    margin: 0 auto !important;
    align-items: flex-end !important;
    gap: 3rem !important;
}
.bm-page .bm-col-header__kicker {
    color: var(--bm-outline-muted) !important;
    letter-spacing: 0.2em !important;
    margin: 0 0 1rem !important;
    display: block;
}
.bm-page .bm-col-header__title {
    font-family: var(--bm-font-serif) !important;
    font-size: clamp(48px, 7vw, 64px) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    color: var(--bm-primary) !important;
    text-wrap: balance;
    margin: 0 0 1.5rem !important;
}
.bm-page .bm-col-header__lead {
    font-size: var(--bm-fs-body-lg) !important;
    color: var(--bm-on-surface-variant) !important;
    line-height: 1.6 !important;
    max-width: 640px !important;
    margin: 0 !important;
}
.bm-page .bm-col-header__cta a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--bm-primary) !important;
    font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-label);
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    border-bottom: 2px solid var(--bm-primary);
    padding-bottom: 4px;
}

/* Museum rule bajo el header */
.bm-page .bm-col-rule {
    max-width: 1200px !important;
    margin: 0 auto 4rem !important;
    padding: 0 var(--bm-margin-safe);
    border: 0 !important;
    border-top: 1px solid var(--bm-outline-variant) !important;
    height: 1px !important;
    background: transparent !important;
    opacity: 1 !important;
}

/* --- Featured artwork -------------------------------------------------- */
.bm-page .bm-col-featured {
    position: relative;
    display: block;
    max-width: 1200px;
    margin: 0 auto 6rem;
    padding: 1rem;
    border: 1px solid var(--bm-outline-variant);
    background: var(--bm-surface-container);
    overflow: hidden;
}
.bm-page .bm-col-featured__crop {
    aspect-ratio: 21 / 9;
    overflow: hidden;
    background: var(--bm-surface-variant);
}
.bm-page .bm-col-featured__crop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.bm-page .bm-col-featured__caption {
    position: absolute;
    left: 2rem;
    bottom: 2rem;
    max-width: 380px;
    padding: 1.5rem;
    background: rgba(255, 248, 247, 0.92);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-col-featured__kicker {
    display: block;
    color: var(--bm-primary) !important;
    margin: 0 0 .5rem !important;
}
.bm-page .bm-col-featured__title {
    font-family: var(--bm-font-serif);
    font-size: var(--bm-fs-headline-sm);
    font-weight: 500;
    color: var(--bm-primary);
    margin: 0 0 .75rem;
    line-height: 1.3;
}
.bm-page .bm-col-featured__meta {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    font-size: 14px;
    color: var(--bm-on-surface-variant);
}
.bm-page .bm-col-featured__meta strong { font-weight: 500; color: var(--bm-on-surface); }

@media (max-width: 640px) {
    .bm-page .bm-col-featured__crop { aspect-ratio: 1 / 1; }
    .bm-page .bm-col-featured__caption {
        position: static;
        margin-top: 1rem;
        max-width: none;
    }
}

/* --- Filtros de continente -------------------------------------------- */
.bm-page .bm-col {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--bm-margin-safe);
}
.bm-page .bm-col__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    padding: 0 0 1rem;
    margin: 0 0 3rem;
    border-bottom: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-col__filter {
    background: none;
    border: 0;
    padding: 0 0 1rem;
    margin-bottom: -1px;
    font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-label);
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--bm-on-surface-variant);
    cursor: pointer;
    transition: color .2s;
    border-bottom: 2px solid transparent;
}
.bm-page .bm-col__filter:hover { color: var(--bm-primary); }
.bm-page .bm-col__filter.is-active {
    color: var(--bm-primary);
    border-bottom-color: var(--bm-primary);
}

/* --- Grid uniforme (todas las tarjetas iguales) ----------------------- */
.bm-page .bm-col__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    align-items: start;
}
@media (max-width: 1024px) { .bm-page .bm-col__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; } }
@media (max-width: 640px)  { .bm-page .bm-col__grid { grid-template-columns: 1fr; } }

.bm-page .bm-col__card {
    display: flex;
    flex-direction: column;
    margin: 0;
}
.bm-page .bm-col__figure {
    padding: 1rem;
    border: 1px solid var(--bm-outline-variant);
    background: var(--bm-surface-container);
    margin: 0 0 1rem;
    overflow: hidden;
}
.bm-page .bm-col__img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    display: block;
    transition: transform .7s ease;
}
.bm-page .bm-col__card:hover .bm-col__img { transform: scale(1.03); }

.bm-page .bm-col__body { margin: 0 0 1rem; }
.bm-page .bm-col__title {
    font-family: var(--bm-font-serif);
    font-size: var(--bm-fs-headline-sm);
    font-weight: 500;
    color: var(--bm-primary);
    line-height: 1.3;
    margin: 0 0 .25rem;
}
.bm-page .bm-col__subtitle {
    font-size: 14px;
    color: var(--bm-on-surface-variant);
    margin: 0;
}
.bm-page .bm-col__meta {
    margin: 1rem 0 0;
    padding: 1rem 0 0;
    border-top: 1px solid var(--bm-outline-variant);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem 1rem;
    font-family: var(--bm-font-sans);
    font-size: 10px;
    letter-spacing: 0.1em;
    color: var(--bm-outline-muted);
    text-transform: uppercase;
}
.bm-page .bm-col__meta > div { display: flex; flex-direction: column; gap: 2px; }
.bm-page .bm-col__meta dt { font-weight: 400; color: var(--bm-on-surface-variant); margin: 0; }
.bm-page .bm-col__meta dd { margin: 0; color: var(--bm-outline-muted); }

.bm-page .bm-col__empty {
    text-align: center;
    padding: 4rem 2rem;
    color: var(--bm-on-surface-variant);
    background: var(--bm-surface-container-low);
    border: 1px dashed var(--bm-outline-variant);
}

/* ==========================================================================
   BLOQUES DE SALA EN COLECCIÓN (cabecera + galería nativa)
   ========================================================================== */
.bm-page .bm-sala-block {
    padding: 5rem var(--bm-margin-safe) !important;
    max-width: none !important;
    width: 100% !important;
    background: var(--bm-surface) !important;
    border-top: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-sala-block--alt {
    background: var(--bm-surface-container-low) !important;
}
.bm-page .bm-sala-block > * {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.bm-page .bm-sala-block__kicker {
    color: var(--bm-outline-muted) !important;
    letter-spacing: 0.2em !important;
    margin: 0 0 .75rem !important;
    display: block;
}
.bm-page .bm-sala-block__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-lg) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: var(--bm-primary) !important;
    margin: 0 0 1rem !important;
}
.bm-page .bm-sala-block__lead {
    font-size: var(--bm-fs-body-lg) !important;
    color: var(--bm-on-surface-variant) !important;
    line-height: 1.6 !important;
    max-width: 780px !important;
    margin: 0 0 3rem !important;
}

/* --- Galería nativa Gutenberg reestilizada al lenguaje Bohemian ------ */
.bm-page .bm-sala-block .wp-block-gallery.bm-sala-gallery {
    gap: 1.5rem !important;
    margin: 0 !important;
}
.bm-page .bm-sala-block .wp-block-gallery.bm-sala-gallery .wp-block-image {
    padding: .75rem;
    border: 1px solid var(--bm-outline-variant);
    background: var(--bm-surface-container);
    overflow: hidden;
    margin: 0;
}
.bm-page .bm-sala-block--alt .wp-block-gallery.bm-sala-gallery .wp-block-image {
    background: var(--bm-surface-container-lowest);
}
.bm-page .bm-sala-block .wp-block-gallery.bm-sala-gallery .wp-block-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    transition: transform .5s ease;
}
.bm-page .bm-sala-block .wp-block-gallery.bm-sala-gallery .wp-block-image:hover img {
    transform: scale(1.03);
}
.bm-page .bm-sala-block .wp-block-gallery.bm-sala-gallery figcaption,
.bm-page .bm-sala-block .wp-block-gallery.bm-sala-gallery .wp-element-caption {
    background: transparent !important;
    color: var(--bm-on-surface-variant) !important;
    font-family: var(--bm-font-sans) !important;
    font-size: 13px !important;
    padding: .75rem 0 0 !important;
    text-align: left !important;
    line-height: 1.4 !important;
}

/* --- Header general de la sección "Galerías por sala" en Las Salas --- */
.bm-page .bm-sala-galleries {
    padding: 6rem var(--bm-margin-safe) 2rem !important;
    max-width: none !important;
    width: 100% !important;
    text-align: center;
    border-top: 1px solid var(--bm-outline-variant);
    background: var(--bm-surface);
}
.bm-page .bm-sala-galleries__kicker {
    color: var(--bm-outline-muted) !important;
    letter-spacing: 0.2em !important;
    margin: 0 0 .75rem !important;
}
.bm-page .bm-sala-galleries__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-lg) !important;
    font-weight: 600 !important;
    color: var(--bm-primary) !important;
    margin: 0 auto 1rem !important;
    max-width: 800px;
}
.bm-page .bm-sala-galleries__lead {
    font-size: var(--bm-fs-body-md) !important;
    color: var(--bm-on-surface-variant) !important;
    max-width: 640px;
    margin: 0 auto !important;
}

/* --- Featured como enlace clicable --- */
.bm-page a.bm-col-featured { display: block; cursor: pointer; text-decoration: none; }
.bm-page a.bm-col-featured:hover .bm-col-featured__crop img { transform: scale(1.02); }
.bm-page .bm-col-featured__crop img { transition: transform .6s ease; }
.bm-page .bm-col-featured__link {
    display: block;
    margin-top: .75rem;
    color: var(--bm-primary) !important;
}

/* --- Tarjeta del grid como enlace --- */
.bm-page a.bm-col__card { text-decoration: none; color: inherit; }

/* ==========================================================================
   PIEZA — ficha individual (single-pieza.php)
   ========================================================================== */
.bm-page .bm-pieza-single {
    padding: 8rem var(--bm-margin-safe) var(--bm-section-gap);
    background: var(--bm-surface);
    min-height: 100vh;
}
.bm-page .bm-pieza-single__inner {
    max-width: 1200px;
    margin: 0 auto;
}
.bm-page .bm-pieza-single__breadcrumb {
    margin-bottom: 3rem;
}
.bm-page .bm-pieza-single__breadcrumb a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--bm-on-surface-variant);
    font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-label);
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    transition: color .2s;
}
.bm-page .bm-pieza-single__breadcrumb a:hover { color: var(--bm-primary); }
.bm-page .bm-pieza-single__breadcrumb .material-symbols-outlined {
    font-size: 18px;
    transition: transform .2s;
}
.bm-page .bm-pieza-single__breadcrumb a:hover .material-symbols-outlined { transform: translateX(-4px); }

.bm-page .bm-pieza-single__grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 4rem;
    align-items: start;
}
.bm-page .bm-pieza-single__figure {
    margin: 0;
    padding: 1rem;
    background: var(--bm-surface-container);
    border: 1px solid var(--bm-outline-variant);
    overflow: hidden;
}
.bm-page .bm-pieza-single__figure img {
    width: 100%;
    height: auto;
    display: block;
}
.bm-page .bm-pieza-single__body { padding: 1rem 0; }
.bm-page .bm-pieza-single__kicker {
    color: var(--bm-outline-muted) !important;
    letter-spacing: 0.2em !important;
    margin: 0 0 1rem !important;
    display: block;
}
.bm-page .bm-pieza-single__title {
    font-family: var(--bm-font-serif);
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--bm-primary);
    margin: 0 0 1rem;
}
.bm-page .bm-pieza-single__subtitle {
    font-family: var(--bm-font-serif);
    font-style: italic;
    font-size: var(--bm-fs-headline-sm);
    color: var(--bm-on-surface-variant);
    line-height: 1.4;
    margin: 0 0 2rem;
}
.bm-page .bm-pieza-single__rule {
    border: 0;
    border-top: 1px solid var(--bm-outline-variant);
    height: 1px;
    margin: 0 0 2rem;
    background: transparent;
    opacity: 1;
}
.bm-page .bm-pieza-single__meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem 2rem;
    margin: 0 0 2.5rem;
}
.bm-page .bm-pieza-single__meta > div {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}
.bm-page .bm-pieza-single__meta dt {
    font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-label);
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--bm-outline-muted);
    margin: 0;
}
.bm-page .bm-pieza-single__meta dd {
    font-size: var(--bm-fs-body-md);
    color: var(--bm-on-surface);
    margin: 0;
}
.bm-page .bm-pieza-single__content {
    font-size: var(--bm-fs-body-md);
    line-height: 1.7;
    color: var(--bm-on-surface-variant);
}
.bm-page .bm-pieza-single__content p { margin: 0 0 1rem; }

@media (max-width: 900px) {
    .bm-page .bm-pieza-single__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .bm-page .bm-pieza-single { padding-top: 6rem; }
}

/* ==========================================================================
   INTRO — kicker superior (para la home reescrita)
   ========================================================================== */
.bm-page .bm-intro .bm-intro__kicker {
    color: var(--bm-outline-muted) !important;
    letter-spacing: 0.2em !important;
    margin: 0 0 1rem !important;
    display: block;
}

/* ==========================================================================
   CIFRAS — La colección en cifras
   ========================================================================== */
.bm-page .bm-cifras-section {
    padding: 6rem var(--bm-margin-safe) !important;
    background: var(--bm-surface-container-low) !important;
    max-width: none !important;
    width: 100% !important;
    border-top: 1px solid var(--bm-outline-variant);
    border-bottom: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-cifras-section .bm-cifras-section__kicker {
    color: var(--bm-outline-muted) !important;
    letter-spacing: 0.2em !important;
    margin: 0 0 .75rem !important;
}
.bm-page .bm-cifras-section .bm-cifras-section__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-md) !important;
    font-weight: 600 !important;
    color: var(--bm-primary) !important;
    line-height: 1.3 !important;
    margin: 0 0 3rem !important;
    text-align: center !important;
}

.bm-page .bm-cifras {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}
.bm-page .bm-cifra {
    text-align: center;
    padding: 1.5rem 1rem;
    border-top: 2px solid var(--bm-primary);
    background: var(--bm-surface-container-lowest);
}
.bm-page .bm-cifra__num {
    display: block;
    font-family: var(--bm-font-serif);
    font-size: clamp(40px, 5vw, 56px);
    font-weight: 700;
    line-height: 1;
    color: var(--bm-primary);
    letter-spacing: -0.02em;
    margin-bottom: .5rem;
}
.bm-page .bm-cifra__label {
    display: block;
    font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-label);
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--bm-on-surface-variant);
}
@media (max-width: 782px) {
    .bm-page .bm-cifras { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
}

/* Bento section kicker */
.bm-page .bm-bento-section .bm-bento-section__kicker {
    color: var(--bm-outline-muted) !important;
    letter-spacing: 0.2em !important;
    margin: 0 0 .75rem !important;
}

/* ==========================================================================
   VINILOS — grid masonry para colección musical
   ========================================================================== */
.bm-page .bm-vinilos {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--bm-margin-safe);
}
.bm-page .bm-vinilos__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 2rem;
}
.bm-page .bm-vinilo {
    display: flex;
    flex-direction: column;
    text-align: left;
    margin: 0;
    break-inside: auto;
}
.bm-page .bm-vinilo__cover {
    aspect-ratio: 1 / 1;
    padding: .75rem;
    background: var(--bm-surface-container);
    border: 1px solid var(--bm-outline-variant);
    margin-bottom: 1rem;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(65,0,3,0.08);
    transition: transform .4s ease, box-shadow .4s ease;
}
.bm-page .bm-vinilo:hover .bm-vinilo__cover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(65,0,3,0.15);
}
.bm-page .bm-vinilo__img {
    width: 100% !important;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50%; /* aspecto disco */
    background: #1A1A1A;
    box-shadow: inset 0 0 0 12px rgba(0,0,0,0.3), inset 0 0 0 60px rgba(255,255,255,0.05);
}
.bm-page .bm-vinilo__body { padding: 0 .5rem; }
.bm-page .bm-vinilo__title {
    font-family: var(--bm-font-serif);
    font-size: var(--bm-fs-headline-sm);
    font-weight: 500;
    color: var(--bm-primary);
    line-height: 1.3;
    margin: 0 0 .25rem;
}
.bm-page .bm-vinilo__artista {
    font-size: var(--bm-fs-body-md);
    color: var(--bm-on-surface);
    margin: 0 0 .5rem;
}
.bm-page .bm-vinilo__meta {
    font-family: var(--bm-font-sans);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bm-outline-muted);
    margin: 0;
}

/* ==========================================================================
   PLAYLIST — hueco para Spotify embed
   ========================================================================== */
.bm-page .bm-playlist {
    max-width: 1000px !important;
    margin: 6rem auto 0 !important;
    padding: 4rem var(--bm-margin-safe) !important;
    background: var(--bm-ink-black) !important;
    color: #fff !important;
    text-align: center;
}
.bm-page .bm-playlist .bm-label {
    color: var(--bm-tertiary-fixed) !important;
    margin: 0 0 1rem !important;
}
.bm-page .bm-playlist__title {
    font-family: var(--bm-font-serif) !important;
    font-size: var(--bm-fs-headline-lg) !important;
    font-weight: 600 !important;
    color: #fff !important;
    margin: 0 0 1.5rem !important;
    line-height: 1.2 !important;
}
.bm-page .bm-playlist__body {
    font-size: var(--bm-fs-body-md) !important;
    color: var(--bm-vellum-gray) !important;
    max-width: 640px;
    margin: 0 auto !important;
}
.bm-page .bm-playlist iframe {
    max-width: 100%;
    margin-top: 2rem;
    border-radius: 12px;
}

/* ==========================================================================
   LA COLECCIÓN — rejilla de colecciones, página de colección y ficha de pieza
   ========================================================================== */

/* --- Comunes ------------------------------------------------------------ */
.bm-page .bm-crumbs {
    display: flex; flex-wrap: wrap; gap: .5rem; align-items: center;
    font-family: var(--bm-font-sans); font-size: 13px;
    color: var(--bm-outline-muted); margin: 0 0 2rem;
}
.bm-page .bm-crumbs a { color: var(--bm-on-surface-variant); border-bottom: 1px solid transparent; transition: border-color .2s, color .2s; }
.bm-page .bm-crumbs a:hover { color: var(--bm-primary); border-color: currentColor; }
.bm-page .bm-crumbs span:last-child { color: var(--bm-primary); }
.bm-page .bm-empty {
    text-align: center; padding: 4rem 2rem; color: var(--bm-on-surface-variant);
    background: var(--bm-surface-container-low); border: 1px dashed var(--bm-outline-variant);
}

/* --- Rejilla de colecciones ------------------------------------------- */
.bm-page .bm-cols {
    max-width: 1200px; margin: 0 auto; padding: 0 var(--bm-margin-safe);
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 3.5rem 2.25rem;
}
.bm-page .bm-colcard { display: flex; flex-direction: column; color: inherit; }
.bm-page .bm-colcard__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--bm-surface-container); }
.bm-page .bm-colcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.2,.6,.2,1); }
.bm-page .bm-colcard:hover .bm-colcard__media img { transform: scale(1.035); }
.bm-page .bm-colcard__body { padding-top: 1.35rem; border-top: 1px solid transparent; display: flex; flex-direction: column; flex: 1; }
.bm-page .bm-colcard__title {
    font-family: var(--bm-font-serif); font-size: clamp(24px, 2.2vw, 30px); font-weight: 600;
    line-height: 1.15; color: var(--bm-primary); margin: 0 0 .6rem;
}
.bm-page .bm-colcard__desc {
    color: var(--bm-on-surface-variant); font-size: 15px; line-height: 1.6; margin: 0 0 1rem;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.bm-page .bm-colcard__more {
    margin-top: auto; align-self: flex-start; padding-bottom: 3px; border-bottom: 1px solid var(--bm-outline-variant);
    font-family: var(--bm-font-sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    color: var(--bm-primary); transition: border-color .25s;
}
.bm-page .bm-colcard__more span { display: inline-block; transition: transform .25s; }
.bm-page .bm-colcard:hover .bm-colcard__more { border-color: var(--bm-primary); }
.bm-page .bm-colcard:hover .bm-colcard__more span { transform: translateX(4px); }

/* --- Página La Colección (/coleccion/) ---------------------------------- */
.bm-page .bm-colidx { padding: 10rem 0 0; background: var(--bm-surface); }
.bm-page .bm-colidx__head {
    max-width: 1200px; margin: 0 auto 5.5rem; padding: 0 var(--bm-margin-safe);
    display: grid; grid-template-columns: 1fr 300px; gap: 5rem; align-items: end;
}
.bm-page .bm-colidx__kicker { color: var(--bm-outline-muted) !important; letter-spacing: .25em !important; margin: 0 0 1.25rem !important; }
.bm-page .bm-colidx__title {
    font-family: var(--bm-font-serif); font-size: clamp(48px, 7vw, 88px); font-weight: 700;
    line-height: .98; letter-spacing: -.025em; color: var(--bm-primary); margin: 0 0 1.75rem;
}
.bm-page .bm-colidx__lead { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.65; color: var(--bm-on-surface-variant); max-width: 640px; margin: 0; }
.bm-page .bm-colidx__facts { margin: 0; border-top: 1px solid var(--bm-primary); }
.bm-page .bm-colidx__facts div { display: flex; align-items: baseline; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--bm-outline-variant); }
.bm-page .bm-colidx__facts dt {
    flex: 0 0 92px; font-family: var(--bm-font-serif); font-size: 30px; font-weight: 600; line-height: 1; color: var(--bm-primary);
}
.bm-page .bm-colidx__facts dd { margin: 0; font-size: 14px; line-height: 1.4; color: var(--bm-on-surface-variant); }

.bm-page .bm-colidx__list { padding-bottom: 6rem; }

.bm-page .bm-colidx__origins {
    max-width: 1200px; margin: 0 auto; padding: 3.5rem var(--bm-margin-safe) 4.5rem;
    border-top: 1px solid var(--bm-outline-variant);
    display: grid; grid-template-columns: 220px 1fr; gap: 2rem;
}
.bm-page .bm-colidx__origins h2 { color: var(--bm-outline-muted); margin: .35rem 0 0; font-size: 12px !important; }
.bm-page .bm-colidx__origins ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.75rem; }
.bm-page .bm-colidx__origins a {
    font-family: var(--bm-font-serif); font-size: 21px; color: var(--bm-primary);
    background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%;
    transition: background-size .3s;
}
.bm-page .bm-colidx__origins a:hover { background-size: 100% 1px; }

.bm-page .bm-colidx__visit {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem 1.5rem;
    padding: 1.75rem var(--bm-margin-safe); background: var(--bm-surface-container-low);
    border-top: 1px solid var(--bm-outline-variant); text-align: center;
}
.bm-page .bm-colidx__visit p { margin: 0; color: var(--bm-on-surface-variant); font-size: 15px; }
.bm-page .bm-colidx__visit a {
    font-family: var(--bm-font-sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    color: var(--bm-primary); border-bottom: 1px solid var(--bm-primary); padding-bottom: 2px;
}
.bm-page .bm-colidx ~ .bm-footer, .bm-page .bm-colidx + * .bm-footer { margin-top: 0; }

@media (max-width: 1024px) {
    .bm-page .bm-cols { grid-template-columns: repeat(2, 1fr); gap: 3rem 1.75rem; }
    .bm-page .bm-colidx__head { grid-template-columns: 1fr; gap: 2.5rem; }
    .bm-page .bm-colidx__facts { max-width: 420px; }
    .bm-page .bm-colidx__origins { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 640px) {
    .bm-page .bm-cols { grid-template-columns: 1fr; }
    .bm-page .bm-colidx { padding-top: 7.5rem; }
    .bm-page .bm-colidx__head { margin-bottom: 3.5rem; }
    .bm-page .bm-colidx__origins a { font-size: 19px; }
}

/* --- Página de una colección -------------------------------------------- */
.bm-page .bm-colx { background: var(--bm-surface); }
.bm-page .bm-colx__hero {
    max-width: 1200px; margin: 0 auto;
    padding: 9rem var(--bm-margin-safe) 4rem;
    display: grid; grid-template-columns: 1.1fr .9fr; gap: 4rem; align-items: center;
}
.bm-page .bm-colx__kicker { color: var(--bm-outline-muted) !important; letter-spacing: .25em !important; margin: 0 0 1rem !important; }
.bm-page .bm-colx__title {
    font-family: var(--bm-font-serif); font-size: clamp(44px, 6vw, 72px); font-weight: 700;
    line-height: 1.02; letter-spacing: -.02em; color: var(--bm-primary); margin: 0 0 1.5rem;
}
.bm-page .bm-colx__intro { font-size: var(--bm-fs-body-lg); line-height: 1.7; color: var(--bm-on-surface-variant); }
.bm-page .bm-colx__intro p { margin: 0 0 1rem; }
.bm-page .bm-colx__count {
    margin: 1.5rem 0 0; padding-top: 1.25rem; border-top: 1px solid var(--bm-outline-variant);
    font-family: var(--bm-font-sans); font-size: var(--bm-fs-label); font-weight: 700;
    letter-spacing: .15em; text-transform: uppercase; color: var(--bm-primary);
}
.bm-page .bm-colx__cover {
    margin: 0; padding: 1rem; background: var(--bm-surface-container);
    border: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-colx__cover img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }

.bm-page .bm-colx__body {
    max-width: 1200px; margin: 0 auto; padding: 0 var(--bm-margin-safe) var(--bm-section-gap);
}
.bm-page .bm-colx__filters {
    display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 2.5rem;
    padding: 0 0 1.5rem; border-bottom: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-chip {
    font-family: var(--bm-font-sans); font-size: var(--bm-fs-label); font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase; cursor: pointer;
    padding: .65rem 1.1rem; background: transparent; color: var(--bm-on-surface-variant);
    border: 1px solid var(--bm-outline-variant); transition: all .2s;
}
.bm-page .bm-chip:hover { border-color: var(--bm-primary); color: var(--bm-primary); }
.bm-page .bm-chip.is-active { background: var(--bm-primary); border-color: var(--bm-primary); color: #fff; }

/* Rejilla de piezas: todas iguales, foto cuadrada */
.bm-page .bm-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem 2rem; }
.bm-page .bm-card { display: flex; flex-direction: column; color: inherit; }
.bm-page .bm-card[hidden] { display: none; }
.bm-page .bm-card__media {
    position: relative; aspect-ratio: 1 / 1; overflow: hidden;
    background: var(--bm-surface-container); border: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.bm-page .bm-card:hover .bm-card__media img { transform: scale(1.04); }
.bm-page .bm-card__badge {
    position: absolute; right: .75rem; bottom: .75rem; padding: .3rem .6rem;
    background: rgba(26,26,26,.75); color: #fff; font-family: var(--bm-font-sans);
    font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.bm-page .bm-card__body { padding: 1.25rem 0 0; display: flex; flex-direction: column; flex: 1; }
.bm-page .bm-card__kicker { color: var(--bm-outline-muted) !important; margin: 0 0 .4rem !important; }
.bm-page .bm-card__title {
    font-family: var(--bm-font-serif); font-size: var(--bm-fs-headline-sm); font-weight: 600;
    line-height: 1.25; color: var(--bm-primary); margin: 0 0 .6rem;
}
.bm-page .bm-card__excerpt { font-size: 15px; line-height: 1.6; color: var(--bm-on-surface-variant); margin: 0 0 1rem; }
.bm-page .bm-card__more {
    margin-top: auto; font-family: var(--bm-font-sans); font-size: var(--bm-fs-label); font-weight: 700;
    letter-spacing: .15em; text-transform: uppercase; color: var(--bm-primary);
    opacity: .7; transition: opacity .2s;
}
.bm-page .bm-card:hover .bm-card__more { opacity: 1; }

/* Otras colecciones: rectángulos con el nombre */
.bm-page .bm-colx__others {
    background: var(--bm-surface-container-low); border-top: 1px solid var(--bm-outline-variant);
    padding: 5.5rem var(--bm-margin-safe) 6rem; text-align: center;
}
.bm-page .bm-colx__others .bm-label { color: var(--bm-outline-muted); margin: 0 0 .75rem; }
.bm-page .bm-colx__others h2 {
    font-family: var(--bm-font-serif); font-size: clamp(30px, 3.6vw, 44px); font-weight: 600;
    line-height: 1.08; color: var(--bm-primary); margin: 0 0 2.5rem;
}
.bm-page .bm-colx__others ul {
    list-style: none; margin: 0 auto; padding: 0; max-width: 1100px;
    display: flex; flex-wrap: wrap; justify-content: center; gap: .85rem;
}
.bm-page .bm-colx__others li { margin: 0; }
.bm-page .bm-colx__others a {
    display: inline-flex; align-items: center; gap: .6rem; min-height: 60px; padding: 0 1.75rem;
    background: var(--bm-surface-container-lowest); border: 1px solid var(--bm-outline-variant);
    font-family: var(--bm-font-serif); font-size: 20px; color: var(--bm-primary);
    transition: border-color .25s, box-shadow .25s, transform .25s;
}
.bm-page .bm-colx__others a::after {
    content: '→'; font-family: var(--bm-font-sans); font-size: 14px; color: var(--bm-outline-muted);
    max-width: 0; overflow: hidden; opacity: 0; transition: max-width .25s, opacity .25s;
}
.bm-page .bm-colx__others a:hover { border-color: var(--bm-primary); box-shadow: 0 8px 22px rgba(65,0,3,.08); transform: translateY(-2px); }
.bm-page .bm-colx__others a:hover::after { max-width: 1.2em; opacity: 1; }
.bm-page .bm-colx ~ .bm-footer { margin-top: 0; }
@media (max-width: 640px) {
    .bm-page .bm-colx__others { padding: 4rem var(--bm-margin-safe) 4.5rem; }
    .bm-page .bm-colx__others a { min-height: 52px; padding: 0 1.25rem; font-size: 18px; }
}

/* --- Ficha de pieza ------------------------------------------------------ */
.bm-page .bm-pz { max-width: 1200px; margin: 0 auto; padding: 9rem var(--bm-margin-safe) var(--bm-section-gap); }
.bm-page .bm-pz__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 4.5rem; align-items: start; }
.bm-page .bm-pz__gallery { position: sticky; top: 7rem; }
.bm-page .bm-pz__main {
    position: relative; display: block; width: 100%; padding: 1rem; margin: 0; cursor: zoom-in;
    background: var(--bm-surface-container); border: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-pz__main img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.bm-page .bm-pz__zoom {
    position: absolute; right: 1.75rem; bottom: 1.75rem; width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,248,247,.9); color: var(--bm-primary); opacity: 0; transition: opacity .2s;
}
.bm-page .bm-pz__main:hover .bm-pz__zoom, .bm-page .bm-pz__main:focus-visible .bm-pz__zoom { opacity: 1; }
.bm-page .bm-pz__thumbs { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; gap: .75rem; flex-wrap: wrap; }
.bm-page .bm-pz__thumbs li { margin: 0; }
.bm-page .bm-pz__thumbs button {
    display: block; width: 84px; height: 84px; padding: 0; cursor: pointer;
    border: 2px solid transparent; background: none; opacity: .6; transition: opacity .2s, border-color .2s;
}
.bm-page .bm-pz__thumbs button img { width: 100%; height: 100%; object-fit: cover; }
.bm-page .bm-pz__thumbs button:hover { opacity: 1; }
.bm-page .bm-pz__thumbs button.is-active { opacity: 1; border-color: var(--bm-primary); }

.bm-page .bm-pz__kicker { color: var(--bm-outline-muted) !important; letter-spacing: .25em !important; margin: 0 0 1rem !important; }
.bm-page .bm-pz__title {
    font-family: var(--bm-font-serif); font-size: clamp(34px, 4.5vw, 52px); font-weight: 600;
    line-height: 1.1; letter-spacing: -.01em; color: var(--bm-primary); margin: 0 0 .75rem;
}
.bm-page .bm-pz__origin {
    font-family: var(--bm-font-serif); font-style: italic; font-size: var(--bm-fs-headline-sm);
    color: var(--bm-on-surface-variant); margin: 0 0 2rem;
}
.bm-page .bm-pz__text {
    font-size: var(--bm-fs-body-lg); line-height: 1.75; color: var(--bm-on-surface-variant);
    padding-top: 2rem; border-top: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-pz__text p { margin: 0 0 1.1rem; }
.bm-page .bm-pz__meta {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1.25rem;
    margin: 2.5rem 0 0; padding: 1.5rem; background: var(--bm-surface-container-low);
    border: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-pz__meta div { display: flex; flex-direction: column; gap: .3rem; }
.bm-page .bm-pz__meta dt {
    font-family: var(--bm-font-sans); font-size: 11px; font-weight: 700;
    letter-spacing: .15em; text-transform: uppercase; color: var(--bm-outline-muted);
}
.bm-page .bm-pz__meta dd { margin: 0; color: var(--bm-on-surface); }
.bm-page .bm-pz__meta a { color: var(--bm-primary); border-bottom: 1px solid var(--bm-outline-variant); }

.bm-page .bm-pz__nav {
    display: grid; grid-template-columns: 1fr auto 1fr; gap: 2rem; align-items: center;
    margin-top: 5rem; padding-top: 2rem; border-top: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-pz__nav .is-next { text-align: right; }
.bm-page .bm-pz__nav div a {
    display: inline-flex; flex-direction: column; gap: .35rem;
    font-family: var(--bm-font-serif); font-size: 20px; color: var(--bm-primary);
}
.bm-page .bm-pz__nav div a .bm-label { color: var(--bm-outline-muted); }
.bm-page .bm-pz__back {
    padding: .8rem 1.4rem; border: 1px solid var(--bm-primary); color: var(--bm-primary) !important; transition: all .2s;
}
.bm-page .bm-pz__back:hover { background: var(--bm-primary); color: #fff !important; }

/* Lightbox */
.bm-lightbox {
    border: 0; padding: 0; background: transparent; max-width: 94vw; max-height: 94vh; overflow: visible;
}
.bm-lightbox::backdrop { background: rgba(26,26,26,.92); }
.bm-lightbox img { display: block; max-width: 94vw; max-height: 90vh; width: auto; height: auto; }
.bm-lightbox__close {
    position: fixed; top: 1.25rem; right: 1.5rem; width: 46px; height: 46px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.4); background: transparent; color: #fff; font-size: 26px; cursor: pointer;
}

/* --- Responsive ---------------------------------------------------------- */
@media (max-width: 1024px) {
    .bm-page .bm-cols, .bm-page .bm-grid { grid-template-columns: repeat(2, 1fr); }
    .bm-page .bm-colx__hero { grid-template-columns: 1fr; gap: 2.5rem; padding-top: 7rem; }
    .bm-page .bm-colx__cover { max-width: 520px; }
    .bm-page .bm-pz__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .bm-page .bm-pz__gallery { position: static; }
    .bm-page .bm-pz { padding-top: 7rem; }
}
@media (max-width: 640px) {
    .bm-page .bm-cols, .bm-page .bm-grid { grid-template-columns: 1fr; }
    .bm-page .bm-pz__nav { grid-template-columns: 1fr 1fr; }
    .bm-page .bm-pz__back { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
    .bm-page .bm-pz__thumbs button { width: 64px; height: 64px; }
}

/* Botón Entradas: texto siempre blanco (el estilo de enlaces del tema lo oscurecía) */
.bm-nav .bm-nav__cta, .bm-nav .bm-nav__cta:hover { color: #fff !important; }

/* Ficha: bienvenida desde QR y compartir */
.bm-page .bm-pz__welcome {
    display: flex; gap: .9rem; align-items: center; margin: 0 0 2rem; padding: 1rem 1.25rem;
    background: var(--bm-primary); color: #fff;
}
.bm-page .bm-pz__welcome .material-symbols-outlined { font-size: 32px; color: var(--bm-tertiary-fixed); }
.bm-page .bm-pz__welcome p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--bm-vellum-gray); }
.bm-page .bm-pz__welcome strong { color: #fff; }
.bm-page .bm-pz__share { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.bm-page .bm-pz__share-btn, .bm-page .bm-pz__share-wa {
    display: inline-flex; align-items: center; gap: .5rem; padding: .8rem 1.3rem; cursor: pointer;
    font-family: var(--bm-font-sans); font-size: var(--bm-fs-label); font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase; transition: all .2s;
}
.bm-page .bm-pz__share-btn { background: var(--bm-primary); color: #fff !important; border: 1px solid var(--bm-primary); }
.bm-page .bm-pz__share-btn:hover { background: var(--bm-primary-container); }
.bm-page .bm-pz__share-btn .material-symbols-outlined { font-size: 18px; }
.bm-page .bm-pz__share-wa { border: 1px solid var(--bm-outline-variant); color: var(--bm-primary) !important; background: transparent; }
.bm-page .bm-pz__share-wa:hover { border-color: var(--bm-primary); }
@media (max-width: 1024px) {
    /* Quien llega desde el QR está delante de la pieza: el texto primero */
    .bm-page .bm-pz.is-qr .bm-pz__info { order: -1; }
}

/* ==========================================================================
   BLOG — listado y artículo
   ========================================================================== */

/* --- Listado ------------------------------------------------------------ */
.bm-page .bm-blog { max-width: 1200px; margin: 0 auto; padding: 9rem var(--bm-margin-safe) var(--bm-section-gap); }
.bm-page .bm-blog__head { max-width: 820px; margin: 0 0 3.5rem; }
.bm-page .bm-blog__kicker { color: var(--bm-outline-muted) !important; letter-spacing: .25em !important; margin: 0 0 1rem !important; }
.bm-page .bm-blog__title {
    font-family: var(--bm-font-serif); font-size: clamp(42px, 6vw, 68px); font-weight: 700;
    line-height: 1.05; letter-spacing: -.02em; color: var(--bm-primary); margin: 0 0 1.25rem;
}
.bm-page .bm-blog__intro { font-size: var(--bm-fs-body-lg); line-height: 1.7; color: var(--bm-on-surface-variant); }
.bm-page .bm-blog__intro p { margin: 0; }
.bm-page .bm-blog__cats { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.bm-page a.bm-chip { display: inline-block; }

.bm-page .bm-blog__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem 2rem; }
.bm-page .bm-post-card { display: flex; flex-direction: column; }
.bm-page .bm-post-card__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--bm-surface-container); border: 1px solid var(--bm-outline-variant); }
.bm-page .bm-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.bm-page .bm-post-card:hover .bm-post-card__media img { transform: scale(1.04); }
.bm-page .bm-post-card__body { padding-top: 1.25rem; display: flex; flex-direction: column; flex: 1; }
.bm-page .bm-post-card__meta { display: flex; flex-wrap: wrap; gap: .35rem .9rem; color: var(--bm-outline-muted) !important; font-size: 11px !important; margin: 0 0 .7rem !important; }
.bm-page .bm-post-card__meta span:first-child { color: var(--bm-primary); }
.bm-page .bm-post-card__title { font-family: var(--bm-font-serif); font-size: var(--bm-fs-headline-sm); font-weight: 600; line-height: 1.25; margin: 0 0 .7rem; }
.bm-page .bm-post-card__title a { color: var(--bm-primary); background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .35s; }
.bm-page .bm-post-card:hover .bm-post-card__title a { background-size: 100% 1px; }
.bm-page .bm-post-card__excerpt { font-size: 15px; line-height: 1.65; color: var(--bm-on-surface-variant); margin: 0 0 1.1rem; }
.bm-page .bm-post-card__more {
    margin-top: auto; font-family: var(--bm-font-sans); font-size: var(--bm-fs-label); font-weight: 700;
    letter-spacing: .15em; text-transform: uppercase; color: var(--bm-primary);
}
/* Artículo destacado (el más reciente) */
.bm-page .bm-post-card--featured {
    grid-column: 1 / -1; display: grid; grid-template-columns: 1.35fr 1fr; gap: 3rem; align-items: center;
    padding-bottom: 3rem; border-bottom: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-post-card--featured .bm-post-card__body { padding-top: 0; }
.bm-page .bm-post-card--featured .bm-post-card__title { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.12; margin-bottom: 1rem; }
.bm-page .bm-post-card--featured .bm-post-card__excerpt { font-size: var(--bm-fs-body-lg); }
.bm-page .bm-post-card--featured .bm-post-card__more { margin-top: .5rem; }

.bm-page .bm-blog__pager { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 4rem; }
.bm-page .bm-blog__pager .page-numbers {
    min-width: 44px; padding: .7rem 1rem; text-align: center; border: 1px solid var(--bm-outline-variant);
    font-family: var(--bm-font-sans); font-size: 13px; font-weight: 700; color: var(--bm-primary);
}
.bm-page .bm-blog__pager .page-numbers.current { background: var(--bm-primary); border-color: var(--bm-primary); color: #fff; }
.bm-page .bm-blog__pager a.page-numbers:hover { border-color: var(--bm-primary); }

/* --- Artículo ----------------------------------------------------------- */
.bm-progress { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 1001; pointer-events: none; }
.admin-bar .bm-progress { top: 32px; }
.bm-progress span { display: block; height: 100%; background: var(--bm-tertiary-container); transform: scaleX(0); transform-origin: 0 50%; }

.bm-page .bm-post { padding: 9rem var(--bm-margin-safe) 0; }
.bm-page .bm-post__head { max-width: 820px; margin: 0 auto 3rem; text-align: center; }
.bm-page .bm-post__head .bm-crumbs { justify-content: center; }
.bm-page .bm-post__meta { display: flex; justify-content: center; gap: 1.25rem; color: var(--bm-outline-muted) !important; margin: 0 0 1.25rem !important; }
.bm-page .bm-post__title {
    font-family: var(--bm-font-serif); font-size: clamp(36px, 5.5vw, 62px); font-weight: 700;
    line-height: 1.08; letter-spacing: -.02em; color: var(--bm-primary); margin: 0 0 1.5rem; text-wrap: balance;
}
.bm-page .bm-post__lead {
    font-family: var(--bm-font-serif); font-style: italic; font-size: clamp(19px, 2.2vw, 24px);
    line-height: 1.5; color: var(--bm-on-surface-variant); margin: 0;
}
.bm-page .bm-post__hero { max-width: 1200px; margin: 0 auto 4rem; }
.bm-page .bm-post__hero img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.bm-page .bm-post__hero figcaption, .bm-page .bm-post__content figcaption {
    font-size: 13px; color: var(--bm-outline-muted); text-align: center; margin-top: .75rem;
}

/* Texto: columna de lectura de 700px; imágenes más anchas */
.bm-page .bm-post__content { max-width: 1000px; margin: 0 auto; }
.bm-page .bm-post__content > * { max-width: 700px; margin-left: auto; margin-right: auto; }
.bm-page .bm-post__content > p { font-size: 19px; line-height: 1.8; color: var(--bm-on-surface); margin-top: 0; margin-bottom: 1.5rem; }
.bm-page .bm-post__content > p:first-child::first-letter {
    float: left; font-family: var(--bm-font-serif); font-size: 4.4em; line-height: .85;
    padding: .08em .12em 0 0; color: var(--bm-primary); font-weight: 700;
}
.bm-page .bm-post__content a { color: var(--bm-primary); text-decoration: underline; text-underline-offset: 3px; }
.bm-page .bm-post__content h2 {
    font-family: var(--bm-font-serif); font-size: clamp(26px, 3vw, 34px); font-weight: 600; line-height: 1.2;
    color: var(--bm-primary); margin-top: 3.5rem; margin-bottom: 1.25rem;
}
.bm-page .bm-post__content h3 { font-family: var(--bm-font-serif); font-size: 24px; color: var(--bm-primary); margin: 2.5rem auto 1rem; }
.bm-page .bm-post__content > figure, .bm-page .bm-post__content > .wp-block-image,
.bm-page .bm-post__content > .alignwide { max-width: 1000px; margin: 3rem auto; }
.bm-page .bm-post__content .wp-block-image img { width: 100%; height: auto; }
.bm-page .bm-post__content ul, .bm-page .bm-post__content ol { font-size: 18px; line-height: 1.75; padding-left: 1.4em; margin-bottom: 1.5rem; }
.bm-page .bm-post__content blockquote, .bm-page .bm-post__content .wp-block-quote {
    border-left: 3px solid var(--bm-tertiary-container); padding: .25rem 0 .25rem 1.5rem; margin: 2.5rem auto;
    font-family: var(--bm-font-serif); font-style: italic; font-size: 24px; line-height: 1.5; color: var(--bm-primary);
}
/* Estilos de párrafo del editor */
.bm-page .bm-post__content > p.is-style-destacado {
    font-family: var(--bm-font-serif); font-style: italic; font-size: clamp(22px, 2.6vw, 28px); line-height: 1.45;
    color: var(--bm-primary); border-left: 3px solid var(--bm-tertiary-container); padding-left: 1.5rem; margin: 2.75rem auto;
}
.bm-page .bm-post__content > p.is-style-pregunta {
    font-family: var(--bm-font-serif); font-size: clamp(21px, 2.4vw, 26px); line-height: 1.45; color: var(--bm-primary);
    background: var(--bm-surface-container-low); border: 1px solid var(--bm-outline-variant);
    padding: 2rem 2.25rem; margin: 3rem auto; text-align: center;
}
.bm-page .bm-post__content > p.is-style-destacado::first-letter,
.bm-page .bm-post__content > p.is-style-pregunta::first-letter { all: unset; }

/* Pie: compartir */
.bm-page .bm-post__foot { max-width: 700px; margin: 3.5rem auto 0; padding-top: 2rem; border-top: 1px solid var(--bm-outline-variant); }
.bm-page .bm-post__share { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.bm-page .bm-post__share .bm-label { color: var(--bm-outline-muted); margin-right: .5rem; }
.bm-page .bm-share {
    display: inline-flex; align-items: center; gap: .4rem; padding: .6rem 1rem; cursor: pointer;
    background: transparent; border: 1px solid var(--bm-outline-variant); color: var(--bm-primary) !important;
    font-family: var(--bm-font-sans); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: border-color .2s, background .2s;
}
.bm-page .bm-share:hover { border-color: var(--bm-primary); }
.bm-page .bm-share--native { background: var(--bm-primary); border-color: var(--bm-primary); color: #fff !important; }
.bm-page .bm-share .material-symbols-outlined { font-size: 17px; }
.bm-page .bm-post__tags { margin: 1.5rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.bm-page .bm-post__tags a { font-size: 13px; padding: .3rem .7rem; background: var(--bm-surface-container-low); color: var(--bm-on-surface-variant); }

/* Llamada a la visita */
.bm-page .bm-post__cta {
    max-width: 1000px; margin: 5rem auto 0; padding: 3rem; display: flex; gap: 2.5rem; align-items: center; justify-content: space-between;
    background: var(--bm-primary); color: #fff;
}
.bm-page .bm-post__cta .bm-label { color: var(--bm-tertiary-fixed) !important; margin: 0 0 .75rem !important; }
.bm-page .bm-post__cta h2 { font-family: var(--bm-font-serif); font-size: clamp(26px, 3vw, 34px); color: #fff; margin: 0 0 .5rem; }
.bm-page .bm-post__cta p { margin: 0; color: var(--bm-vellum-gray); }
.bm-page .bm-post__cta-actions { display: flex; flex-direction: column; gap: .75rem; flex-shrink: 0; }
.bm-page .bm-btn {
    display: inline-block; text-align: center; padding: .95rem 1.75rem; font-family: var(--bm-font-sans);
    font-size: var(--bm-fs-label); font-weight: 700; letter-spacing: .15em; text-transform: uppercase; transition: all .2s;
}
.bm-page .bm-btn--gold { background: var(--bm-tertiary-fixed); color: var(--bm-primary) !important; }
.bm-page .bm-btn--gold:hover { background: #fff; }
.bm-page .bm-btn--ghost { border: 1px solid rgba(255,255,255,.5); color: #fff !important; }
.bm-page .bm-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }

/* Anterior / siguiente */
.bm-page .bm-post__nav {
    max-width: 1000px; margin: 4rem auto 0; padding-top: 2rem; border-top: 1px solid var(--bm-outline-variant);
    display: grid; grid-template-columns: 1fr 1fr; gap: 2rem;
}
.bm-page .bm-post__nav .is-next { text-align: right; }
.bm-page .bm-post__nav a { display: inline-flex; flex-direction: column; gap: .4rem; font-family: var(--bm-font-serif); font-size: 20px; color: var(--bm-primary); }
.bm-page .bm-post__nav .bm-label { color: var(--bm-outline-muted); }

/* Relacionados */
.bm-page .bm-post__related {
    margin: 5rem calc(-1 * var(--bm-margin-safe)) 0; padding: 5rem var(--bm-margin-safe) var(--bm-section-gap);
    background: var(--bm-surface-container-low); border-top: 1px solid var(--bm-outline-variant);
}
.bm-page .bm-post__related > * { max-width: 1200px; margin-left: auto; margin-right: auto; }
.bm-page .bm-post__related > .bm-label { color: var(--bm-outline-muted); margin-bottom: .5rem; }
.bm-page .bm-post__related h2 { font-family: var(--bm-font-serif); font-size: var(--bm-fs-headline-md); color: var(--bm-primary); margin-top: 0; margin-bottom: 2.5rem; }

/* Comentarios */
.bm-page .bm-post__comments { max-width: 700px; margin: 4rem auto 0; }
.bm-page .bm-post__comments h2, .bm-page .bm-post__comments h3 { font-family: var(--bm-font-serif); color: var(--bm-primary); }
.bm-page .bm-post__comments .comment-list { list-style: none; padding: 0; }
.bm-page .bm-post__comments .comment-body { padding: 1.25rem 0; border-bottom: 1px solid var(--bm-outline-variant); }
.bm-page .bm-post__comments input[type=text], .bm-page .bm-post__comments input[type=email],
.bm-page .bm-post__comments input[type=url], .bm-page .bm-post__comments textarea {
    width: 100%; border: 1px solid var(--bm-outline-variant); background: #fff; padding: .75rem; font: inherit; border-radius: 0;
}
.bm-page .bm-post__comments .submit {
    background: var(--bm-primary); color: #fff; border: 0; padding: .9rem 1.75rem; cursor: pointer; border-radius: 0;
    font-family: var(--bm-font-sans); font-size: var(--bm-fs-label); font-weight: 700; letter-spacing: .15em; text-transform: uppercase;
}

@media (max-width: 1024px) {
    .bm-page .bm-blog__list { grid-template-columns: repeat(2, 1fr); }
    .bm-page .bm-post-card--featured { grid-template-columns: 1fr; gap: 1.5rem; }
    .bm-page .bm-post__cta { flex-direction: column; align-items: flex-start; }
    .bm-page .bm-post__cta-actions { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 640px) {
    .bm-page .bm-blog__list { grid-template-columns: 1fr; }
    .bm-page .bm-blog, .bm-page .bm-post { padding-top: 7rem; }
    .bm-page .bm-post__content > p { font-size: 18px; }
    .bm-page .bm-post__cta { padding: 2rem 1.5rem; }
    .bm-page .bm-post__nav { grid-template-columns: 1fr; }
    .bm-page .bm-post__nav .is-next { text-align: left; }
    .admin-bar .bm-progress { top: 46px; }
}

/* ==========================================================================
   Galería propia de la colección (mosaico + visor)
   ========================================================================== */
.bm-page .bm-colx__hero--solo { grid-template-columns: 1fr; }
.bm-page .bm-colx__hero--solo .bm-colx__hero-text { max-width: 820px; }

.bm-page .bm-colx__gallery {
    max-width: 1200px; margin: 0 auto 5rem; padding: 0 var(--bm-margin-safe);
    display: grid; gap: .75rem; grid-auto-rows: 220px;
    grid-template-columns: repeat(4, 1fr);
}
.bm-page .bm-colx__gallery--n1 { grid-template-columns: 1fr; grid-auto-rows: auto; }
.bm-page .bm-colx__gallery--n1 .bm-colx__tile { aspect-ratio: 21 / 9; }
.bm-page .bm-colx__gallery--n2 { grid-template-columns: 1fr 1fr; grid-auto-rows: 380px; }
.bm-page .bm-colx__gallery--n3 { grid-template-columns: 2fr 1fr; grid-auto-rows: 230px; }
.bm-page .bm-colx__gallery--n3 .bm-colx__tile:first-child { grid-row: span 2; }
.bm-page .bm-colx__gallery--n4 { grid-template-columns: 2fr 1fr 1fr; }
.bm-page .bm-colx__gallery--n4 .bm-colx__tile:first-child { grid-row: span 2; }
.bm-page .bm-colx__gallery--n4 .bm-colx__tile:last-child { grid-column: span 2; }
.bm-page .bm-colx__gallery--n5 .bm-colx__tile:first-child { grid-column: span 2; grid-row: span 2; }

.bm-page .bm-colx__tile {
    position: relative; display: block; width: 100%; height: 100%; padding: 0; margin: 0; overflow: hidden;
    border: 0; background: var(--bm-surface-container); cursor: zoom-in;
}
.bm-page .bm-colx__tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease, filter .3s; }
.bm-page .bm-colx__tile:hover img { transform: scale(1.04); }
.bm-page .bm-colx__tile:focus-visible { outline: 3px solid var(--bm-tertiary-container); outline-offset: 2px; }
.bm-page .bm-colx__more {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    background: rgba(26,26,26,.55); color: #fff; font-family: var(--bm-font-serif); font-size: 36px;
}

/* Visor con flechas */
.bm-lightbox--gal figure { margin: 0; text-align: center; }
.bm-lightbox--gal figcaption { color: var(--bm-vellum-gray); font-size: 15px; margin-top: .75rem; max-width: 760px; margin-left: auto; margin-right: auto; }
.bm-lightbox--gal img { max-height: 84vh; margin: 0 auto; }
.bm-lightbox__nav {
    position: fixed; top: 50%; transform: translateY(-50%); width: 54px; height: 54px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.35); background: rgba(26,26,26,.45); color: #fff; font-size: 34px; line-height: 1; cursor: pointer;
}
.bm-lightbox__nav:hover { background: rgba(26,26,26,.75); }
.bm-lightbox__nav.is-prev { left: 1.25rem; }
.bm-lightbox__nav.is-next { right: 1.25rem; }
.bm-lightbox__count {
    position: fixed; left: 50%; bottom: 1.25rem; transform: translateX(-50%);
    color: rgba(255,255,255,.8); font-family: var(--bm-font-sans); font-size: 13px; letter-spacing: .1em;
}

@media (max-width: 900px) {
    .bm-page .bm-colx__gallery, .bm-page .bm-colx__gallery--n3 { grid-template-columns: 1fr 1fr; grid-auto-rows: 160px; }
    .bm-page .bm-colx__gallery--n2 { grid-auto-rows: 220px; }
    .bm-page .bm-colx__gallery .bm-colx__tile:first-child { grid-column: span 2; grid-row: span 2; }
    .bm-page .bm-colx__gallery--n2 .bm-colx__tile:first-child { grid-column: auto; grid-row: auto; }
    .bm-page .bm-colx__gallery--n4 { grid-template-columns: 1fr 1fr; }
    .bm-page .bm-colx__gallery--n4 .bm-colx__tile:last-child { grid-column: auto; }
    .bm-page .bm-colx__gallery--n4 .bm-colx__tile:nth-child(2) { grid-column: span 2; }
    .bm-lightbox__nav { width: 44px; height: 44px; font-size: 28px; }
    .bm-lightbox__nav.is-prev { left: .5rem; }
    .bm-lightbox__nav.is-next { right: .5rem; }
}

/* ==========================================================================
   PORTADA (front-page.php)
   ========================================================================== */
.bm-page .bm-home { background: var(--bm-surface); }

/* Menú transparente sobre la cabecera */
.bm-nav.bm-nav--over:not(.is-scrolled):not(.is-open) { background: transparent; border-bottom-color: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.bm-nav.bm-nav--over:not(.is-scrolled):not(.is-open) .bm-nav__brand,
.bm-nav.bm-nav--over:not(.is-scrolled):not(.is-open) .bm-nav__link,
.bm-nav.bm-nav--over:not(.is-scrolled):not(.is-open) .bm-nav__lang,
.bm-nav.bm-nav--over:not(.is-scrolled):not(.is-open) .bm-nav__burger { color: #fff; }
.bm-nav.bm-nav--over:not(.is-scrolled):not(.is-open) .bm-nav__link.is-active { border-color: #fff; }
.bm-nav.bm-nav--over:not(.is-scrolled):not(.is-open) .bm-nav__cta { background: var(--bm-tertiary-fixed); }
.bm-nav.bm-nav--over:not(.is-scrolled):not(.is-open) .bm-nav__cta, .bm-nav.bm-nav--over:not(.is-scrolled):not(.is-open) .bm-nav__cta:hover { color: var(--bm-primary) !important; }
.bm-nav { transition: background .35s, border-color .35s; }

/* Cabecera */
.bm-page .bm-hero2 {
    position: relative; min-height: 100vh; min-height: 100svh; display: flex; align-items: flex-end;
    background: linear-gradient(to top, rgba(26,26,26,.88) 0%, rgba(26,26,26,.35) 45%, rgba(26,26,26,.25) 100%), var(--bm-hero) center / cover no-repeat, var(--bm-ink-black);
    color: #fff;
}
.bm-page .bm-hero2__inner { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--bm-margin-safe) 5.5rem; }
.bm-page .bm-hero2__kicker { color: var(--bm-tertiary-fixed) !important; letter-spacing: .25em !important; margin: 0 0 1.5rem !important; }
.bm-page .bm-hero2__title {
    font-family: var(--bm-font-serif); font-size: clamp(54px, 9.5vw, 132px); font-weight: 700;
    line-height: .92; letter-spacing: -.03em; color: #fff; margin: 0 0 1.25rem;
}
.bm-page .bm-hero2__sub { font-family: var(--bm-font-serif); font-style: italic; font-size: clamp(20px, 2.6vw, 30px); color: var(--bm-vellum-gray); margin: 0 0 3rem; }
.bm-page .bm-hero2__meta {
    display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.5rem 3rem;
    padding-top: 1.75rem; border-top: 1px solid rgba(255,255,255,.25);
}
.bm-page .bm-hero2__meta p { margin: 0; display: flex; flex-direction: column; gap: .3rem; }
.bm-page .bm-hero2__meta strong { font-family: var(--bm-font-serif); font-size: 22px; font-weight: 600; color: #fff; }
.bm-page .bm-hero2__meta span { font-size: 14px; letter-spacing: .08em; color: var(--bm-vellum-gray); }
.bm-page .bm-hero2__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.bm-page .bm-hero2__scroll { position: absolute; left: 50%; bottom: 1.5rem; width: 1px; height: 36px; background: rgba(255,255,255,.3); overflow: hidden; }
.bm-page .bm-hero2__scroll span { position: absolute; left: 0; top: -36px; width: 1px; height: 36px; background: #fff; animation: bmScroll 2.2s ease-in-out infinite; }
@keyframes bmScroll { to { top: 36px; } }

/* Secciones comunes */
.bm-page .bm-hsec { max-width: 1200px; margin: 0 auto; padding: 7.5rem var(--bm-margin-safe) 0; }
.bm-page .bm-hsec__kicker { color: var(--bm-outline-muted) !important; letter-spacing: .25em !important; margin: 0 0 1rem !important; }
.bm-page .bm-hsec__title {
    font-family: var(--bm-font-serif); font-size: clamp(32px, 4vw, 48px); font-weight: 600;
    line-height: 1.08; letter-spacing: -.015em; color: var(--bm-primary); margin: 0;
}
.bm-page .bm-hsec__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: 3rem; }
.bm-page .bm-hcols .bm-cols { padding: 0; }
.bm-page .bm-link {
    display: inline-flex; gap: .4rem; align-items: center; white-space: nowrap; padding-bottom: 3px;
    border-bottom: 1px solid var(--bm-outline-variant); color: var(--bm-primary);
    font-family: var(--bm-font-sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: border-color .25s;
}
.bm-page .bm-link span { transition: transform .25s; }
.bm-page .bm-link:hover { border-color: var(--bm-primary); }
.bm-page .bm-link:hover span { transform: translateX(4px); }
.bm-page .bm-link--light { color: #fff; border-color: rgba(255,255,255,.35); }
.bm-page .bm-link--light:hover { border-color: #fff; }

/* Manifiesto */
.bm-page .bm-hintro { display: grid; grid-template-columns: 1fr 300px; gap: 5rem; align-items: end; }
.bm-page .bm-hintro__title {
    font-family: var(--bm-font-serif); font-size: clamp(30px, 3.6vw, 46px); font-weight: 600; line-height: 1.15;
    letter-spacing: -.01em; color: var(--bm-primary); margin: 0 0 1.75rem; text-wrap: balance;
}
.bm-page .bm-hintro__lead { font-size: clamp(17px, 1.5vw, 19px); line-height: 1.7; color: var(--bm-on-surface-variant); max-width: 640px; margin: 0 0 2rem; }

/* Recorrido */
.bm-page .bm-hroute { display: grid; grid-template-columns: 1fr 1.25fr; gap: 5rem; align-items: start; }
.bm-page .bm-hroute__intro { position: sticky; top: 8rem; }
.bm-page .bm-hroute__intro p:not(.bm-label) { font-size: 17px; line-height: 1.7; color: var(--bm-on-surface-variant); margin: 1.5rem 0 2rem; max-width: 440px; }
.bm-page .bm-hroute__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--bm-primary); }
.bm-page .bm-hroute__list a {
    display: grid; grid-template-columns: 56px 1fr; grid-template-areas: "n name" "n desc"; column-gap: 1rem;
    padding: 1.4rem 0; border-bottom: 1px solid var(--bm-outline-variant); color: inherit; transition: padding-left .3s, background .3s;
}
.bm-page .bm-hroute__list a:hover { padding-left: .75rem; background: var(--bm-surface-container-low); }
.bm-page .bm-hroute__n { grid-area: n; font-family: var(--bm-font-sans); font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--bm-outline-muted); padding-top: .55rem; }
.bm-page .bm-hroute__name { grid-area: name; font-family: var(--bm-font-serif); font-size: clamp(22px, 2.2vw, 28px); font-weight: 600; color: var(--bm-primary); line-height: 1.2; }
.bm-page .bm-hroute__desc { grid-area: desc; font-size: 15px; color: var(--bm-on-surface-variant); margin-top: .25rem; }

/* Música (banda oscura) */
.bm-page .bm-hmusic { margin-top: 8rem; background: var(--bm-ink-black); color: #fff; }
.bm-page .bm-hmusic__inner { max-width: 1200px; margin: 0 auto; padding: 6.5rem var(--bm-margin-safe); display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.bm-page .bm-hmusic .bm-hsec__title { color: #fff; }
.bm-page .bm-hmusic .bm-hsec__kicker { color: var(--bm-tertiary-fixed) !important; }
.bm-page .bm-hmusic__text p:not(.bm-label) { color: var(--bm-vellum-gray); font-size: 17px; line-height: 1.7; margin: 1.5rem 0 2rem; }
.bm-page .bm-hmusic__covers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.bm-page .bm-hmusic__cover { aspect-ratio: 1; overflow: hidden; background: #262626; box-shadow: 0 18px 40px rgba(0,0,0,.45); }
.bm-page .bm-hmusic__cover:nth-child(2n) { transform: translateY(2rem); }
.bm-page .bm-hmusic__cover img { width: 100%; height: 100%; object-fit: cover; }
.bm-page .bm-hmusic__cover--empty { background: radial-gradient(circle, #1a1a1a 0 14%, #333 15% 16%, #111 17% 48%, #262626 49% 100%); }

/* Blog en portada */
.bm-page .bm-hblog .bm-blog__list { gap: 3rem 2rem; }

/* Visita */
.bm-page .bm-hvisit { margin-top: 8rem; background: var(--bm-primary); color: #fff; }
.bm-page .bm-hvisit__inner { max-width: 1200px; margin: 0 auto; padding: 4.5rem var(--bm-margin-safe); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 2rem; }
.bm-page .bm-hvisit .bm-label { color: var(--bm-tertiary-fixed) !important; margin: 0 0 .75rem !important; }
.bm-page .bm-hvisit h2 { font-family: var(--bm-font-serif); font-size: clamp(26px, 3vw, 38px); font-weight: 600; color: #fff; margin: 0; max-width: 640px; line-height: 1.2; }
.bm-page .bm-home ~ .bm-footer { margin-top: 0; }

@media (max-width: 1024px) {
    .bm-page .bm-hintro, .bm-page .bm-hroute, .bm-page .bm-hmusic__inner { grid-template-columns: 1fr; gap: 3rem; }
    .bm-page .bm-hroute__intro { position: static; }
    .bm-page .bm-hsec { padding-top: 5.5rem; }
    .bm-page .bm-hmusic, .bm-page .bm-hvisit { margin-top: 5.5rem; }
}
@media (max-width: 640px) {
    .bm-page .bm-hero2__inner { padding-bottom: 4.5rem; }
    .bm-page .bm-hero2__meta { flex-direction: column; align-items: flex-start; }
    .bm-page .bm-hsec__head { flex-direction: column; align-items: flex-start; }
    .bm-page .bm-hmusic__inner { padding: 4.5rem var(--bm-margin-safe); }
}

/* ==========================================================================
   LA MÚSICA (page-musica.php)
   ========================================================================== */
.bm-page .bm-music__listen {
    max-width: 1200px; margin: 0 auto 7rem; padding: 0 var(--bm-margin-safe);
    display: grid; grid-template-columns: 1fr 1.2fr; gap: 4rem; align-items: center;
}
.bm-page .bm-music__listen-text p:not(.bm-label) { color: var(--bm-on-surface-variant); font-size: 17px; line-height: 1.7; margin: 1.25rem 0 0; }
.bm-page .bm-music__player iframe { display: block; border: 0; border-radius: 12px; box-shadow: 0 18px 40px rgba(65,0,3,.12); }
.bm-page .bm-music__soon {
    display: flex; align-items: center; gap: 1.75rem; padding: 2.5rem; background: var(--bm-ink-black); color: var(--bm-vellum-gray);
}
.bm-page .bm-music__soon p { margin: 0; font-family: var(--bm-font-serif); font-size: 22px; font-style: italic; }
.bm-page .bm-music__disc {
    flex: 0 0 110px; height: 110px; border-radius: 50%; animation: bmSpin 6s linear infinite;
    background: radial-gradient(circle, var(--bm-primary) 0 18%, #111 19% 21%, #1d1d1d 22% 30%, #111 31% 33%, #1d1d1d 34% 44%, #111 45% 47%, #1d1d1d 48% 100%);
}
@keyframes bmSpin { to { transform: rotate(360deg); } }

.bm-page .bm-music__records { max-width: 1200px; margin: 0 auto; padding: 0 var(--bm-margin-safe) 7rem; }
.bm-page .bm-music__filters { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
.bm-page .bm-records { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 3rem 2rem; }
.bm-page .bm-record[hidden] { display: none; }
.bm-page .bm-record__sleeve { position: relative; aspect-ratio: 1; margin-bottom: 1.1rem; }
.bm-page .bm-record__cover { position: relative; z-index: 1; width: 100%; height: 100%; overflow: hidden; background: var(--bm-surface-container); box-shadow: 0 10px 26px rgba(26,26,26,.18); }
.bm-page .bm-record__cover img { width: 100%; height: 100%; object-fit: cover; }
.bm-page .bm-record__blank { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--bm-primary), var(--bm-primary-container)); }
.bm-page .bm-record__disc {
    position: absolute; top: 4%; left: 4%; width: 92%; height: 92%; border-radius: 50%;
    background: radial-gradient(circle, var(--bm-tertiary-container) 0 15%, #111 16% 17%, #1c1c1c 18% 28%, #0f0f0f 29% 30%, #1c1c1c 31% 44%, #0f0f0f 45% 46%, #1c1c1c 47% 100%);
    transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.bm-page .bm-record:hover .bm-record__disc { transform: translateX(32%) rotate(140deg); }
.bm-page .bm-record__title { font-family: var(--bm-font-serif); font-size: 19px; font-weight: 600; line-height: 1.25; color: var(--bm-primary); margin: 0 0 .3rem; }
.bm-page .bm-record__meta { font-size: 13px; color: var(--bm-outline-muted); margin: 0; letter-spacing: .02em; }

@media (max-width: 1024px) {
    .bm-page .bm-music__listen { grid-template-columns: 1fr; gap: 2rem; }
    .bm-page .bm-records { grid-template-columns: repeat(3, 1fr); }
    .bm-page .bm-music__filters { justify-content: flex-start; }
}
@media (max-width: 640px) {
    .bm-page .bm-records { grid-template-columns: repeat(2, 1fr); gap: 2rem 1rem; }
    .bm-page .bm-music__soon { flex-direction: column; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    .bm-page .bm-music__disc, .bm-page .bm-hero2__scroll span { animation: none; }
}

/* ==========================================================================
   BLOG — rediseño (mismo lenguaje que La Colección)
   ========================================================================== */
.bm-page .bm-blog { max-width: none; padding: 10rem 0 0; }
.bm-page .bm-blog__head { margin-bottom: 4.5rem; }
.bm-page .bm-blog__topics { border-top: 1px solid var(--bm-primary); padding-top: 1rem; }
.bm-page .bm-blog__topics .bm-label { color: var(--bm-outline-muted); margin: 0 0 .5rem; }
.bm-page .bm-blog__topics ul { list-style: none; margin: 0; padding: 0; }
.bm-page .bm-blog__topics a {
    display: flex; justify-content: space-between; padding: .75rem 0; border-bottom: 1px solid var(--bm-outline-variant);
    font-family: var(--bm-font-serif); font-size: 19px; color: var(--bm-on-surface-variant); transition: color .2s, padding-left .25s;
}
.bm-page .bm-blog__topics a::after { content: '→'; font-family: var(--bm-font-sans); font-size: 13px; opacity: 0; transition: opacity .2s; }
.bm-page .bm-blog__topics a:hover, .bm-page .bm-blog__topics a.is-active { color: var(--bm-primary); padding-left: .4rem; }
.bm-page .bm-blog__topics a:hover::after, .bm-page .bm-blog__topics a.is-active::after { opacity: 1; }

.bm-page .bm-blog > .bm-blog__list, .bm-page .bm-blog > .bm-blog__pager, .bm-page .bm-blog > .bm-empty { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: var(--bm-margin-safe); padding-right: var(--bm-margin-safe); }
.bm-page .bm-blog > .bm-blog__list { padding-bottom: 6rem; box-sizing: border-box; }
.bm-page .bm-blog__list { gap: 4rem 2.25rem; }
.bm-page .bm-post-card__media { border: 0; aspect-ratio: 3 / 2; }
.bm-page .bm-post-card__meta { gap: .35rem 1rem; }
.bm-page .bm-post-card__title { font-size: clamp(22px, 2vw, 27px); line-height: 1.2; }
.bm-page .bm-post-card__excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bm-page .bm-post-card__more { align-self: flex-start; padding-bottom: 3px; border-bottom: 1px solid var(--bm-outline-variant); font-size: 12px; letter-spacing: .14em; }
.bm-page .bm-post-card:hover .bm-post-card__more { border-color: var(--bm-primary); }
.bm-page .bm-post-card--featured { grid-template-columns: 1.5fr 1fr; gap: 3.5rem; padding-bottom: 4rem; border-bottom: 1px solid var(--bm-outline-variant); }
.bm-page .bm-post-card--featured .bm-post-card__media { aspect-ratio: 16 / 10; }
.bm-page .bm-post-card--featured .bm-post-card__title { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.06; letter-spacing: -.015em; }
.bm-page .bm-blog ~ .bm-footer { margin-top: 0; }

/* Artículo */
.bm-page .bm-post { padding-top: 10rem; }
.bm-page .bm-post__head { max-width: 1000px; text-align: left; margin-bottom: 3.5rem; }
.bm-page .bm-post__head .bm-crumbs, .bm-page .bm-post__meta { justify-content: flex-start; }
.bm-page .bm-post__title { font-size: clamp(40px, 6vw, 76px); line-height: 1.02; letter-spacing: -.025em; }
.bm-page .bm-post__lead { font-size: clamp(20px, 2.2vw, 26px); max-width: 800px; }
.bm-page .bm-post__hero { margin-bottom: 4.5rem; }
.bm-page .bm-post__hero img { aspect-ratio: 16 / 8; }
.bm-page .bm-post__related {
    margin: 6rem calc(-1 * var(--bm-margin-safe)) 0; padding: 5.5rem var(--bm-margin-safe) 6rem;
}
.bm-page .bm-post__related .bm-hsec__head { max-width: 1200px; margin: 0 auto 3rem; }
.bm-page .bm-post .bm-hvisit { margin: 0 calc(-1 * var(--bm-margin-safe)); }
.bm-page .bm-post ~ .bm-footer { margin-top: 0; }

@media (max-width: 1024px) {
    .bm-page .bm-post-card--featured { grid-template-columns: 1fr; gap: 1.75rem; }
}
@media (max-width: 640px) {
    .bm-page .bm-blog, .bm-page .bm-post { padding-top: 7.5rem; }
}

/* ==========================================================================
   EXPOSICIONES
   ========================================================================== */
.bm-page .bm-xgrid {
    max-width: 1200px; margin: 0 auto; padding: 0 var(--bm-margin-safe) 6rem;
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 4rem 2.5rem;
}
.bm-page .bm-xgrid--small { grid-template-columns: repeat(3, 1fr); padding: 0; gap: 3rem 2rem; }
.bm-page .bm-xcard { display: flex; flex-direction: column; color: inherit; }
.bm-page .bm-xcard--big { grid-column: 1 / -1; display: grid; grid-template-columns: 1.5fr 1fr; gap: 3.5rem; align-items: center; }
.bm-page .bm-xcard__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--bm-surface-container); }
.bm-page .bm-xcard--big .bm-xcard__media { aspect-ratio: 16 / 10; }
.bm-page .bm-xcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.2,.6,.2,1); }
.bm-page .bm-xcard:hover .bm-xcard__media img { transform: scale(1.035); }
.bm-page .bm-xcard__body { display: flex; flex-direction: column; padding-top: 1.5rem; }
.bm-page .bm-xcard--big .bm-xcard__body { padding-top: 0; }
.bm-page .bm-xcard__kicker { color: var(--bm-outline-muted) !important; margin: 0 0 .75rem !important; }
.bm-page .bm-xcard__title { font-family: var(--bm-font-serif); font-size: clamp(26px, 2.6vw, 34px); font-weight: 600; line-height: 1.1; color: var(--bm-primary); margin: 0 0 .6rem; }
.bm-page .bm-xcard--big .bm-xcard__title { font-size: clamp(34px, 4vw, 54px); line-height: 1.03; letter-spacing: -.015em; }
.bm-page .bm-xgrid--small .bm-xcard__title { font-size: clamp(22px, 2vw, 26px); }
.bm-page .bm-xcard__sub { font-family: var(--bm-font-serif); font-style: italic; font-size: 18px; color: var(--bm-on-surface-variant); margin: 0 0 1.25rem; }
.bm-page .bm-xcard__more {
    align-self: flex-start; padding-bottom: 3px; border-bottom: 1px solid var(--bm-outline-variant);
    font-family: var(--bm-font-sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bm-primary);
}
.bm-page .bm-xcard__more span { display: inline-block; transition: transform .25s; }
.bm-page .bm-xcard:hover .bm-xcard__more { border-color: var(--bm-primary); }
.bm-page .bm-xcard:hover .bm-xcard__more span { transform: translateX(4px); }

/* Página de exposición */
.bm-page .bm-hero2--x { min-height: 88vh; min-height: 88svh; }
.bm-page .bm-x__title { font-size: clamp(44px, 7vw, 100px); line-height: .98; max-width: 14ch; }
.bm-page .bm-crumbs--light, .bm-page .bm-crumbs--light a { color: rgba(255,255,255,.75); }
.bm-page .bm-crumbs--light span:last-child { color: #fff; }

.bm-page .bm-x__content { max-width: 1200px; margin: 0 auto; padding: 6rem var(--bm-margin-safe) 2rem; counter-reset: bmxsec; }
.bm-page .bm-x__content > p.is-style-destacado { max-width: 820px; margin: 0 auto 4rem; font-family: var(--bm-font-serif); font-style: italic; font-size: clamp(22px, 2.5vw, 30px); line-height: 1.45; color: var(--bm-primary); text-align: center; }

/* Fotos de introducción: pareja asimétrica */
.bm-page .bm-x__content .wp-block-gallery.bm-xintro {
    display: grid !important; grid-template-columns: 1.4fr 1fr; gap: 1.5rem; align-items: end; margin: 0 0 7rem;
}
.bm-page .bm-x__content .bm-xintro .wp-block-image { width: 100% !important; margin: 0 !important; }
.bm-page .bm-x__content .bm-xintro .wp-block-image:nth-child(2) { margin-bottom: 4rem !important; }
.bm-page .bm-x__content .bm-xintro img { width: 100%; height: auto !important; aspect-ratio: auto; object-fit: cover; }

/* Apartados alternados: texto + dos fotos */
.bm-page .bm-x__content .bm-xsec {
    display: grid; grid-template-columns: 1fr 1.15fr; column-gap: 5rem; align-items: center;
    padding: 5.5rem 0; border-top: 1px solid var(--bm-outline-variant); counter-increment: bmxsec;
}
.bm-page .bm-x__content .bm-xsec > * { grid-column: 1; margin-top: 0; }
.bm-page .bm-x__content .bm-xsec > .wp-block-gallery { grid-column: 2; grid-row: 1 / span 20; }
.bm-page .bm-x__content .bm-xsec:nth-of-type(even) { grid-template-columns: 1.15fr 1fr; }
.bm-page .bm-x__content .bm-xsec:nth-of-type(even) > * { grid-column: 2; }
.bm-page .bm-x__content .bm-xsec:nth-of-type(even) > .wp-block-gallery { grid-column: 1; }
.bm-page .bm-x__content .bm-xsec h2 {
    font-family: var(--bm-font-serif); font-size: clamp(30px, 3.4vw, 44px); font-weight: 600; line-height: 1.08;
    color: var(--bm-primary); margin: 0 0 1.5rem;
}
.bm-page .bm-x__content .bm-xsec h2::before {
    content: counter(bmxsec, decimal-leading-zero); display: block; margin-bottom: 1rem;
    font-family: var(--bm-font-sans); font-size: 12px; font-weight: 700; letter-spacing: .2em; color: var(--bm-outline-muted);
}
.bm-page .bm-x__content .bm-xsec p { font-size: 18px; line-height: 1.8; color: var(--bm-on-surface-variant); margin: 0 0 1.2rem; }
.bm-page .bm-x__content .bm-xsec .wp-block-gallery {
    display: grid !important; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 0 !important; align-items: start;
}
.bm-page .bm-x__content .bm-xsec .wp-block-gallery .wp-block-image { width: 100% !important; margin: 0 !important; }
.bm-page .bm-x__content .bm-xsec .wp-block-gallery .wp-block-image:nth-child(2) { margin-top: 3.5rem !important; }
.bm-page .bm-x__content .bm-xsec .wp-block-gallery img { width: 100%; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; }
.bm-page .bm-x__content .wp-block-gallery figure { overflow: hidden; }
.bm-page .bm-x__content .wp-block-gallery img { transition: transform 1.1s cubic-bezier(.2,.6,.2,1); }
.bm-page .bm-x__content .wp-block-gallery figure:hover img { transform: scale(1.03); }

.bm-page .bm-x .bm-hvisit { margin-top: 3rem; }
.bm-page .bm-xothers { max-width: 1200px; margin: 0 auto; padding: 6rem var(--bm-margin-safe) 7rem; }
.bm-page .bm-x ~ .bm-footer, .bm-page .bm-xarchive ~ .bm-footer { margin-top: 0; }

@media (max-width: 1024px) {
    .bm-page .bm-xcard--big { grid-template-columns: 1fr; gap: 1.75rem; }
    .bm-page .bm-xgrid--small { grid-template-columns: repeat(2, 1fr); }
    .bm-page .bm-x__content .bm-xsec, .bm-page .bm-x__content .bm-xsec:nth-of-type(even) { grid-template-columns: 1fr; row-gap: 0; padding: 4rem 0; }
    .bm-page .bm-x__content .bm-xsec > *, .bm-page .bm-x__content .bm-xsec:nth-of-type(even) > * { grid-column: 1; }
    .bm-page .bm-x__content .bm-xsec > .wp-block-gallery, .bm-page .bm-x__content .bm-xsec:nth-of-type(even) > .wp-block-gallery { grid-column: 1; grid-row: auto; margin-top: 2rem !important; }
}
@media (max-width: 640px) {
    .bm-page .bm-xgrid, .bm-page .bm-xgrid--small { grid-template-columns: 1fr; }
    .bm-page .bm-x__content .wp-block-gallery.bm-xintro { grid-template-columns: 1fr; }
    .bm-page .bm-x__content .bm-xintro .wp-block-image:nth-child(2) { margin-bottom: 0 !important; }
}

/* Menú móvil */
@media (max-width: 900px) {
    .bm-nav__burger { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
    .bm-nav__links, .bm-nav__actions { display: none; }
    .bm-nav.is-open { background: var(--bm-surface); }
    .bm-nav.is-open .bm-nav__inner { flex-wrap: wrap; }
    .bm-nav.is-open .bm-nav__links { display: flex; flex-direction: column; align-items: stretch; gap: 0; order: 3; width: 100%; padding: .5rem 0 0; border-top: 1px solid var(--bm-outline-variant); }
    .bm-nav.is-open .bm-nav__link { font-size: 15px; padding: 1.05rem 0; border-bottom: 1px solid var(--bm-outline-variant); color: var(--bm-on-surface-variant); }
    .bm-nav.is-open .bm-nav__actions { display: flex; order: 4; width: 100%; padding: 1.25rem 0 1.5rem; justify-content: space-between; }
    .bm-nav.is-open .bm-nav__lang { display: inline; }
    .bm-nav.is-open .bm-nav__cta { flex: 1; justify-content: center; margin-left: 1rem; }
}

/* La Música: cabecera desde el Word */
.bm-page .bm-music__title { font-size: clamp(42px, 6vw, 80px); max-width: 16ch; }
.bm-page .bm-music__p { font-size: 17px; line-height: 1.75; color: var(--bm-on-surface-variant); max-width: 640px; margin: 1.1rem 0 0; }
.bm-page .bm-colidx__intro .bm-colidx__lead + .bm-music__p { margin-top: 1.5rem; }

/* Ajustes: estadísticas retiradas; blog sin cabecera */
.bm-page .bm-cifras-section { display: none !important; }
.bm-page .bm-colidx__head { grid-template-columns: 1fr; }
.bm-page .bm-blog { padding-top: 9rem; }
.bm-page .bm-hintro { grid-template-columns: 1fr; }
.bm-page .bm-hero2__title { margin-bottom: 0; }
.bm-page .bm-hero2__inner { padding-bottom: 7rem; }
@media (max-width: 640px) { .bm-page .bm-blog { padding-top: 6.5rem; } }

/* ==========================================================================
   PORTADA (nueva estructura)
   ========================================================================== */
.bm-page .bm-home2 { background: var(--bm-surface); padding: 8.5rem var(--bm-margin-safe) 5rem; }
.bm-page .bm-home2__title {
    max-width: 1200px; margin: 0 auto 3.5rem; text-align: center;
    font-family: var(--bm-font-serif); font-size: clamp(40px, 6vw, 76px); font-weight: 700;
    line-height: 1.02; letter-spacing: -.02em; color: var(--bm-primary);
}

/* Tres accesos */
.bm-page .bm-home2__tiles { max-width: 1000px; margin: 0 auto 5rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; }
.bm-page .bm-home2__tile { display: flex; flex-direction: column; align-items: center; color: inherit; }
.bm-page .bm-home2__img { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; background: var(--bm-surface-container); }
.bm-page .bm-home2__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.2,.6,.2,1); }
.bm-page .bm-home2__tile:hover .bm-home2__img img { transform: scale(1.05); }
.bm-page .bm-home2__label {
    margin-top: 1.1rem; font-family: var(--bm-font-serif); font-size: clamp(22px, 2.2vw, 28px); font-weight: 600; color: var(--bm-primary);
    background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 50% 100%;
    transition: background-size .3s;
}
.bm-page .bm-home2__tile:hover .bm-home2__label { background-size: 100% 1px; }

/* Recién llegadas: banda en movimiento */
.bm-page .bm-arrivals { max-width: 1200px; margin: 0 auto 5rem; }
.bm-page .bm-marquee {
    overflow: hidden; background: var(--bm-primary); padding: 2rem 0;
}
.bm-page .bm-marquee__track { display: flex; gap: 1.25rem; width: max-content; animation: bmMarquee var(--bm-marquee-dur, 60s) linear infinite; }
.bm-page .bm-marquee:hover .bm-marquee__track, .bm-page .bm-marquee:focus-within .bm-marquee__track { animation-play-state: paused; }
@keyframes bmMarquee { to { transform: translateX(calc(-50% - .625rem)); } }
.bm-page .bm-marquee__item { position: relative; flex: 0 0 auto; width: 210px; aspect-ratio: 1; overflow: hidden; background: rgba(255,255,255,.06); }
.bm-page .bm-marquee__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.bm-page .bm-marquee__item:hover img { transform: scale(1.06); }
.bm-page .bm-marquee__name {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 1.5rem .75rem .6rem;
    background: linear-gradient(to top, rgba(26,26,26,.8), transparent);
    color: #fff; font-family: var(--bm-font-serif); font-size: 15px; line-height: 1.25; opacity: 0; transition: opacity .3s;
}
.bm-page .bm-marquee__item:hover .bm-marquee__name, .bm-page .bm-marquee__item:focus .bm-marquee__name { opacity: 1; }
.bm-page .bm-arrivals__label { text-align: center; margin: 1.25rem 0 0; }
.bm-page .bm-arrivals__label a { font-family: var(--bm-font-serif); font-style: italic; font-size: 22px; color: var(--bm-primary); }
@media (prefers-reduced-motion: reduce) {
    .bm-page .bm-marquee__track { animation: none; }
    .bm-page .bm-marquee { overflow-x: auto; }
}

/* Contacto y redes */
.bm-page .bm-home2__social { list-style: none; margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 3.5rem; }
.bm-page .bm-home2__social li { margin: 0; }
.bm-page .bm-home2__social a, .bm-page .bm-home2__social .is-soon { display: flex; flex-direction: column; align-items: center; gap: .6rem; color: var(--bm-primary); }
.bm-page .bm-home2__social img { width: 56px; height: 56px; transition: transform .25s; }
.bm-page .bm-home2__social a:hover img { transform: translateY(-3px); }
.bm-page .bm-home2__social span { font-family: var(--bm-font-sans); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.bm-page .bm-home2__social .is-soon { opacity: .55; cursor: default; }
.bm-page .bm-home2 ~ .bm-footer { margin-top: 0; }

@media (max-width: 760px) {
    .bm-page .bm-home2 { padding-top: 6.5rem; }
    .bm-page .bm-home2__tiles { grid-template-columns: 1fr 1fr 1fr; gap: 1rem; }
    .bm-page .bm-home2__label { font-size: 17px; margin-top: .7rem; }
    .bm-page .bm-marquee__item { width: 150px; }
    .bm-page .bm-home2__social { gap: 1.5rem 2rem; }
}
@media (max-width: 480px) {
    .bm-page .bm-home2__tiles { grid-template-columns: 1fr; max-width: 360px; }
}
