/*
Theme Name: BDIS Gutenberg WP Theme v5.12
Theme URI: https://biggarinsurance.ca
Author: Biggar & District Insurance Services
Description: Mobile-friendly Gutenberg block theme for Biggar & District Insurance Services.
Version: 5.12.10
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: bdis-gutenbergwp-theme
*/
:root {
    --bdis-blue:#24588D;
    --bdis-secondary-blue:#009ADB;
    --bdis-gold:#C3912D;
    --bdis-green:#BED735;
    --bdis-page-grey:#F1F3F5;
    --bdis-border-grey:#D9DFE5;
    --bdis-dark-grey:#444;
    --bdis-white:#FFF
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    background:var(--bdis-page-grey);
    color:var(--bdis-dark-grey);
    font-family:"Open Sans",Arial,sans-serif;
    font-size:16px;
    line-height:1.6
}

img {
    max-width:100%;
    height:auto
}

h1,h2,h3,h4,h5,h6 {
    color:var(--bdis-blue);
    font-family:"Open Sans",Arial,sans-serif;
    font-weight:700;
    line-height:1.2
}

h1 {
    font-size:clamp(2rem,4vw,3rem)
}

h2 {
    font-size:clamp(1.5rem,3vw,2.25rem)
}

h3 {
    font-size:1.35rem
}

a {
    color:var(--bdis-blue);
    text-underline-offset:.16em;
    transition:color .2s ease,background-color .2s ease,border-color .2s ease
}

a:hover {
    color:var(--bdis-gold)
}

a:focus-visible,button:focus-visible,.wp-element-button:focus-visible {
    outline:3px solid var(--bdis-secondary-blue);
    outline-offset:3px
}

.bdis-site-header {
    position:sticky;
    top:0;
    z-index:1000;
    box-shadow: none;
}

.admin-bar .bdis-site-header {
    top:32px
}

.bdis-top-bar,.bdis-top-bar p {
    margin:0
}

.bdis-top-bar a,.bdis-top-bar a:visited {
    color:var(--bdis-white)!important;
    font-weight:600;
    text-decoration:none
}

.bdis-top-bar a:hover,.bdis-top-bar a:focus {
    color:var(--bdis-gold)!important
}

.bdis-main-header .wp-block-site-logo img {
    max-width:190px;
    height:auto
}

.bdis-icon-link {
    align-items:center;
    display:inline-flex;
    gap:.5rem
}

.bdis-icon {
    display:inline-block;
    flex:0 0 auto;
    height:1rem;
    stroke:currentColor;
    vertical-align:-.15em;
    width:1rem
}

.bdis-main-header .wp-block-navigation .wp-block-navigation-item__content,.bdis-main-header .wp-block-navigation a {
    color:var(--bdis-blue)!important;
    font-family:"Open Sans",Arial,sans-serif;
    font-weight:600
}

.bdis-main-header .wp-block-navigation .wp-block-navigation-item__content:hover,.bdis-main-header .wp-block-navigation .wp-block-navigation-item__content:focus,.bdis-main-header .wp-block-navigation .current-menu-item>.wp-block-navigation-item__content,.bdis-main-header .wp-block-navigation .current-menu-ancestor>.wp-block-navigation-item__content,.bdis-main-header .wp-block-navigation .current_page_item>.wp-block-navigation-item__content {
    color:var(--bdis-gold)!important
}

.bdis-main-header .wp-block-navigation .wp-block-navigation__submenu-container {
    left:0!important;
    right:auto!important;
    min-width:230px
}

.bdis-main-header .wp-block-navigation__container>.wp-block-navigation-item:last-child>.wp-block-navigation-item__content {
    background:var(--bdis-blue);
    border:2px solid var(--bdis-blue);
    border-radius:12px;
    color:var(--bdis-white)!important;
    padding:.45rem .9rem;
    text-decoration:none
}

