:root {
    --header-dark: #223129;
    --header-deep: #17271f;
    --header-paper: #fffdf9;
    --header-cream: #f5f1e8;
    --header-green: #49b947;
    --header-pink: #d23887;
    --header-pink-soft: #f4a0c7;
    --header-line: #d9e1da;
    --header-ink: #18372b;
}

.est-site-header {
    min-height: 64px;
    padding: .55rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,.12);
    background: var(--header-dark);
    box-shadow: 0 8px 24px rgba(15,35,25,.14);
}

.est-header-container {
    min-width: 0;
}

.est-header-brand {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    margin: 0 2.5rem 0 0;
    padding: 0;
}

.est-header-brand img {
    display: block;
    width: 164px;
    height: auto;
}

.est-header-collapse {
    min-width: 0;
}

.est-primary-nav {
    z-index: 5;
    align-items: center;
    gap: .15rem;
    font-size: .82rem;
}

.est-site-header .navbar-nav .nav-link {
    padding: .55rem .68rem;
    border-radius: .28rem;
    color: #e6eee8;
    font-weight: 700;
}

.est-site-header .navbar-nav .nav-link:hover,
.est-site-header .navbar-nav .show > .nav-link,
.est-site-header .navbar-nav .nav-link:focus {
    background: rgba(255,255,255,.08);
    color: #fff;
}

.est-site-header .dropdown-toggle::after {
    margin-left: .35rem;
    vertical-align: .15em;
    color: var(--header-pink-soft);
}

.est-site-header .dropdown-menu {
    margin-top: .55rem;
    padding: .55rem;
    overflow: visible;
    border: 1px solid var(--header-line);
    border-radius: .45rem;
    background: var(--header-paper);
    box-shadow: 0 18px 42px rgba(16,39,27,.16);
}

.est-site-header .dropdown-item {
    padding: .55rem .7rem;
    border-radius: .25rem;
    color: var(--header-ink);
    font-size: .78rem;
}

.est-site-header .dropdown-item:hover,
.est-site-header .dropdown-item:focus {
    background: #f0efeb;
    color: var(--header-ink);
    text-decoration: none;
}

.est-site-header #plants + .dropdown-menu,
.est-site-header #products + .dropdown-menu {
    min-width: 245px;
}

.est-site-header #products + .dropdown-menu {
    min-width: 430px;
    columns: 2;
    column-gap: .45rem;
}

.est-site-header #products + .dropdown-menu .dropdown-item {
    break-inside: avoid;
}

.est-site-header #about + .dropdown-menu {
    min-width: 590px;
    columns: 2;
    column-gap: .45rem;
}

.est-site-header #about + .dropdown-menu .dropdown-item {
    break-inside: avoid;
}

.est-order-item {
    margin-left: .35rem;
}

.est-order-button {
    padding: .55rem .8rem;
    border: 0;
    border-radius: .28rem;
    background: var(--header-pink);
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
    white-space: nowrap;
}

.est-order-button:hover,
.est-order-button:focus {
    background: #b92e74;
    color: #fff;
}

.est-header-tools {
    display: flex;
    align-items: center;
    gap: .4rem;
    flex: 0 0 auto;
    margin-left: .7rem;
}

.est-header-icon,
.est-site-header #cart-menu .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50% !important;
    background: rgba(255,255,255,.06);
    color: #fff;
}

.est-header-icon {
    width: 38px;
    padding: 0 !important;
}

.est-site-header #cart-menu .nav-link {
    width: auto;
    min-width: 38px;
    padding: 0 .7rem !important;
    border-radius: 999px !important;
    white-space: nowrap;
}

.est-header-icon:hover,
.est-site-header #cart-menu .nav-link:hover,
.est-site-header #cart-menu .show > .nav-link {
    border-color: var(--header-pink);
    background: var(--header-pink);
    color: #fff;
    text-decoration: none;
}

.est-site-header #cart-menu .nav-link:not(:has(i)),
.est-site-header #cart-menu .nav-link:not(:has(i)):hover,
.est-site-header #cart-menu .nav-link:not(:has(i)):focus,
.est-site-header #cart-menu .show > .nav-link:not(:has(i)) {
    border-color: #f2b91f;
    background: #f2b91f;
    color: #173526;
}

