@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700;800&display=swap');

body,
button,
input,
select,
textarea,
.brisbane-header,
.brisbane-header * {
    font-family: 'Noto Sans', sans-serif;
}
.brisbane-header {
    width: 100%;
    font-family: inherit;
    position: relative;
    z-index: 100;
}

.brisbane-header * {
    box-sizing: border-box;
}

.brisbane-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}

.brisbane-header-upper {
    background: #fff;
}

.brisbane-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 112px;
    border-bottom: 3px solid #f0f1f6;
    gap: 30px;
}

.brisbane-logo img {
    display: block;
    width: auto;
    max-width: 280px;
    max-height: 95px;
    object-fit: contain;
}

.brisbane-header-info {
    display: flex;
    align-items: center;
    gap: 48px;
}

.brisbane-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #31518a;
}

.brisbane-rating strong {
    font-size: 22px;
    font-weight: 900 !important;
    color: #2F4F88!important;
}

.brisbane-stars {
    color: #FFCC00;
    letter-spacing: 2px;
}

.brisbane-reviews {
    font-size: 13px;
    color: #8294b5;
}

.brisbane-phone {
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    color: #31518a;
}

.brisbane-phone-icon,
.brisbane-mobile-call {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background: #f1f3f9;
    border-radius: 50%;
    font-size: 25px;
}

.brisbane-phone-details {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.brisbane-phone-details strong {
    font-size: 18px;
}

.brisbane-top-navigation {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-height: 82px;
}

.brisbane-header .menu {
    display: flex;
    align-items: center;
    gap: 40px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.brisbane-header .menu a {
    text-decoration: none;
    font-weight: 600;
}

.brisbane-top-navigation .menu a {
    color: #31518a;
}

.brisbane-main-navigation {
    background: #31518a;
}

.brisbane-main-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 100px;
    gap: 24px;
}

.brisbane-main-navigation .menu a {
    color: #fff;
}

.brisbane-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    padding: 12px 13px 12px 28px;
    background: #ff9015;
    color: #fff;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
}

.brisbane-cta span {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ffa73c;
    font-size: 22px;
}

.brisbane-mobile-actions,
.brisbane-mobile-panel {
    display: none;
}
.brisbane-reviews {
    font-size: 14px;
    color: #8294b5;
}
.brisbane-phone {
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    color: #2F4F88;
}
.brisbane-phone-details strong {
    font-size: 18px;
    color: #2F4F88!important;
    font-weight: 800;
}
.brisbane-phone-details {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

/* BRISBANE HEADER — DESKTOP LAYOUT FIX */

@media (min-width: 1025px) {

    .brisbane-header-upper {
        background: #ffffff;
    }

    .brisbane-header-upper > .brisbane-container {
        display: grid;
        grid-template-columns: 330px minmax(0, 1fr);
        grid-template-rows: 112px 84px;
        column-gap: 35px;
        position: relative;
    }

    /* First row: logo + rating + phone */
    .brisbane-header-top {
        display: contents;
    }

    /* Logo vertically centered across both rows */
    .brisbane-logo {
        grid-column: 1;
        grid-row: 1 / 3;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        align-self: stretch;
        width: 100%;
        text-decoration: none;
    }

    .brisbane-logo img {
        display: block;
        width: 100%;
        max-width: 280px;
        max-height: 125px;
        height: auto;
        object-fit: contain;
        object-position: left center;
    }

    /* Rating and phone in first row */
    .brisbane-header-info {
        grid-column: 2;
        grid-row: 1;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 48px;
        border-bottom: 3px solid #f0f1f6;
        min-width: 0;
    }

    .brisbane-rating {
        display: flex;
        align-items: center;
        gap: 8px;
        white-space: nowrap;
    }

    .brisbane-phone {
        display: flex;
        align-items: center;
        gap: 15px;
        flex-shrink: 0;
    }

    .brisbane-phone-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        flex-shrink: 0;
    }

    .brisbane-phone-icon img {
        display: block;
        width: 47px;
        height: 47px;
        object-fit: contain;
    }

    /* Second row: top navigation */
    .brisbane-top-navigation {
        grid-column: 2;
        grid-row: 2;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        min-height: 0;
    }

    .brisbane-top-navigation .menu {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 48px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .brisbane-top-navigation .menu a {
        color: #31518a;
        font-weight: 700;
        font-size: 16px;
        text-decoration: none;
    }

    .brisbane-mobile-actions {
        display: none;
    }
}

/* Tablet adjustments */
@media (min-width: 1025px) and (max-width: 1199px) {

    .brisbane-header-upper > .brisbane-container {
        grid-template-columns: 250px minmax(0, 1fr);
        column-gap: 20px;
    }

    .brisbane-logo img {
        max-width: 235px;
    }

    .brisbane-header-info {
        gap: 20px;
    }

    .brisbane-top-navigation .menu {
        gap: 25px;
    }

    .brisbane-reviews {
        font-size: 12px;
    }
.brisbane-top-navigation .menu a {
    color: #31518a;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
}
}

/* Mobile: original responsive header remains */
@media (max-width: 1024px) {

    .brisbane-header-top {
        display: flex;
    }

    .brisbane-logo {
        display: flex;
        align-items: center;
    }

    .brisbane-logo img {
        height: auto;
        object-fit: contain;
    }
}

@media (max-width: 1024px) {
    .brisbane-header-info,
    .brisbane-top-navigation,
    .brisbane-main-navigation {
        display: none;
    }

    .brisbane-header-top {
        min-height: 78px;
        border-bottom: 0;
    }

    .brisbane-logo img {
        max-width: 190px;
        max-height: 65px;
    }

    .brisbane-mobile-actions {
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .brisbane-mobile-call {
        width: 42px;
        height: 42px;
        font-size: 21px;
        text-decoration: none;
        color: #31518a;
    }

    .brisbane-menu-toggle {
        width: 42px;
        height: 42px;
        padding: 9px;
        background: #31518a;
        border: 0;
        border-radius: 6px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        cursor: pointer;
    }

    .brisbane-menu-toggle span {
        display: block;
        width: 100%;
        height: 2px;
        background: #fff;
    }

    .brisbane-mobile-panel:not([hidden]) {
        display: block;
        background: #fff;
        padding: 20px;
        border-top: 1px solid #eee;
        box-shadow: 0 10px 20px rgba(0,0,0,.08);
    }

    .brisbane-mobile-panel .menu {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .brisbane-mobile-panel .menu li {
        border-bottom: 1px solid #eee;
    }

    .brisbane-mobile-panel .menu a {
        display: block;
        padding: 14px 0;
        color: #31518a;
    }

    .brisbane-mobile-panel .brisbane-cta {
        margin-top: 20px;
        color: #fff;
    }
}
.brisbane-logo img {
    display: block;
    width: 100%;
    max-width: 280px;
    max-height: 119px;
    height: 87px;
    object-fit: contain;
    object-position: left center;
}
@media (max-width: 480px) {
    .brisbane-container {
        padding: 0 15px;
    }

    .brisbane-logo img {
        max-width: 160px;
    }

    .brisbane-mobile-actions {
        gap: 8px;
    }
}