.bdis-main-header .wp-block-navigation__container>.wp-block-navigation-item:last-child>.wp-block-navigation-item__content:hover,.bdis-main-header .wp-block-navigation__container>.wp-block-navigation-item:last-child>.wp-block-navigation-item__content:focus {
    background:var(--bdis-white);
    color:var(--bdis-blue)!important
}

.wp-block-button .wp-block-button__link,.wp-element-button {
    border:2px solid var(--bdis-blue);
    border-radius:12px;
    font-family:"Open Sans",Arial,sans-serif;
    font-weight:600;
    padding:.75rem 1.5rem;
    text-decoration:none!important
}

.wp-block-button:not(.is-style-bdis-secondary) .wp-block-button__link,.wp-block-button.is-style-bdis-primary .wp-block-button__link {
    background:var(--bdis-blue)!important;
    border-color:var(--bdis-blue)!important;
    color:var(--bdis-white)!important
}

.wp-block-button:not(.is-style-bdis-secondary) .wp-block-button__link:hover,.wp-block-button.is-style-bdis-primary .wp-block-button__link:hover {
    background:var(--bdis-white)!important;
    color:var(--bdis-blue)!important
}

.wp-block-button.is-style-bdis-secondary .wp-block-button__link {
    background:var(--bdis-white)!important;
    border-color:var(--bdis-blue)!important;
    color:var(--bdis-blue)!important
}

.wp-block-button.is-style-bdis-secondary .wp-block-button__link:hover {
    background:var(--bdis-blue)!important;
    color:var(--bdis-white)!important
}

.is-style-bdis-card {
    background:var(--bdis-white);
    border:1px solid var(--bdis-border-grey);
    border-radius:12px;
    padding:var(--wp--preset--spacing--40)
}

.bdis-site-footer {
    font-family:"Open Sans",Arial,sans-serif;
    font-size:.8125rem;
    line-height:1.5;
    margin-top:0
}

.bdis-site-footer>.wp-block-columns {
    gap:clamp(2rem,5vw,5rem)
}

.bdis-site-footer h3 {
    font-size:.875rem!important;
    font-weight:700;
    margin-bottom:.85rem
}

.bdis-site-footer p {
    font-size:.8125rem;
    margin-top:0;
    margin-bottom:.65rem
}

.bdis-site-footer .wp-block-separator {
    margin-top:2rem;
    margin-bottom:2rem;
    opacity:.3
}

.bdis-site-footer .bdis-company-name {
    font-size:.875rem;
    font-weight:700;
    margin-bottom:.7rem
}

.bdis-site-footer .bdis-company-description {
    margin-bottom:0
}

.bdis-site-footer .bdis-footer-nav {
    gap:1.25rem
}

.bdis-site-footer .bdis-footer-nav p {
    margin:0
}

.bdis-site-footer .bdis-footer-nav a,.bdis-site-footer .bdis-copyright {
    font-size:.75rem
}

.bdis-site-footer a {
    color:var(--bdis-white)!important
}

.bdis-site-footer a:hover,.bdis-site-footer a:focus {
    color:var(--bdis-gold)!important
}

@media(max-width:782px) {
    .admin-bar .bdis-site-header {
        top:46px
    }

}

@media(max-width:768px) {
    .bdis-top-bar .wp-block-group {
        justify-content:center!important;
        text-align:center
    }

    .bdis-main-header {
        padding-top:.75rem!important;
        padding-bottom:.75rem!important
    }

    .bdis-main-header .wp-block-site-logo img {
        max-width:150px
    }

    .bdis-footer-nav {
        justify-content:flex-start!important
    }

    .wp-block-buttons.bdis-mobile-buttons,.bdis-mobile-buttons .wp-block-button {
        width:100%
    }

    .bdis-mobile-buttons .wp-block-button__link {
        width:100%;
        text-align:center
    }

}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }

    *,*::before,*::after {
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important
    }

}

/* Editable footer contact rows (v5.6)
 * The icons remain SVG Custom HTML blocks, while the address and phone text
 * are separate native Paragraph blocks that can be edited directly.
 */