.est-header-icon i,
.est-site-header #cart-menu i {
    margin: 0;
    line-height: 1;
}

.est-cart-nav {
    margin: 0;
    font-size: .8rem;
}

.est-site-header #cart-menu .dropdown-toggle::after {
    display: none;
}

.est-header-search {
    margin: 0 0 0 .3rem;
}

.est-header-search input {
    width: 168px;
    height: 38px;
    padding: .5rem .75rem;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: .3rem !important;
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: .76rem;
}

.est-header-search input::placeholder {
    color: #c4d0c8;
}

.est-header-search input:focus {
    border-color: var(--header-green) !important;
    background: #fff;
    color: var(--header-ink);
    box-shadow: 0 0 0 3px rgba(73,185,71,.18);
}

.est-header-toggler {
    width: 42px;
    height: 42px;
    padding: .45rem;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
}

.est-mobile-search {
    top: 64px;
    z-index: 5;
    padding: .7rem 1rem;
    border-bottom: 1px solid var(--header-line);
    background: rgba(245,241,232,.97);
    box-shadow: 0 6px 18px rgba(25,50,36,.08);
    backdrop-filter: blur(10px);
}

.est-mobile-search .navbar-form {
    padding: 0;
}

.est-mobile-search input {
    height: 40px;
    border: 1px solid #ccd7ce !important;
    border-right: 0 !important;
    border-radius: .3rem 0 0 .3rem;
    background: #fff;
    color: var(--header-ink);
}

.est-mobile-search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 40px;
    border-radius: 0 .3rem .3rem 0;
    background: var(--header-green);
    color: #fff;
}

.est-mobile-search button:hover {
    background: #2f7d38;
    color: #fff;
}

.est-mobile-search button i {
    margin: 0;
}

.est-site-header #store-name:empty,
.est-site-header #cart-link:empty {
    display: none;
}

@media (max-width: 1199px) {
    .est-header-brand img {
        width: 150px;
    }
}

@media (max-width: 991px) {
    .est-site-header {
        min-height: 64px;
    }

    .est-header-toggler {
        position: absolute;
        right: 0;
        z-index: 4;
        margin: 0;
    }

    .est-header-brand {
        position: absolute;
        left: 50%;
        margin: 0;
        transform: translateX(-50%);
    }

    .est-header-collapse {
        position: absolute;
        top: calc(100% + .55rem);
        right: 0;
        left: 0;
        max-height: calc(100vh - 125px);
        padding: 1rem;
        overflow-y: auto;
        border: 1px solid rgba(255,255,255,.13);
        border-radius: 0 0 .5rem .5rem;
        background: var(--header-deep);
        box-shadow: 0 18px 38px rgba(15,35,25,.24);
    }

    .est-primary-nav {
        align-items: stretch;
        gap: .25rem;
    }

    .est-site-header .navbar-nav .nav-link {
        padding: .7rem .75rem;
    }

    .est-site-header .dropdown-menu,
    .est-site-header #products + .dropdown-menu,
    .est-site-header #about + .dropdown-menu {
        min-width: 0;
        max-height: none;
        margin: .2rem 0 .45rem;
        padding: .3rem;
        columns: 1;
        overflow: visible;
        border: 0;
        border-radius: .25rem;
        background: rgba(255,255,255,.06);
        box-shadow: none;
    }

    .est-site-header .dropdown-item {
        color: #dce7df;
    }

    .est-site-header .dropdown-item:hover,
    .est-site-header .dropdown-item:focus {
        background: rgba(255,255,255,.09);
        color: #fff;
        text-decoration: none;
    }

    .est-order-item {
        margin: .5rem 0 0;
    }

    .est-order-button {
        padding: .7rem .8rem;
    }

    .est-header-tools {
        justify-content: flex-start;
        margin: 1rem 0 0;
        padding-top: 1rem;
        border-top: 1px solid rgba(255,255,255,.12);
    }
}

@media (max-width: 420px) {
    .est-header-brand img {
        width: 138px;
    }
}
