/* ==========================================================================
   GrowSTRONG - UI audit fixes
   Loaded LAST in layouts/front-end/app.blade.php so it safely overrides the
   theme (theme.min.css / style.css) without editing those large files.
   Audit items covered: 01, 02, 03, 04, 06, 07, 08, 09, 13, 16, 21
   ========================================================================== */

:root {
    --gs-green: #1b6e1b;
    --gs-green-dark: #14541a;
    --gs-green-soft: #eef6ee;
    --gs-text: #2b3a2b;
    --gs-muted: #6b7a6b;
    --gs-border: #dfe8df;
    --gs-radius: 10px;
}

/* --------------------------------------------------------------------------
   01 / 02  Carousel arrows + "peek" behaviour
   -------------------------------------------------------------------------- */

/* Arrows: vertically centred on the carousel, never "too high" */
.__inline-61 .owl-carousel .owl-nav {
    top: 50% !important;
    left: 0 !important;
    width: 100% !important;
    height: 0 !important;
    display: flex;
    justify-content: space-between;
    pointer-events: none;           /* the empty bar must not block clicks */
    z-index: 5 !important;
}
.__inline-61 .owl-carousel .owl-nav button {
    pointer-events: auto;
    margin-top: -15px !important;   /* half of the 30px button => true centre */
    width: 30px;
    height: 30px;
    line-height: 30px;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50% !important;
    background: #f1f7fe !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .15);
}
.__inline-61 .owl-carousel .owl-nav button.disabled {
    opacity: .35;
    cursor: default;
}

/* Featured products: only the visible window is shown.
   - stage is clipped (it used to be overflow:visible)
   - the ":not(:hover) .owl-item:not(.active){opacity:0}" trick that made hidden
     products appear when the mouse came near the arrows is neutralised          */
.feature-product {
    position: relative;
    overflow: hidden;
}
#featured_products_list .owl-stage-outer,
.feature-product .owl-stage-outer {
    overflow: hidden !important;
    padding: 4px 2px 10px;          /* room for card shadows inside the clip */
}
.feature-product .owl-item:not(.active),
.feature-product:not(:hover) .owl-item:not(.active) {
    opacity: 1;                      /* no hover-dependent reveal any more */
    pointer-events: none;            /* off-screen cards cannot be hovered/clicked */
}
/* arrows sit in the side gutters of the feature box, vertically centred */
.__inline-61 .feature-product .owl-nav {
    position: absolute;
    left: -44px !important;
    width: calc(100% + 88px) !important;
    z-index: 5 !important;
}

/* --------------------------------------------------------------------------
   03  Categories dropdown: closed by default, opens/closes on click
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
    /* the theme forced the homepage menu open with display:block !important */
    .mega-nav > .nav-item > .dropdown-menu.__cat-menu {
        display: none !important;
        visibility: visible;
        opacity: 1;
        right: auto;
        left: 0;
        margin: 6px 0 0 !important;
        min-width: 270px !important;
        max-height: 70vh;
        overflow-y: auto;
        border: 1px solid var(--gs-border) !important;
        border-radius: 8px;
        box-shadow: 0 10px 28px rgba(0, 0, 0, .14);
        animation: none !important;
        z-index: 1050;
    }
    .mega-nav > .nav-item > .dropdown-menu.__cat-menu.show {
        display: block !important;
    }
    /* hover must NOT force it open any more (click only) */
    .mega-nav > .nav-item:hover > .dropdown-menu.__cat-menu:not(.show) {
        display: none !important;
    }
}
.mega-nav .nav-link.dropdown-toggle {
    cursor: pointer;
}

/* Home slider no longer needs a reserved column for a permanently-open menu */
.__top-slider-cate {
    display: none !important;
}

/* --------------------------------------------------------------------------
   04  Header / top bar alignment (desktop, tablet, mobile)
   -------------------------------------------------------------------------- */