.bdis-site-footer h3 {
    margin-top: 0;
    margin-bottom: 0.4rem;
}

.bdis-footer-contact-list {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.bdis-footer-contact-list > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.bdis-footer-contact-row {
    align-items: center;
    gap: 0.5rem;
    min-height: 1.5rem;
}

.bdis-footer-contact-row > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.bdis-footer-contact-row .wp-block-html {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    line-height: 0;
}

.bdis-footer-contact-row p {
    margin: 0;
}

/* Footer office alignment (v5.6)
 * Align each editable contact row with the left edge of its office heading.
 */
.bdis-footer-contact-list {
    align-items: flex-start;
    width: 100%;
}

.bdis-footer-contact-list > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.bdis-footer-contact-row {
    justify-content: flex-start !important;
    width: 100%;
}

/* Full-width BDIS page header banner (v5.6)
 * The outer block creates the edge-to-edge grey band.
 * The inner block aligns text with the 1280px header/navigation container.
 */
.bdis-page-header {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw;
    padding: 1.25rem max(1rem, calc((100vw - 1280px) / 2));
}

.bdis-page-header-inner {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1280px !important;
    width: 100%;
}

.bdis-page-header-inner > :first-child {
    margin-top: 0;
}

.bdis-page-header-inner > :last-child {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .bdis-page-header {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }

}

/* Header spacing cleanup (v5.6)
 * Prevent the global block gap from creating a grey bar between the blue
 * top bar and the white logo/navigation bar.
 */
.bdis-site-header {
    gap: 0 !important;
}

.bdis-site-header > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.bdis-main-header {
    border: 0 !important;
    box-shadow: none !important;
    margin-top: 0 !important;
    padding-top: 0.1rem !important;
    padding-bottom: 0.1rem !important;
}

.bdis-main-header > .wp-block-group {
    border: 0 !important;
    min-height: 0 !important;
    margin-block: 0 !important;
    padding-block: 0 !important;
}

/* BIS Insurance Pages layout (v5.7)
 * Full-width colour bands with a consistent 1280px editable inner container.
 * Outer sections intentionally have no borders or rounded corners.
 */
.bis-insurance-section {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw;
    border: 0 !important;
    border-radius: 0 !important;
}

.bis-insurance-section-white {
    background: var(--bdis-white);
}

.bis-insurance-section-grey {
    background: var(--bdis-page-grey);
}

.bis-insurance-inner {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1280px !important;
    width: 100%;
    padding: 2.5rem 1rem;
}

.bis-insurance-intro, .bis-insurance-columns, .bis-insurance-highlights {
    border: 0 !important;
    border-radius: 0 !important;
}

.bis-insurance-columns {
    align-items: stretch;
}

.bis-insurance-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.bis-insurance-grid > .wp-block-group {
    background: var(--bdis-white);
    border: 1px solid var(--bdis-border-grey);
    border-top: 4px solid var(--bdis-gold);
    border-radius: 12px;
    min-width: 0;
    padding: 1.5rem;
}

.bis-insurance-placeholder {
    color: #66727d;
}

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

}

