/* ========================
   Mobile header controls: hidden on desktop
======================== */
.mobile-header-controls {
    display: none;
}

@media (min-width: 992px) {
    .nav-cart-desktop {
        display: flex !important;
    }
}

/* ========================
   Laptop ≤ 1199px
======================== */
@media only screen and (max-width: 1199px) {
    .lbh-intro__grid,
    .lbh-area__grid {
        gap: 64px;
    }

    .navbar-wrapper a,
    .nav-item a {
        padding: 12px 10px !important;
        letter-spacing: .12em;
    }
}

/* ========================
   Tablet / Mobile ≤ 991px
======================== */
@media only screen and (max-width: 991px) {

    /* Header becomes a solid bar in the page flow */
    .site-header,
    .site-header--overlay {
        position: relative;
        background: var(--lbh-ink);
        z-index: 100;
    }

    .lbh-topbar {
        grid-template-columns: auto 1fr;
        padding: 12px 0;
    }

    .contactinfo {
        display: none;
    }

    .lbh-brand {
        justify-self: start;
    }

    .lbh-brand img {
        width: 168px;
    }

    .mobile-header-controls {
        display: flex;
        align-items: center;
        gap: 14px;
    }

    .mobile-nav-toggle {
        padding: 9px 10px;
        line-height: 0;
        color: var(--lbh-ivory);
        background: transparent;
        border: 1px solid var(--lbh-gold-line);
        border-radius: 999px;
        cursor: pointer;
        transition: background .25s ease, color .25s ease;
    }

    .mobile-nav-toggle:hover,
    .mobile-nav-toggle:focus-visible,
    .mobile-nav-toggle[aria-expanded="true"] {
        background: var(--lbh-gold);
        color: var(--lbh-ink);
    }

    .mobile-cart-link {
        display: inline-flex;
        align-items: center;
        padding: 6px;
        text-decoration: none;
    }

    .mobile-cart-link .cart-svg-icon {
        width: 26px;
        height: 26px;
        color: var(--lbh-ivory);
    }

    .mobile-cart-link .cart-count {
        top: -2px;
        right: -6px;
    }

    .site-nav {
        padding: 0 !important;
    }

    /* Menu panel drops below the header */
    #navbarNavDropdown {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 999;
        padding: 8px 0 22px;
        background: var(--lbh-ink);
        border-top: 1px solid rgba(205, 178, 122, .2);
        border-radius: 0 0 24px 24px;
        box-shadow: 0 26px 50px rgba(20, 18, 16, .4);
    }

    .navbar-wrapper .dropdown {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .navbar-wrapper .dropdown li,
    .navbar-wrapper .dropdown li:last-child {
        width: 100%;
        margin-right: 0;
        padding: 0 !important;
    }

    .floatnav-pill-inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        width: 100% !important;
        gap: 0 !important;
        padding: 0 22px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .site-header .navbar-wrapper a,
    .site-header .nav-item a {
        padding: 15px 4px !important;
        font-size: 14px;
        color: rgba(247, 242, 234, .92) !important;
        border-bottom: 1px solid rgba(205, 178, 122, .14) !important;
    }

    .navbar-wrapper .dropdown > li > a::before {
        display: none;
    }

    .site-header .navbar-wrapper a:hover,
    .site-header .nav-item a:hover,
    .site-header .navbar-wrapper a.active {
        color: var(--lbh-gold) !important;
    }

    .nav-cart-desktop {
        display: none !important;
    }

    /* Submenus: accordion (toggled by local.js) */
    .navbar-wrapper ul li > ul {
        position: static !important;
        display: none !important;
        min-width: 0;
        margin: 4px 0 8px !important;
        padding: 4px 0 !important;
        background: rgba(247, 242, 234, .05);
        border-top: 0 !important;
        border-radius: 12px;
        box-shadow: none !important;
    }

    .navbar-wrapper ul li > ul::before {
        display: none;
    }

    .navbar-wrapper ul li.is-open > ul {
        display: block !important;
    }

    .navbar-wrapper ul li > ul a {
        padding: 11px 18px !important;
        font-size: 13px;
        color: rgba(247, 242, 234, .75) !important;
        border-bottom: 1px solid rgba(247, 242, 234, .06) !important;
    }

    .navbar-wrapper ul li > ul a:hover {
        background: transparent;
        color: var(--lbh-gold) !important;
    }

    .navbar-wrapper ul > li.is-open:has(> ul) > a::after {
        content: " ▴" !important;
    }

    .navbar-nav {
        margin-top: 0;
        padding-top: 0;
    }

    /* Hero */
    .welcomewrap,
    .hero-slide {
        min-height: 680px;
    }

    .welcomehero-inner {
        min-height: 680px;
        padding-top: 80px !important;
    }

    /* Sections */
    .lbh-intro,
    .lbh-collections,
    .letushelpyouwrap,
    .lbh-colors,
    .featuredproductswrap,
    .lbh-area,
    .operationhourswrap,
    .testinobualwrap {
        padding-top: 96px;
        padding-bottom: 96px;
    }

    .lbh-cta {
        padding: 110px 0;
    }

    .lbh-intro__grid,
    .lbh-area__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 64px;
    }

    .lbh-intro__media {
        width: 100%;
        max-width: 540px;
        margin: 0 auto;
    }

    .lbh-area__pic {
        max-width: 400px;
        width: calc(100% - 28px);
    }

    .lbh-collections__grid {
        gap: 28px;
    }

    .lbh-card h3 {
        font-size: 24px;
    }

    .lbh-card .lbh-link {
        letter-spacing: .12em;
        text-wrap: balance;
    }

    .lbh-colors__grid {
        gap: 18px;
    }

    .lbh-cta__balloons--right {
        width: 320px;
        right: -130px;
    }

    .lbh-cta__balloons--left {
        width: 300px;
        left: -170px;
    }
}

