/* EBS Heritage Hero — full-bleed continuous header-to-hero component. */
.ebs-heritage-hero-block {
    display: block;
    position: relative;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    clear: both;
}
.ebs-heritage-hero-block.alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
}
.ebs-heritage-hero {
    --ebs-hero-image: none;
    --ebs-hero-overlay: .72;
    --ebs-hero-position-x: 50%;
    --ebs-hero-position-y: 50%;
    --ebs-hero-height: 560px;
    --ebs-hero-content-width: 1240px;
    position: relative;
    display: flex;
    align-items: center;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    min-height: var(--ebs-hero-height);
    color: #fff;
    background:
        radial-gradient(ellipse at 78% 15%, rgba(91,119,153,.24), transparent 43%),
        linear-gradient(165deg, #152139 0%, #1b2b46 48%, #263b5b 100%);
}
.ebs-heritage-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(110deg, rgba(10,20,36,.12), transparent 64%);
}
.ebs-hero-bg-deep {
    background:
        radial-gradient(ellipse at 78% 12%, rgba(70,91,121,.16), transparent 42%),
        linear-gradient(165deg, #111d31 0%, #152139 58%, #1c2d49 100%);
}
.ebs-hero-bg-image {
    background-image:
        linear-gradient(110deg, rgba(13,24,42,var(--ebs-hero-overlay)), rgba(21,33,57,calc(var(--ebs-hero-overlay) * .72))),
        var(--ebs-hero-image);
    background-size: cover;
    background-position: var(--ebs-hero-position-x) var(--ebs-hero-position-y);
}
.ebs-heritage-hero-inner {
    position: relative;
    z-index: 2;
    width: min(var(--ebs-hero-content-width), calc(100% - 64px));
    margin: 0 auto;
    padding-top: 88px;
    padding-bottom: 105px;
}
.ebs-heritage-hero .eyebrow {
    margin: 0 0 25px;
    color: #d8c8a7;
    font-size: 10px;
    line-height: 1.6;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.ebs-heritage-hero h1 {
    max-width: 900px;
    margin: 0;
    color: #fff;
    font-family: var(--font, 'Montserrat', Arial, sans-serif);
    font-size: clamp(44px, 6vw, 76px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.055em;
}
.ebs-heritage-hero h1 em {
    color: #c0a16a;
    font-style: normal;
}
.ebs-heritage-hero-description {
    max-width: 640px;
    margin: 26px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 15px;
    font-weight: 300;
    line-height: 1.9;
}
.ebs-heritage-hero-actions { display: flex; align-items: center; margin-top: 34px; }
.ebs-heritage-hero-actions .button { min-height: 58px; }
.ebs-heritage-hero-actions .button-outline-light {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 15px 21px;
    border: 1px solid rgba(255,255,255,.65);
    color: #fff;
    background: transparent;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.ebs-heritage-hero-actions .button-outline-light:hover { color: #152139; background: #fff; }
.ebs-heritage-hero-caption {
    position: absolute;
    right: 4%;
    bottom: 25px;
    z-index: 2;
    margin: 0;
    color: rgba(255,255,255,.62);
    font-size: 9px;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.ebs-heritage-hero.is-align-center .ebs-heritage-hero-inner { text-align: center; }
.ebs-heritage-hero.is-align-center h1,
.ebs-heritage-hero.is-align-center .ebs-heritage-hero-description { margin-left: auto; margin-right: auto; }
.ebs-heritage-hero.is-align-center .ebs-heritage-hero-actions { justify-content: center; }
@media (max-width: 700px) {
    .ebs-heritage-hero { min-height: max(460px, var(--ebs-hero-height)); }
    .ebs-heritage-hero-inner { width: calc(100% - 40px); padding-top: 70px; padding-bottom: 88px; }
    .ebs-heritage-hero h1 { font-size: clamp(40px, 11vw, 52px); }
    .ebs-heritage-hero-description { font-size: 14px; }
    .ebs-heritage-hero-caption { left: 20px; right: 20px; font-size: 8px; line-height: 1.6; }
}

/* Gutenberg preview: full-width in the editor canvas, with editable live text. */
.editor-styles-wrapper .wp-block-ebs-heritage-hero.alignfull,
.block-editor-block-list__layout .wp-block-ebs-heritage-hero.alignfull {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.ebs-heritage-hero-editor {
    min-height: 440px;
    padding: 40px 0 55px;
}
.ebs-heritage-hero-editor .ebs-heritage-hero-inner {
    width: min(var(--ebs-hero-content-width, 1240px), calc(100% - 56px));
    padding-top: 25px;
    padding-bottom: 30px;
}
.ebs-heritage-hero-editor h1 { color: #fff; }
.ebs-heritage-hero-editor .ebs-hero-heading-fields { max-width: 900px; }
.ebs-heritage-hero-editor .ebs-hero-highlight { color: #c0a16a; }
.ebs-heritage-hero-editor .ebs-heritage-hero-description { color: rgba(255,255,255,.82); }
.ebs-heritage-hero-editor .ebs-heritage-hero-actions { pointer-events: none; }
.ebs-hero-media-controls { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ebs-hero-editor-image { width: 100%; max-width: 180px; height: 90px; object-fit: cover; border-radius: 2px; }
@media (max-width: 700px) {
    .editor-styles-wrapper .ebs-heritage-hero-editor { min-height: 420px; }
    .ebs-heritage-hero-editor .ebs-heritage-hero-inner { width: calc(100% - 40px); }
}