@media (max-width: 600px) {
    .bis-insurance-inner {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .bis-insurance-grid {
        grid-template-columns: 1fr;
    }

}

/* BIS Insurance template options (v5.8) */
.bis-insurance-grid {
    align-items: stretch;
    grid-auto-rows: 1fr;
}

.bis-insurance-grid > .wp-block-group {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.bis-insurance-card-row {
    align-items: stretch !important;
    margin-bottom: 1rem;
}

.bis-insurance-card-row > .wp-block-column {
    display: flex;
}

.bis-insurance-card-row > .wp-block-column > .wp-block-group {
    background: var(--bdis-white);
    border: 1px solid var(--bdis-border-grey);
    border-top: 4px solid var(--bdis-gold);
    border-radius: 12px;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    height: 100%;
    padding: 1.5rem;
    width: 100%;
}

.bis-insurance-extra-band, .bis-insurance-cta-band {
    border: 0 !important;
    border-radius: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw;
}

.bis-insurance-extra-band {
    background: var(--bdis-white);
}

.bis-insurance-cta-band {
    background: var(--bdis-blue);
    color: var(--bdis-white);
}

.bis-insurance-cta-band h1, .bis-insurance-cta-band h2, .bis-insurance-cta-band h3, .bis-insurance-cta-band p, .bis-insurance-cta-band a:not(.wp-element-button) {
    color: var(--bdis-white);
}

.bis-insurance-extra-inner, .bis-insurance-cta-inner {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1280px !important;
    padding: 2.5rem 1rem;
    width: 100%;
}

/* BDIS Gold button and standard Insurance Contact card (v5.9) */
.wp-block-button.is-style-bdis-gold .wp-block-button__link {
    background:var(--bdis-gold)!important;
    border-color:var(--bdis-gold)!important;
    color:var(--bdis-white)!important
}

.wp-block-button.is-style-bdis-gold .wp-block-button__link:hover,.wp-block-button.is-style-bdis-gold .wp-block-button__link:focus {
    background:var(--bdis-white)!important;
    border-color:var(--bdis-gold)!important;
    color:var(--bdis-gold)!important
}

.bdis-insurance-contact-card {
    background:var(--bdis-white);
    border:1px solid var(--bdis-border-grey);
    border-top:5px solid var(--bdis-gold);
    border-radius:12px;
    box-shadow:0 8px 24px rgba(36,88,141,.10);
    height:100%;
    padding:1.75rem
}

.bdis-insurance-contact-card h2 {
    margin-top:0;
    margin-bottom:.65rem
}

.bdis-insurance-office-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0.75rem 0 1rem;
}

.bdis-insurance-office-row {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin: 0;
    padding-bottom: 0;
}

.bdis-insurance-office-row p {
    margin:0
}

.bdis-insurance-office-row a {
    font-weight:600;
    text-decoration:none
}

.bdis-insurance-contact-card .wp-block-buttons {
    margin-top:1.25rem
}

@media(max-width:600px) {
    .bdis-insurance-office-row {
        align-items:flex-start;
        flex-direction:column;
        gap:.15rem
    }

}

/* BIS Q&A Template (v5.10) */
.bis-qa-page {
    background:var(--bdis-white)
}

.bis-qa-intro-band,.bis-qa-section-band {
    border:0!important;
    border-radius:0!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    max-width:none!important;
    width:100vw
}

.bis-qa-intro-band {
    background:var(--bdis-white)
}

.bis-qa-section-band {
    background:var(--bdis-page-grey)
}

.bis-qa-inner {
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:980px!important;
    padding:2.75rem 1rem;
    width:100%
}

.bis-qa-category {
    margin-bottom:2.5rem
}

.bis-qa-category:last-child {
    margin-bottom:0
}

.bis-qa-category>.wp-block-heading {
    border-left:5px solid var(--bdis-gold);
    margin-bottom:1.25rem;
    padding-left:.9rem
}

.bis-qa-list {
    display:flex;
    flex-direction:column;
    gap:.85rem
}

.bis-qa-list .wp-block-details {
    background:var(--bdis-white);
    border:1px solid var(--bdis-border-grey);
    border-radius:12px;
    box-shadow:0 4px 14px rgba(36,88,141,.06);
    margin:0;
    overflow:hidden;
    padding:0
}

.bis-qa-list .wp-block-details summary {
    color:var(--bdis-blue);
    cursor:pointer;
    font-size:1.05rem;
    font-weight:700;
    list-style:none;
    padding:1.15rem 3.2rem 1.15rem 1.25rem;
    position:relative
}

.bis-qa-list .wp-block-details summary::-webkit-details-marker {
    display:none
}

.bis-qa-list .wp-block-details summary::after {
    color:var(--bdis-gold);
    content:"+";
    font-size:1.6rem;
    font-weight:600;
    line-height:1;
    position:absolute;
    right:1.25rem;
    top:50%;
    transform:translateY(-50%)
}

.bis-qa-list .wp-block-details[open] summary {
    background:var(--bdis-blue);
    color:var(--bdis-white)
}

.bis-qa-list .wp-block-details[open] summary::after {
    color:var(--bdis-gold);
    content:"−"
}

.bis-qa-list .wp-block-details>:not(summary) {
    margin-left:1.25rem;
    margin-right:1.25rem
}

.bis-qa-list .wp-block-details>:last-child {
    margin-bottom:1.25rem
}

@media(max-width:600px) {
    .bis-qa-inner {
        padding-top:2rem;
        padding-bottom:2rem
    }

    .bis-qa-list .wp-block-details summary {
        padding-left:1rem;
        padding-right:2.8rem
    }

}

/* BIS Contact Template (v5.11) */
.bis-contact-page {
    background:var(--bdis-white)
}

.bis-contact-offices-band,.bis-contact-form-band,.bis-contact-values-band {
    border:0!important;
    border-radius:0!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    max-width:none!important;
    width:100vw
}

.bis-contact-offices-band {
    background:var(--bdis-white)
}

.bis-contact-form-band {
    background:var(--bdis-page-grey)
}

.bis-contact-values-band {
    background:var(--bdis-white)
}

.bis-contact-inner {
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:1280px!important;
    padding:3rem 1rem;
    width:100%
}

.bis-contact-section-heading {
    text-align:center;
    margin-bottom:.6rem
}

.bis-contact-section-intro {
    margin:0 auto 2rem;
    max-width:760px;
    text-align:center
}

.bis-contact-office-row,.bis-contact-value-row {
    align-items:stretch!important
}

.bis-contact-office-row>.wp-block-column,.bis-contact-value-row>.wp-block-column {
    display:flex
}

.bis-contact-office-card,.bis-contact-value-card {
    background:var(--bdis-white);
    border:1px solid var(--bdis-border-grey);
    border-radius:12px;
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    height:100%;
    padding:1.75rem;
    width:100%
}

.bis-contact-office-card {
    border-top:5px solid var(--bdis-gold);
    box-shadow:0 8px 24px rgba(36,88,141,.08);
    position:relative
}

.bis-contact-office-card h3,.bis-contact-value-card h3 {
    color:var(--bdis-blue);
    margin-top:0
}

.bis-contact-office-card address {
    font-style:normal;
    line-height:1.65;
    margin-bottom:1rem
}

.bis-contact-office-card .bis-contact-phone {
    font-size:1.05rem;
    font-weight:700;
    margin-bottom:1rem
}

.bis-contact-office-card .bis-contact-hours {
    margin-top:.5rem;
    padding-top:0
}

.bis-contact-office-card .wp-block-buttons {
    margin-top:auto;
    padding-top:1.25rem
}

.bis-contact-map-button .wp-block-button__link {
    background:var(--bdis-blue)!important;
    border-color:var(--bdis-blue)!important;
    color:var(--bdis-white)!important
}

.bis-contact-map-button .wp-block-button__link:hover,.bis-contact-map-button .wp-block-button__link:focus {
    background:var(--bdis-white)!important;
    border-color:var(--bdis-blue)!important;
    color:var(--bdis-blue)!important
}

.bis-contact-form-shell {
    background:var(--bdis-white);
    border:1px solid var(--bdis-border-grey);
    border-radius:12px;
    box-shadow:0 8px 24px rgba(36,88,141,.08);
    margin:0 auto;
    max-width:980px;
    padding:2rem
}

.bis-contact-form-placeholder {
    background:var(--bdis-light-grey);
    border:2px dashed var(--bdis-border-grey);
    border-radius:10px;
    padding:2rem;
    text-align:center
}

.bis-contact-form-placeholder p {
    margin-bottom:.5rem
}

.bis-contact-value-card {
    border-top:5px solid var(--bdis-gold);
    text-align:center
}

.bis-contact-value-card p {
    margin-bottom:0
}

@media(max-width:781px) {
    .bis-contact-office-row,.bis-contact-value-row {
        gap:1rem
    }

    .bis-contact-form-shell {
        padding:1.25rem
    }

}

/* BIS card consistency updates (v5.12) */
.bis-contact-address {
    align-items:center;
    display:flex;
    gap:.55rem;
    margin-bottom:.9rem
}

.bis-contact-address .bdis-icon {
    color:var(--bdis-gold);
    height:1.15rem;
    width:1.15rem
}

.bis-contact-address a {
    font-weight:600;
    text-decoration:none
}

.bis-contact-office-card .bis-contact-phone {
    margin-top:0
}

.bis-contact-office-card .bis-contact-hours p {
    margin-top:0;
    margin-bottom:.45rem
}

/* Gravity Forms styling (v5.12.1)
 * Keeps Gravity Forms inside the existing BIS contact-form card.
 * Rules are scoped so other forms are not unintentionally restyled.
 */
.bis-contact-form-shell {
    max-width: 1180px;
    width: 100%;
}

.bis-contact-form-shell .gform_wrapper {
    margin: 0;
    max-width: none;
    width: 100%;
}

.bis-contact-form-shell .gform-theme--framework {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

.bis-contact-form-shell .gfield_label {
    color: var(--bdis-blue);
    font-weight: 600;
}

.bis-contact-form-shell input[type="text"], .bis-contact-form-shell input[type="email"], .bis-contact-form-shell input[type="tel"], .bis-contact-form-shell select, .bis-contact-form-shell textarea {
    border: 1px solid var(--bdis-border-grey);
    border-radius: 6px;
    width: 100%;
}

.bis-contact-form-shell .gform_footer input[type="submit"], .bis-contact-form-shell .gform_footer button, .bis-contact-form-shell .gform_button {
    background: var(--bdis-gold) !important;
    border: 2px solid var(--bdis-gold) !important;
    border-radius: 8px !important;
    color: var(--bdis-white) !important;
    font-family: "Open Sans", Arial, sans-serif !important;
    font-weight: 600 !important;
    padding: 0.9rem 1.5rem !important;
}

.bis-contact-form-shell .gform_footer input[type="submit"]:hover, .bis-contact-form-shell .gform_footer input[type="submit"]:focus, .bis-contact-form-shell .gform_footer button:hover, .bis-contact-form-shell .gform_footer button:focus, .bis-contact-form-shell .gform_button:hover, .bis-contact-form-shell .gform_button:focus {
    background: var(--bdis-white) !important;
    color: var(--bdis-gold) !important;
}

@media (max-width: 781px) {
    .bis-contact-form-shell {
        padding: 1.25rem;
    }

}

/* Compact Contact page layout (v5.12.2)
 * Keeps the form above the fold on desktop and uses one compact office panel.
 */
.bis-contact-main-band {
    border: 0 !important;
    border-radius: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    width: 100vw;
}

.bis-contact-main-columns {
    align-items: stretch !important;
    gap: 1.5rem;
}

.bis-contact-main-columns > .wp-block-column {
    display: flex;
}

.bis-contact-main-columns .bis-contact-form-shell, .bis-contact-offices-panel {
    background: var(--bdis-white);
    border: 1px solid var(--bdis-border-grey);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(36, 88, 141, 0.08);
    height: 100%;
    padding: 1.5rem;
    width: 100%;
}

.bis-contact-main-columns .bis-contact-form-shell {
    max-width: none;
}

.bis-contact-main-columns h2 {
    margin-top: 0;
}

.bis-contact-offices-panel {
    border-top: 5px solid var(--bdis-gold);
}

.bis-contact-offices-panel > p {
    margin-bottom: 1rem;
}

.bis-contact-compact-office {
    border-top: 1px solid var(--bdis-border-grey);
    padding: 0.9rem 0;
}

.bis-contact-compact-office:first-of-type {
    border-top: 0;
    padding-top: 0.25rem;
}

.bis-contact-compact-office:last-child {
    padding-bottom: 0;
}

.bis-contact-compact-office h3 {
    font-size: 1.05rem;
    margin: 0 0 0.4rem;
}

.bis-contact-detail-row {
    align-items: flex-start;
    display: flex;
    gap: 0.55rem;
    line-height: 1.4;
    margin-top: 0.35rem;
    text-align: left;
}

.bis-contact-detail-row .bdis-icon {
    color: var(--bdis-gold);
    height: 1.05rem;
    margin-top: 0.15rem;
    width: 1.05rem;
}

.bis-contact-detail-row a {
    font-weight: 600;
    text-decoration: none;
}

@media (max-width: 900px) {
    .bis-contact-main-columns {
        flex-direction: column;
    }

    .bis-contact-main-columns > .wp-block-column {
        flex-basis: 100% !important;
    }

}

/* Mobile header and Navigation Overlay refinements (v5.12.4)
 * IMPORTANT: These rules style the WordPress mobile overlay saved in the Site Editor.
 * They do not modify desktop Navigation behaviour or menu structure.
 * WordPress controls submenu visibility through the overlay Click setting.
 */
@media (max-width: 781px) {
    /* On mobile, keep only the phone number in the blue utility bar. */
    .bdis-top-bar .wp-block-group.alignwide > p {
        display: none;
    }

    .bdis-top-bar .wp-block-group.alignwide {
        justify-content: flex-start !important;
    }

    .bdis-top-bar .bdis-icon-link {
        margin-left: 0;
    }

    /* Keep the BIS logo and hamburger aligned cleanly on one row. */
    .bdis-main-header .wp-block-group.alignwide {
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    /* Mobile overlay links: BIS blue normally, BIS gold on hover/focus/current. */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
        color: var(--bdis-blue) !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,     .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus,     .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,     .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content {
        color: var(--bdis-gold) !important;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        font-size: 1rem;
        padding-bottom: 0.55rem;
        padding-top: 0.55rem;
    }

}


/* Mobile overlay left alignment (v5.12.5)
 * Mobile overlay only. Desktop navigation is intentionally untouched.
 */
@media (max-width: 781px) {
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        align-items: flex-start !important;
        text-align: left !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
        align-items: flex-start !important;
        justify-content: flex-start !important;
        width: 100% !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
        align-items: flex-start !important;
        text-align: left !important;
        width: 100% !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
        text-align: left !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
        align-items: flex-start !important;
        padding-left: 1.25rem !important;
        text-align: left !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
        text-align: left !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
        color: var(--bdis-blue);
    }
}

/* Final expanded mobile overlay layout (v5.12.7)
 * Mobile overlay only. Desktop navigation is intentionally untouched.
 * Insurance children remain visible, with the Insurance parent label retained.
 */
@media (max-width: 781px) {
    /* Hide the service-area sentence and keep the phone number at the right edge. */
    .bdis-top-bar .wp-block-group.alignwide > p {
        display: none;
    }

    .bdis-top-bar .wp-block-group.alignwide {
        box-sizing: border-box;
        justify-content: flex-end !important;
        padding-left: 12px;
        padding-right: 12px;
        width: 100%;
    }

    .bdis-top-bar .bdis-icon-link {
        margin-left: auto;
        margin-right: 0;
    }

    /* Left-align the open mobile menu and all menu items. */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
        align-items: flex-start !important;
        justify-content: flex-start !important;
        text-align: left !important;
        width: 100% !important;
    }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
        color: var(--bdis-blue) !important;
        text-align: left !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus,
    .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
    .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content {
        color: var(--bdis-gold) !important;
    }

    /* Keep the Insurance parent label visible while removing only its arrow. */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
        color: var(--bdis-blue) !important;
        cursor: default;
        display: block !important;
        pointer-events: none;
        text-align: left !important;
        width: 100% !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle:hover,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle:focus {
        color: var(--bdis-gold) !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
        display: none !important;
    }

    /* Keep Insurance products visible and indented beneath the parent label. */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
        align-items: flex-start !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        opacity: 1 !important;
        padding: 0 0 0.45rem 1.5rem !important;
        position: static !important;
        visibility: visible !important;
        width: 100% !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        font-size: 1rem;
        font-weight: 500;
        padding-bottom: 0.5rem;
        padding-top: 0.5rem;
    }
}