.topbar > .container {
    display: flex;
    align-items: center;
    justify-content: space-between;     /* phone = left corner, language = right corner */
    gap: 12px;
}
.topbar .topbar-link {
    white-space: nowrap;
}
.topbar .topbar-text,
.topbar .__language-bar {
    margin: 0 !important;
}

/* Main header row: logo | search | tools */
.navbar-sticky .navbar-expand-md.navbar-light > .container {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.gs-header-search {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 560px;
    margin: 0 auto !important;
    position: relative;
}
.gs-header-search .search_form {
    position: relative;
    width: 100%;
    display: flex;
}
.gs-header-search .search-bar-input {
    width: 100%;
    height: 42px;
    padding: 8px 52px 8px 14px;
    border: 1px solid #cfd8cf;
    border-radius: 8px;
    font-size: 15px;
    transition: border-color .2s, box-shadow .2s;
}
.gs-header-search .search-bar-input:focus {
    border-color: var(--gs-green);
    box-shadow: 0 0 0 3px rgba(27, 110, 27, .12);
    outline: 0;
}
.gs-header-search .search_button {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 46px;
    padding: 0;
    border: 0;
    border-radius: 0 8px 8px 0;
    background-color: #00c20a;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.gs-header-search .search_button .input-group-text {
    background: transparent;
    border: 0;
    padding: 0;
}
.gs-header-search .search-card {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 1060;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
    display: none;
}

/* Tablet 768-991px: compact, evenly spaced, nothing wraps */
@media (min-width: 768px) and (max-width: 991.98px) {
    .navbar-sticky .navbar-expand-md.navbar-light > .container {
        gap: 10px;
    }
    .navbar-brand img.__inline-11 {
        height: 34px !important;
    }
    .gs-header-search {
        max-width: none;
    }
    .navbar-toolbar .navbar-tool-text {
        display: none !important;        /* icons only; saves ~110px */
    }
    .topbar {
        font-size: .8rem;
    }
}

/* Mobile < 768px: row 1 = menu | logo | tools, row 2 = full-width search */
@media (max-width: 767.98px) {
    .navbar-sticky .navbar-expand-md.navbar-light > .container {
        flex-wrap: wrap;
        row-gap: 8px;
    }
    .gs-header-search {
        order: 5;
        flex: 1 1 100%;
        max-width: 100%;
        margin: 0 !important;
    }
    .navbar-toolbar .navbar-tool-text {
        display: none !important;
    }
}

/* --------------------------------------------------------------------------
   06  Language selector
   -------------------------------------------------------------------------- */
.gs-lang .gs-lang-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}
.gs-lang .gs-flag {
    width: 20px;
    height: 14px;
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .12);
}
.gs-lang .dropdown-menu {
    min-width: 190px !important;
    width: auto !important;
    max-height: 340px;
    overflow-y: auto;
    padding: 6px 0;
}
.gs-lang .dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    padding: 6px 14px;
    cursor: pointer;
}
.gs-lang .dropdown-item.active,
.gs-lang .dropdown-item:active {
    background: var(--gs-green-soft);
    color: var(--gs-green-dark);
    font-weight: 600;
}
/* hide the Google Translate chrome; the site uses its own selector */
.goog-te-banner-frame.skiptranslate,
.skiptranslate iframe.goog-te-banner-frame,
#goog-gt-tt,
.goog-tooltip,
.goog-te-balloon-frame {
    display: none !important;
}
body {
    top: 0 !important;
}
#google_translate_element {
    display: none;
}
.goog-text-highlight {
    background: none !important;
    box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   07 / 08  Footer
   -------------------------------------------------------------------------- */
.gs-footer {
    background: #1f3a24;
    color: #d9e6da;
    margin-top: 40px;
}
.gs-footer a {
    color: #d9e6da;
    text-decoration: none;
    transition: color .15s;
}
.gs-footer a:hover {
    color: #fff;
    text-decoration: underline;
}
.gs-footer-main {
    padding: 46px 0 24px;
}
.gs-footer h6.gs-foot-title {
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: .6px;
    text-transform: uppercase;
    margin: 0 0 14px;
    padding-bottom: 8px;
    position: relative;
}
.gs-footer h6.gs-foot-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 34px;
    height: 2px;
    background: #6ccf6c;
}
.gs-footer ul.gs-links {
    list-style: none;
    margin: 0;
    padding: 0;
}
.gs-footer ul.gs-links li {
    margin-bottom: 9px;
    font-size: 14px;
}
.gs-footer .gs-brand img {
    max-height: 56px;
    width: auto;
    background: #fff;
    border-radius: 6px;
    padding: 4px 8px;
}
.gs-footer .gs-about {
    font-size: 14px;
    line-height: 1.6;
    margin: 14px 0;
    color: #c4d6c6;
}
.gs-footer .gs-contact-line {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 14px;
    margin-bottom: 10px;
    line-height: 1.5;
}
.gs-footer .gs-contact-line i {
    width: 18px;
    text-align: center;
    margin-top: 3px;
    color: #6ccf6c;
}
.gs-footer .gs-social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}
.gs-footer .gs-social a.social-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    color: #fff;
    text-decoration: none;
    transition: background .2s, transform .2s;
}
.gs-footer .gs-social a.social-btn:hover {
    background: #3f9a3f;
    transform: translateY(-2px);
}
.gs-footer .gs-apps {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}
.gs-footer .gs-apps img {
    height: 38px;
    width: auto;
}
.gs-footer .gs-map {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    margin-top: 10px;
    background: #2a4a30;
}
.gs-footer .gs-map iframe {
    display: block;
    width: 100%;
    height: 170px;
    border: 0;
}
.gs-footer .gs-news-form {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}
.gs-footer .gs-news-form input[type=email] {
    flex: 1 1 auto;
    min-width: 0;
    height: 42px;
    border: 0;
    border-radius: 6px;
    padding: 0 12px;
    font-size: 14px;
}
.gs-footer .gs-news-form button {
    height: 42px;
    border: 0;
    border-radius: 6px;
    padding: 0 16px;
    background: #3fb23f;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}
.gs-footer .gs-news-form button:hover {
    background: #2f9a2f;
}
.gs-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .14);
    padding: 16px 0;
    font-size: 13px;
}
.gs-footer-bottom .container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    align-items: center;
    justify-content: space-between;
}
.gs-footer-bottom .gs-legal a {
    margin-left: 18px;
}
@media (max-width: 767.98px) {
    .gs-footer-main {
        padding-top: 32px;
    }
    .gs-footer-bottom .container {
        flex-direction: column;
        text-align: center;
    }
    .gs-footer-bottom .gs-legal a {
        margin: 0 9px;
    }
}

