/**
 * Brandt Énergie Studio
 * Direction web issue de la charte : Brandt Red, Carbon, Steel.
 */
:root {
    --be-red: #e4003e;
    --be-red-dark: #bd0033;
    --be-carbon: #1e1e1e;
    --be-steel: #f0f0f0;
    --be-white: #ffffff;
    --be-text: #292929;
    --be-muted: #666b73;
    --be-border: rgba(30, 30, 30, .12);
    --be-shadow: 0 20px 60px rgba(30, 30, 30, .09);
    --be-shadow-soft: 0 10px 30px rgba(30, 30, 30, .06);
    --be-radius: 28px;
    --be-radius-sm: 16px;
    --be-content: min(1180px, calc(100vw - 40px));
    --be-heading: "Ubuntu Sans", "Arial Narrow", Arial, sans-serif;
    --be-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.be-generated-page,
.be-product-single {
    font-family: var(--be-body);
    color: var(--be-text);
}

body.be-generated-page {
    overflow-x: hidden;
    overflow-x: clip;
}

.be-generated-page .entry-header,
body.be-generated-page .hero-section[data-type] {
    display: none;
}

.be-generated-page .site-main,
.be-generated-page .entry-content,
.be-product-single .entry-content {
    margin-top: 0;
}

.be-generated-page .entry-content > :first-child {
    margin-top: 0;
}

.be-generated-page .entry-content > :last-child {
    margin-bottom: 0;
}

.be-generated-page h1,
.be-generated-page h2,
.be-generated-page h3,
.be-product-single h1,
.be-product-single h2,
.be-product-single h3,
.be-catalogue h2,
.be-catalogue h3,
.be-lead-form h2,
.be-lead-form h3 {
    font-family: var(--be-heading);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -.035em;
    color: var(--be-carbon);
}

.be-generated-page h1 {
    font-size: clamp(2.65rem, 6vw, 5.8rem);
}

.be-generated-page h2 {
    font-size: clamp(2rem, 4vw, 3.7rem);
}

.be-generated-page h3,
.be-product-card h3 {
    font-size: clamp(1.25rem, 2vw, 1.75rem);
}

.be-generated-page p,
.be-product-single p,
.be-lead-form,
.be-catalogue {
    line-height: 1.7;
}

.be-generated-page .alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.be-section,
.be-hero,
.be-pro-cta,
.be-cta {
    box-sizing: border-box;
    padding: clamp(72px, 9vw, 132px) max(20px, calc((100vw - 1180px) / 2));
}

.be-section--steel {
    background: var(--be-steel);
}

.be-section--carbon {
    background: var(--be-carbon);
    color: var(--be-white);
}

.be-section--carbon h2,
.be-section--carbon h3,
.be-section--carbon p,
.be-section--carbon .be-eyebrow {
    color: var(--be-white);
}

.be-eyebrow {
    margin: 0 0 14px;
    color: var(--be-red);
    font-family: var(--be-heading);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.be-section-heading {
    max-width: 790px;
    margin: 0 0 48px;
}

.be-section-heading h2 {
    margin: 0 0 18px;
}

.be-section-lead {
    max-width: 690px;
    color: var(--be-muted);
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
}

.be-section--carbon .be-section-lead {
    color: rgba(255, 255, 255, .72);
}

/* Hero */
.be-hero {
    position: relative;
    overflow: hidden;
    min-height: min(850px, 88vh);
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 84% 20%, rgba(228, 0, 62, .13), transparent 32%),
        linear-gradient(135deg, #fff 0%, #f8f8f8 52%, #eeeeee 100%);
}

.be-hero::after {
    content: "";
    position: absolute;
    right: -8vw;
    bottom: -18vw;
    width: 42vw;
    height: 42vw;
    border: 1px solid rgba(228, 0, 62, .15);
    border-radius: 50%;
    pointer-events: none;
}

.be-hero__grid {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    align-items: center !important;
    gap: clamp(35px, 6vw, 90px);
}

.be-hero__grid > .wp-block-column:first-child {
    flex-basis: 54%;
}

.be-hero__grid > .wp-block-column:last-child {
    flex-basis: 46%;
}

.be-hero__title {
    max-width: 830px;
    margin: 0 0 24px;
}

.be-hero__lead {
    max-width: 690px;
    margin: 0 0 34px;
    color: var(--be-muted);
    font-size: clamp(1.08rem, 1.7vw, 1.38rem);
}

.be-hero__actions {
    gap: 12px;
}

.be-media-placeholder {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    display: grid;
    place-items: end start;
    padding: 30px;
    border-radius: 48px 12px 48px 12px;
    background:
        linear-gradient(155deg, rgba(30, 30, 30, .05), rgba(30, 30, 30, .22)),
        linear-gradient(135deg, #f7f1ed, #c8d3d5);
    box-shadow: var(--be-shadow);
}

.be-media-placeholder::before {
    content: "";
    position: absolute;
    inset: 18% 17% 12%;
    border-radius: 50% 50% 34% 34%;
    background: rgba(255, 255, 255, .45);
    filter: blur(2px);
}

.be-media-placeholder__text {
    position: relative;
    max-width: 300px;
    margin: 0;
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 14px;
    background: rgba(255, 255, 255, .84);
    box-shadow: var(--be-shadow-soft);
    backdrop-filter: blur(12px);
    font-size: .9rem;
}

/* Buttons */
.be-button.wp-block-button {
    margin: 0;
}

.be-button .wp-block-button__link,
a.be-button,
button.be-button {
    box-sizing: border-box;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-family: var(--be-heading);
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
    cursor: pointer;
}

.be-button .wp-block-button__link:hover,
a.be-button:hover,
button.be-button:hover {
    transform: translateY(-2px);
}

.be-button--red .wp-block-button__link,
a.be-button--red,
button.be-button--red {
    background: var(--be-red);
    color: var(--be-white);
    box-shadow: 0 11px 26px rgba(228, 0, 62, .22);
}

.be-button--red .wp-block-button__link:hover,
a.be-button--red:hover,
button.be-button--red:hover {
    background: var(--be-red-dark);
    color: var(--be-white);
}

.be-button--dark .wp-block-button__link,
a.be-button--dark,
button.be-button--dark {
    background: var(--be-carbon);
    color: var(--be-white);
}

.be-button--ghost .wp-block-button__link,
a.be-button--ghost,
button.be-button--ghost {
    border-color: var(--be-border);
    background: transparent;
    color: var(--be-carbon);
}

.be-button--text .wp-block-button__link {
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--be-carbon);
    box-shadow: none;
}

.be-button--text .wp-block-button__link::after,
.be-text-link::after {
    content: "→";
    margin-left: 8px;
    transition: transform .2s ease;
}

.be-button--text .wp-block-button__link:hover::after,
.be-text-link:hover::after {
    transform: translateX(4px);
}

.be-button:focus-visible,
.be-button .wp-block-button__link:focus-visible,
.be-field input:focus-visible,
.be-field select:focus-visible,
.be-field textarea:focus-visible,
.be-choice input:focus-visible + span {
    outline: 3px solid rgba(228, 0, 62, .32);
    outline-offset: 3px;
}

/* Cards */
.be-card-grid {
    gap: 20px;
}

.be-card-grid--5 {
    flex-wrap: wrap !important;
}

.be-card-grid--5 > .wp-block-column {
    min-width: 200px;
}

.be-card {
    height: 100%;
    box-sizing: border-box;
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius);
    background: var(--be-white);
    box-shadow: var(--be-shadow-soft);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.be-card:hover {
    transform: translateY(-5px);
    border-color: rgba(228, 0, 62, .24);
    box-shadow: var(--be-shadow);
}

.be-card h3 {
    margin: 0 0 14px;
}

.be-card > p:not(.be-eyebrow) {
    color: var(--be-muted);
}

.be-section--carbon .be-card {
    border-color: rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .055);
    box-shadow: none;
}

.be-section--carbon .be-card > p:not(.be-eyebrow) {
    color: rgba(255, 255, 255, .7);
}

.be-section--carbon .be-card .be-button--text .wp-block-button__link {
    color: var(--be-white);
}

.be-metric-grid {
    max-width: 1180px;
    margin: 0 auto;
    gap: 16px;
}

.be-card--metric {
    border: 0;
    box-shadow: none;
}

.be-card--metric:hover {
    transform: none;
}

.be-card--step .be-eyebrow {
    font-size: 1rem;
}

/* CTA */
.be-pro-cta {
    background: var(--be-carbon);
    color: var(--be-white);
}

.be-pro-cta h2,
.be-pro-cta p {
    color: var(--be-white);
}

.be-pro-cta__grid,
.be-cta__grid {
    max-width: 1180px;
    margin: 0 auto;
    align-items: center !important;
    gap: 40px;
}

.be-pro-cta__grid > .wp-block-column:last-child,
.be-cta__grid > .wp-block-column:last-child {
    display: flex;
    justify-content: flex-end;
}

.be-cta {
    background: var(--be-red);
    color: var(--be-white);
}

.be-cta h2,
.be-cta p {
    color: var(--be-white);
}

.be-cta .be-button--red .wp-block-button__link {
    background: var(--be-white);
    color: var(--be-red);
    box-shadow: none;
}

/* Catalogue */
.be-catalogue {
    max-width: 1180px;
    margin: 0 auto;
}

.be-catalogue-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr)) auto auto;
    gap: 12px;
    align-items: end;
    margin: 0 0 34px;
    padding: 18px;
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius-sm);
    background: var(--be-white);
    box-shadow: var(--be-shadow-soft);
}

.be-catalogue-filters label span {
    display: block;
    margin: 0 0 6px;
    font-family: var(--be-heading);
    font-size: .78rem;
    font-weight: 700;
}

.be-catalogue-filters select {
    width: 100%;
    min-height: 48px;
    padding: 0 38px 0 13px;
    border: 1px solid var(--be-border);
    border-radius: 11px;
    background-color: #fff;
    color: var(--be-carbon);
}

.be-filter-reset {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    color: var(--be-muted);
    font-size: .9rem;
}

.be-product-grid {
    display: grid;
    grid-template-columns: repeat(var(--be-catalogue-columns, 3), minmax(0, 1fr));
    gap: 24px;
}

.be-product-card {
    overflow: hidden;
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius);
    background: var(--be-white);
    box-shadow: var(--be-shadow-soft);
    transition: transform .24s ease, box-shadow .24s ease;
}

.be-product-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--be-shadow);
}

.be-product-card__media {
    min-height: 270px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: var(--be-steel);
    color: var(--be-muted);
    text-decoration: none;
}

.be-product-card__media img {
    width: 100%;
    height: 100%;
    min-height: 270px;
    object-fit: cover;
    transition: transform .4s ease;
}

.be-product-card:hover .be-product-card__media img {
    transform: scale(1.03);
}

.be-product-card__body {
    padding: 26px;
}

.be-product-card__body h3 {
    margin: 0 0 12px;
}

.be-product-card__body h3 a {
    color: var(--be-carbon);
    text-decoration: none;
}

.be-product-card__body > p:not(.be-eyebrow) {
    color: var(--be-muted);
}

.be-text-link {
    color: var(--be-carbon);
    font-weight: 700;
    text-decoration: none;
}

