
/*
 * DSB Header Builder 0.1.5
 * Visual treatment matching the approved header screenshot.
 * Structure remains native Divi 5:
 * Image + Text + Menu + Button + Divider modules.
 */

.rbh-header-section{
    position:sticky;
    top:0;
    z-index:99999;
    background:#0A1A2F;
    border-bottom:1px solid rgba(207,159,85,.10);
}

.admin-bar .rbh-header-section{top:32px}

.rbh-header-row{
    min-height:64px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
    display:flex!important;
    align-items:center!important;
}

.rbh-brand-group{
    min-width:0;
}

.rbh-brand-group .et_pb_image{
    margin-bottom:0!important;
}

.rbh-menu{
    background:transparent!important;
}

.rbh-menu .et_pb_menu_inner_container,
.rbh-menu .et_pb_menu__wrap{
    width:100%;
}

.rbh-menu .et_pb_menu__wrap{
    justify-content:flex-end!important;
}

.rbh-menu .et-menu{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:34px!important;
    margin:0!important;
}

.rbh-menu .et-menu > li{
    margin:0!important;
    padding:0!important;
}

.rbh-menu .et-menu > li > a{
    position:relative;
    padding:0 0 19px!important;
    color:#E6DCC1!important;
    font-family:"Barlow",system-ui,sans-serif!important;
    font-size:15px!important;
    line-height:1!important;
    letter-spacing:2.1px!important;
    text-transform:uppercase!important;
    font-weight:400!important;
    opacity:1!important;
    transition:color .2s ease;
}

.rbh-menu .et-menu > li > a:hover,
.rbh-menu .et-menu > li.current-menu-item > a,
.rbh-menu .et-menu > li.current-menu-ancestor > a{
    color:#D8AA57!important;
}

/*
 * Top-level gold underline.
 * IMPORTANT: Divi uses ::after for the dropdown chevron, so the underline
 * must use ::before. Using ::after is what pushed the active About line
 * above the label in the previous build.
 */
.rbh-menu .et-menu > li > a::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:5px;
    height:1px;
    background:#D8AA57;
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform .30s ease;
    pointer-events:none;
}

.rbh-menu .et-menu > li:hover > a::before,
.rbh-menu .et-menu > li.current-menu-item > a::before,
.rbh-menu .et-menu > li.current-menu-ancestor > a::before{
    transform:scaleX(1);
}

.rbh-menu .et-menu > li.menu-item-has-children > a:first-child:after{
    color:#D8AA57!important;
    font-size:11px!important;
    top:-2px!important;
    right:-15px!important;
}

.rbh-menu .sub-menu{
    width:340px!important;
    min-width:340px!important;
    padding:10px 0!important;
    background:#0D2037!important;
    border:1px solid rgba(216,170,87,.22)!important;
    box-shadow:0 22px 48px rgba(0,0,0,.36)!important;
}

.rbh-menu .sub-menu li{
    width:100%!important;
    padding:0!important;
}

.rbh-menu .sub-menu a{
    width:100%!important;
    padding:11px 24px!important;
    color:#E6DCC1!important;
    font-family:"Barlow",system-ui,sans-serif!important;
    font-size:12px!important;
    line-height:1.35!important;
    letter-spacing:1.3px!important;
    text-transform:uppercase!important;
    font-weight:400!important;
    white-space:nowrap;
    transition:color .25s ease, background-color .25s ease, padding-left .25s ease!important;
}

.rbh-menu .sub-menu a:hover{
    color:#D8AA57!important;
    background:rgba(216,170,87,.06)!important;
    padding-left:28px!important;
}

.rbh-cta-stack{
    width:270px!important;
    max-width:270px!important;
    margin-left:auto!important;
}

.rbh-header-button,
.rbh-header-button .et_pb_button_module_wrapper{
    width:100%;
}

.rbh-header-button .et_pb_button{
    width:100%!important;
    height:55px!important;
    min-height:55px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 18px!important;
    background:#D8AA57!important;
    border:0!important;
    border-radius:0!important;
    color:#0A1A2F!important;
    font-family:"Barlow",system-ui,sans-serif!important;
    font-size:13px!important;
    line-height:1!important;
    letter-spacing:2.2px!important;
    text-transform:uppercase!important;
    font-weight:400!important;
    white-space:nowrap;
}

.rbh-header-button .et_pb_button:hover{
    background:#CF9F55!important;
    color:#0A1A2F!important;
}

.rbh-header-button .et_pb_button:after{
    display:none!important;
}

.rbh-cta-divider{
    width:100%;
    margin:0!important;
}

.rbh-cta-divider:before,
.rbh-cta-divider .et_pb_divider_internal{
    border-top-color:#D8AA57!important;
}