/* Newsletter pop-up */
.gs-news-pop {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(10, 25, 12, .55);
    padding: 16px;
}
.gs-news-pop.open {
    display: flex;
    animation: gsFade .25s ease;
}
.gs-news-box {
    position: relative;
    width: 100%;
    max-width: 460px;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
}
.gs-news-head {
    background: linear-gradient(135deg, #1b6e1b, #3fa63f);
    color: #fff;
    padding: 26px 26px 20px;
}
.gs-news-head h4 {
    margin: 0 0 6px;
    font-weight: 700;
    color: #fff;
}
.gs-news-head p {
    margin: 0;
    opacity: .92;
    font-size: 14px;
}
.gs-news-body {
    padding: 22px 26px 26px;
}
.gs-news-body input[type=email] {
    width: 100%;
    height: 46px;
    border: 1px solid #cfd8cf;
    border-radius: 8px;
    padding: 0 14px;
    margin-bottom: 12px;
}
.gs-news-body input[type=email]:focus {
    border-color: var(--gs-green);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(27, 110, 27, .12);
}
.gs-news-body .gs-news-submit {
    width: 100%;
    height: 46px;
    border: 0;
    border-radius: 8px;
    background: var(--gs-green);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}
.gs-news-body .gs-news-submit:hover {
    background: var(--gs-green-dark);
}
.gs-news-body .gs-news-later {
    display: block;
    text-align: center;
    margin-top: 12px;
    font-size: 13px;
    color: var(--gs-muted);
    cursor: pointer;
    background: none;
    border: 0;
    width: 100%;
}
.gs-news-close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 0;
    background: rgba(255, 255, 255, .22);
    color: #fff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}
@keyframes gsFade {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: none; }
}