.be-empty-state {
    padding: 45px;
    border: 1px dashed rgba(30, 30, 30, .25);
    border-radius: var(--be-radius);
    background: var(--be-steel);
    text-align: center;
}

/* Product pages */
.be-product-single .entry-content {
    max-width: 980px;
    margin-right: auto;
    margin-left: auto;
}

.be-product-intro {
    font-size: clamp(1.15rem, 2vw, 1.4rem);
    color: var(--be-muted);
}

.be-benefit-columns,
.be-product-single .be-card-grid {
    gap: 18px;
}

.be-product-specs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 28px 0 44px;
}

.be-product-specs > div {
    padding: 19px;
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius-sm);
    background: var(--be-steel);
}

.be-product-specs span,
.be-product-specs strong {
    display: block;
}

.be-product-specs span {
    margin-bottom: 4px;
    color: var(--be-muted);
    font-size: .78rem;
}

.be-product-cta {
    margin: 55px 0 10px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 28px;
    align-items: center;
    padding: clamp(28px, 5vw, 55px);
    border-radius: var(--be-radius);
    background: var(--be-carbon);
    color: var(--be-white);
}

.be-product-cta h2,
.be-product-cta p {
    color: var(--be-white);
}

/* Forms */
.be-section--form {
    background: var(--be-steel);
}

.be-form-intro {
    max-width: 760px;
    margin: 0 auto 30px;
}

.be-lead-form {
    position: relative;
    max-width: 920px;
    margin: 0 auto;
    padding: clamp(24px, 5vw, 56px);
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius);
    background: var(--be-white);
    box-shadow: var(--be-shadow);
}

.be-lead-form h3 {
    margin: 0 0 28px;
    font-size: clamp(1.65rem, 3vw, 2.5rem);
}

.be-form-progress {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 7px;
    margin-bottom: 40px;
}

.be-form-progress span {
    position: relative;
    padding: 12px 8px 12px 28px;
    border-radius: 9px;
    background: var(--be-steel);
    color: var(--be-muted);
    font-size: .76rem;
    font-weight: 700;
}

.be-form-progress span::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    width: 8px;
    height: 8px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #aaa;
}

.be-form-progress span.is-active {
    background: rgba(228, 0, 62, .09);
    color: var(--be-red);
}

.be-form-progress span.is-active::before,
.be-form-progress span.is-complete::before {
    background: var(--be-red);
}

.be-form-step[hidden] {
    display: none !important;
}

.be-field-grid {
    display: grid;
    gap: 18px;
}

.be-field-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.be-field {
    display: block;
}

.be-field > span {
    display: block;
    margin-bottom: 7px;
    font-family: var(--be-heading);
    font-size: .9rem;
    font-weight: 700;
    color: var(--be-carbon);
}

.be-field em {
    color: var(--be-red);
    font-style: normal;
}

.be-field input,
.be-field select,
.be-field textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: 12px 14px;
    border: 1px solid rgba(30, 30, 30, .2);
    border-radius: 12px;
    background: #fff;
    color: var(--be-carbon);
    font: inherit;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.be-field textarea {
    min-height: 140px;
    resize: vertical;
}

.be-field input:focus,
.be-field select:focus,
.be-field textarea:focus {
    border-color: var(--be-red);
    box-shadow: 0 0 0 4px rgba(228, 0, 62, .08);
}

.be-field--wide {
    margin-top: 18px;
}

.be-field-error {
    min-height: 18px;
    display: block;
    padding-top: 4px;
    color: #b32d2e;
    font-size: .78rem;
}

.be-field.has-error input,
.be-field.has-error select,
.be-field.has-error textarea,
.be-consent.has-error {
    border-color: #b32d2e;
}

.be-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-bottom: 26px;
}

.be-choice-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.be-choice {
    position: relative;
    display: block;
    cursor: pointer;
}

.be-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.be-choice span {
    min-height: 92px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 17px;
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius-sm);
    background: var(--be-white);
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.be-choice span:hover {
    transform: translateY(-2px);
    border-color: rgba(228, 0, 62, .4);
}

.be-choice input:checked + span {
    border-color: var(--be-red);
    background: rgba(228, 0, 62, .055);
    box-shadow: inset 0 0 0 1px var(--be-red);
}

.be-choice strong {
    color: var(--be-carbon);
    font-family: var(--be-heading);
}

.be-choice small {
    margin-top: 4px;
    color: var(--be-muted);
    line-height: 1.4;
}

.be-consent {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    margin: 20px 0;
    padding: 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: .82rem;
    color: var(--be-muted);
}

.be-consent input {
    margin-top: 4px;
}

.be-form-nav {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 28px;
}

.be-form-nav--end {
    justify-content: flex-end;
}

.be-form-status {
    margin-top: 20px;
    padding: 15px 17px;
    border-radius: 12px;
    font-weight: 600;
}

.be-form-status.is-success {
    background: #e7f7ec;
    color: #166534;
}

.be-form-status.is-error {
    background: #fff0f0;
    color: #9f1239;
}

.be-lead-form.is-submitting {
    opacity: .78;
    pointer-events: none;
}

.be-lead-form.is-complete > :not(.be-form-status) {
    display: none !important;
}

.be-lead-form.is-complete .be-form-status {
    display: block !important;
    margin-top: 0;
}

.be-hp {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.be-contact-grid {
    max-width: 1180px;
    margin: 0 auto;
    align-items: flex-start !important;
    gap: 50px;
}

.be-contact-grid .be-lead-form {
    padding: clamp(22px, 4vw, 42px);
}

/* Misc */
.be-alert {
    max-width: 980px;
    margin: 35px auto;
    padding: 24px;
    border-radius: var(--be-radius-sm);
}

.be-alert--warning {
    border: 1px solid #f2cb66;
    background: #fff9e8;
}

.be-legal-shell,
.be-article-shell {
    width: var(--be-content);
    max-width: 900px;
    margin: 70px auto;
}

.be-query .wp-block-post-template {
    gap: 24px;
}

.be-query .wp-block-post {
    overflow: hidden;
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius);
    background: #fff;
}

.be-query .wp-block-post-title,
.be-query .wp-block-post-excerpt,
.be-query .wp-block-post-date {
    padding-right: 24px;
    padding-left: 24px;
}

.be-query .wp-block-post-excerpt {
    padding-bottom: 24px;
}

.be-latest-posts {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    padding: 0;
}