/* BDIS Gold Check List block style (v5.12.8)
 * Marketing can select a normal List block and choose BDIS Gold Check List.
 */
.wp-block-list.is-style-bdis-gold-check {
    list-style: none;
    padding-left: 0;
}

.wp-block-list.is-style-bdis-gold-check > li {
    margin-bottom: 0.5rem;
    padding-left: 1.75rem;
    position: relative;
}

.wp-block-list.is-style-bdis-gold-check > li::before {
    color: var(--bdis-gold);
    content: "✓";
    font-weight: 700;
    left: 0;
    line-height: inherit;
    position: absolute;
    top: 0;
}

.wp-block-list.is-style-bdis-gold-check > li:last-child {
    margin-bottom: 0;
}

.wp-block-list.is-style-bdis-gold-check ul,
.wp-block-list.is-style-bdis-gold-check ol {
    margin-top: 0.5rem;
}


/* BIS Visual Card Template and refreshed Insurance Hero (v5.12.9) */
.bdis-visual-hero .wp-block-cover__inner-container,
.bdis-insurance-hero .wp-block-cover__inner-container {
    width: 100%;
}

.bdis-visual-hero-content,
.bdis-insurance-hero-content {
    background: rgba(255, 255, 255, 0.93);
    border-left: 6px solid var(--bdis-gold);
    border-radius: 10px;
    box-shadow: 0 12px 34px rgba(36, 88, 141, 0.16);
    margin-left: 0;
    padding: clamp(1.5rem, 4vw, 3rem);
}