/* --------------------------------------------------------------------------
   09  Product listing: category chips + filter toolbar + drawer
   -------------------------------------------------------------------------- */
.gs-cat-chips {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 2px 12px;
    scrollbar-width: thin;
}
.gs-cat-chips a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1px solid var(--gs-border);
    border-radius: 999px;
    background: #fff;
    color: var(--gs-text);
    font-size: 14px;
    white-space: nowrap;
    text-decoration: none !important;
    transition: all .15s;
}
.gs-cat-chips a img {
    width: 22px;
    height: 22px;
    object-fit: cover;
    border-radius: 50%;
}
.gs-cat-chips a:hover {
    border-color: var(--gs-green);
    color: var(--gs-green);
}
.gs-cat-chips a.active {
    background: var(--gs-green);
    border-color: var(--gs-green);
    color: #fff;
}
.gs-subcats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
}
.gs-subcats a {
    padding: 4px 12px;
    font-size: 13px;
    border-radius: 6px;
    background: var(--gs-green-soft);
    color: var(--gs-green-dark);
    text-decoration: none !important;
}
.gs-subcats a.active,
.gs-subcats a:hover {
    background: var(--gs-green);
    color: #fff;
}
.gs-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 14px;
    border: 1px solid var(--gs-border);
    border-radius: var(--gs-radius);
    background: #fff;
    margin-bottom: 16px;
}
.gs-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 18px;
    border: 0;
    border-radius: 8px;
    background: var(--gs-green);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}
.gs-filter-btn:hover {
    background: var(--gs-green-dark);
}
.gs-filter-btn .gs-badge {
    background: #fff;
    color: var(--gs-green-dark);
    border-radius: 999px;
    font-size: 12px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    line-height: 20px;
    text-align: center;
}
.gs-toolbar .gs-count {
    font-size: 15px;
    color: var(--gs-text);
    margin: 0;
    font-weight: 600;
}
.gs-toolbar select {
    height: 40px;
    border: 1px solid var(--gs-border);
    border-radius: 8px;
    padding: 0 10px;
    background: #fff;
}
.gs-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -4px 0 14px;
}
.gs-active-filters .gs-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--gs-green-soft);
    border: 1px solid var(--gs-border);
    color: var(--gs-green-dark);
    border-radius: 999px;
    padding: 3px 6px 3px 12px;
    font-size: 13px;
}
.gs-active-filters .gs-pill a {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    color: #b00;
    text-align: center;
    line-height: 17px;
    text-decoration: none !important;
}
.gs-drawer-mask {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .45);
    z-index: 1990;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s;
}
.gs-drawer-mask.open {
    opacity: 1;
    visibility: visible;
}
.gs-drawer {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 360px;
    max-width: 92vw;
    background: #fff;
    z-index: 2000;
    transform: translateX(-102%);
    transition: transform .28s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 8px 0 30px rgba(0, 0, 0, .2);
}
.gs-drawer.open {
    transform: none;
}
.gs-drawer-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--gs-border);
}
.gs-drawer-head h5 {
    margin: 0;
    font-weight: 700;
}
.gs-drawer-head button {
    border: 0;
    background: none;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}
