/* Outer section — no padding, children flow full-width */
.bsw-start-planning.wp-block-group.alignfull {
    padding: 0 !important;
}

/* Background image — fixed height with overflow hidden so it has a visible bottom edge */
.bsw-start-planning__bg.wp-block-image {
    height: 420px;
    overflow: hidden;
    margin: 0 !important;
    display: block;
    line-height: 0;
    width: 100%;
    max-width: 100% !important;
}

.alignfull.bsw-start-planning__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Match Figma crop: upper-center of the floral photo */
    object-position: center 40%;
    display: block;
}

/* Card — pulled up to overlap the image bottom, then extends below it */
.bsw-start-planning__card.wp-block-group {
    background: #f8f7f4;
    position: relative;
    z-index: 1;
    margin-block-start: -100px !important;
    margin-block-end: 0 !important;
    margin-inline: auto !important;
    max-width: 1078px !important;
    width: 100% !important;
    padding-block: 2.5rem 3.5rem !important;
    padding-inline: 3rem !important;
    box-sizing: border-box;
}

/* Heading — Cormorant Regular, uppercase, widely tracked */
.bsw-start-planning__heading {
    font-family: var(--wp--preset--font-family--cormorant, 'Cormorant', serif) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 60px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: #8c857b !important;
    line-height: 1.1 !important;
    margin-block: 0 1.25rem !important;
}

/* Body copy */
.bsw-start-planning__body {
    font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
    font-size: 18px;
    line-height: 2;
    color: #000;
    margin-block-end: 2.5rem !important;
}

/* CTA — solid blush/mauve filled button */
.bsw-start-planning__cta .wp-block-button__link {
    font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #fff !important;
    background: #aa747c !important;
    border: none !important;
    border-radius: 0 !important;
    min-height: 61px;
    min-width: 331px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}

.bsw-start-planning__cta .wp-block-button__link:hover {
    background: #8c5d65 !important;
}

@media (max-width: 767px) {
    .bsw-start-planning__bg.wp-block-image {
        height: 377px;
    }

    /* The mobile design's image fill, measured from Figma and expressed
       relative to the 440px canvas (1vw = 4.4px there): photo drawn
       277.01vw wide at its natural ratio, pulled 54.13vw left and 40.23vw
       up (the fill's offset in its 570px box + the 55px window shift).
       The window shows source x 19.5–55.7% / y 21.7–68.1% — ring right of
       centre. Exact at 440px, scales proportionally at other widths. */
    .alignfull.bsw-start-planning__bg img {
        width: 277.01vw;
        height: auto;
        max-width: none;
        margin-left: -54.13vw;
        margin-top: -40.23vw;
    }

    .bsw-start-planning__card.wp-block-group {
        margin-block-start: -130px !important;
        margin-inline: 20px !important;
        max-width: calc(100% - 40px) !important;
        padding-block: 2rem 2.5rem !important;
        padding-inline: 1.5rem !important;
    }

    .bsw-start-planning__heading {
        font-size: 50px !important;
        letter-spacing: 0.15em !important;
    }

    .bsw-start-planning__body {
        margin-block-end: 2rem !important;
    }

    /* Make the button wrapper and button itself fill the card width */
    .bsw-start-planning__card .wp-block-buttons {
        width: 100% !important;
    }

    .bsw-start-planning__cta.wp-block-button {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .bsw-start-planning__cta .wp-block-button__link {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        box-sizing: border-box !important;
        padding-inline: 1.5rem !important;
        padding-block: 1rem !important;
    }
}