@media (min-width:981px) and (max-width:1500px){
    .rbh-menu .et-menu{
        gap:31px!important;
    }

    .rbh-menu .et-menu > li > a{
        font-size:13px!important;
        letter-spacing:1.6px!important;
    }

    .rbh-header-button .et_pb_button{
        font-size:12px!important;
        letter-spacing:1.8px!important;
    }
}

@media (min-width:981px) and (max-width:1220px){
    .rbh-menu .et-menu{
        gap:20px!important;
    }

    .rbh-menu .et-menu > li > a{
        font-size:11.5px!important;
        letter-spacing:1.1px!important;
    }

    .rbh-header-button .et_pb_button{
        font-size:10.5px!important;
        padding:0 14px!important;
    }
}

@media (max-width:980px){
    .rbh-header-row{
        min-height:72px;
    }

    .rbh-cta-column{
        display:none!important;
    }

    .rbh-menu .et_pb_menu__menu{
        display:none!important;
    }

    .rbh-menu .et_mobile_nav_menu{
        display:flex!important;
        justify-content:flex-end!important;
        width:100%;
    }

    .rbh-menu .mobile_menu_bar:before{
        color:#D8AA57!important;
        font-size:30px!important;
    }

    .rbh-menu .et_mobile_menu{
        left:auto!important;
        right:0!important;
        width:min(360px,92vw)!important;
        top:calc(100% + 18px)!important;
        background:#0D2037!important;
        border-top:2px solid #D8AA57!important;
        padding:14px 0!important;
        box-shadow:0 22px 48px rgba(0,0,0,.4)!important;
    }

    .rbh-menu .et_mobile_menu li a{
        padding:11px 22px!important;
        color:#E6DCC1!important;
        font-family:"Barlow",system-ui,sans-serif!important;
        font-size:12px!important;
        letter-spacing:1.2px!important;
        text-transform:uppercase!important;
        font-weight:400!important;
        border:0!important;
    }
}

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


/* Reference proportions at desktop:
   brand ≈ 310px, navigation uses remaining space, CTA ≈ 270px. */
@media (min-width:981px){
    .rbh-header-row{
        width:88%!important;
        max-width:1590px!important;
        margin-left:auto!important;
        margin-right:auto!important;
        flex-wrap:nowrap!important;
        column-gap:34px!important;
    }

    .rbh-header-row > .et_pb_column:nth-child(1){
        flex:0 0 310px!important;
        width:310px!important;
        max-width:310px!important;
        margin-right:0!important;
        min-width:0!important;
    }

    .rbh-header-row > .et_pb_column:nth-child(2){
        flex:1 1 auto!important;
        width:auto!important;
        max-width:none!important;
        margin-right:0!important;
        min-width:0!important;
    }

    .rbh-header-row > .et_pb_column:nth-child(3){
        flex:0 0 270px!important;
        width:270px!important;
        max-width:270px!important;
        margin-right:0!important;
        min-width:270px!important;
    }
}

.rbh-brand-group .et_pb_module,
.rbh-brand-group .et_pb_text,
.rbh-brand-group .et_pb_image{
    margin-top:0!important;
    margin-bottom:0!important;
}

.rbh-brand-group p{
    margin:0!important;
    padding:0!important;
    line-height:1!important;
}

.rbh-header-button,
.rbh-header-button .et_pb_button_module_wrapper,
.rbh-header-button .et_pb_button{
    box-sizing:border-box!important;
    margin:0!important;
}

.rbh-header-button .et_pb_button{
    white-space:nowrap!important;
    overflow:visible!important;
}

.rbh-cta-stack{
    row-gap:6px!important;
}

.rbh-cta-divider{
    height:1px!important;
    min-height:1px!important;
    padding:0!important;
    margin:0!important;
}

@media (min-width:1221px){
    .rbh-header-button .et_pb_button{
        font-size:13px!important;
        letter-spacing:2px!important;
    }
}

@media (min-width:981px) and (max-width:1220px){
    .rbh-header-row{
        width:94%!important;
        column-gap:18px!important;
    }

    .rbh-header-row > .et_pb_column:nth-child(1){
        flex-basis:250px!important;
        width:250px!important;
        max-width:250px!important;
    }

    .rbh-header-row > .et_pb_column:nth-child(3){
        flex-basis:225px!important;
        width:225px!important;
        max-width:225px!important;
        min-width:225px!important;
    }

    .rbh-cta-stack{
        width:225px!important;
        max-width:225px!important;
    }

    .rbh-header-button .et_pb_button{
        font-size:10.5px!important;
        letter-spacing:1.4px!important;
        padding:0 10px!important;
        white-space:nowrap!important;
    }
}