.be-editor-note {
    padding: 14px;
    border: 1px dashed var(--be-border);
    border-radius: 10px;
    background: var(--be-steel);
    color: var(--be-muted);
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (max-width: 1080px) {
    .be-catalogue-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .be-product-grid {
        grid-template-columns: repeat(min(2, var(--be-catalogue-columns, 3)), minmax(0, 1fr));
    }

    .be-card-grid--4,
    .be-card-grid--5 {
        flex-wrap: wrap !important;
    }

    .be-card-grid--4 > .wp-block-column,
    .be-card-grid--5 > .wp-block-column {
        flex-basis: calc(50% - 12px) !important;
    }
}

@media (max-width: 781px) {
    .be-section,
    .be-hero,
    .be-pro-cta,
    .be-cta {
        padding-right: 20px;
        padding-left: 20px;
    }

    .be-hero {
        min-height: auto;
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .be-hero__grid,
    .be-pro-cta__grid,
    .be-cta__grid,
    .be-contact-grid {
        gap: 30px;
    }

    .be-media-placeholder {
        min-height: 380px;
        border-radius: 34px 10px;
    }

    .be-pro-cta__grid > .wp-block-column:last-child,
    .be-cta__grid > .wp-block-column:last-child {
        justify-content: flex-start;
    }

    .be-card-grid--4 > .wp-block-column,
    .be-card-grid--5 > .wp-block-column {
        flex-basis: 100% !important;
    }

    .be-card-grid {
        gap: 14px;
    }

    .be-product-grid,
    .be-latest-posts {
        grid-template-columns: 1fr;
    }

    .be-catalogue-filters {
        grid-template-columns: 1fr;
    }

    .be-field-grid--2,
    .be-choice-grid,
    .be-choice-grid--3 {
        grid-template-columns: 1fr;
    }

    .be-form-progress {
        grid-template-columns: repeat(4, 1fr);
    }

    .be-form-progress span {
        overflow: hidden;
        padding: 9px;
        text-indent: -999px;
    }

    .be-form-progress span::before {
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .be-product-specs {
        grid-template-columns: 1fr;
    }

    .be-product-cta {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .be-generated-page h1 {
        font-size: clamp(2.35rem, 13vw, 3.4rem);
    }

    .be-lead-form {
        padding: 22px 16px;
        border-radius: 18px;
    }

    .be-form-nav {
        flex-direction: column-reverse;
    }

    .be-form-nav .be-button {
        width: 100%;
    }

    .be-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .be-hero__actions .wp-block-button,
    .be-hero__actions .wp-block-button__link {
        width: 100%;
    }
}

/* --------------------------------------------------------------------------
 * Brandt Énergie Studio 0.2 — direction Thermor x Atlantic x charte Brandt
 * -------------------------------------------------------------------------- */
.be-generated-page h1,
.be-product-single h1 {
    font-size: clamp(2.35rem, 4.4vw, 4.65rem);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.be-generated-page h2,
.be-product-single h2,
.be-product-guidance h2,
.be-product-cta h2 {
    font-size: clamp(1.75rem, 3vw, 3rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.be-generated-page h3,
.be-product-single h3,
.be-product-card h3 {
    font-size: clamp(1.18rem, 1.7vw, 1.6rem);
    line-height: 1.16;
}

.be-section,
.be-pro-cta,
.be-cta {
    padding-top: clamp(64px, 7vw, 104px);
    padding-bottom: clamp(64px, 7vw, 104px);
}

.be-hero {
    min-height: min(730px, 84vh);
    padding-top: clamp(58px, 7vw, 96px);
    padding-bottom: clamp(58px, 7vw, 96px);
}

.be-hero__lead {
    max-width: 690px;
    font-size: clamp(1.05rem, 1.45vw, 1.28rem);
}

.be-button--outline .wp-block-button__link,
a.be-button--outline,
button.be-button--outline {
    border: 1px solid rgba(30, 30, 30, .28);
    background: transparent;
    color: var(--be-carbon);
}

.be-button--outline .wp-block-button__link:hover,
a.be-button--outline:hover,
button.be-button--outline:hover {
    border-color: var(--be-carbon);
    background: var(--be-carbon);
    color: #fff;
}

.be-button--outline-light .wp-block-button__link,
a.be-button--outline-light,
button.be-button--outline-light {
    border: 1px solid rgba(255, 255, 255, .48);
    background: transparent;
    color: #fff;
}

.be-button--outline-light .wp-block-button__link:hover,
a.be-button--outline-light:hover,
button.be-button--outline-light:hover {
    border-color: #fff;
    background: #fff;
    color: var(--be-carbon);
}

.be-proof {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    margin-top: 28px;
    padding: 12px 16px;
    border: 1px solid rgba(30, 30, 30, .12);
    border-radius: 14px;
    background: rgba(255, 255, 255, .72);
    backdrop-filter: blur(12px);
}

.be-proof p { margin: 0; }
.be-proof__title { font-weight: 700; color: var(--be-carbon); }
.be-proof__text { color: var(--be-muted); font-size: .92rem; }

.be-visual {
    position: relative;
    min-height: 510px;
    overflow: hidden;
    border-radius: 42px 10px 42px 10px;
    background:
        radial-gradient(circle at 75% 24%, rgba(255,255,255,.92), rgba(255,255,255,0) 24%),
        linear-gradient(145deg, rgba(228,0,62,.92), rgba(30,30,30,.94));
    box-shadow: var(--be-shadow);
    isolation: isolate;
}

.be-visual::before,
.be-visual::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    z-index: -1;
}

.be-visual::before {
    width: 320px;
    height: 320px;
    right: -70px;
    top: -60px;
    background: rgba(255,255,255,.18);
}

.be-visual::after {
    width: 230px;
    height: 230px;
    left: -55px;
    bottom: -55px;
    border: 42px solid rgba(255,255,255,.12);
}

.be-visual__label {
    position: absolute;
    left: 28px;
    bottom: 28px;
    max-width: 260px;
    margin: 0;
    padding: 12px 15px;
    border-radius: 12px;
    background: rgba(255,255,255,.9);
    color: var(--be-carbon);
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.35;
    box-shadow: 0 12px 30px rgba(0,0,0,.14);
}

.be-visual--home { background: radial-gradient(circle at 70% 20%, rgba(255,255,255,.95), transparent 24%), linear-gradient(145deg, #ece7e4 0%, #d4d9d8 48%, #9fa9a9 100%); }
.be-visual--project,
.be-visual--bill { background: linear-gradient(145deg, #2a2a2a, #636363 58%, #e4003e); }
.be-visual--boiler,
.be-visual--water { background: linear-gradient(145deg, #e9eef0, #9ab1ba 52%, #1e1e1e); }
.be-visual--dpe { background: linear-gradient(145deg, #edf5e8, #84b56f 52%, #1e1e1e); }
.be-visual--solar { background: linear-gradient(145deg, #e9f1ff, #f1c54c 50%, #e4003e); }
.be-visual--cool,
.be-visual--air { background: linear-gradient(145deg, #eff8ff, #8ed8ef 52%, #1e1e1e); }
.be-visual--hotwater,
.be-visual--tank { background: linear-gradient(145deg, #fff0ed, #f29f8d 52%, #e4003e); }
.be-visual--brand,
.be-visual--history { background: linear-gradient(145deg, #f6f6f6, #dedede 52%, #e4003e); }
.be-visual--pro,
.be-visual--installer,
.be-visual--proform { background: linear-gradient(145deg, #272727, #505050 52%, #e4003e); }
.be-visual--aids,
.be-visual--documents { background: linear-gradient(145deg, #fff8e8, #ecd38d 52%, #1e1e1e); }
.be-visual--advice { background: linear-gradient(145deg, #f2f2f2, #bbb 52%, #1e1e1e); }
.be-visual--form,
.be-visual--contact { background: linear-gradient(145deg, #fff, #efefef 52%, #e4003e); }
.be-visual--products,
.be-visual--house,
.be-visual--install { background: linear-gradient(145deg, #f5f3f0, #c7c1bb 54%, #1e1e1e); }

.be-trust {
    padding: 20px max(20px, calc((100vw - 1180px) / 2));
    border-top: 1px solid var(--be-border);
    border-bottom: 1px solid var(--be-border);
    background: #fff;
}

.be-trust__grid { margin: 0; gap: 0; }
.be-trust__grid > .wp-block-column { padding: 10px 22px; border-right: 1px solid var(--be-border); }
.be-trust__grid > .wp-block-column:first-child { padding-left: 0; }
.be-trust__grid > .wp-block-column:last-child { padding-right: 0; border-right: 0; }
.be-trust__title, .be-trust__text { margin: 0; }
.be-trust__title { font-family: var(--be-heading); font-weight: 700; color: var(--be-carbon); }
.be-trust__text { margin-top: 4px; color: var(--be-muted); font-size: .88rem; line-height: 1.45; }

.be-card-grid--projects { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.be-card-grid--projects > .wp-block-column { min-width: 0; }
.be-project-card { min-height: 300px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid rgba(255,255,255,.13) !important; background: linear-gradient(160deg, rgba(255,255,255,.1), rgba(255,255,255,.035)) !important; }
.be-project-card .wp-block-buttons { margin-top: auto; }
.be-project-card h3 { max-width: 280px; }
.be-project-card::before { content: ""; display: block; width: 48px; height: 5px; margin-bottom: 34px; border-radius: 99px; background: var(--be-red); }

.be-solution-card { position: relative; overflow: hidden; min-height: 340px; padding-top: 120px; }
.be-solution-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 96px; background: linear-gradient(120deg, var(--be-red), var(--be-carbon)); opacity: .95; }
.be-solution-card::after { content: ""; position: absolute; top: 22px; right: 24px; width: 52px; height: 52px; border-radius: 50%; border: 10px solid rgba(255,255,255,.34); }
.be-solution-card--solar::before { background: linear-gradient(120deg, #f1c54c, #e4003e); }
.be-solution-card--tank::before { background: linear-gradient(120deg, #e4003e, #9f002b); }
.be-solution-card--air::before { background: linear-gradient(120deg, #6bc8e6, #1e1e1e); }
.be-solution-card--water::before { background: linear-gradient(120deg, #8faeb9, #1e1e1e); }

.be-card-grid--2 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.be-card-grid--2 > .wp-block-column { min-width: 0; }
.be-card--list { padding: clamp(24px, 3vw, 38px); }
.be-card--question { min-height: 210px; }

.be-check-list { padding-left: 0 !important; list-style: none !important; }
.be-check-list li { position: relative; margin: 0 0 14px; padding-left: 30px; }
.be-check-list li::before { content: "✓"; position: absolute; left: 0; top: .05em; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: rgba(228,0,62,.1); color: var(--be-red); font-size: .75rem; font-weight: 800; }

.be-editorial-split { align-items: center !important; gap: clamp(34px, 6vw, 92px) !important; }
.be-editorial-split > .wp-block-column { min-width: 0; }
.be-editorial-split--reverse > .wp-block-column:first-child { order: 2; }
.be-editorial-split--reverse > .wp-block-column:last-child { order: 1; }
.be-section--editorial { background: #fff; }

.be-metrics { padding: 42px max(20px, calc((100vw - 1180px) / 2)); background: var(--be-red); color: #fff; }
.be-metrics__grid { margin: 0; gap: 0; }
.be-metrics__grid > .wp-block-column { padding: 8px 24px; border-right: 1px solid rgba(255,255,255,.25); }
.be-metrics__grid > .wp-block-column:first-child { padding-left: 0; }
.be-metrics__grid > .wp-block-column:last-child { border-right: 0; }
.be-metric__number { margin: 0 0 4px !important; color: #fff !important; font-size: clamp(2.2rem, 4vw, 4rem) !important; }
.be-metric__label { margin: 0; color: rgba(255,255,255,.9); font-weight: 600; line-height: 1.35 !important; }

.be-section--aids { background: linear-gradient(135deg, #fff8ea, #f3ede4); }
.be-aids-grid { align-items: stretch !important; gap: clamp(28px, 5vw, 70px) !important; }
.be-aids-stack { display: grid; gap: 14px; }
.be-aids-stack .be-card { padding: 24px; }

.be-centered-actions { justify-content: center; margin-top: 34px; }

.be-faq-list { max-width: 900px; margin: 0 auto; }
.be-faq-item { margin: 0 0 12px; border: 1px solid var(--be-border); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(30,30,30,.04); }
.be-faq-item summary { cursor: pointer; padding: 20px 56px 20px 22px; font-family: var(--be-heading); font-size: 1.08rem; font-weight: 700; color: var(--be-carbon); list-style: none; position: relative; }
.be-faq-item summary::-webkit-details-marker { display: none; }
.be-faq-item summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--be-steel); color: var(--be-red); }
.be-faq-item[open] summary::after { content: "−"; }
.be-faq-item > p { margin: 0; padding: 0 22px 22px; color: var(--be-muted); }

.be-alert--info { border-left: 5px solid #4e80a6; background: #eef6fb; }

.be-product-card__footer { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 16px; }
.be-mini-cta { display: inline-flex; align-items: center; min-height: 38px; padding: 8px 12px; border-radius: 9px; background: var(--be-red); color: #fff !important; font-size: .82rem; font-weight: 700; text-decoration: none !important; }
.be-mini-cta:hover { background: var(--be-red-dark); }
.be-product-ref { margin: -8px 0 10px !important; color: var(--be-muted); font-size: .8rem; }
.be-energy-badge { position: absolute; right: 14px; top: 14px; display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 9px; border-radius: 9px; background: #fff; color: var(--be-carbon); font-weight: 800; box-shadow: 0 8px 20px rgba(0,0,0,.12); }
.be-product-card__media { position: relative; }
.be-product-card__placeholder { display: grid; place-items: center; width: 100%; min-height: 260px; padding: 20px; color: var(--be-muted); background: linear-gradient(145deg, #f5f5f5, #e5e5e5); }

.be-filter-title { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px 16px; align-items: baseline; margin-bottom: 4px; }
.be-filter-title strong { font-family: var(--be-heading); font-size: 1.18rem; color: var(--be-carbon); }
.be-filter-title span { color: var(--be-muted); font-size: .9rem; }

.be-single-product-actions { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; margin-top: 22px; }
.be-single-product-actions > span { color: var(--be-muted); font-size: .88rem; }
.be-single-product-actions a.be-button { text-decoration: none; }

.be-product-single .product .price,
.be-product-single form.cart,
.be-product-single .quantity,
.be-product-single .single_add_to_cart_button,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce .cart,
.woocommerce .checkout-button,
.woocommerce-mini-cart,
.widget_shopping_cart {
    display: none !important;
}

.be-product-single .woocommerce-tabs { margin-top: clamp(44px, 6vw, 78px); }
.be-product-single .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 !important; border-bottom: 1px solid var(--be-border); }
.be-product-single .woocommerce-tabs ul.tabs::before { display: none !important; }
.be-product-single .woocommerce-tabs ul.tabs li { margin: 0 !important; border: 0 !important; border-radius: 10px 10px 0 0 !important; background: var(--be-steel) !important; }
.be-product-single .woocommerce-tabs ul.tabs li::before,
.be-product-single .woocommerce-tabs ul.tabs li::after { display: none !important; }
.be-product-single .woocommerce-tabs ul.tabs li.active { background: var(--be-carbon) !important; }
.be-product-single .woocommerce-tabs ul.tabs li a { padding: 13px 17px !important; color: var(--be-carbon) !important; }
.be-product-single .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.be-product-single .woocommerce-Tabs-panel { padding: 28px 0 10px !important; }

.be-product-guidance { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 5vw, 70px); align-items: center; margin: clamp(60px, 8vw, 110px) auto; padding: clamp(28px, 5vw, 56px); border-radius: 28px; background: var(--be-steel); }
.be-product-guidance__steps { display: grid; gap: 10px; }
.be-product-guidance__steps span { display: flex; align-items: center; gap: 12px; padding: 13px 15px; border-radius: 12px; background: #fff; font-weight: 600; }
.be-product-guidance__steps strong { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--be-red); color: #fff; }

.be-document-tab .be-button { display: inline-flex; text-decoration: none; }

@media (max-width: 1000px) {
    .be-card-grid--projects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .be-trust__grid { flex-wrap: wrap !important; }
    .be-trust__grid > .wp-block-column { flex-basis: 50% !important; border-bottom: 1px solid var(--be-border); }
    .be-trust__grid > .wp-block-column:nth-child(2) { border-right: 0; }
    .be-metrics__grid { flex-wrap: wrap !important; }
    .be-metrics__grid > .wp-block-column { flex-basis: 50% !important; margin-bottom: 18px; }
    .be-metrics__grid > .wp-block-column:nth-child(2) { border-right: 0; }
}

@media (max-width: 781px) {
    .be-generated-page h1,
    .be-product-single h1 { font-size: clamp(2.2rem, 11vw, 3.55rem); }
    .be-generated-page h2,
    .be-product-single h2 { font-size: clamp(1.72rem, 8vw, 2.45rem); }
    .be-visual { min-height: 360px; border-radius: 28px 8px 28px 8px; }
    .be-editorial-split--reverse > .wp-block-column:first-child,
    .be-editorial-split--reverse > .wp-block-column:last-child { order: initial; }
    .be-card-grid--projects,
    .be-card-grid--2 { grid-template-columns: 1fr; }
    .be-trust__grid > .wp-block-column { flex-basis: 100% !important; padding: 14px 0; border-right: 0; }
    .be-metrics__grid > .wp-block-column { flex-basis: 100% !important; padding: 12px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.22); }
    .be-metrics__grid > .wp-block-column:last-child { border-bottom: 0; }
    .be-product-guidance { grid-template-columns: 1fr; }
    .be-product-card__footer { align-items: flex-start; flex-direction: column; }
}

/* Ajustement typographique final : titres plus éditoriaux, moins imposants. */
.be-generated-page h1,
.be-product-single h1 {
    font-size: clamp(2.2rem, 3.55vw, 3.65rem);
    line-height: 1.06;
    letter-spacing: -.035em;
}

.be-generated-page h2,
.be-product-single h2,
.be-product-guidance h2,
.be-product-cta h2 {
    font-size: clamp(1.65rem, 2.35vw, 2.45rem);
    line-height: 1.12;
    letter-spacing: -.025em;
}

@media (max-width: 781px) {
    .be-generated-page h1,
    .be-product-single h1 {
        font-size: clamp(2rem, 9vw, 2.9rem);
    }

    .be-generated-page h2,
    .be-product-single h2,
    .be-product-guidance h2,
    .be-product-cta h2 {
        font-size: clamp(1.55rem, 7vw, 2.15rem);
    }
}

/* ========================================================================== 
   Brandt Énergie Studio 0.3 — finition préversion
   ========================================================================== */
:root {
    --be-red: #e4003e;
    --be-red-dark: #bd0034;
    --be-carbon: #1e1e1e;
    --be-steel: #f0f0f0;
    --be-cream: #f8f5f2;
    --be-muted: #62666d;
    --be-border: rgba(30, 30, 30, .11);
    --be-shadow-soft: 0 18px 55px rgba(30, 30, 30, .08);
    --be-shadow-card: 0 14px 38px rgba(30, 30, 30, .07);
    --be-radius-lg: 32px;
    --be-radius-md: 22px;
    --be-content: 1180px;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.be-generated-page,
.be-product-single { font-family: var(--be-body); color: var(--be-carbon); }
.be-generated-page :where(p, li),
.be-product-single :where(p, li) { line-height: 1.72; }
.be-generated-page :where(h1, h2, h3, h4),
.be-product-single :where(h1, h2, h3, h4) { text-wrap: balance; }

.be-generated-page h1,
.be-product-single h1 {
    max-width: 16ch;
    margin-bottom: 22px;
    font-size: clamp(2.15rem, 3.15vw, 3.35rem);
    line-height: 1.06;
    letter-spacing: -.035em;
}
.be-generated-page h2,
.be-product-single h2,
.be-product-guidance h2,
.be-product-cta h2 {
    font-size: clamp(1.7rem, 2.15vw, 2.28rem);
    line-height: 1.14;
    letter-spacing: -.025em;
}
.be-generated-page h3,
.be-product-single h3 { font-size: clamp(1.2rem, 1.45vw, 1.48rem); line-height: 1.25; }

.be-section,
.be-hero,
.be-project-assistant,
.be-pro-cta,
.be-cta {
    padding-inline: max(24px, calc((100vw - var(--be-content)) / 2));
}
.be-section { padding-block: clamp(68px, 8vw, 112px); }
.be-section + .be-section { margin-top: 0; }
.be-section-heading { width: min(760px, 100%); margin: 0 auto clamp(38px, 5vw, 60px); text-align: center; }
.be-section-heading h2 { margin: 8px auto 16px; }
.be-section-lead { max-width: 700px; margin-inline: auto; color: var(--be-muted); font-size: clamp(1rem, 1.25vw, 1.12rem); }

.be-hero {
    position: relative;
    isolation: isolate;
    padding-block: clamp(48px, 7vw, 94px);
    background:
        radial-gradient(circle at 13% 16%, rgba(228,0,62,.09), transparent 28%),
        linear-gradient(135deg, #fff 0%, #f8f7f5 58%, #efefef 100%);
}
.be-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0 auto 0 0;
    width: 7px;
    background: var(--be-red);
}
.be-hero__grid { align-items: center !important; gap: clamp(42px, 7vw, 96px) !important; margin: 0 !important; }
.be-hero__grid > .wp-block-column:first-child { display: flex; flex-direction: column; justify-content: center; }
.be-hero__lead { max-width: 620px; margin-bottom: 28px; color: var(--be-muted); font-size: clamp(1.02rem, 1.35vw, 1.18rem); }
.be-hero__actions { gap: 12px; margin-bottom: 32px; }
.be-proof { display: inline-flex; flex-wrap: wrap; gap: 4px 12px; width: fit-content; padding: 14px 18px; border: 1px solid var(--be-border); border-radius: 14px; background: rgba(255,255,255,.74); backdrop-filter: blur(8px); }
.be-proof p { margin: 0 !important; }
.be-proof__title { font-weight: 800; }
.be-proof__text { color: var(--be-muted); }

.be-visual {
    position: relative;
    overflow: hidden;
    min-height: clamp(430px, 52vw, 590px) !important;
    border-radius: 56px 14px 56px 14px;
    background: linear-gradient(145deg, #252525, #5b5b5b 54%, #e4003e);
    box-shadow: 0 28px 80px rgba(30,30,30,.18);
}
.be-visual .wp-block-cover__background { opacity: 0 !important; }
.be-visual::before,
.be-visual::after { content: ""; position: absolute; pointer-events: none; }
.be-visual::before {
    inset: auto -8% -13% auto;
    width: 68%;
    aspect-ratio: 1.18;
    border-radius: 42% 58% 50% 50%;
    background: rgba(255,255,255,.11);
    transform: rotate(-12deg);
}
.be-visual::after {
    top: 8%; right: 8%; width: 74px; height: 74px; border-radius: 50%;
    border: 16px solid rgba(255,255,255,.14);
}
.be-visual .wp-block-cover__inner-container { position: relative; z-index: 2; align-self: flex-end; width: min(88%, 520px); margin: 0; padding: clamp(28px, 5vw, 54px); }
.be-visual__eyebrow { margin-bottom: 12px !important; color: rgba(255,255,255,.75) !important; font-size: .74rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.be-visual__title { max-width: 12ch; margin-bottom: 14px !important; color: #fff !important; font-size: clamp(1.7rem, 3vw, 2.7rem) !important; }
.be-visual__text { max-width: 420px; margin: 0 !important; color: rgba(255,255,255,.82) !important; }
.be-visual--home { background: linear-gradient(145deg, #77716e 0%, #c4b8ae 52%, #e4003e 135%); }
.be-visual--project, .be-visual--house { background: linear-gradient(145deg, #283030, #708181 60%, #e4003e 150%); }
.be-visual--bill, .be-visual--aids, .be-visual--documents { background: linear-gradient(145deg, #6e543c, #c69d64 58%, #e4003e 140%); }
.be-visual--heat, .be-visual--water { background: linear-gradient(145deg, #1d333b, #6994a1 55%, #e4003e 145%); }
.be-visual--dpe { background: linear-gradient(145deg, #24533f, #6ca27f 58%, #e4003e 150%); }
.be-visual--solar { background: linear-gradient(145deg, #403c29, #d0a938 55%, #e4003e 140%); }
.be-visual--cool, .be-visual--air { background: linear-gradient(145deg, #18384b, #68bcd5 58%, #e4003e 145%); }
.be-visual--tank { background: linear-gradient(145deg, #3e2430, #a55d78 60%, #e4003e 145%); }
.be-visual--brand, .be-visual--history { background: linear-gradient(145deg, #171717, #4d4d4d 58%, #e4003e 140%); }
.be-visual--pro, .be-visual--installer, .be-visual--proform { background: linear-gradient(145deg, #171717, #3e4548 58%, #e4003e 145%); }
.be-visual--form, .be-visual--contact { background: linear-gradient(145deg, #29212b, #706274 58%, #e4003e 145%); }
.be-visual--advice { background: linear-gradient(145deg, #26333b, #6d8490 58%, #e4003e 145%); }

.be-card-grid,
.be-audience-grid,
.be-comparison-grid,
.be-assistant-steps { margin: 0 !important; }
.be-card-grid--4 { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px !important; }
.be-card-grid--3 { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px !important; }
.be-card-grid--2 { gap: 22px !important; }
.be-card-grid > .wp-block-column,
.be-audience-grid > .wp-block-column,
.be-comparison-grid > .wp-block-column,
.be-assistant-steps > .wp-block-column { min-width: 0; margin: 0 !important; }

.be-card,
.be-audience-card,
.be-comparison-card {
    height: 100%;
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius-md);
    background: #fff;
    box-shadow: var(--be-shadow-card);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.be-card { padding: clamp(24px, 3vw, 34px); }
.be-card:hover,
.be-audience-card:hover,
.be-comparison-card:hover { transform: translateY(-5px); border-color: rgba(228,0,62,.26); box-shadow: 0 22px 56px rgba(30,30,30,.12); }
.be-card p:last-of-type { color: var(--be-muted); }
.be-card--step { position: relative; overflow: hidden; padding-top: 82px; }
.be-card--step::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 7px; background: var(--be-red); }
.be-card--question { min-height: 230px; }

.be-audience-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px !important; }
.be-audience-card { position: relative; overflow: hidden; padding: clamp(32px, 5vw, 58px); }
.be-audience-card::after { content: ""; position: absolute; right: -70px; bottom: -90px; width: 220px; height: 220px; border-radius: 50%; background: rgba(228,0,62,.08); }
.be-audience-card--professional { background: var(--be-carbon); color: #fff; }
.be-audience-card--professional :where(h2,p,li) { color: #fff; }
.be-audience-card--professional .be-eyebrow { color: #ff789e; }
.be-audience-card .wp-block-buttons { position: relative; z-index: 2; margin-top: 28px; }

.be-comparison-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px !important; }
.be-comparison-card { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 30px 26px; }
.be-comparison-card::before { content: ""; display: block; width: 48px; height: 6px; margin-bottom: 28px; border-radius: 99px; background: var(--be-red); }
.be-comparison-card .wp-block-buttons { margin-top: auto; padding-top: 22px; }
.be-card-note { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--be-border); color: var(--be-muted); font-size: .9rem; }
.be-comparison-card--solar::before { background: #d3a51e; }
.be-comparison-card--water::before { background: #55889b; }
.be-comparison-card--air::before { background: #55b8d3; }
.be-comparison-card--tank::before { background: #a65272; }

.be-project-assistant { padding-block: clamp(62px, 8vw, 104px); background: var(--be-carbon); color: #fff; }
.be-project-assistant :where(h2,h3,p) { color: #fff; }
.be-assistant-grid { align-items: center !important; gap: clamp(40px, 7vw, 90px) !important; margin: 0 !important; }
.be-assistant-copy { max-width: 540px; }
.be-assistant-steps { display: grid !important; grid-template-columns: 1fr; gap: 12px !important; }
.be-assistant-step { display: grid; grid-template-columns: 54px 1fr; gap: 2px 18px; align-items: center; padding: 18px 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.06); }
.be-assistant-step__number { grid-row: 1 / 3; display: grid; place-items: center; width: 48px; height: 48px; margin: 0 !important; border-radius: 50%; background: var(--be-red); font-weight: 800; }
.be-assistant-step h3, .be-assistant-step p { margin: 0 !important; }
.be-assistant-step p:last-child { color: rgba(255,255,255,.68); }

.be-editorial-split { gap: clamp(38px, 6vw, 84px) !important; }
.be-editorial-split .wp-block-group:not(.be-card) { max-width: 570px; }
.be-section--steel { background: var(--be-steel); }
.be-section--comparison { background: #fff; }
.be-section--audiences { background: var(--be-cream); }

.be-product-grid { display: grid; grid-template-columns: repeat(var(--be-catalogue-columns, 3), minmax(0, 1fr)); gap: 24px; }
.be-product-card { overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--be-border); border-radius: 22px; background: #fff; box-shadow: var(--be-shadow-card); transition: transform .25s ease, box-shadow .25s ease; }
.be-product-card:hover { transform: translateY(-5px); box-shadow: 0 22px 56px rgba(30,30,30,.12); }
.be-product-card__media { display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #ececec; }
.be-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.be-product-card:hover .be-product-card__media img { transform: scale(1.035); }
.be-product-card__placeholder { position: relative; display: grid; place-items: center; width: 100%; min-height: 100%; padding: 0; overflow: hidden; background: linear-gradient(145deg, #f7f7f7, #dedede); }
.be-product-card__placeholder::before { content: ""; width: 54%; height: 44%; border-radius: 18px 18px 10px 10px; background: linear-gradient(145deg, #fff, #d5d5d5); box-shadow: 0 18px 30px rgba(30,30,30,.13); transform: perspective(500px) rotateY(-7deg); }
.be-product-card__placeholder::after { content: ""; position: absolute; left: 50%; bottom: 17%; width: 42%; height: 8px; border-radius: 99px; background: var(--be-red); transform: translateX(-50%); opacity: .8; }
.be-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.be-product-card__body h3 { margin-top: 0; }
.be-product-card__body h3 a { color: inherit; text-decoration: none; }
.be-catalogue-count { margin: 0 0 20px; color: var(--be-muted); }
.be-catalogue-count strong { color: var(--be-carbon); }
.be-catalogue-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto auto; gap: 14px; align-items: end; margin-bottom: 24px; padding: 24px; border: 1px solid var(--be-border); border-radius: 20px; background: #fff; box-shadow: var(--be-shadow-soft); }
.be-catalogue-filters label { display: grid; gap: 7px; }
.be-catalogue-filters label > span { font-size: .78rem; font-weight: 700; letter-spacing: .04em; }
.be-catalogue-filters select { width: 100%; min-height: 46px; border: 1px solid var(--be-border); border-radius: 10px; background: #fff; padding-inline: 12px; }
.be-catalogue-filters.is-loading { opacity: .62; pointer-events: none; }
.be-filter-reset { align-self: center; padding: 12px 4px; color: var(--be-muted); font-size: .9rem; }
.be-empty-state { padding: clamp(34px, 6vw, 64px); border: 1px dashed rgba(30,30,30,.2); border-radius: 22px; background: #fff; text-align: center; }
.be-empty-state .be-button { display: inline-flex; margin-top: 12px; text-decoration: none; }

.be-product-story { margin-block: clamp(50px, 7vw, 90px); padding-block: clamp(20px, 3vw, 40px); }
.be-product-benefits { margin-bottom: clamp(44px, 7vw, 76px) !important; }
.be-check-list--columns { columns: 2; column-gap: 44px; }
.be-check-list--columns li { break-inside: avoid; }
.be-product-operations > .wp-block-column { padding: clamp(24px, 3vw, 36px); border-radius: 20px; background: var(--be-steel); }
.be-product-specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-block: 24px 46px; }
.be-product-specs > div { display: flex; min-height: 96px; flex-direction: column; justify-content: center; padding: 18px; border: 1px solid var(--be-border); border-radius: 14px; background: #fff; }
.be-product-specs span { color: var(--be-muted); font-size: .78rem; }
.be-product-specs strong { margin-top: 5px; font-size: 1.05rem; }
.be-product-cta { display: flex; gap: 28px; align-items: center; justify-content: space-between; margin: clamp(44px, 7vw, 86px) auto; padding: clamp(28px, 5vw, 54px); border-radius: 28px; background: var(--be-red); color: #fff; }
.be-product-cta :where(h2,p) { color: #fff; }
.be-product-cta > div { max-width: 720px; }

.be-latest-posts { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; padding: 0 !important; }
.be-latest-posts li { overflow: hidden; display: flex; flex-direction: column; min-width: 0; margin: 0 !important; border: 1px solid var(--be-border); border-radius: 20px; background: #fff; box-shadow: var(--be-shadow-card); }
.be-latest-posts .wp-block-latest-posts__featured-image { margin: 0; }
.be-latest-posts .wp-block-latest-posts__featured-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.be-latest-posts > li > :not(.wp-block-latest-posts__featured-image) { margin-inline: 24px; }
.be-latest-posts > li > a { margin-top: 22px; color: var(--be-carbon); font-family: var(--be-heading); font-size: 1.18rem; font-weight: 750; text-decoration: none; }
.be-latest-posts__post-date { margin-top: 8px; color: var(--be-muted); font-size: .8rem; }
.be-latest-posts__post-excerpt { margin-bottom: 24px; color: var(--be-muted); }

.be-lead-form { border-radius: 26px; box-shadow: var(--be-shadow-soft); }
.be-contact-grid { align-items: start !important; gap: clamp(38px, 7vw, 90px) !important; }
.be-form-step { padding: clamp(24px, 4vw, 38px); }
.be-form-actions { gap: 12px; }

.be-reveal { opacity: 1; transform: none; }
.be-js .be-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.75,.25,1); }
.be-js .be-reveal.is-visible { opacity: 1; transform: none; }

.be-mobile-cta { position: fixed; z-index: 999; right: 14px; bottom: 14px; left: 14px; display: none; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 12px 12px 17px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(30,30,30,.94); color: #fff; box-shadow: 0 20px 55px rgba(0,0,0,.28); backdrop-filter: blur(16px); transition: opacity .2s ease, transform .2s ease; }
.be-mobile-cta span { display: block; color: rgba(255,255,255,.62); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.be-mobile-cta strong { display: block; font-size: .9rem; line-height: 1.2; }
.be-mobile-cta a { flex: 0 0 auto; padding: 11px 15px; border-radius: 11px; background: var(--be-red); color: #fff; font-weight: 750; text-decoration: none; }
.be-mobile-cta.is-hidden { opacity: 0; transform: translateY(120%); pointer-events: none; }

@media (max-width: 1100px) {
    .be-card-grid--4, .be-comparison-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .be-catalogue-filters { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .be-filter-title { grid-column: 1 / -1; }
    .be-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 781px) {
    .be-generated-page h1,
    .be-product-single h1 { font-size: clamp(2rem, 9vw, 2.75rem); }
    .be-generated-page h2,
    .be-product-single h2,
    .be-product-guidance h2,
    .be-product-cta h2 { font-size: clamp(1.55rem, 7vw, 2rem); }
    .be-section { padding-block: 58px; }
    .be-hero { padding-block: 38px 58px; }
    .be-hero__grid { gap: 34px !important; }
    .be-visual { min-height: 390px !important; border-radius: 34px 10px 34px 10px; }
    .be-visual .wp-block-cover__inner-container { padding: 30px; }
    .be-card-grid--4,
    .be-card-grid--3,
    .be-audience-grid,
    .be-comparison-grid,
    .be-product-grid,
    .be-latest-posts,
    .be-product-specs { grid-template-columns: 1fr; }
    .be-catalogue-filters { grid-template-columns: 1fr; padding: 18px; }
    .be-filter-title { grid-column: auto; }
    .be-catalogue-filters .be-button, .be-filter-reset { width: 100%; text-align: center; }
    .be-check-list--columns { columns: 1; }
    .be-product-cta { align-items: stretch; flex-direction: column; }
    .be-product-cta .be-button { justify-content: center; text-align: center; }
    .be-mobile-cta { display: flex; }
    body.admin-bar .be-mobile-cta { bottom: 14px; }
}

@media (max-width: 480px) {
    .be-section, .be-hero, .be-project-assistant, .be-pro-cta, .be-cta { padding-inline: 18px; }
    .be-hero__actions .wp-block-button, .be-hero__actions .wp-block-button__link { width: 100%; }
    .be-proof { display: block; }
    .be-mobile-cta strong { max-width: 160px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
    .be-js .be-reveal { opacity: 1; transform: none; }
}

.be-form-context { display: grid; gap: 3px; margin-bottom: 20px; padding: 17px 19px; border: 1px solid rgba(228,0,62,.18); border-radius: 14px; background: rgba(228,0,62,.055); }
.be-form-context span { color: var(--be-red); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.be-form-context strong { font-family: var(--be-heading); }
.be-form-context small { color: var(--be-muted); }
.be-latest-posts li:not(:has(.wp-block-latest-posts__featured-image))::before { content: ""; display: block; width: 100%; aspect-ratio: 16 / 8; background: linear-gradient(135deg, var(--be-carbon), #5b5b5b 58%, var(--be-red)); }


/* Navigation Blocksy : le dernier item principal devient le CTA de conversion. */
.ct-header .menu > li > a[href*="/demander-un-devis/"] {
    min-height: 42px;
    padding-inline: 18px !important;
    border-radius: 999px;
    background: var(--be-red);
    color: #fff !important;
    box-shadow: 0 9px 24px rgba(228, 0, 62, .2);
}
.ct-header .menu > li > a[href*="/demander-un-devis/"]:hover,
.ct-header .menu > li.current-menu-item > a[href*="/demander-un-devis/"] {
    background: var(--be-red-dark);
    color: #fff !important;
}

/* ========================================================================== 
   Brandt Énergie Studio 0.4 — direction épurée inspirée Thermor / Landscape
   ========================================================================== */
:root {
    --be-red: #e4003e;
    --be-red-dark: #c60036;
    --be-carbon: #202124;
    --be-steel: #f3f4f5;
    --be-soft: #f7f7f7;
    --be-white: #ffffff;
    --be-text: #2d3034;
    --be-muted: #666b73;
    --be-border: #e4e6e8;
    --be-shadow: 0 12px 34px rgba(22, 29, 37, .07);
    --be-shadow-soft: 0 6px 18px rgba(22, 29, 37, .05);
    --be-radius: 20px;
    --be-radius-sm: 12px;
    --be-content: min(1180px, calc(100vw - 40px));
}

.be-generated-page,
.be-product-single {
    background: #fff;
    color: var(--be-text);
    font-size: 16px;
}

.be-generated-page h1,
.be-generated-page h2,
.be-generated-page h3,
.be-product-single h1,
.be-product-single h2,
.be-product-single h3,
.be-catalogue h2,
.be-catalogue h3,
.be-lead-form h2,
.be-lead-form h3 {
    letter-spacing: -.025em;
    line-height: 1.12;
}

.be-generated-page h1 { font-size: clamp(2.35rem, 4.4vw, 3.65rem); }
.be-generated-page h2 { font-size: clamp(1.85rem, 3vw, 2.55rem); }
.be-generated-page h3,
.be-product-card h3 { font-size: clamp(1.18rem, 1.7vw, 1.48rem); }

.be-generated-page p,
.be-product-single p,
.be-lead-form,
.be-catalogue {
    line-height: 1.66;
}

.be-section,
.be-hero,
.be-pro-cta,
.be-cta {
    padding: clamp(64px, 7vw, 92px) max(20px, calc((100vw - 1180px) / 2));
}

.be-section--soft,
.be-section--steel,
.be-section--process,
.be-section--form {
    background: var(--be-soft) !important;
}

.be-section--carbon {
    background: var(--be-carbon) !important;
}

.be-section-heading {
    max-width: 760px;
    margin-bottom: 34px;
}

.be-section-heading h2 { margin-bottom: 12px; }
.be-section-lead {
    max-width: 680px;
    font-size: clamp(1rem, 1.35vw, 1.16rem);
    line-height: 1.65;
}

.be-eyebrow {
    margin-bottom: 10px;
    color: var(--be-red);
    font-size: .74rem;
    letter-spacing: .12em;
}

/* Hero lisible et largement illustré */
.be-hero {
    min-height: 0;
    overflow: visible;
    background: #fff !important;
}
.be-hero::after { display: none !important; }
.be-hero__grid {
    display: grid !important;
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
    gap: clamp(42px, 6vw, 78px) !important;
    max-width: 1180px;
}
.be-hero__grid > .wp-block-column { flex-basis: auto !important; }
.be-hero__copy { align-self: center; }
.be-hero__title {
    max-width: 690px;
    margin-bottom: 20px;
}
.be-hero__lead {
    max-width: 630px;
    margin-bottom: 28px;
    color: var(--be-muted);
    font-size: clamp(1.02rem, 1.45vw, 1.22rem);
}
.be-hero__actions { gap: 10px; }
.be-proof {
    max-width: 610px;
    margin-top: 28px;
    padding: 18px 0 0;
    border-top: 1px solid var(--be-border);
    background: transparent !important;
    box-shadow: none !important;
}
.be-proof__title {
    margin: 0 0 3px;
    color: var(--be-carbon);
    font-weight: 700;
}
.be-proof__text {
    margin: 0;
    color: var(--be-muted);
    font-size: .92rem;
}

.be-visual {
    min-height: 520px !important;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: var(--be-shadow);
    background: #ddd;
}
.be-visual .wp-block-cover__image-background {
    transition: transform .7s ease;
}
.be-visual:hover .wp-block-cover__image-background { transform: scale(1.025); }
.be-hero .be-visual__caption { display: none; }
.be-visual__caption {
    max-width: 360px;
    margin: auto 24px 24px;
    padding: 20px 22px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .93);
    color: var(--be-carbon);
    box-shadow: var(--be-shadow-soft);
    backdrop-filter: blur(8px);
}
.be-visual__caption h3,
.be-visual__caption p { color: var(--be-carbon) !important; }
.be-visual__eyebrow {
    margin-bottom: 7px;
    color: var(--be-red) !important;
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.be-visual__title { margin-bottom: 8px; }
.be-visual__text { margin: 0; font-size: .93rem; }

/* Boutons plus sobres */
.be-button .wp-block-button__link,
.be-generated-page .wp-block-button__link,
.be-product-single .wp-block-button__link {
    min-height: 46px;
    padding: 12px 20px;
    border-radius: 8px !important;
    font-size: .94rem;
    font-weight: 700;
    box-shadow: none;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.be-button .wp-block-button__link:hover,
.be-generated-page .wp-block-button__link:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(30, 30, 30, .10);
}
.be-button--text .wp-block-button__link {
    min-height: auto;
    padding: 0 0 3px;
    border-radius: 0 !important;
    border-bottom: 1px solid currentColor;
    background: transparent !important;
    color: var(--be-carbon) !important;
    box-shadow: none !important;
}
.be-button--text .wp-block-button__link::after { content: "  →"; }

/* Bandeau de confiance compact */
.be-trust {
    padding: 0 max(20px, calc((100vw - 1180px) / 2)) 40px;
    background: #fff !important;
}
.be-trust__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 !important;
    overflow: hidden;
    border: 1px solid var(--be-border);
    border-radius: 14px;
    background: #fff;
}
.be-trust__grid > .wp-block-column {
    padding: 20px 22px;
    border-right: 1px solid var(--be-border);
}
.be-trust__grid > .wp-block-column:last-child { border-right: 0; }
.be-trust__index {
    margin: 0 0 7px;
    color: var(--be-red);
    font-size: .72rem;
    font-weight: 800;
}
.be-trust__title {
    margin: 0;
    color: var(--be-carbon);
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.42;
}
.be-trust__text { display: none; }

/* Sections à cartes illustrées */
.be-section--projects .be-section-heading,
.be-card-grid--solutions + .be-centered-actions,
.be-section--process .be-section-heading,
.be-section--soft > .be-section-heading {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.be-section--projects .be-section-lead,
.be-section--process .be-section-lead,
.be-section--soft > .be-section-heading .be-section-lead {
    margin-left: auto;
    margin-right: auto;
}
.be-card-grid--projects,
.be-card-grid--solutions {
    display: grid !important;
    gap: 22px !important;
}
.be-card-grid--projects { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.be-card-grid--solutions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.be-card-grid--projects > .wp-block-column,
.be-card-grid--solutions > .wp-block-column { min-width: 0; }

.be-image-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--be-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: none;
    transition: transform .25s ease, box-shadow .25s ease;
}
.be-image-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--be-shadow);
}
.be-image-card__media {
    margin: 0 !important;
    overflow: hidden;
    background: #e9eaec;
}
.be-image-card__media img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform .55s ease;
}
.be-image-card:hover .be-image-card__media img { transform: scale(1.035); }
.be-card-grid--solutions .be-image-card__media img { height: 280px; }
.be-image-card__content { padding: 24px 25px 26px; }
.be-image-card__content h3 { margin: 0 0 10px; }
.be-image-card__content > p:not(.be-eyebrow) {
    margin-bottom: 18px;
    color: var(--be-muted);
}

/* Cartes génériques : moins de boîtes, plus de respiration */
.be-card-grid {
    gap: 18px !important;
}
.be-card {
    padding: 24px;
    border: 1px solid var(--be-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: none;
}
.be-card:hover { box-shadow: var(--be-shadow-soft); }
.be-card--step {
    position: relative;
    padding: 27px 24px 25px;
    border-top: 3px solid var(--be-red);
}
.be-card--step .be-eyebrow {
    color: var(--be-red);
    font-size: .9rem;
}
.be-card--step h3 { margin-bottom: 8px; }

/* Blocs éditoriaux à la manière du starter Landscape */
.be-editorial-split,
.be-aids-grid,
.be-pro-cta__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    gap: clamp(40px, 6vw, 76px) !important;
    align-items: center !important;
}
.be-editorial-split > .wp-block-column,
.be-aids-grid > .wp-block-column,
.be-pro-cta__grid > .wp-block-column { flex-basis: auto !important; }
.be-editorial-split--reverse { grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); }
.be-editorial-copy h2 { margin-bottom: 16px; }
.be-editorial-copy > p:not(.be-eyebrow) { color: var(--be-muted); }
.be-check-list {
    margin: 22px 0 26px;
    padding: 0;
    list-style: none;
}
.be-check-list li {
    position: relative;
    margin: 0 0 10px;
    padding-left: 27px;
}
.be-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--be-red);
    font-weight: 800;
}
.be-inline-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px !important;
    margin: 25px 0;
}
.be-inline-stat {
    padding: 17px 18px;
    border-radius: 12px;
    background: var(--be-soft);
}
.be-inline-stat__number {
    margin: 0 0 2px;
    color: var(--be-red) !important;
    font-size: 1.8rem !important;
}
.be-inline-stat__label { margin: 0; font-size: .88rem; }

/* Aides */
.be-section--aids {
    background: #fff !important;
}
.be-aids-stack {
    display: grid;
    gap: 14px;
}
.be-aids-stack .be-card {
    background: var(--be-soft);
}

/* Chiffres : compact et institutionnel */
.be-metrics {
    padding: 45px max(20px, calc((100vw - 1180px) / 2));
    background: var(--be-carbon) !important;
}
.be-metrics__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 !important;
}
.be-metrics__grid > .wp-block-column {
    padding: 8px 24px;
    border-right: 1px solid rgba(255,255,255,.16);
    text-align: center;
}
.be-metrics__grid > .wp-block-column:last-child { border-right: 0; }
.be-metric__number {
    margin: 0 0 3px;
    color: #fff !important;
    font-size: clamp(2rem, 3.5vw, 3rem) !important;
}
.be-metric__label {
    margin: 0;
    color: rgba(255,255,255,.74) !important;
    font-size: .88rem;
}

/* Conseils */
.be-latest-posts {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin: 0;
    padding: 0;
}
.be-latest-posts li {
    overflow: hidden;
    margin: 0 !important;
    padding: 0 0 22px !important;
    border: 1px solid var(--be-border);
    border-radius: 16px;
    background: #fff;
}
.be-latest-posts .wp-block-latest-posts__featured-image { margin: 0 0 20px; }
.be-latest-posts .wp-block-latest-posts__featured-image img {
    width: 100%;
    height: 210px;
    object-fit: cover;
}
.be-latest-posts a,
.be-latest-posts time,
.be-latest-posts .wp-block-latest-posts__post-excerpt {
    margin-left: 22px;
    margin-right: 22px;
}
.be-latest-posts > li > a {
    display: block;
    color: var(--be-carbon);
    font-family: var(--be-heading);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.25;
}
.be-latest-posts time { display: block; margin-top: 10px; color: var(--be-muted); font-size: .78rem; }
.be-latest-posts .wp-block-latest-posts__post-excerpt { color: var(--be-muted); font-size: .92rem; }
.be-centered-actions { justify-content: center; margin-top: 28px; }

/* Professionnels */
.be-pro-cta {
    background: var(--be-carbon) !important;
    color: #fff;
}
.be-pro-cta h2,
.be-pro-cta h3,
.be-pro-cta p,
.be-pro-cta li { color: #fff !important; }
.be-pro-cta .be-eyebrow { color: #ff5d86 !important; }
.be-pro-cta .be-visual { min-height: 430px !important; box-shadow: none; }
.be-pro-cta .be-visual__caption { display: none; }

/* FAQ */
.be-faq-list {
    max-width: 880px;
    margin: 0 auto;
    border-top: 1px solid var(--be-border);
}
.be-faq-item {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--be-border) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.be-faq-item summary {
    padding: 20px 42px 20px 0;
    font-size: 1.02rem;
    font-weight: 700;
}
.be-faq-item > p { padding: 0 0 20px; color: var(--be-muted); }

/* CTA finale */
.be-cta {
    background: var(--be-red) !important;
    color: #fff;
}
.be-cta__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px !important;
    align-items: center !important;
}
.be-cta h2,
.be-cta p { color: #fff !important; }
.be-cta h2 { max-width: 700px; margin-bottom: 8px; }
.be-cta .be-button--red .wp-block-button__link {
    background: #fff !important;
    color: var(--be-red) !important;
}

/* Catalogue WooCommerce : visuel clair, sans effet boutique chargée */
.be-catalogue,
.be-product-single { font-size: 16px; }
.be-catalogue__filters,
.be-catalogue-filter,
.be-product-specs,
.be-product-quote,
.be-lead-form {
    border-radius: 16px !important;
    border-color: var(--be-border) !important;
    box-shadow: none !important;
}
.be-product-card {
    overflow: hidden;
    border: 1px solid var(--be-border) !important;
    border-radius: 16px !important;
    background: #fff;
    box-shadow: none !important;
    transition: transform .22s ease, box-shadow .22s ease;
}
.be-product-card:hover { transform: translateY(-3px); box-shadow: var(--be-shadow) !important; }
.be-product-card img { aspect-ratio: 4/3; object-fit: contain; background: #f6f6f6; }

/* Formulaires : une question à la fois, contrastes doux */
.be-lead-form {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(24px, 4vw, 42px) !important;
    background: #fff !important;
}
.be-lead-form input,
.be-lead-form select,
.be-lead-form textarea {
    min-height: 48px;
    border: 1px solid #d7dadd !important;
    border-radius: 9px !important;
    background: #fff !important;
}
.be-lead-form input:focus,
.be-lead-form select:focus,
.be-lead-form textarea:focus {
    border-color: var(--be-red) !important;
    box-shadow: 0 0 0 3px rgba(228,0,62,.10) !important;
}

/* Animations sobres */
@media (prefers-reduced-motion: no-preference) {
    .be-image-card,
    .be-card,
    .be-editorial-split .be-visual,
    .be-latest-posts li {
        animation-duration: .5s;
        animation-timing-function: ease-out;
    }
}

@media (max-width: 1024px) {
    .be-hero__grid,
    .be-editorial-split,
    .be-aids-grid,
    .be-pro-cta__grid {
        grid-template-columns: 1fr !important;
    }
    .be-hero__grid { gap: 34px !important; }
    .be-hero .be-visual { min-height: 470px !important; }
    .be-card-grid--projects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .be-card-grid--solutions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .be-card-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .be-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .be-trust__grid > .wp-block-column:nth-child(2) { border-right: 0; }
    .be-trust__grid > .wp-block-column:nth-child(-n+2) { border-bottom: 1px solid var(--be-border); }
    .be-metrics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .be-metrics__grid > .wp-block-column:nth-child(2) { border-right: 0; }
    .be-metrics__grid > .wp-block-column:nth-child(-n+2) { margin-bottom: 22px; }
}

@media (max-width: 700px) {
    .be-generated-page h1 { font-size: clamp(2.15rem, 10vw, 3rem); }
    .be-generated-page h2 { font-size: clamp(1.72rem, 7.4vw, 2.2rem); }
    .be-section,
    .be-hero,
    .be-pro-cta,
    .be-cta { padding: 54px 20px; }
    .be-trust { padding: 0 20px 34px; }
    .be-hero__grid { display: flex !important; flex-direction: column; }
    .be-hero__copy { order: 1; }
    .be-hero__grid > .wp-block-column:last-child { order: 2; }
    .be-hero .be-visual { min-height: 360px !important; border-radius: 18px; }
    .be-hero__actions { align-items: stretch; }
    .be-hero__actions .wp-block-button { width: 100%; }
    .be-hero__actions .wp-block-button__link { width: 100%; justify-content: center; }
    .be-trust__grid,
    .be-card-grid--projects,
    .be-card-grid--solutions,
    .be-card-grid--4,
    .be-latest-posts,
    .be-metrics__grid,
    .be-inline-stats {
        grid-template-columns: 1fr !important;
    }
    .be-trust__grid > .wp-block-column {
        border-right: 0 !important;
        border-bottom: 1px solid var(--be-border);
    }
    .be-trust__grid > .wp-block-column:last-child { border-bottom: 0; }
    .be-image-card__media img,
    .be-card-grid--solutions .be-image-card__media img { height: 220px; }
    .be-visual { min-height: 390px !important; border-radius: 18px; }
    .be-visual__caption { margin: auto 16px 16px; padding: 16px 17px; }
    .be-metrics__grid > .wp-block-column {
        padding: 14px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.16);
    }
    .be-metrics__grid > .wp-block-column:last-child { border-bottom: 0; }
    .be-cta__grid { grid-template-columns: 1fr; gap: 22px !important; }
    .be-cta .wp-block-buttons,
    .be-cta .wp-block-button,
    .be-cta .wp-block-button__link { width: 100%; }
    .be-latest-posts .wp-block-latest-posts__featured-image img { height: 220px; }
}

/* Images de démonstration quand aucun média WordPress n'a encore été ajouté. */
.be-product-card__fallback {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #f2f3f4;
}
.be-latest-posts li::before {
    content: "";
    display: block;
    width: 100%;
    height: 210px;
    margin-bottom: 20px;
    background-position: center;
    background-size: cover;
}
.be-latest-posts li:nth-child(1)::before {
    background-image: url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1200&q=80');
}
.be-latest-posts li:nth-child(2)::before {
    background-image: url('https://images.unsplash.com/photo-1508514177221-188b1cf16e9d?auto=format&fit=crop&w=1200&q=80');
}
.be-latest-posts li:nth-child(3)::before {
    background-image: url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1200&q=80');
}
.be-latest-posts li:has(.wp-block-latest-posts__featured-image)::before { display: none; }

/* ========================================================================== 
   Brandt Énergie Studio 0.5 — finitions visuelles et fiches produits compactes
   ========================================================================== */

/* Le hero et la réassurance s'enchaînent sans grande zone vide. */
.be-hero {
    min-height: 0 !important;
    padding-top: clamp(46px, 5vw, 74px) !important;
    padding-bottom: clamp(30px, 3.5vw, 50px) !important;
}
.be-hero__grid {
    min-height: 0 !important;
    align-items: center !important;
}
.be-hero__copy {
    padding-block: 4px;
}
.be-proof {
    display: block !important;
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    margin-top: 26px !important;
    padding: 17px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--be-border) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
.be-proof__title,
.be-proof__text {
    display: block;
    width: 100%;
}
.be-proof__title { margin-bottom: 4px !important; }
.be-proof__text { max-width: 560px; }

.be-trust {
    padding-top: 0 !important;
    padding-bottom: clamp(38px, 4.5vw, 58px) !important;
    border: 0 !important;
}
.be-trust__grid {
    border: 0 !important;
    border-radius: 16px !important;
    background: var(--be-soft, #f5f5f4) !important;
}
.be-trust__grid > .wp-block-column {
    min-height: 104px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px 22px !important;
    border-color: rgba(30, 30, 30, .09) !important;
}
.be-trust__index {
    width: fit-content;
    margin-bottom: 8px !important;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(228, 0, 62, .09);
    font-size: .68rem !important;
    line-height: 1.2;
}
.be-trust__title { max-width: 26ch; }

/* Les anciens ornements ne doivent plus flotter au-dessus des cartes illustrées. */
.be-image-card.be-project-card::before,
.be-image-card.be-project-card::after,
.be-image-card.be-solution-card::before,
.be-image-card.be-solution-card::after {
    display: none !important;
    content: none !important;
}
.be-image-card.be-project-card,
.be-image-card.be-solution-card {
    min-height: 0 !important;
    padding: 0 !important;
    justify-content: initial !important;
    background: #fff !important;
    border: 1px solid var(--be-border) !important;
}
.be-image-card {
    position: relative;
    display: flex;
    flex-direction: column;
}
.be-image-card__media,
.be-image-card__media a {
    display: block;
    width: 100%;
}
.be-image-card__content {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 23px 25px 25px !important;
}
.be-image-card__content::before {
    content: "";
    display: block;
    width: 38px;
    height: 4px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: var(--be-red);
}
.be-image-card__content .wp-block-buttons {
    margin-top: auto !important;
    padding-top: 4px;
}
.be-card-grid--projects .be-image-card__media img {
    height: 225px !important;
}
.be-card-grid--solutions .be-image-card__media img {
    height: 290px !important;
}

/* Une vignette qui contient un lien devient entièrement interactive. */
.be-card-is-clickable {
    cursor: pointer;
}
.be-card-is-clickable:focus-visible {
    outline: 3px solid rgba(228, 0, 62, .34);
    outline-offset: 4px;
}
.be-card-is-clickable:hover .be-button--text .wp-block-button__link::after,
.be-card-is-clickable:hover .be-text-link::after {
    transform: translateX(4px);
}

/* Cartes conseils : évite deux images lorsque le bloc possède déjà une image mise en avant. */
.be-latest-posts li:has(.wp-block-latest-posts__featured-image)::before {
    display: none !important;
}
.be-latest-posts li {
    position: relative;
    display: flex;
    min-height: 100%;
    flex-direction: column;
}
.be-latest-posts .wp-block-latest-posts__post-excerpt {
    flex: 1 1 auto;
}

/* Fiches produits : blocs de fin plus légers et contenus mieux contenus. */
.be-product-single .site-main,
.be-product-single .content-area,
.be-product-single .woocommerce-tabs,
.be-product-single .be-product-guidance,
.be-product-single .be-related-solutions {
    box-sizing: border-box;
}
.be-product-single .woocommerce-tabs {
    max-width: 1180px;
    margin-inline: auto;
}
.be-product-single .woocommerce-Tabs-panel {
    max-width: 100%;
}
.be-product-guidance.be-product-guidance--compact {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
    gap: clamp(34px, 5vw, 68px) !important;
    align-items: center !important;
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px;
    margin: clamp(46px, 6vw, 76px) auto 0 !important;
    padding: clamp(30px, 4vw, 46px) !important;
    border: 1px solid var(--be-border) !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: none !important;
}
.be-product-guidance__copy h2 {
    max-width: 17ch;
    margin: 0 0 14px;
    font-size: clamp(1.58rem, 2.2vw, 2.05rem) !important;
}
.be-product-guidance__copy > p:not(.be-eyebrow) {
    max-width: 660px;
    margin-bottom: 22px;
    color: var(--be-muted);
}
.be-product-guidance__steps {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.be-product-guidance__steps li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--be-border);
    border-radius: 12px;
    background: var(--be-soft, #f5f5f4);
}
.be-product-guidance__steps li > span {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: var(--be-red);
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
}
.be-product-guidance__steps li div {
    min-width: 0;
}
.be-product-guidance__steps strong,
.be-product-guidance__steps small {
    display: block;
}
.be-product-guidance__steps strong {
    margin-bottom: 3px;
    color: var(--be-carbon);
    font-size: .91rem;
    line-height: 1.3;
}
.be-product-guidance__steps small {
    color: var(--be-muted);
    font-size: .78rem;
    line-height: 1.4;
}

/* Produits associés compacts à la place du grand bloc WooCommerce par défaut. */
.be-related-solutions {
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px;
    margin: clamp(58px, 7vw, 92px) auto;
}
.be-related-solutions__heading {
    display: flex;
    gap: 28px;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 28px;
}
.be-related-solutions__heading h2 {
    max-width: 610px;
    margin: 0;
    font-size: clamp(1.55rem, 2.15vw, 2.05rem) !important;
}
.be-related-solutions__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.be-related-card {
    position: relative;
    overflow: hidden;
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid var(--be-border);
    border-radius: 16px;
    background: #fff;
    transition: transform .22s ease, box-shadow .22s ease;
}
.be-related-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--be-shadow-soft);
}
.be-related-card__media,
.be-related-card__media img {
    display: block;
    width: 100%;
}
.be-related-card__media img {
    height: 220px;
    object-fit: cover;
    background: #f4f4f4;
    transition: transform .45s ease;
}
.be-related-card:hover .be-related-card__media img {
    transform: scale(1.025);
}
.be-related-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 22px 23px 24px;
}
.be-related-card__body h3 {
    margin: 0 0 9px;
}
.be-related-card__body h3 a {
    color: var(--be-carbon);
    text-decoration: none;
}
.be-related-card__body > p:not(.be-eyebrow) {
    flex: 1 1 auto;
    color: var(--be-muted);
}
.be-related-card__body .be-text-link {
    width: fit-content;
    margin-top: 8px;
}

/* Les cartes du catalogue gardent des hauteurs cohérentes. */
.be-product-grid {
    align-items: stretch;
}
.be-product-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
}
.be-product-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}
.be-product-card__footer {
    margin-top: auto !important;
}

@media (max-width: 1024px) {
    .be-product-guidance.be-product-guidance--compact {
        grid-template-columns: 1fr !important;
    }
    .be-related-solutions__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .be-hero {
        padding-top: 42px !important;
        padding-bottom: 25px !important;
    }
    .be-proof { margin-top: 22px !important; }
    .be-trust { padding-bottom: 38px !important; }
    .be-trust__grid > .wp-block-column { min-height: 0; }
    .be-card-grid--projects .be-image-card__media img,
    .be-card-grid--solutions .be-image-card__media img {
        height: 220px !important;
    }
    .be-product-guidance.be-product-guidance--compact {
        width: calc(100% - 32px);
        margin-top: 40px !important;
        padding: 24px !important;
        border-radius: 16px !important;
    }
    .be-product-guidance__steps {
        grid-template-columns: 1fr !important;
    }
    .be-related-solutions {
        width: calc(100% - 32px);
        margin-top: 50px;
        margin-bottom: 58px;
    }
    .be-related-solutions__heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 22px;
    }
    .be-related-solutions__grid {
        grid-template-columns: 1fr;
    }
    .be-related-card__media img { height: 210px; }
}

/* Le CTA intégré à la description produit reste visible sans devenir un second hero. */
.be-product-single .be-product-cta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 24px !important;
    align-items: center !important;
    margin: clamp(38px, 5vw, 58px) 0 12px !important;
    padding: clamp(24px, 3.2vw, 34px) !important;
    border-radius: 18px !important;
    background: var(--be-carbon) !important;
}
.be-product-single .be-product-cta h2 {
    max-width: 20ch;
    margin: 0 0 8px;
    font-size: clamp(1.45rem, 2vw, 1.9rem) !important;
}
.be-product-single .be-product-cta p {
    max-width: 690px;
    margin: 0;
    color: rgba(255,255,255,.78) !important;
}
.be-product-single .be-product-cta > a {
    white-space: nowrap;
}

@media (max-width: 700px) {
    .be-product-single .be-product-cta {
        grid-template-columns: 1fr !important;
    }
    .be-product-single .be-product-cta > a {
        width: 100%;
        white-space: normal;
    }
}


/* Catalogue live filtering — v0.6.0 */
.be-catalogue { scroll-margin-top: 120px; }
.be-catalogue-filters {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
    align-items: end;
    padding: clamp(20px, 2.4vw, 28px);
}
.be-filter-title {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 2px;
}
.be-filter-title > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px 16px; }
.be-filter-title > div > strong { font-family: var(--be-heading); font-size: 1.18rem; color: var(--be-carbon); }
.be-filter-title > div > span { color: var(--be-muted); font-size: .92rem; }
.be-filter-actions { display: flex; min-height: 46px; align-items: center; gap: 14px; }
.be-filter-actions .be-button { min-height: 46px; white-space: nowrap; }
.be-filter-reset { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; padding: 8px 10px; border-radius: 10px; text-decoration: none; white-space: nowrap; transition: background .2s ease, color .2s ease; }
.be-filter-reset:hover { background: var(--be-steel); color: var(--be-carbon); }
.be-js .be-filter-submit { display: none; }
.be-catalogue-filters.is-loading { opacity: 1; pointer-events: auto; }
.be-catalogue-results { position: relative; min-height: 120px; transition: opacity .18s ease, transform .18s ease; overflow-anchor: none; }
.be-catalogue.is-loading .be-catalogue-results { opacity: .5; }
.be-catalogue.is-loading .be-catalogue-results::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: -3px;
    left: 0;
    width: 36%;
    height: 3px;
    border-radius: 999px;
    background: var(--be-red);
    animation: be-catalogue-loading 1s ease-in-out infinite alternate;
}
.be-catalogue.is-updated .be-catalogue-results { animation: be-catalogue-updated .32s ease; }
@keyframes be-catalogue-loading { from { transform: translateX(0); } to { transform: translateX(178%); } }
@keyframes be-catalogue-updated { from { opacity: .55; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.be-catalogue-status {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.be-catalogue-status.is-error {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 18px !important;
    padding: 12px 14px !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    border: 1px solid rgba(180, 20, 45, .18) !important;
    border-radius: 12px;
    background: rgba(228, 0, 62, .06);
    color: #8f1732;
}
.be-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; }
.be-active-filters__label { margin-right: 3px; color: var(--be-muted); font-size: .78rem; font-weight: 700; }
.be-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 6px 10px 6px 12px;
    border: 1px solid rgba(228,0,62,.18);
    border-radius: 999px;
    background: rgba(228,0,62,.055);
    color: var(--be-carbon);
    font: inherit;
    font-size: .78rem;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.be-filter-chip:hover { border-color: rgba(228,0,62,.4); background: rgba(228,0,62,.09); transform: translateY(-1px); }
.be-filter-chip > span[aria-hidden="true"] { color: var(--be-red); font-size: 1rem; line-height: 1; }
.be-catalogue-count { margin-top: 0; }
.be-empty-state__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 18px; }
.be-empty-state__actions .be-button { margin-top: 0; }

@media (max-width: 1100px) {
    .be-catalogue-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .be-filter-actions { align-self: end; }
}
@media (max-width: 781px) {
    .be-catalogue-filters { grid-template-columns: 1fr; }
    .be-filter-title { align-items: flex-start; flex-direction: column; }
    .be-filter-actions { width: 100%; }
    .be-filter-reset { width: 100%; }
    .be-active-filters { align-items: flex-start; }
    .be-active-filters__label { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .be-catalogue.is-loading .be-catalogue-results::before,
    .be-catalogue.is-updated .be-catalogue-results { animation: none; }
}

/* Brandt Énergie Studio 0.7.0 — corrections produits et articles. */

/* Le filtre reste instantané mais l'interface ne montre aucun libellé technique. */
.be-filter-title {
    justify-content: flex-start !important;
}

/* Fiche produit : neutralise les anciennes règles génériques qui compressaient les titres. */
.be-product-guidance.be-product-guidance--compact .be-product-guidance__steps > li {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 12px !important;
    min-width: 0 !important;
}
.be-product-guidance.be-product-guidance--compact .be-product-guidance__steps > li > span {
    display: grid !important;
    place-items: center !important;
    box-sizing: border-box !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--be-red) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: .72rem !important;
    line-height: 1 !important;
}
.be-product-guidance.be-product-guidance--compact .be-product-guidance__steps > li > div {
    min-width: 0 !important;
    width: auto !important;
}
.be-product-guidance.be-product-guidance--compact .be-product-guidance__steps > li > div > strong {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--be-carbon) !important;
    box-shadow: none !important;
    font-size: .94rem !important;
    font-weight: 750 !important;
    line-height: 1.28 !important;
    letter-spacing: normal !important;
    text-align: left !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}
.be-product-guidance.be-product-guidance--compact .be-product-guidance__steps > li > div > small {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--be-muted) !important;
    font-size: .79rem !important;
    line-height: 1.45 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

/* Les CTA de fin d'article deviennent de simples vignettes éditoriales. */
.be-article-cta,
.single-post .be-cta {
    box-sizing: border-box !important;
    width: min(920px, 100%) !important;
    max-width: 920px !important;
    min-height: 0 !important;
    margin: clamp(38px, 6vw, 64px) auto 0 !important;
    padding: clamp(22px, 3vw, 30px) !important;
    border: 1px solid var(--be-border) !important;
    border-radius: 18px !important;
    background: var(--be-soft, #f5f5f4) !important;
    color: var(--be-carbon) !important;
    box-shadow: none !important;
}
.be-article-cta__grid,
.single-post .be-cta__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: clamp(20px, 4vw, 42px) !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
.be-article-cta__copy h2,
.single-post .be-cta h2 {
    max-width: 620px !important;
    margin: 0 0 7px !important;
    color: var(--be-carbon) !important;
    font-size: clamp(1.28rem, 2vw, 1.62rem) !important;
    line-height: 1.2 !important;
    letter-spacing: -.02em !important;
}
.be-article-cta__copy p,
.single-post .be-cta p {
    max-width: 650px !important;
    margin: 0 !important;
    color: var(--be-muted) !important;
    font-size: .96rem !important;
    line-height: 1.6 !important;
}
.be-article-cta__copy .be-eyebrow {
    margin-bottom: 8px !important;
    color: var(--be-red) !important;
    font-size: .7rem !important;
}
.be-article-cta__actions,
.single-post .be-cta__grid > .wp-block-column:last-child {
    display: flex !important;
    justify-content: flex-end !important;
    margin: 0 !important;
}
.be-article-cta .wp-block-button__link,
.single-post .be-cta .wp-block-button__link {
    min-height: 46px !important;
    padding: 12px 20px !important;
    background: var(--be-red) !important;
    color: #fff !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

@media (max-width: 760px) {
    .be-article-cta,
    .single-post .be-cta {
        width: calc(100% - 32px) !important;
        padding: 22px !important;
    }
    .be-article-cta__grid,
    .single-post .be-cta__grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
    .be-article-cta__actions,
    .single-post .be-cta__grid > .wp-block-column:last-child {
        justify-content: flex-start !important;
    }
    .be-article-cta .wp-block-buttons,
    .be-article-cta .wp-block-button,
    .be-article-cta .wp-block-button__link,
    .single-post .be-cta .wp-block-buttons,
    .single-post .be-cta .wp-block-button,
    .single-post .be-cta .wp-block-button__link {
        width: 100% !important;
    }
}