.gs-drawer-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 6px 20px 20px;
}
.gs-drawer-foot {
    display: flex;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid var(--gs-border);
}
.gs-drawer-foot .btn {
    flex: 1 1 0;
}
.gs-fgroup {
    padding: 16px 0;
    border-bottom: 1px solid var(--gs-border);
}
.gs-fgroup:last-child {
    border-bottom: 0;
}
.gs-fgroup h6 {
    font-weight: 700;
    font-size: 14px;
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: .4px;
}
.gs-price-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.gs-price-row input {
    width: 100%;
    height: 40px;
    border: 1px solid var(--gs-border);
    border-radius: 8px;
    padding: 0 10px;
}
.gs-check {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 0;
    cursor: pointer;
    font-size: 14px;
}
.gs-check input {
    margin-right: 8px;
}
.gs-check .gs-count-badge {
    font-size: 12px;
    color: var(--gs-muted);
}
.gs-cat-tree a {
    display: block;
    padding: 6px 0;
    color: var(--gs-text);
    font-size: 14px;
}
.gs-cat-tree a.active {
    color: var(--gs-green);
    font-weight: 700;
}
.gs-cat-tree .gs-sub {
    padding-left: 14px;
    border-left: 2px solid var(--gs-border);
    margin-left: 4px;
}
body.gs-lock {
    overflow: hidden;
}

/* --------------------------------------------------------------------------
   13  Brands page
   -------------------------------------------------------------------------- */
.gs-brands-hero {
    background: linear-gradient(135deg, #14541a 0%, #2e8b3a 100%);
    color: #fff;
    border-radius: 14px;
    padding: 34px 28px;
    margin-bottom: 28px;
}
.gs-brands-hero h1 {
    color: #fff;
    font-size: 30px;
    margin: 0 0 6px;
    font-weight: 700;
}
.gs-brands-hero p {
    margin: 0;
    opacity: .92;
    max-width: 640px;
}
.gs-brand-card {
    background: #fff;
    border: 1px solid var(--gs-border);
    border-radius: 14px;
    margin-bottom: 30px;
    overflow: hidden;
    box-shadow: 0 2px 14px rgba(0, 0, 0, .04);
}
.gs-brand-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    padding: 18px 22px;
    background: var(--gs-green-soft);
    border-bottom: 1px solid var(--gs-border);
}
.gs-brand-top .gs-brand-logo {
    width: 84px;
    height: 84px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid var(--gs-border);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}
.gs-brand-top .gs-brand-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.gs-brand-top h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
}
.gs-brand-top .gs-brand-meta {
    color: var(--gs-muted);
    font-size: 14px;
}
.gs-brand-top .btn {
    margin-left: auto;
}
.gs-brand-products {
    padding: 20px 14px 6px;
}
.gs-brand-empty {
    padding: 22px;
    color: var(--gs-muted);
}

/* --------------------------------------------------------------------------
   16 / 21  Sign-in & Sign-up pages
   -------------------------------------------------------------------------- */