.bdis-visual-card-band {
    padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
    padding-top: clamp(2.5rem, 5vw, 4.5rem);
}

.bdis-visual-card-grid {
    align-items: stretch;
    gap: 1rem;
    margin-top: 1.75rem;
}

.bdis-visual-card-grid > .wp-block-column {
    display: flex;
}

.bdis-visual-card {
    background: var(--bdis-white);
    border: 1px solid var(--bdis-border-grey);
    border-top: 5px solid var(--bdis-gold);
    border-radius: 10px;
    box-shadow: 0 8px 22px rgba(36, 88, 141, 0.08);
    min-height: 100%;
    padding: 1.5rem;
    text-align: center;
    width: 100%;
}

.bdis-visual-card-icon {
    margin-bottom: 0.25rem;
}

.bdis-visual-card h3 {
    margin-bottom: 0.25rem;
    margin-top: 0;
}

.bdis-visual-card-link {
    margin-top: auto;
}

.bdis-visual-card-link a {
    color: var(--bdis-gold);
    font-weight: 700;
    text-decoration: none;
}

.bdis-visual-card-link a:hover,
.bdis-visual-card-link a:focus {
    color: var(--bdis-blue);
}

.bdis-visual-cta {
    padding-bottom: 1.5rem;
    padding-top: 1.5rem;
}

.bdis-visual-cta h2,
.bdis-visual-cta p {
    margin-bottom: 0.25rem;
    margin-top: 0.25rem;
}

@media (max-width: 781px) {
    .bdis-visual-hero,
    .bdis-insurance-hero {
        min-height: 460px !important;
    }

    .bdis-visual-card-grid {
        flex-wrap: wrap !important;
    }

    .bdis-visual-card-grid > .wp-block-column {
        flex-basis: calc(50% - 0.5rem) !important;
    }

    .bdis-visual-cta .wp-block-buttons {
        justify-content: flex-start !important;
    }
}

@media (max-width: 520px) {
    .bdis-visual-card-grid > .wp-block-column {
        flex-basis: 100% !important;
    }
}