/* ========================
   Small mobile ≤ 767px
======================== */
@media only screen and (max-width: 767px) {

    .toprightcol {
        display: none;
    }

    .lbh-brand img {
        width: 164px;
    }

    .welcomewrap,
    .hero-slide,
    .welcomehero-inner {
        min-height: 600px;
    }

    .welcomehero-inner {
        padding-top: 64px !important;
    }

    .lbh-hero-lead {
        font-size: 17px;
    }

    .lbh-hero-actions {
        flex-direction: column;
        align-items: stretch;
        max-width: 340px;
        margin-left: auto;
        margin-right: auto;
    }

    .lbh-kicker {
        gap: 10px;
        font-size: 11.5px;
        letter-spacing: .24em;
    }

    .lbh-kicker::before,
    .lbh-kicker::after {
        width: 18px;
    }

    .lbh-head {
        margin-bottom: 40px;
    }

    .lbh-lead {
        font-size: 17px;
    }

    .cloudpatternwrap {
        padding-bottom: 80px;
    }

    .prodcatwrap {
        padding-top: 72px;
    }

    .lbh-intro,
    .lbh-collections,
    .letushelpyouwrap,
    .lbh-colors,
    .featuredproductswrap,
    .lbh-area,
    .operationhourswrap,
    .testinobualwrap {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .lbh-intro__lead {
        font-size: 18px;
    }

    .lbh-highlights {
        grid-template-columns: minmax(0, 1fr);
    }

    .lbh-badge {
        width: 104px;
        height: 104px;
    }

    .lbh-collections__grid {
        grid-template-columns: minmax(0, 1fr);
        max-width: 400px;
        margin: 0 auto;
        gap: 56px;
    }

    .lbh-card:nth-child(2) {
        margin-top: 0;
    }

    .letushelpyouwrap::before {
        width: 360px;
    }

    .letushelpyouwrap::after {
        width: 320px;
    }

    .listbtnstyle {
        gap: 10px;
    }

    .listbtnstyle li a {
        padding: 11px 20px;
        font-size: 14px;
    }

    .lbh-colors__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .lbh-swatch a {
        padding: 20px 10px 18px;
        border-radius: 20px;
    }

    .lbh-swatch__art {
        width: 92%;
    }

    .lbh-swatch__name {
        font-size: 19px;
    }

    .lbh-swatch__size {
        font-size: 10.5px;
        letter-spacing: .16em;
    }

    .lbh-area__list li {
        padding: 18px;
    }

    .operationhourscol {
        padding: 18px 26px;
    }

    .operationhourscol ul li {
        display: block;
        padding: 16px 0;
    }

    .daycol {
        font-size: 20px;
    }

    .timecol {
        margin-top: 4px;
        font-size: 13px;
    }

    .testinobualwrap .carousel-caption {
        width: 78%;
    }

    .testinobualwrap .carousel-control-prev-icon,
    .testinobualwrap .carousel-control-next-icon {
        width: 36px;
        height: 36px;
    }

    .lbh-cta {
        padding: 96px 0 110px;
    }

    .lbh-cta__balloons--right {
        width: 230px;
        top: -70px;
        right: -110px;
    }

    .lbh-cta__balloons--left {
        width: 220px;
        bottom: -120px;
        left: -120px;
    }

    .lbh-footer {
        padding-top: 64px;
    }

    .footerlogo img {
        width: 200px;
    }

    .footernav ul {
        gap: 10px 22px;
    }
}