.gs-auth {
    --auth-photo: url("../img/auth-bg.jpg");   /* optional: drop a photo here */
    min-height: 620px;
    padding: 46px 0;
    background:
        linear-gradient(135deg, rgba(14, 70, 24, .93), rgba(40, 130, 52, .86)),
        var(--auth-photo),
        #14541a;
    background-size: cover;
    background-position: center;
    position: relative;
}
.gs-auth::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .12;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath d='M60 12c20 10 30 30 24 52-18-2-34-14-38-34 2-8 6-14 14-18z' fill='%23ffffff'/%3E%3Cpath d='M20 84c14 4 22 14 22 28-14-2-22-12-22-28z' fill='%23ffffff'/%3E%3C/svg%3E");
    background-size: 120px 120px;
}
.gs-auth .gs-auth-wrap {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .3);
    display: flex;
}
.gs-auth .gs-auth-side {
    flex: 0 0 38%;
    background: linear-gradient(160deg, #16601f, #2f8f3b);
    color: #fff;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.gs-auth .gs-auth-side img.gs-auth-logo {
    max-height: 60px;
    width: auto;
    background: #fff;
    padding: 6px 10px;
    border-radius: 8px;
    align-self: flex-start;
    margin-bottom: 22px;
}
.gs-auth .gs-auth-side h2 {
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 10px;
}
.gs-auth .gs-auth-side p {
    opacity: .92;
    font-size: 14px;
}
.gs-auth .gs-auth-side ul {
    list-style: none;
    padding: 0;
    margin: 18px 0 0;
}
.gs-auth .gs-auth-side li {
    margin-bottom: 10px;
    font-size: 14px;
    display: flex;
    gap: 10px;
    align-items: center;
}
.gs-auth .gs-auth-side li i {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}
.gs-auth .gs-auth-form {
    flex: 1 1 auto;
    padding: 38px 40px;
}
.gs-auth .gs-auth-form h3 {
    font-weight: 700;
    margin-bottom: 4px;
}
.gs-auth .gs-auth-form .gs-sub {
    color: var(--gs-muted);
    margin-bottom: 22px;
    font-size: 14px;
}
.gs-auth .form-control {
    height: 46px;
    border-radius: 8px;
    border: 1px solid #cfd8cf;
}
.gs-auth .form-control:focus {
    border-color: var(--gs-green);
    box-shadow: 0 0 0 3px rgba(27, 110, 27, .12);
}
.gs-auth label {
    font-weight: 600;
    font-size: 13px;
    color: var(--gs-text);
    margin-bottom: 5px;
}
.gs-auth .btn--primary {
    height: 46px;
    border-radius: 8px;
    font-weight: 700;
    letter-spacing: .3px;
}
.gs-auth .gs-field-error,
.gs-auth .invalid-feedback.gs-js {
    display: none;
    color: #c0392b;
    font-size: 12.5px;
    margin-top: 4px;
}
.gs-auth .is-invalid ~ .gs-field-error,
.gs-auth .gs-invalid .gs-field-error {
    display: block;
}
.gs-auth .form-control.is-invalid {
    border-color: #c0392b;
    background-image: none;
}
.gs-auth .form-control.is-valid {
    border-color: #2e9b3e;
    background-image: none;
}
.gs-phone {
    display: flex;
}
.gs-phone .gs-cc {
    position: relative;
    flex: 0 0 auto;
}
.gs-phone .gs-cc select {
    height: 46px;
    border: 1px solid #cfd8cf;
    border-right: 0;
    border-radius: 8px 0 0 8px;
    background: #f6faf6;
    padding: 0 8px;
    max-width: 140px;
    font-size: 14px;
}
.gs-phone input.form-control {
    border-radius: 0 8px 8px 0;
}
.gs-captcha-row img {
    height: 42px;
}
@media (max-width: 767.98px) {
    .gs-auth {
        padding: 18px 0;
    }
    .gs-auth .gs-auth-wrap {
        flex-direction: column;
        margin: 0 12px;
    }
    .gs-auth .gs-auth-side {
        flex: none;
        padding: 24px;
    }
    .gs-auth .gs-auth-side ul {
        display: none;
    }
    .gs-auth .gs-auth-form {
        padding: 26px 20px;
    }
}

/* --------------------------------------------------------------------------
   Home banner: full width (no empty strip on the right) and fully visible
   without scrolling. style.css reserved 254px for the old always-open
   categories menu: width:calc(100% - 254px) at >=1200px.
   -------------------------------------------------------------------------- */
.__top-slider-images {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}
@media (min-width: 768px) {
    /* header + menu take ~320px; the banner uses the rest of the screen */
    .__top-slider-images .__slide-img {
        height: clamp(240px, calc(100vh - 330px), 520px) !important;
        max-height: none !important;
        width: 100%;
        object-fit: cover;
        object-position: center center !important;
    }
}