﻿/*
 * DEVELOPMENT-ONLY SKELETON STYLES
 * --------------------------------
 * These styles exist only to make the page blocks and proportions visible.
 * Replace them with Partsix classes and the final ACC override stylesheet.
 */

:root {
    --green: #075b2b;
    --green-dark: #053e20;
    --green-soft: #eef6f1;
    --dark: #151b17;
    --text: #313a34;
    --muted: #6d766f;
    --border: #e1e5e2;
    --soft: #f6f8f6;
    
    --acc-green: #0b3d22;
    --acc-green-light: #78b82a;
    --acc-dark: #07130d;
    --acc-border: #e5e7e6;
    --acc-muted: #f5f6f5;

    --brands-green: var(--acc-green, #0b5a32);
    --brands-green-light: var(--acc-green-light, #79b82a);
    --brands-dark: var(--acc-dark, #101712);
    --brands-border: #e2e7e3;
    --brands-muted: #69726c;
    --brands-background: #f7f9f7;

    --category-green:#075b2b;
    --category-dark:#063d24;
    --category-soft:#eef6f1;
    --category-border:#e1e5e2;
    --category-text:#171b18;
    --category-muted:#707672
}

body {
    color: #17201a;
    background: #fff;
}

a {
    color: inherit;
    text-decoration: none;
}

.h3,
h3 {
    font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
    .h3,
    h3 {
        font-size: 1.75rem;
    }
}

.section-space {
    padding: 2rem 0;
}

.block-placeholder {
    border: 1px dashed #adb5bd;
    background: #f8f9fa;
}

.media-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px;
    color: #6c757d;
    background: linear-gradient(
            135deg,
            rgba(11, 61, 34, 0.92),
            rgba(4, 18, 11, 0.96)
    );
}

.topbar {
    font-size: 13px;
    color: #fff;
    background: var(--acc-dark);
}

.header-main,
.header-nav {
    background: #fff;
    border-bottom: 1px solid var(--acc-border);
}

.logo-placeholder {
    width: 150px;
    min-height: 55px;
}

/* ==========================================================
   ACC CUSTOMER MENU
   ========================================================== */

.acc-customer-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.acc-customer-menu__item {
    position: relative;
    margin: 0;
}

/* Shared account/cart structure */
.acc-customer-menu__account,
.acc-customer-menu__cart {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 56px;
    padding: 7px 12px;
    color: #161916;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.acc-customer-menu__account:hover,
.acc-customer-menu__account:focus {
    color: var(--acc-green);
    background: rgba(98, 169, 39, 0.07);
}

/* Icons */
.acc-customer-menu__icon-wrapper,
.acc-customer-menu__cart-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 38px;
}

.acc-customer-menu__icon-wrapper svg,
.acc-customer-menu__cart-icon svg {
    display: block;
}

/* Text */

.acc-customer-menu__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 95px;
    line-height: 1.15;
}

.acc-customer-menu__caption {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}
.acc-customer-menu__caption-alt {
    color: #777e79;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}

.acc-customer-menu__title {
    display: block;
    max-width: 145px;
    margin-top: 4px;
    overflow: hidden;
    color: #151915;
    font-size: 14px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Cart gets more visual weight */
.acc-customer-menu__cart {
    min-width: 165px;
    padding-right: 16px;
    border-color: #e4e9e5;
    background: var(--secondary-color);
}

.acc-customer-menu__cart:hover,
.acc-customer-menu__cart:focus {
    color: #ffffff;
    border-color: #62a927;
    box-shadow: 0 8px 22px rgba(98, 169, 39, 0.18);
}

.acc-customer-menu__cart:hover .acc-customer-menu__caption,
.acc-customer-menu__cart:hover .acc-customer-menu__title,
.acc-customer-menu__cart:focus .acc-customer-menu__caption,
.acc-customer-menu__cart:focus .acc-customer-menu__title {
    color: #ffffff;
}

.acc-customer-menu__price {
    color: #62a927;
}

/* Item counter */
.acc-customer-menu__count {
    position: absolute;
    top: -2px;
    right: -7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    border: 2px solid #ffffff;
    border-radius: 999px;
    background: #dc342f;
}

/* Mobile search button */
.acc-customer-menu__icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: #161916;
    border: 0;
    border-radius: 6px;
    background: transparent;
}

.acc-customer-menu__icon-button:hover,
.acc-customer-menu__icon-button:focus {
    color: #62a927;
    background: rgba(98, 169, 39, 0.07);
}

/* Prevent inherited Partsix spacing from interfering */
.acc-customer-menu .header__account--items {
    margin-left: 0;
}

.acc-customer-menu .header__account--btn {
    line-height: normal;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media only screen and (max-width: 1199px) {
    .acc-customer-menu {
        gap: 5px;
    }

    .acc-customer-menu__account {
        padding-right: 8px;
        padding-left: 8px;
    }

    .acc-customer-menu__text {
        min-width: 80px;
    }

    .acc-customer-menu__cart {
        min-width: 145px;
        padding-right: 11px;
    }
}

@media only screen and (max-width: 991px) {
    .acc-customer-menu__cart {
        min-width: auto;
        padding: 7px 9px;
        border-color: transparent;
        background: transparent;
    }

    .acc-customer-menu__cart-text {
        display: none;
    }

    .acc-customer-menu__cart:hover,
    .acc-customer-menu__cart:focus {
        color: #62a927;
        background: rgba(98, 169, 39, 0.07);
        box-shadow: none;
    }
}

.acc-account-dropdown {
    position: relative;
}

.acc-account-dropdown__toggle {
    cursor: pointer;
}

.acc-account-dropdown__chevron {
    margin-left: 2px;
    font-size: 16px;
    transition: transform 0.2s ease;
}

.acc-account-dropdown__menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 1000;

    display: none;
    min-width: 220px;
    padding: 8px;

    border: 1px solid var(--acc-green);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(7, 19, 13, 0.14);
}

.acc-account-dropdown__menu a {
    display: block;
    padding: 10px 12px;

    color: #1a1e1a;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;

    border-radius: 6px;
}

.acc-account-dropdown__menu a:hover,
.acc-account-dropdown__menu a:focus {
    color: var(--acc-green);
    background: rgba(98, 169, 39, 0.08);
}

.acc-account-dropdown__divider {
    height: 1px;
    margin: 6px 4px;
    background: var(--acc-green);
}

.acc-account-dropdown.is-open .acc-account-dropdown__menu {
    display: block;
}

.acc-account-dropdown.is-open .acc-account-dropdown__chevron {
    transform: rotate(180deg);
}

/* ==========================================================
   HOMEPAGE HERO SLIDER
   ========================================================== */

.hero-slider__buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;

    margin-top: 22px;
}

.hero-slider__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;
    padding: 11px 18px;

    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;

    border: 1px solid transparent;
    border-radius: 4px;

    transition: color 0.2s ease, background-color 0.2s ease,
    border-color 0.2s ease, transform 0.2s ease;
}

.hero-slider__button--primary {
    color: #fff;
    border-color: var(--acc-green);
    background: var(--acc-green);
}

.hero-slider__button--primary:hover,
.hero-slider__button--primary:focus {
    color: #fff;
    border-color: var(--acc-green-light);
    background: var(--acc-green-light);
    transform: translateY(-1px);
}

.hero-slider__button--secondary {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.65);
    background: rgba(0, 0, 0, 0.18);
}

.hero-slider__button--secondary:hover,
.hero-slider__button--secondary:focus {
    color: var(--acc-dark);
    border-color: #fff;
    background: #fff;
}

.hero-main {
    min-height: 430px;
    color: #fff;
    border-radius: 0.35rem;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.88), rgba(0, 0, 0, 0.25)), linear-gradient(135deg, #111, #3c4a42);
}

.hero-promo {
    min-height: 205px;
    color: #fff;
    border-radius: 0.35rem;
    background: radial-gradient(
            circle at 85% 50%,
            rgba(120, 184, 42, 0.28),
            transparent 35%
    ),
    linear-gradient(135deg, #07130d, #0b3d22);
}
.hero-promo img {
    max-height: 180px;
}

.usp-item {
    min-height: 80px;
}

.application-card {
    position: relative;
    min-height: 150px;
    overflow: hidden;
    color: #fff;
    border-radius: 0.35rem;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.08)), linear-gradient(135deg, #28322d, #58655e);
    background-position: center;
    background-size: cover;
}

/*
 * BRAND COMPONENTS
 * ----------------
 * The homepage uses a Swiper carousel, but the brand card itself
 * remains reusable on brand overview pages and inside CMS loops.
 */

.brands-section {
    position: relative;
    overflow: hidden;
}

.brands-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: 
        radial-gradient(
            circle at 8% 20%,
            rgba(120, 184, 42, 0.08),
            transparent 28%
        ),
        radial-gradient(
            circle at 94% 85%, 
            rgba(11, 61, 34, 0.06), 
            transparent 26%
    );
}

.brands-section > .container-fluid {
    position: relative;
    z-index: 1;
}

.brands-heading {
    max-width: 700px;
}

.brands-toolbar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.brands-slider-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    color: var(--acc-dark);
    border: 1px solid var(--acc-border);
    border-radius: 50%;
    background: #fff;
    transition: 
            color 0.2s ease, 
            border-color 0.2s ease,
            background-color 0.2s ease, 
            transform 0.2s ease;
}

.brands-slider-button:hover,
.brands-slider-button:focus-visible {
    color: #fff;
    border-color: var(--acc-green);
    background: var(--acc-green);
    transform: translateY(-1px);
}

.brands-slider-button.swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.brands-swiper {
    overflow: hidden;
}

.brands-swiper .swiper-wrapper {
    align-items: stretch;
}

.brands-swiper .swiper-slide {
    display: flex;
    height: auto;
}

.brand-card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow: hidden;
    color: inherit;
    border: 1px solid var(--acc-border);
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(7, 19, 13, 0.04);
    transition: border-color 0.25s ease, box-shadow 0.25s ease,
    transform 0.25s ease;
}

.brand-card:hover {
    color: inherit;
    border-color: rgba(120, 184, 42, 0.65);
    box-shadow: 0 14px 36px rgba(7, 19, 13, 0.11);
    transform: translateY(-4px);
}

.brand-card__accent {
    position: absolute;
    top: 0;
    right: 0;
    width: 90px;
    height: 90px;
    pointer-events: none;
    background: radial-gradient(
            circle at 100% 0,
            rgba(120, 184, 42, 0.22),
            transparent 68%
    );
}

.brand-card__logo-area {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 135px;
    padding: 20px 24px;
    border-bottom: 1px solid #eef0ef;
    background: radial-gradient(
            circle at 50% 30%,
            rgba(120, 184, 42, 0.08),
            transparent 60%
    ),
    linear-gradient(180deg, #ffffff 0%, #f8faf8 100%);
}

.brand-card__logo {
    display: block;
    width: 100%;
    max-width: 190px;
    height: 75px;
    max-height: none;
    padding: 0;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.82;
    transition: filter 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
}

.brand-card:hover .brand-card__logo {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.05);
}

.brand-card__logo-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    min-height: 50px;
    padding: 0.65rem 1rem;
    color: #203028;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-align: center;
    border: 1px dashed #b7beba;
    border-radius: 0.25rem;
    background: #fff;
}

.brand-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 18px 18px 16px;
}

.brand-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}

.brand-card__category {
    color: #667069;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.brand-card__count {
    color: var(--acc-green);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

.brand-card__name {
    margin: 0 0 8px;
    color: var(--acc-dark);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
}

.brand-card__description {
    display: -webkit-box;
    min-height: 90px;
    margin: 0 0 16px;
    overflow: hidden;
    color: #657069;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.brand-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #e8ece9;
}

.brand-card__link {
    color: var(--acc-dark);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}

.brand-card__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    color: var(--acc-green);
    font-size: 18px;
    line-height: 1;

    border-radius: 50%;
    background: rgba(120, 184, 42, 0.12);
    transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.brand-card:hover .brand-card__arrow {
    color: #fff;
    background: var(--acc-green);
    transform: translateX(2px);
}

.brands-progress {
    position: relative !important;
    width: 100%;
    height: 3px !important;
    margin-top: 1.5rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e6eae7;
}

.brands-progress .swiper-pagination-progressbar-fill {
    border-radius: inherit;
    background: var(--acc-green);
}

/*
 * Compact logo-only brand component.
 * Reusable in footers, filters, category landing pages or mobile menus.
 */
.brand-logo-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 88px;
    padding: 1rem;
    border: 1px solid var(--acc-border);
    border-radius: 0.4rem;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.brand-logo-tile:hover {
    border-color: rgba(120, 184, 42, 0.65);
    box-shadow: 0 8px 20px rgba(7, 19, 13, 0.07);
}

.brand-logo-tile img {
    display: block;
    width: auto;
    max-width: 82%;
    max-height: 46px;
    object-fit: contain;
}

@media (max-width: 767.98px) {
    .brands-toolbar {
        width: 100%;
        justify-content: space-between;
        margin-top: 1rem;
    }

    .brand-card {
        min-height: 225px;
    }
}

.product-card {
    height: 100%;
    border: 1px solid var(--acc-border);
    background: #fff;
}

.product-image {
    min-height: 190px;
    background: var(--acc-muted);
}

.discount-badge {
    top: 0.75rem;
    left: 0.75rem;
    background: var(--acc-green);
}

.feature-banner {
    min-height: 420px;
    color: #fff;
    background: radial-gradient(
            circle at 20% 60%,
            rgba(120, 184, 42, 0.25),
            transparent 30%
    ),
    linear-gradient(135deg, #07130d, #0b3d22);
}

.bestseller-panel {
    min-height: 420px;
    border: 1px solid var(--acc-border);
    background: #fff;
}

.cta-card {
    min-height: 210px;
    color: #fff;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.25)),
    linear-gradient(135deg, #151a17, #344139);
}

.advice-card {
    min-height: 190px;
    color: #fff;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.12)),
    linear-gradient(135deg, #263029, #59655d);
}

.newsletter-panel {
    min-height: 190px;
    border: 1px solid var(--acc-border);
    background: #f7f8f7;
}

.footer-main {
    color: #fff;
    background: var(--acc-dark);
}

/* ========================================================
   PRODUCT SLIDER / PRODUCT CARD
   Development version for the static skeleton.
   ======================================================== */
.products-slider-block {
    overflow: hidden;
}

.products-slider-heading {
    gap: 1rem;
}

.products-slider-controls {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.products-slider-button {
    position: static;
    width: 42px;
    height: 42px;
    margin: 0;
    border: 1px solid var(--acc-border);
    border-radius: 50%;
    color: var(--acc-dark);
    background: #fff;
    box-shadow: none;
}

.products-slider-button::after {
    font-size: 14px;
    font-weight: 700;
}

.products-slider-button:hover {
    color: #fff;
    border-color: var(--acc-green);
    background: var(--acc-green);
}

.products-swiper {
    overflow: hidden;
    padding: 0.25rem 0.15rem 1.25rem;
}

.products-swiper .swiper-slide {
    display: flex;
    height: auto;
}

.products-slider-progress {
    position: relative;
    height: 3px;
    margin-top: 0.25rem;
    overflow: hidden;
    border-radius: 3px;
    background: #e8ebe9;
}

.products-slider-progress .swiper-pagination-progressbar-fill {
    background: var(--acc-green);
}

@media (max-width: 767.98px) {
    .products-slider-heading {
        align-items: flex-start !important;
    }

    .products-slider-heading-copy {
        max-width: calc(100% - 102px);
    }

    .acc-product-card__actions {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 991.98px) {
    .hero-main {
        min-height: 360px;
    }

    .hero-promo {
        min-height: 180px;
    }
}

/* ==========================================================
   ACC PRODUCT CARD
   ========================================================== */

.products-swiper .swiper-wrapper {
    align-items: stretch;
}

.products-swiper .swiper-slide {
    display: flex;
    height: auto;
}

.acc-product-card {
    position: relative;

    display: flex;
    flex-direction: column;

    width: 100%;
    height: 100%;
    min-width: 0;
    overflow: hidden;

    color: var(--acc-dark);

    border: 1px solid #e1e6e2;
    border-radius: 8px;

    background: #ffffff;
    box-shadow: 0 7px 22px rgba(7, 19, 13, 0.05);

    transition: border-color 0.25s ease, box-shadow 0.25s ease,
    transform 0.25s ease;
}

.acc-product-card:hover {
    border-color: rgba(120, 184, 42, 0.7);
    box-shadow: 0 16px 38px rgba(7, 19, 13, 0.12);
    transform: translateY(-4px);
}

/* Product image */

.acc-product-card__media {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    height: 230px;
    overflow: hidden;

    background: radial-gradient(circle at 50% 42%, #ffffff 0%, #f6f8f6 72%);
}

.acc-product-card__image {
    display: block;

    width: 100%;
    height: 100%;
    padding: 12px;

    object-fit: contain;

    transition: transform 0.3s ease;
}

.acc-product-card:hover .acc-product-card__image {
    transform: scale(1.045);
}

/* Badges */

.acc-product-card__badges {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.acc-product-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 27px;
    padding: 5px 9px;

    color: #ffffff;

    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;

    border-radius: 3px;
}

.acc-product-badge--sale {
    background: #c62828;
}

.acc-product-badge--new {
    background: var(--acc-green);
}

/* Content */

.acc-product-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;

    padding: 17px 17px 16px;
}

.acc-product-card__brand {
    margin-bottom: 6px;

    color: var(--acc-green);

    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.acc-product-card__title {
    display: -webkit-box;

    min-height: 48px;
    margin: 0 0 7px;
    overflow: hidden;

    color: var(--acc-dark);

    font-size: 17px;
    font-weight: 800;
    line-height: 1.4;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.acc-product-card__title a {
    color: inherit;
    text-decoration: none;
}

.acc-product-card__title a:hover {
    color: var(--acc-green);
}

.acc-product-card__variation {
    min-height: 21px;
    margin-bottom: 13px;

    color: #68716b;

    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}

/* Stock */

.acc-product-card__stock {
    display: flex;
    align-items: center;
    gap: 7px;

    margin-top: auto;
    margin-bottom: 13px;

    color: #198754;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.acc-product-card__stock-dot {
    flex: 0 0 8px;

    width: 8px;
    height: 8px;

    border-radius: 50%;
    background: currentColor;
}

.acc-product-card__stock--available {
    color: #198754;
}

.acc-product-card__stock--limited {
    color: #b76a00;
}

.acc-product-card__stock--order {
    color: #727a75;
}

/* Price */

.acc-product-card__price-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 14px;
    padding-top: 13px;

    border-top: 1px solid #ebeeec;
}

.acc-product-card__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;

    gap: 5px;
}

.acc-product-card__price-current {
    color: var(--acc-dark);

    font-size: 19px;
    font-weight: 900;
    line-height: 1.15;
}

.acc-product-card__price-old {
    color: #8c938f;

    font-size: 13px;
    font-weight: 500;

    text-decoration: line-through;
}

.acc-product-card__price-note {
    display: block;
    width: 100%;
    margin-top: 3px;

    color: #7b827d;

    font-size: 11px;
    line-height: 1.2;
}

/* Cart */

.acc-product-card__cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    padding: 0;

    color: #ffffff;
    cursor: pointer;

    border: 0;
    border-radius: 50%;

    background: var(--acc-green);

    transition: background-color 0.2s ease, transform 0.2s ease;
}

.acc-product-card__cart:hover,
.acc-product-card__cart:focus {
    color: #ffffff;
    background: var(--acc-green-light);
    transform: scale(1.05);
}

/* ==========================================================
   ACC BRANDS OVERVIEW PAGE
   ========================================================== */

.acc-brands-page {
    color: var(--brands-dark);
}

/* ==========================================================
   HERO
   ========================================================== */

.acc-brands-hero {
    padding: 20px 0 0;
}

.acc-brands-breadcrumb {
    margin-bottom: 18px;
}

.acc-brands-breadcrumb .breadcrumb {
    padding: 0;
    background: transparent;
}

.acc-brands-breadcrumb .breadcrumb-item,
.acc-brands-breadcrumb .breadcrumb-item a {
    color: #68716b;
    font-size: 13px;
    text-decoration: none;
}

.acc-brands-breadcrumb .breadcrumb-item a:hover {
    color: var(--brands-green);
}

.acc-brands-hero__panel {
    overflow: hidden;
    border: 1px solid var(--brands-border);
    border-radius: 8px;
    background: #fff;
}

.acc-brands-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 265px;
    padding: 42px 48px;
}

.acc-brands-hero__eyebrow {
    margin-bottom: 9px;

    color: var(--brands-green);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.acc-brands-hero__title {
    margin: 0 0 13px;

    color: var(--brands-dark);

    font-size: clamp(32px, 3vw, 44px);
    font-weight: 800;
    line-height: 1.1;
}

.acc-brands-hero__description {
    max-width: 610px;
    margin: 0;

    color: #565f59;

    font-size: 15px;
    line-height: 1.7;
}

.acc-brands-hero__image-wrapper {
    height: 100%;
    min-height: 265px;
    overflow: hidden;
}

.acc-brands-hero__image {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 265px;

    object-fit: cover;
    object-position: center;
}

/* ==========================================================
   USP STRIP
   ========================================================== */

.acc-brands-usp {
    padding: 20px 0 0;
}

.acc-brands-usp__wrapper {
    overflow: hidden;

    border-top: 1px solid var(--brands-border);
    border-bottom: 1px solid var(--brands-border);

    background: #fff;
}

.acc-brands-usp__item {
    display: flex;
    align-items: center;

    gap: 15px;
    min-height: 94px;
    padding: 20px 24px;

    border-right: 1px solid var(--brands-border);
}

.acc-brands-usp .col-lg-3:last-child .acc-brands-usp__item {
    border-right: 0;
}

.acc-brands-usp__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 42px;
    width: 42px;
    height: 42px;

    color: var(--brands-green);
}

.acc-brands-usp__content {
    display: flex;
    flex-direction: column;

    min-width: 0;
}

.acc-brands-usp__content strong {
    margin-bottom: 4px;

    color: var(--brands-dark);

    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}

.acc-brands-usp__content small {
    color: #737b76;

    font-size: 12px;
    line-height: 1.4;
}

/* ==========================================================
   OVERVIEW LAYOUT
   ========================================================== */

.acc-brands-overview {
    padding: 34px 0 60px;
}

.acc-brands-filter-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;
    width: 100%;
    min-height: 46px;
    padding: 10px 16px;

    color: var(--brands-green);

    font-size: 14px;
    font-weight: 800;

    border: 1px solid var(--brands-green);
    border-radius: 5px;

    background: #fff;
}

/* ==========================================================
   SIDEBAR
   ========================================================== */

.acc-brands-sidebar-panel {
    overflow: hidden;
    margin-bottom: 22px;

    border: 1px solid var(--brands-border);
    border-radius: 6px;

    background: #fff;
}

.acc-brands-sidebar-panel__title {
    margin: 0;
    padding: 17px 18px;

    color: var(--brands-dark);

    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;

    border-bottom: 1px solid var(--brands-border);
}

.acc-brands-category-list {
    margin: 0;
    padding: 8px 0;

    list-style: none;
}

.acc-brands-category-list li {
    margin: 0;
}

.acc-brands-category-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;
    padding: 8px 18px;

    color: #4f5852;

    font-size: 13px;
    line-height: 1.35;
    text-decoration: none;

    transition: color 0.2s ease, background-color 0.2s ease;
}

.acc-brands-category-list a:hover,
.acc-brands-category-list a.active {
    color: var(--brands-green);
    background: rgba(11, 90, 50, 0.06);
}

.acc-brands-category-list a.active {
    font-weight: 800;
}

.acc-brands-filter-group__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    padding: 15px 18px;

    color: var(--brands-dark);
    cursor: pointer;

    font-size: 14px;
    font-weight: 800;
    text-align: left;

    border: 0;
    background: transparent;
}

.acc-brands-filter-options {
    padding: 0 18px 15px;
}

.acc-brands-filter-option {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;
    margin: 0;
    padding: 7px 0;

    color: #59625c;

    font-size: 13px;
    cursor: pointer;
}

.acc-brands-filter-option > span:first-child {
    display: flex;
    align-items: center;
    gap: 9px;
}

.acc-brands-filter-option input {
    width: 17px;
    height: 17px;

    accent-color: var(--brands-green);
}

/* ==========================================================
   TOOLBAR
   ========================================================== */

.acc-brands-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;
    margin-bottom: 18px;
}

.acc-brands-toolbar__count {
    margin: 0;

    color: #4f5852;

    font-size: 14px;
}

.acc-brands-toolbar__count strong {
    color: var(--brands-dark);
}

.acc-brands-toolbar__sorting {
    display: flex;
    align-items: center;

    gap: 10px;
}

.acc-brands-toolbar__sorting label {
    margin: 0;

    color: #59625c;

    font-size: 13px;
    white-space: nowrap;
}

.acc-brands-toolbar__sorting .form-select {
    width: auto;
    min-width: 180px;
    min-height: 44px;

    padding: 9px 38px 9px 13px;

    color: var(--brands-dark);

    font-size: 13px;

    border-color: var(--brands-border);
    border-radius: 5px;
}

/* ==========================================================
   BRAND CARD
   ========================================================== */

.acc-brand-overview-card {
    display: flex;
    flex-direction: column;

    height: 100%;
    min-height: 285px;
    overflow: hidden;

    border: 1px solid var(--brands-border);
    border-radius: 6px;

    background: #fff;

    transition: border-color 0.25s ease, box-shadow 0.25s ease,
    transform 0.25s ease;
}

.acc-brand-overview-card:hover {
    border-color: rgba(11, 90, 50, 0.45);

    box-shadow: 0 14px 34px rgba(16, 23, 18, 0.1);

    transform: translateY(-4px);
}

.acc-brand-overview-card__logo-area {
    display: flex;
    align-items: center;
    justify-content: center;

    height: 155px;
    padding: 25px 22px;

    border-bottom: 1px solid #edf0ed;

    background: radial-gradient(
            circle at 50% 35%,
            rgba(121, 184, 42, 0.08),
            transparent 65%
    ),
    linear-gradient(180deg, #ffffff 0%, #fafbfa 100%);
}

.acc-brand-overview-card__logo {
    display: block;

    width: 100%;
    max-width: 185px;
    height: 78px;

    object-fit: contain;

    transition: transform 0.25s ease;
}

.acc-brand-overview-card:hover .acc-brand-overview-card__logo {
    transform: scale(1.04);
}

.acc-brand-overview-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;

    padding: 17px;
    text-align: center;
}

.acc-brand-overview-card__name {
    margin: 0 0 5px;

    color: var(--brands-dark);

    font-size: 16px;
    font-weight: 800;
    line-height: 1.3;
}

.acc-brand-overview-card__count {
    margin-bottom: 15px;

    color: #747c77;

    font-size: 13px;
    line-height: 1.4;
}

.acc-brand-overview-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 40px;
    margin-top: auto;
    padding: 9px 12px;

    color: var(--brands-green);

    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;

    border: 1px solid var(--brands-green);
    border-radius: 4px;

    background: #fff;

    transition: color 0.2s ease, background-color 0.2s ease;
}

.acc-brand-overview-card__button:hover,
.acc-brand-overview-card__button:focus {
    color: #fff;
    background: var(--brands-green);
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 991.98px) {
    .acc-brands-hero__content {
        min-height: auto;
        padding: 32px;
    }

    .acc-brands-hero__image-wrapper,
    .acc-brands-hero__image {
        min-height: 220px;
    }

    .acc-brands-usp__item {
        border-bottom: 1px solid var(--brands-border);
    }

    .acc-brands-usp .col-sm-6:nth-child(2n) .acc-brands-usp__item {
        border-right: 0;
    }
}

@media (max-width: 767.98px) {
    .acc-brands-hero__content {
        padding: 26px 22px;
    }

    .acc-brands-hero__description {
        font-size: 14px;
    }

    .acc-brands-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .acc-brands-toolbar__sorting {
        width: 100%;
    }

    .acc-brands-toolbar__sorting .form-select {
        flex: 1;
        width: 100%;
    }

    .acc-brand-overview-card {
        min-height: 250px;
    }

    .acc-brand-overview-card__logo-area {
        height: 125px;
        padding: 18px 14px;
    }

    .acc-brand-overview-card__logo {
        height: 62px;
    }

    .acc-brand-overview-card__body {
        padding: 14px;
    }
}

@media (max-width: 575.98px) {
    .acc-brands-usp__item {
        border-right: 0;
    }

    .acc-brands-toolbar__sorting {
        align-items: stretch;
        flex-direction: column;
    }

    .acc-brand-overview-card__name {
        font-size: 15px;
    }

    .acc-brand-overview-card__button {
        font-size: 12px;
    }
}

.acc-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}
.acc-section-heading__copy {
    max-width: 720px;
}
.acc-section-heading__eyebrow {
    display: block;
    margin-bottom: 5px;
    color: var(--acc-green);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.acc-section-heading__title {
    margin: 0 0 5px;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.15;
}
.acc-section-heading__text {
    margin: 0;
    color: var(--acc-muted);
    font-size: 14px;
    line-height: 1.6;
}
.acc-section-heading__link {
    flex: 0 0 auto;
    color: var(--acc-green);
    font-size: 13px;
    font-weight: 800;
}

/* BLOCK 01: BREADCRUMB */
.acc-brand-breadcrumb {
    padding: 16px 0;
    border-bottom: 1px solid var(--acc-border);
}
.acc-brand-breadcrumb .breadcrumb {
    margin: 0;
    padding: 0;
}
.acc-brand-breadcrumb .breadcrumb-item,
.acc-brand-breadcrumb .breadcrumb-item a {
    color: #6c756f;
    font-size: 13px;
}
.acc-brand-breadcrumb .breadcrumb-item.active {
    color: var(--acc-dark);
    font-weight: 700;
}

/* BLOCK 02: BRAND HERO */
.acc-brand-hero {
    overflow: hidden;
    border-bottom: 1px solid var(--acc-border);
}
.acc-brand-hero__panel {
    position: relative;
    width: 100%;
    min-height: 440px;
    overflow: hidden;
}
.acc-brand-hero__panel > .row {
    min-height: 440px;
}
.acc-brand-hero__content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    min-height: 440px;
    padding: 48px 42px 44px 0;
    background: linear-gradient(
            90deg,
            #ffffff 0%,
            #ffffff 78%,
            rgba(255, 255, 255, 0.94) 90%,
            rgba(255, 255, 255, 0.78) 100%
    );
}
.acc-brand-hero__logo-wrap,
.acc-brand-hero__logo-box {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 185px;
    min-height: 90px;
    margin-bottom: 20px;
    padding: 12px 0;
}

.acc-brand-hero__logo {
    display: block;
    width: auto;
    max-width: 175px;
    height: auto;
    max-height: 72px;
    object-fit: contain;
    object-position: left center;
}
.acc-brand-hero__title {
    margin: 0 0 7px;
    color: var(--acc-dark);
    font-size: 40px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.5px;
}
.acc-brand-hero__subtitle,
.acc-brand-hero__tagline {
    margin: 0 0 20px;
    color: #344039;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}
.acc-brand-hero__description {
    max-width: 580px;
    margin: 0 0 25px;
    color: #4e5952;
    font-size: 15px;
    line-height: 1.72;
}
.acc-brand-hero__description p {
    margin: 0 0 15px;
}
.acc-brand-hero__description p:last-child {
    margin-bottom: 0;
}
.acc-brand-hero__description strong {
    color: var(--acc-dark);
    font-weight: 800;
}
.acc-brand-hero__features {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.acc-brand-hero__feature {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #34423a;
    font-size: 13px;
    font-weight: 700;
}
.acc-brand-hero__feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: var(--acc-green);
    border-radius: 50%;
    background: rgba(11, 90, 50, 0.08);
}
.acc-brand-hero__media {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 440px;
    overflow: hidden;
}
.acc-brand-hero__image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 440px;
    object-fit: cover;
    object-position: right center;
    transition: transform 0.4s ease;
}
.acc-brand-hero__panel:hover .acc-brand-hero__image {
    transform: scale(1.015);
}
.acc-brand-hero__media::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    width: 110px;
    pointer-events: none;
    background: linear-gradient(
            90deg,
            #ffffff 0%,
            rgba(255, 255, 255, 0.88) 24%,
            rgba(255, 255, 255, 0.48) 58%,
            rgba(255, 255, 255, 0) 100%
    );
}

/* BLOCK 03: BRAND NAVIGATION */
.acc-brand-tabs {
    position: sticky;
    top: 0;
    z-index: 50;
    border-bottom: 1px solid var(--acc-border);
    background: #fff;
    box-shadow: 0 8px 20px rgba(10, 30, 17, 0.04);
}
.acc-brand-tabs__list {
    display: flex;
    overflow-x: auto;
    margin: 0;
    padding: 0;
    list-style: none;
    scrollbar-width: none;
}
.acc-brand-tabs__list::-webkit-scrollbar {
    display: none;
}
.acc-brand-tabs__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 58px;
    padding: 0 24px;
    color: #5f6963;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}
.acc-brand-tabs__link::after {
    content: "";
    position: absolute;
    right: 20px;
    bottom: -1px;
    left: 20px;
    height: 3px;
    background: transparent;
}
.acc-brand-tabs__link:hover,
.acc-brand-tabs__link.active {
    color: var(--acc-green);
}
.acc-brand-tabs__link.active::after {
    background: var(--acc-green);
}

/* BLOCK 04: BRAND USP */
.acc-brand-usp {
    padding: 20px 0;
    border-bottom: 1px solid var(--acc-border);
    background: #f8fbf8;
}
.acc-brand-usp__item {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 76px;
    padding: 14px 20px;
    border-right: 1px solid var(--acc-border);
}
.acc-brand-usp .col-lg-3:last-child .acc-brand-usp__item {
    border-right: 0;
}
.acc-brand-usp__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    color: var(--acc-green);
    font-size: 24px;
}
.acc-brand-usp__content {
    display: flex;
    flex-direction: column;
}
.acc-brand-usp__content strong {
    margin-bottom: 3px;
    font-size: 14px;
    font-weight: 800;
}
.acc-brand-usp__content span {
    color: #6d766f;
    font-size: 12px;
    line-height: 1.45;
}

/* BLOCK 05: ABOUT + VIDEO */
.acc-brand-about__content {
    padding-right: 24px;
}
.acc-brand-about__title {
    margin: 0 0 14px;
    font-size: 30px;
    font-weight: 800;
}
.acc-brand-about__text {
    margin: 0 0 22px;
    color: #4e5952;
    font-size: 15px;
    line-height: 1.75;
}
.acc-brand-about__button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 16px;
    color: var(--acc-green);
    font-size: 13px;
    font-weight: 800;
    border: 1px solid var(--acc-green);
    border-radius: 4px;
    background: #fff;
}
.acc-brand-about__button:hover {
    color: #fff;
    background: var(--acc-green);
}
.acc-brand-video {
    position: relative;
    display: block;
    min-height: 300px;
    overflow: hidden;
    border-radius: 8px;
    background: #0a160f;
}
.acc-brand-video__image {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover;
}
.acc-brand-video::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.08));
}
.acc-brand-video__content {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 34px;
    max-width: 270px;
    color: #fff;
    transform: translateY(-50%);
}
.acc-brand-video__title {
    display: block;
    margin-bottom: 12px;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.05;
}
.acc-brand-video__subtitle {
    font-size: 13px;
}
.acc-brand-video__play {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.34);
    transform: translate(-50%, -50%);
}

/* BLOCK 06: CATEGORY CARDS */
.acc-brand-categories {
    border-top: 1px solid var(--acc-border);
}
.acc-brand-category-card {
    position: relative;
    display: block;
    min-height: 170px;
    overflow: hidden;
    border-radius: 7px;
    background: #172119;
}
.acc-brand-category-card__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.acc-brand-category-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.08));
}
.acc-brand-category-card:hover .acc-brand-category-card__image {
    transform: scale(1.05);
}
.acc-brand-category-card__content {
    position: absolute;
    z-index: 2;
    right: 15px;
    bottom: 15px;
    left: 15px;
    color: #fff;
}
.acc-brand-category-card__title {
    display: block;
    margin-bottom: 2px;
    font-size: 15px;
    font-weight: 800;
}
.acc-brand-category-card__count {
    color: rgba(255, 255, 255, 0.78);
    font-size: 12px;
}

/* BLOCK 07: PRODUCT SLIDER */
.acc-products-swiper {
    overflow: hidden;
    padding: 4px 3px 24px;
}
.acc-products-swiper .swiper-slide {
    display: flex;
    height: auto;
}
.acc-product-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--acc-border);
    border-radius: 7px;
    background: #fff;
    transition: border-color 0.25s ease, box-shadow 0.25s ease,
    transform 0.25s ease;
}
.acc-product-card:hover {
    border-color: rgba(11, 90, 50, 0.5);
    box-shadow: 0 14px 32px rgba(10, 30, 17, 0.1);
    transform: translateY(-3px);
}
.acc-product-card__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 220px;
    overflow: hidden;
    background: #f5f8f5;
}
.acc-product-card__image {
    width: 100%;
    height: 100%;
    padding: 12px;
    object-fit: contain;
}
.acc-product-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 5px 8px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    border-radius: 3px;
    background: var(--acc-green);
}
.acc-product-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 16px;
}
.acc-product-card__brand {
    margin-bottom: 5px;
    color: var(--acc-green);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}
.acc-product-card__title {
    min-height: 44px;
    margin: 0 0 7px;
    overflow: hidden;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.4;
}
.acc-product-card__variation {
    margin-bottom: 12px;
    color: #6e7771;
    font-size: 12px;
}
.acc-product-card__stock {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    margin-bottom: 12px;
    color: #198754;
    font-size: 12px;
    font-weight: 700;
}
.acc-product-card__stock-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
}
.acc-product-card__footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid #e8ece9;
}
.acc-product-card__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px;
}
.acc-product-card__price-current {
    font-size: 18px;
    font-weight: 900;
}
.acc-product-card__price-old {
    color: #8b938e;
    font-size: 12px;
    text-decoration: line-through;
}
.acc-product-card__price-note {
    display: block;
    width: 100%;
    color: #7a837d;
    font-size: 10px;
}
.acc-product-card__cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    color: #fff;
    border: 0;
    border-radius: 50%;
    background: var(--acc-green);
}

/* ==========================================================
   ALL BRAND PRODUCTS
   ========================================================== */

.acc-brand-products__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.acc-brand-products__count {
    color: var(--acc-muted);
    font-size: 14px;
}

.acc-brand-products__count strong {
    color: var(--acc-dark);
    font-size: 18px;
    font-weight: 900;
}

.acc-brand-products__filter-toggle {
    width: 100%;
    min-height: 44px;
    padding: 10px 15px;
    color: var(--acc-green);
    font-size: 13px;
    font-weight: 800;
    border: 1px solid var(--acc-green);
    border-radius: 4px;
    background: #ffffff;
}

.acc-brand-product-filter {
    overflow: hidden;
    margin-bottom: 20px;
    border: 1px solid var(--acc-border);
    border-radius: 6px;
    background: #ffffff;
}

.acc-brand-product-filter__title {
    margin: 0;
    padding: 16px 17px;
    color: var(--acc-dark);
    font-size: 17px;
    font-weight: 800;
    border-bottom: 1px solid var(--acc-border);
}

.acc-brand-product-filter__list {
    margin: 0;
    padding: 8px 0;
    list-style: none;
}

.acc-brand-product-filter__list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 17px;
    color: #556059;
    font-size: 13px;
}

.acc-brand-product-filter__list a:hover,
.acc-brand-product-filter__list a.active {
    color: var(--acc-green);
    background: rgba(11, 90, 50, 0.06);
}

.acc-brand-product-filter__list a.active {
    font-weight: 800;
}

.acc-brand-product-filter__option {
    display: flex;
    align-items: center;
    padding: 8px 17px;
    color: #556059;
    font-size: 13px;
    cursor: pointer;
}

.acc-brand-product-filter__option input {
    width: 17px;
    height: 17px;
    margin-right: 8px;
    accent-color: var(--acc-green);
}

.acc-brand-products__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.acc-brand-products__showing {
    margin: 0;
    color: #657069;
    font-size: 13px;
}

.acc-brand-products__sort {
    display: flex;
    align-items: center;
    gap: 10px;
}

.acc-brand-products__sort label {
    margin: 0;
    color: #657069;
    font-size: 13px;
    white-space: nowrap;
}

.acc-brand-products__sort .form-select {
    width: 190px;
    min-height: 42px;
    font-size: 13px;
    border-color: var(--acc-border);
}

.acc-brand-products__pagination {
    margin-top: 34px;
}

.acc-brand-products__pagination .page-link {
    color: var(--acc-green);
    font-size: 13px;
    border-color: var(--acc-border);
}

.acc-brand-products__pagination .page-item.active .page-link {
    color: #ffffff;
    border-color: var(--acc-green);
    background: var(--acc-green);
}

@media (max-width: 767.98px) {
    .acc-brand-products__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .acc-brand-products__toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .acc-brand-products__sort {
        width: 100%;
    }

    .acc-brand-products__sort .form-select {
        flex: 1;
        width: 100%;
    }
}

/* BLOCK 08: SYSTEM CARDS */
.acc-brand-systems {
    border-top: 1px solid var(--acc-border);
}
.acc-brand-system-card {
    position: relative;
    display: block;
    min-height: 230px;
    overflow: hidden;
    color: #fff;
    border-radius: 7px;
    background: #102019;
}
.acc-brand-system-card__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.acc-brand-system-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.18));
}
.acc-brand-system-card__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 230px;
    padding: 24px;
}
.acc-brand-system-card__title {
    margin: 0 0 7px;
    font-size: 20px;
    font-weight: 800;
}
.acc-brand-system-card__description {
    margin: 0 0 13px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
}
.acc-brand-system-card__count {
    margin-bottom: 17px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 12px;
}
.acc-brand-system-card__link {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

/* BLOCK 09: NEWSLETTER */
.acc-brand-newsletter {
    padding: 28px 0;
}
.acc-brand-newsletter__panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    padding: 24px 30px;
    color: #fff;
    border-radius: 7px;
    background: linear-gradient(90deg, #0b5a32, #068029);
}
.acc-brand-newsletter__copy {
    display: flex;
    align-items: center;
    gap: 16px;
}
.acc-brand-newsletter__icon {
    flex: 0 0 46px;
    font-size: 30px;
}
.acc-brand-newsletter__title {
    display: block;
    margin-bottom: 2px;
    font-size: 18px;
    font-weight: 800;
}
.acc-brand-newsletter__text {
    color: rgba(255, 255, 255, 0.84);
    font-size: 12px;
}
.acc-brand-newsletter__form {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    max-width: 650px;
}
.acc-brand-newsletter__input {
    flex: 1 1 auto;
    min-height: 44px;
    padding: 10px 14px;
    border: 0;
    border-radius: 4px;
}
.acc-brand-newsletter__button {
    min-height: 44px;
    padding: 10px 18px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    border: 0;
    border-radius: 4px;
    background: var(--acc-green-light);
}

@media (max-width: 991.98px) {
    .acc-brand-hero {
        background: #fff;
    }
    .acc-brand-hero__content {
        min-height: 0;
        padding: 32px 0;
    }
    .acc-brand-hero__media,
    .acc-brand-hero__image {
        min-height: 320px;
    }
    .acc-brand-usp__item {
        border-bottom: 1px solid var(--acc-border);
    }
    .acc-brand-usp .col-sm-6:nth-child(2n) .acc-brand-usp__item {
        border-right: 0;
    }
    .acc-brand-newsletter__panel {
        align-items: flex-start;
        flex-direction: column;
    }
    .acc-brand-newsletter__form {
        width: 100%;
        max-width: none;
    }
}
@media (max-width: 767.98px) {
    .section-space {
        padding: 32px 0;
    }
    .acc-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .acc-brand-hero__title {
        font-size: 32px;
    }
    .acc-brand-hero__tagline {
        font-size: 18px;
    }
    .acc-brand-tabs__link {
        min-height: 52px;
        padding: 0 17px;
        font-size: 12px;
    }
    .acc-brand-about__content {
        padding-right: 0;
    }
    .acc-brand-video,
    .acc-brand-video__image {
        min-height: 260px;
        height: 260px;
    }
    .acc-brand-video__title {
        font-size: 26px;
    }
    .acc-brand-newsletter__form {
        align-items: stretch;
        flex-direction: column;
    }
}
@media only screen and (min-width: 1400px) {
    .acc-brand-hero__panel,
    .acc-brand-hero__panel > .row,
    .acc-brand-hero__content,
    .acc-brand-hero__media,
    .acc-brand-hero__image {
        min-height: 470px;
    }
    .acc-brand-hero__content {
        padding-top: 54px;
        padding-right: 48px;
        padding-bottom: 50px;
    }
    .acc-brand-hero__title {
        font-size: 44px;
    }
    .acc-brand-hero__description {
        max-width: 620px;
    }
    .acc-brand-hero__media::before {
        width: 140px;
    }
}
@media only screen and (max-width: 1199.98px) {
    .acc-brand-hero__panel,
    .acc-brand-hero__panel > .row,
    .acc-brand-hero__content,
    .acc-brand-hero__media,
    .acc-brand-hero__image {
        min-height: 410px;
    }
    .acc-brand-hero__content {
        padding: 38px 28px 36px 0;
    }
    .acc-brand-hero__logo-wrap,
    .acc-brand-hero__logo-box {
        width: 155px;
        min-height: 72px;
        margin-bottom: 14px;
    }
    .acc-brand-hero__logo {
        max-width: 150px;
        max-height: 60px;
    }
    .acc-brand-hero__title {
        font-size: 35px;
    }
    .acc-brand-hero__subtitle,
    .acc-brand-hero__tagline {
        margin-bottom: 16px;
        font-size: 16px;
    }
    .acc-brand-hero__description {
        margin-bottom: 20px;
        font-size: 14px;
        line-height: 1.65;
    }
    .acc-brand-hero__media::before {
        width: 80px;
    }
}
@media only screen and (max-width: 991.98px) {
    .acc-brand-hero {
        background: #ffffff;
    }
    .acc-brand-hero__panel,
    .acc-brand-hero__panel > .row {
        min-height: 0;
    }
    .acc-brand-hero__content {
        min-height: 0;
        padding: 34px 0 32px;
        background: #ffffff;
    }
    .acc-brand-hero__media,
    .acc-brand-hero__image {
        height: 330px;
        min-height: 330px;
    }
    .acc-brand-hero__image {
        object-position: center;
    }
    .acc-brand-hero__media::before {
        display: none;
    }
    .acc-brand-hero__description {
        max-width: none;
    }
}
@media only screen and (max-width: 767.98px) {
    .acc-brand-hero__content {
        padding: 28px 0 27px;
    }
    .acc-brand-hero__logo-wrap,
    .acc-brand-hero__logo-box {
        width: 145px;
        min-height: 66px;
        margin-bottom: 12px;
    }
    .acc-brand-hero__logo {
        max-width: 140px;
        max-height: 55px;
    }
    .acc-brand-hero__title {
        font-size: 31px;
    }
    .acc-brand-hero__subtitle,
    .acc-brand-hero__tagline {
        margin-bottom: 15px;
        font-size: 16px;
    }
    .acc-brand-hero__description {
        margin-bottom: 20px;
        font-size: 14px;
        line-height: 1.65;
    }
    .acc-brand-hero__media,
    .acc-brand-hero__image {
        height: 260px;
        min-height: 260px;
    }
}
@media only screen and (max-width: 479.98px) {
    .acc-brand-hero__title {
        font-size: 28px;
    }
    .acc-brand-hero__media,
    .acc-brand-hero__image {
        height: 220px;
        min-height: 220px;
    }
}

/*
 * SHOP CATEGORY LISTING PAGE
 */

.acc-shop-hero{min-height:195px;color:#fff;background:linear-gradient(90deg,rgba(4,18,12,.93),rgba(4,18,12,.72) 34%,rgba(4,18,12,.12) 70%),url('https://placehold.co/1900x420/0d2317/4ba36d?text=Shop+Hero') center/cover no-repeat}.acc-shop-hero__inner{display:flex;align-items:center;min-height:195px;padding:30px 0}.acc-shop-hero__title{margin:0 0 10px;font-size:36px;font-weight:800;line-height:1.12}.acc-shop-hero__text{margin:0;font-size:15px;color:rgba(255,255,255,.88)}
.acc-shop-headerbar{padding:22px 0 18px}.acc-shop-breadcrumb{margin:0}.acc-shop-breadcrumb .breadcrumb-item,.acc-shop-breadcrumb .breadcrumb-item a{font-size:13px;color:var(--muted)}.acc-shop-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:16px}.acc-shop-toolbar__count{font-size:13px;color:var(--muted);white-space:nowrap}.acc-shop-toolbar select{min-width:230px;height:42px;font-size:13px;border-color:var(--border)}
.acc-shop-overview{padding-bottom:52px}.acc-shop-sidebar{border:1px solid var(--border);background:#fff}.acc-shop-sidebar__section{padding:18px 0;border-bottom:1px solid var(--border)}.acc-shop-sidebar__section:last-child{border-bottom:0}.acc-shop-sidebar__title{margin:0;padding:0 18px 13px;font-size:15px;font-weight:800;text-transform:uppercase}.acc-shop-category-nav{margin:0;padding:0 8px;list-style:none}.acc-shop-category-nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:7px 10px;font-size:13px}.acc-shop-category-nav a:hover,.acc-shop-category-nav a.active{color:#fff;background:var(--green)}.acc-shop-category-nav__count{font-size:12px;font-weight:700}.acc-shop-brand-filter{padding:0 18px}.acc-shop-brand-option{display:flex;align-items:center;gap:9px;margin-bottom:12px;font-size:13px}.acc-shop-brand-option input{width:17px;height:17px;accent-color:var(--green)}.acc-shop-brand-option__count{margin-left:auto;font-size:12px;color:var(--muted)}
.acc-shop-category-card{display:flex;flex-direction:column;height:100%;min-height:410px;overflow:hidden;border:1px solid var(--border);border-radius:7px;background:#fff;transition:.22s}.acc-shop-category-card:hover{transform:translateY(-3px);border-color:rgba(7,91,43,.35);box-shadow:0 14px 30px rgba(10,30,17,.08)}.acc-shop-category-card__media{position:relative;display:flex;align-items:center;justify-content:center;height:255px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#fff 0%,#f6f8f6 74%)}.acc-shop-category-card__image{width:100%;height:100%;padding:18px;object-fit:contain;transition:.25s}.acc-shop-category-card:hover .acc-shop-category-card__image{transform:scale(1.035)}.acc-shop-category-card__count{position:absolute;right:13px;bottom:13px;padding:5px 9px;color:var(--green);font-size:11px;font-weight:800;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 4px 12px rgba(0,0,0,.06)}.acc-shop-category-card__body{display:flex;flex:1;flex-direction:column;padding:17px 18px 18px}.acc-shop-category-card__title{margin:0 0 6px;font-size:19px;font-weight:800;line-height:1.25}.acc-shop-category-card__description{margin:0 0 16px;font-size:13px;line-height:1.55;color:var(--muted)}.acc-shop-category-card__link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:var(--green);font-size:13px;font-weight:800}
.acc-shop-mobile-filter{display:none;width:100%;min-height:44px;margin-bottom:18px;color:#fff;font-size:13px;font-weight:800;border:0;border-radius:4px;background:var(--green)}.acc-shop-pagination{margin-top:32px}.acc-shop-pagination .page-link{min-width:40px;min-height:40px;color:var(--green);font-size:13px;text-align:center;border-color:var(--border)}

.acc-shop-usp{margin-top:42px;border:1px solid var(--border);background:#fafbfa}.acc-shop-usp__item{display:flex;align-items:center;gap:12px;min-height:82px;padding:14px 18px}.acc-shop-usp__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--green);font-size:22px}.acc-shop-usp__item strong{display:block;margin-bottom:2px;font-size:13px}.acc-shop-usp__item small{display:block;font-size:11px;line-height:1.4;color:var(--muted)}
@media(max-width:1199.98px){.acc-shop-category-card__media{height:230px}.acc-shop-category-card{min-height:390px}}@media(max-width:991.98px){.acc-shop-sidebar-column{display:none}.acc-shop-mobile-filter{display:block}.acc-shop-toolbar{justify-content:flex-start}.acc-shop-headerbar .row{row-gap:14px}.acc-shop-category-card__media{height:215px}}@media(max-width:767.98px){.acc-shop-hero,.acc-shop-hero__inner{min-height:165px}.acc-shop-hero__title{font-size:29px}.acc-shop-hero__text{font-size:14px}.acc-shop-toolbar{flex-direction:column;align-items:stretch}.acc-shop-toolbar select{width:100%}.acc-shop-category-card{min-height:360px}.acc-shop-category-card__media{height:190px}}@media(max-width:575.98px){.acc-shop-category-card__media{height:170px}.acc-shop-category-card__body{padding:14px}.acc-shop-category-card__title{font-size:16px}.acc-shop-category-card__description{font-size:12px}}

.acc-shop-pagination {
    margin-top: 32px;
}
.acc-shop-pagination .pagination {
    gap: 5px;
}
.acc-shop-pagination .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 8px 12px;
    color: #075b2b;
    background-color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    border: 1px solid #e1e5e2;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.acc-shop-pagination .page-link:hover {
    color: #ffffff;
    background-color: #075b2b;
    border-color: #075b2b;
}
.acc-shop-pagination .page-item.active .page-link {
    color: #ffffff;
    background-color: #075b2b;
    border-color: #075b2b;
}
.acc-shop-pagination .page-item.disabled .page-link {
    color: #9ca39e;
    background-color: #f6f8f6;
    border-color: #e1e5e2;
    cursor: default;
}

/* Remove Bootstrap's focus shadow */
.acc-shop-pagination .page-link:focus {
    box-shadow: none;
}

/* Prevent Bootstrap from joining pagination buttons together */
.acc-shop-pagination .page-item:first-child .page-link,
.acc-shop-pagination .page-item:last-child .page-link {
    border-radius: 4px;
}

/* 
 * SHOP CATEGORY PAGE 
*/
.acc-category-page{font-size:15px}
.acc-category-page a{color:inherit;text-decoration:none}

.acc-breadcrumb{padding:18px 0;font-size:13px;color:var(--category-muted)}
.acc-breadcrumb ol{margin:0}
.acc-breadcrumb .breadcrumb-item+.breadcrumb-item:before{content:"›"}

/* BLOCK 01 - CATEGORY HERO */
.acc-category-hero{overflow:hidden;border:1px solid var(--category-border);background:#f5f6f5}
.acc-category-hero__copy{padding:42px}
.acc-category-hero h1{margin:0 0 14px;font-size:34px;line-height:1.15;font-weight:700}
.acc-category-hero p{max-width:590px;margin:0 0 27px;font-size:16px;line-height:1.65;color:#404641}
.acc-category-hero__image{height:100%;min-height:330px;max-height:200px;background:linear-gradient(90deg,#f5f6f5 0%,rgba(245,246,245,.1) 30%,transparent 55%),url("https://placehold.co/1000x500?text=Category+Hero") center/cover no-repeat}
.acc-category-benefits{display:flex;flex-wrap:wrap;gap:20px 28px}
.acc-category-benefit{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600}
.acc-category-benefit i{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border:1px solid #b8d4c3;border-radius:50%;color:var(--category-green);font-style:normal}

/* BLOCK 02 - SUBCATEGORIES */
.acc-subcategories{margin-top:24px;border:1px solid var(--category-border)}
.acc-subcategory{position:relative;display:flex;align-items:center;gap:14px;min-height:92px;padding:14px 17px;border-right:1px solid var(--category-border);background:#fff}
.acc-subcategory:hover{background:#f7faf8}
.acc-subcategory.active:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;background:var(--category-green);content:""}
.acc-subcategory img{width:55px;height:58px;object-fit:contain}
.acc-subcategory .acc-subcategory__icon{display:flex;width:55px;height:58px;align-items:center;justify-content:center;font-size:30px;color:var(--category-green)}
.acc-subcategory strong{display:block;font-size:14px}
.acc-subcategory small{font-size:12px;color:var(--category-muted)}

/* BLOCK 03 - LISTING/FILTERS */
.acc-listing{padding:34px 0 42px}
.acc-filter{border:1px solid var(--category-border);background:#fff}.acc-filter__section{padding:19px;border-bottom:1px solid var(--category-border)}
.acc-filter__section:last-child{border:0}.acc-filter h2{margin:0 0 14px;font-size:16px;font-weight:700;text-transform:uppercase}
.acc-filter h3{display:flex;justify-content:space-between;margin:0 0 12px;font-size:14px}
.acc-category-links{margin:0;padding:0;list-style:none}
.acc-category-links a{display:block;padding:8px 9px;font-size:13px}
.acc-category-links a.active,
.acc-category-links a:hover{
    background:#f0f4f1;color:var(--category-green);font-weight:700
}
.acc-check{display:flex;align-items:center;gap:8px;margin-bottom:9px;font-size:13px}
.acc-check input{width:15px;height:15px;accent-color:var(--category-green)}
.acc-check .count{margin-left:auto;color:#999}
.acc-range{width:100%;accent-color:var(--category-green)}
.acc-range-values{display:flex;justify-content:space-between;font-size:12px;font-weight:600}
.acc-clear{width:100%;height:40px;border:0;background:var(--category-green);color:#fff;font-size:12px;font-weight:700}

/* BLOCK 04 - TOOLBAR */
.acc-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}
.acc-toolbar__count{font-size:13px;color:var(--category-muted)}
.acc-toolbar__actions{display:flex;align-items:center;gap:10px}
.acc-toolbar label{font-size:13px;color:var(--category-muted)}
.acc-toolbar select{height:42px;min-width:170px;padding:0 12px;border:1px solid var(--category-border);background:#fff;font-size:13px}
.acc-view{width:42px;height:42px;border:1px solid var(--category-border);background:#fff}
.acc-view.active{background:var(--category-soft);color:var(--category-green)}
.acc-mobile-filter{display:none;height:42px;padding:0 18px;border:0;background:var(--category-green);color:#fff;font-size:13px;font-weight:700}

/* BLOCK 06 - USP */
.acc-usp{margin-top:30px;border:1px solid var(--category-border);background:#fafbfa}
.acc-usp__item{display:flex;align-items:center;gap:12px;min-height:86px;padding:15px 19px}
.acc-usp__icon{font-size:25px;color:var(--category-green)}
.acc-usp strong{display:block;font-size:13px}
.acc-usp small{color:var(--category-muted);font-size:11px}

/* BLOCK 07 - NEWSLETTER */
.acc-newsletter{margin-top:30px;background:linear-gradient(110deg,#071f14,#064f29);color:#fff}.acc-newsletter__inner{padding:30px 34px}.acc-newsletter h2{margin:0 0 6px;font-size:23px}.acc-newsletter p{margin:0;color:rgba(255,255,255,.78);font-size:13px}.acc-newsletter form{display:flex}.acc-newsletter input{flex:1;min-width:0;height:46px;padding:0 14px;border:0;font-size:13px}.acc-newsletter button{min-width:150px;border:0;background:#0a7a38;color:#fff;font-size:12px;font-weight:700}
@media(max-width:1199.98px){.acc-product-card__media{height:215px}.acc-product-card{min-height:415px}}
@media(max-width:991.98px){.acc-category-hero__copy{padding:30px}.acc-category-hero__image{min-height:260px}.acc-filter-column{display:none}.acc-mobile-filter{display:inline-block}.acc-toolbar{align-items:flex-start}.acc-toolbar__actions{flex-wrap:wrap}}
@media(max-width:767.98px){.acc-category-hero h1{font-size:28px}.acc-category-hero p{font-size:14px}.acc-category-hero__image{min-height:220px}.acc-subcategory{border-bottom:1px solid var(--category-border)}.acc-toolbar{flex-direction:column}.acc-toolbar__actions{width:100%}.acc-toolbar select{flex:1}.acc-product-card{min-height:380px}.acc-product-card__media{height:180px;padding:14px}.acc-newsletter form{margin-top:18px}}
@media(max-width:575.98px){.acc-category-hero__copy{padding:23px 19px}.acc-category-benefit{width:100%}.acc-toolbar label{display:none}.acc-product-card__title{min-height:0;font-size:13px}.acc-price-current{font-size:15px}.acc-newsletter__inner{padding:23px 19px}.acc-newsletter form{display:block}.acc-newsletter button{width:100%;height:44px}}


/* 
 * SHOP PRODUCT DETAIL PAGE
 */

/* BLOCK 01: BREADCRUMB */
.acc-product-breadcrumb { padding: 15px 0; border-bottom: 1px solid var(--acc-border); }
.acc-product-breadcrumb .breadcrumb { margin: 0; }
.acc-product-breadcrumb .breadcrumb-item,
.acc-product-breadcrumb .breadcrumb-item a { color: #727b75; font-size: 13px; }

/* BLOCK 02: PRODUCT HERO */
.acc-product-main { padding: 34px 0 42px; }
.acc-product-gallery { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 14px; }
.acc-product-gallery__thumbs { display: flex; flex-direction: column; gap: 11px; }
.acc-product-gallery__thumb { display: flex; align-items: center; justify-content: center; width: 82px; height: 82px; padding: 6px; border: 1px solid var(--acc-border); border-radius: 6px; background: #fff; cursor: pointer; }
.acc-product-gallery__thumb.active { border-color: var(--acc-green); box-shadow: 0 0 0 1px var(--acc-green); }
.acc-product-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }
.acc-product-gallery__stage { position: relative; display: flex; align-items: center; justify-content: center; min-height: 560px; overflow: hidden; border: 1px solid var(--acc-border); border-radius: 8px; background: radial-gradient(circle at 50% 40%, #fff 0%, #f4f7f4 78%); }
.acc-product-gallery__main-image { width: 100%; height: 560px; padding: 30px; object-fit: contain; }
.acc-product-gallery__badge { position: absolute; top: 16px; left: 16px; padding: 6px 10px; color: #fff; font-size: 12px; font-weight: 800; border-radius: 4px; background: var(--acc-green); }
.acc-product-gallery__zoom { position: absolute; right: 16px; bottom: 16px; color: #606a63; font-size: 12px; font-weight: 700; }

.acc-product-summary { padding: 5px 12px; }
.acc-product-summary__brand { display: inline-flex; margin-bottom: 10px; padding: 5px 8px; color: var(--acc-green); font-size: 11px; font-weight: 800; text-transform: uppercase; border-radius: 3px; background: rgba(11, 90, 50, .08); }
.acc-product-summary__title { margin: 0 0 7px; color: var(--acc-dark); font-size: 31px; font-weight: 800; line-height: 1.18; }
.acc-product-summary__unit { margin-bottom: 12px; font-size: 15px; font-weight: 600; }
.acc-product-summary__meta { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--acc-border); }
.acc-product-rating__stars { color: #e4a000; font-size: 17px; }
.acc-product-rating__reviews, .acc-product-summary__sku { color: #6e7771; font-size: 12px; }
.acc-product-summary__intro { margin: 0 0 20px; font-size: 15px; line-height: 1.7; }
.acc-product-benefits { display: grid; gap: 10px; margin: 0 0 22px; padding: 0; list-style: none; }
.acc-product-benefits__item { display: flex; gap: 9px; font-size: 13px; }
.acc-product-benefits__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 22px; width: 22px; height: 22px; color: var(--acc-green); border-radius: 50%; background: rgba(11, 90, 50, .09); }
.acc-product-delivery { display: flex; flex-direction: column; gap: 8px; margin-bottom: 22px; }
.acc-product-delivery__row { font-size: 13px; }
.acc-product-delivery__row--stock { color: var(--acc-green); font-weight: 800; }
.acc-product-downloads { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.acc-product-download-card { display: flex; align-items: center; gap: 11px; min-height: 72px; padding: 12px; border: 1px solid var(--acc-border); border-radius: 6px; }
.acc-product-download-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; color: var(--acc-green); border-radius: 50%; background: #edf5ef; }
.acc-product-download-card__title { display: block; font-size: 12px; font-weight: 800; }
.acc-product-download-card__meta { display: block; color: #728078; font-size: 11px; }

.acc-product-purchase { position: sticky; top: 82px; padding: 22px; border: 1px solid var(--acc-border); border-radius: 8px; background: #fff; box-shadow: 0 14px 34px rgba(9, 29, 16, .10); }
.acc-product-purchase__price-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-bottom: 6px; }
.acc-product-purchase__price { color: var(--acc-green); font-size: 32px; font-weight: 900; }
.acc-product-purchase__old-price { color: #8b938e; font-size: 15px; text-decoration: line-through; }
.acc-product-purchase__discount { padding: 5px 8px; color: #fff; font-size: 11px; font-weight: 800; border-radius: 3px; background: var(--acc-green); }
.acc-product-purchase__tax { margin-bottom: 18px; color: #6e7771; font-size: 12px; }
.acc-product-purchase__controls { display: grid; grid-template-columns: 114px minmax(0, 1fr); gap: 12px; margin-bottom: 14px; }
.acc-quantity { display: grid; grid-template-columns: 36px 42px 36px; min-height: 46px; overflow: hidden; border: 1px solid var(--acc-border); border-radius: 5px; }
.acc-quantity button, .acc-quantity input { width: 100%; border: 0; background: #fff; text-align: center; }
.acc-product-purchase__cart { min-height: 46px; color: #fff; font-size: 13px; font-weight: 800; border: 0; border-radius: 5px; background: var(--acc-green); }
.acc-product-purchase__secondary-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.acc-product-purchase__secondary { min-height: 42px; font-size: 12px; font-weight: 700; border: 1px solid var(--acc-border); border-radius: 5px; background: #fff; }
.acc-product-purchase__professional { margin-bottom: 18px; padding: 16px; border: 1px solid #d6e4d9; border-radius: 6px; background: #f4f9f5; }
.acc-product-purchase__professional strong { display: block; font-size: 13px; }
.acc-product-purchase__professional span, .acc-product-purchase__professional a { display: block; font-size: 12px; }
.acc-product-purchase__professional a { margin-top: 7px; color: var(--acc-green); font-weight: 800; }
.acc-product-purchase__service-list { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 16px 0 0; list-style: none; border-top: 1px solid var(--acc-border); }
.acc-product-purchase__service { 
    font-size: 12px;
    list-style: disc;
    margin-left: 10px;
}

/* BLOCK 03: STICKY CONTENT */
.acc-product-content-tabs { top: 0; z-index: 55; border-top: 1px solid var(--acc-border); border-bottom: 1px solid var(--acc-border); background: #fff; }
.acc-product-content-tabs__list { display: flex; margin: 0; padding: 0; list-style: none; }
.acc-product-content-tabs__link { position: relative; display: inline-flex; align-items: center; min-height: 56px; padding: 0 22px; font-size: 13px; font-weight: 800; white-space: nowrap; }
.acc-product-content-tabs__link.active { color: var(--acc-green); }
.acc-product-content-tabs__link.active::after { content: ""; position: absolute; right: 18px; bottom: -1px; left: 18px; height: 3px; background: var(--acc-green); }

/* BLOCK 04: DESCRIPTION */
.acc-product-description__content { font-size: 15px; line-height: 1.75; }
.acc-product-description__content h2 { margin: 0 0 15px; font-size: 28px; font-weight: 800; }
.acc-product-feature-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.acc-product-feature-card { min-height: 110px; padding: 15px; text-align: center; border: 1px solid var(--acc-border); border-radius: 6px; }
.acc-product-feature-card__icon { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin: 0 auto 9px; color: var(--acc-green); border-radius: 50%; background: #edf5ef; }
.acc-product-feature-card__title { font-size: 12px; font-weight: 800; }
.acc-product-description__media { min-height: 390px; overflow: hidden; border-radius: 8px; }
.acc-product-description__media img { width: 100%; height: 390px; object-fit: cover; }

/* BLOCK 05: SPECIFICATIONS */
.acc-product-specifications { border-top: 1px solid var(--acc-border); background: #f8faf8; }
.acc-product-spec-table { overflow: hidden; border: 1px solid var(--acc-border); border-radius: 7px; background: #fff; }
.acc-product-spec-table__row { display: grid; grid-template-columns: 260px minmax(0, 1fr); border-bottom: 1px solid var(--acc-border); }
.acc-product-spec-table__row:last-child { border-bottom: 0; }
.acc-product-spec-table__label, .acc-product-spec-table__value { padding: 14px 17px; font-size: 13px; }
.acc-product-spec-table__label { font-weight: 800; background: #f6f8f6; }

/* BLOCK 06: FREQUENTLY BOUGHT TOGETHER */
.acc-product-bundle { border-top: 1px solid var(--acc-border); }
.acc-product-bundle__panel { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 24px; padding: 24px; border: 1px solid var(--acc-border); border-radius: 8px; }
.acc-product-bundle__products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.acc-product-bundle__item { position: relative; display: flex; flex-direction: column; }
.acc-product-bundle__item:not(:last-child)::after { content: "+"; position: absolute; top: 82px; right: -22px; color: var(--acc-green); font-size: 28px; font-weight: 800; }
.acc-product-bundle__image { display: flex; align-items: center; justify-content: center; height: 170px; margin-bottom: 12px; border-radius: 6px; background: var(--acc-soft); }
.acc-product-bundle__image img { width: 100%; height: 100%; padding: 12px; object-fit: contain; }
.acc-product-bundle__name { margin-bottom: 6px; font-size: 13px; font-weight: 800; }
.acc-product-bundle__price { margin-top: auto; color: var(--acc-green); font-size: 16px; font-weight: 900; }
.acc-product-bundle__summary { display: flex; flex-direction: column; justify-content: center; padding: 20px; border-radius: 7px; background: #f4f9f5; }
.acc-product-bundle__summary-label { font-size: 12px; }
.acc-product-bundle__summary-price { margin: 6px 0 15px; color: var(--acc-green); font-size: 28px; font-weight: 900; }
.acc-product-bundle__button { min-height: 44px; color: #fff; font-size: 13px; font-weight: 800; border: 0; border-radius: 5px; background: var(--acc-green); }

.acc-product-brand-panel { border-top: 1px solid var(--acc-border); background: #f8faf8; }
.acc-product-brand-panel__box { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 24px; border: 1px solid var(--acc-border); border-radius: 8px; background: #fff; }
.acc-product-brand-panel__logo { display: flex; align-items: center; justify-content: center; height: 100px; background: var(--acc-soft); }
.acc-product-brand-panel__title { margin: 0 0 6px; font-size: 21px; font-weight: 800; }
.acc-product-brand-panel__text { margin: 0; color: #647068; font-size: 13px; }
.acc-product-brand-panel__button { min-height: 42px; padding: 10px 16px; color: var(--acc-green); font-size: 13px; font-weight: 800; border: 1px solid var(--acc-green); border-radius: 4px; }


@media (max-width: 991.98px) {
    .acc-product-purchase { position: static; }
    .acc-product-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .acc-product-bundle__panel { grid-template-columns: 1fr; }
    .acc-product-brand-panel__box { grid-template-columns: 150px 1fr; }
    .acc-product-brand-panel__button { grid-column: 1 / -1; }
    .acc-product-usp .col-sm-6:nth-child(2n) .acc-product-usp__item { border-right: 0; }
}

@media (max-width: 767.98px) {
    .section-space { padding: 34px 0; }
    .acc-section-heading { align-items: flex-start; flex-direction: column; }
    .acc-product-gallery { grid-template-columns: 1fr; }
    .acc-product-gallery__thumbs { order: 2; flex-direction: row; overflow-x: auto; }
    .acc-product-gallery__stage, .acc-product-gallery__main-image { min-height: 390px; height: 390px; }
    .acc-product-summary { padding: 28px 0 0; }
    .acc-product-downloads { grid-template-columns: 1fr; }
    .acc-product-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .acc-product-spec-table__row { grid-template-columns: 1fr; }
    .acc-product-bundle__products { grid-template-columns: 1fr; }
    .acc-product-bundle__item:not(:last-child)::after { display: none; }
    .acc-product-brand-panel__box { grid-template-columns: 1fr; text-align: center; }
}

@media (max-width: 575.98px) {
    .acc-product-purchase__controls, .acc-product-purchase__secondary-actions { grid-template-columns: 1fr; }
    .acc-product-feature-grid { grid-template-columns: 1fr; }
    .acc-product-card__media { height: 175px; }
    .acc-product-usp__item { border-right: 0; }
}

/* ==========================================================
   RESPONSIVE PRODUCT HERO IMPROVEMENTS
   Prevents the purchase panel from becoming cramped.
   ========================================================== */

@media (min-width: 992px) and (max-width: 1199.98px) {
    .acc-product-main .row {
        align-items: stretch;
    }

    .acc-product-purchase {
        position: static;
        display: grid;
        grid-template-columns: minmax(220px, 0.75fr) minmax(320px, 1.25fr) minmax(240px, 0.85fr);
        grid-template-areas:
                    "price controls professional"
                    "price secondary services";
        align-items: center;
        gap: 16px 22px;
        margin-top: 4px;
        padding: 22px 24px;
    }

    .acc-product-purchase__price-row {
        grid-area: price;
        align-content: center;
        margin: 0;
    }

    .acc-product-purchase__tax {
        grid-area: price;
        align-self: end;
        margin: 54px 0 0;
    }

    .acc-product-purchase__controls {
        grid-area: controls;
        margin: 0;
    }

    .acc-product-purchase__secondary-actions {
        grid-area: secondary;
        margin: 0;
    }

    .acc-product-purchase__professional {
        grid-area: professional;
        margin: 0;
    }

    .acc-product-purchase__service-list {
        grid-area: services;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 14px;
        padding: 0;
        border-top: 0;
    }
}

@media (max-width: 991.98px) {
    .acc-product-main {
        padding-top: 24px;
    }

    .acc-product-purchase {
        width: 100%;
        margin-top: 4px;
        padding: 22px;
    }

    .acc-product-purchase__controls {
        grid-template-columns: minmax(114px, 0.35fr) minmax(220px, 1fr);
    }

    .acc-product-purchase__secondary-actions {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .acc-product-purchase__service-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 18px;
    }
}

@media (max-width: 767.98px) {
    .acc-product-purchase {
        padding: 18px;
    }

    .acc-product-purchase__price {
        font-size: 28px;
    }

    .acc-product-purchase__controls,
    .acc-product-purchase__secondary-actions {
        grid-template-columns: 1fr;
    }

    .acc-quantity {
        width: 114px;
    }

    .acc-product-purchase__cart {
        width: 100%;
    }

    .acc-product-purchase__service-list {
        grid-template-columns: 1fr;
    }
}

/*
* SEARCH PAGE
 */

.acc-search-breadcrumb{padding:17px 0;border-bottom:1px solid var(--border)}.acc-search-breadcrumb .breadcrumb{margin:0}.acc-search-breadcrumb .breadcrumb-item,.acc-search-breadcrumb .breadcrumb-item a{color:var(--muted);font-size:13px}
.acc-search-hero{padding:34px 0 28px;border-bottom:1px solid var(--border);background:radial-gradient(circle at 10% 20%,rgba(7,91,43,.07),transparent 30%),linear-gradient(180deg,#fff,#fafcfa)}.acc-search-hero__eyebrow{display:block;margin-bottom:7px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}.acc-search-hero__title{margin:0 0 8px;color:var(--dark);font-size:34px;font-weight:800;line-height:1.15}.acc-search-hero__query{color:var(--green)}.acc-search-hero__text{margin:0;color:var(--muted);font-size:14px}.acc-search-hero__search{display:flex;max-width:620px;margin-left:auto}.acc-search-hero__search input{flex:1;min-width:0;height:48px;padding:0 15px;font-size:14px;border:1px solid var(--border);border-right:0;border-radius:5px 0 0 5px}.acc-search-hero__search button{width:52px;height:48px;border:0;border-radius:0 5px 5px 0;color:#fff;background:var(--green);font-size:18px}
.acc-search-quick{padding:22px 0 0}.acc-search-quick__title{margin:0 0 12px;color:var(--dark);font-size:15px;font-weight:800}.acc-search-quick__list{display:flex;flex-wrap:wrap;gap:9px}.acc-search-quick__item{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 11px;color:var(--green);font-size:12px;font-weight:700;border:1px solid #cfe0d5;border-radius:18px;background:#fff}.acc-search-quick__item:hover{color:#fff;border-color:var(--green);background:var(--green)}.acc-search-quick__count{opacity:.72}
.acc-search-listing{padding:30px 0 48px}.acc-search-filter{border:1px solid var(--border);background:#fff}.acc-search-filter__section{padding:18px;border-bottom:1px solid var(--border)}.acc-search-filter__section:last-child{border-bottom:0}.acc-search-filter__title{margin:0 0 14px;color:var(--dark);font-size:15px;font-weight:800;text-transform:uppercase}.acc-search-filter__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:var(--dark);font-size:14px;font-weight:700}.acc-search-filter__option{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:#454d48;font-size:13px}.acc-search-filter__option input{width:16px;height:16px;accent-color:var(--green)}.acc-search-filter__count{margin-left:auto;color:#999f9b;font-size:12px}.acc-search-filter__link-list{margin:0;padding:0;list-style:none}.acc-search-filter__link-list a{display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:7px 8px;font-size:13px}.acc-search-filter__link-list a:hover,.acc-search-filter__link-list a.active{color:var(--green);background:#f2f6f3;font-weight:700}.acc-search-filter__range{width:100%;accent-color:var(--green)}.acc-search-filter__range-values{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;font-weight:600}.acc-search-filter__clear{width:100%;min-height:40px;border:0;color:#fff;background:var(--green);font-size:12px;font-weight:800;text-transform:uppercase}
.acc-search-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.acc-search-toolbar__count{color:var(--muted);font-size:13px}.acc-search-toolbar__count strong{color:var(--dark)}.acc-search-toolbar__actions{display:flex;align-items:center;gap:10px}.acc-search-toolbar__actions label{color:var(--muted);font-size:13px}.acc-search-toolbar__actions select{min-width:190px;height:42px;padding:0 36px 0 12px;font-size:13px;border-color:var(--border)}.acc-search-mobile-filter{display:none;min-height:42px;padding:0 16px;border:0;border-radius:4px;color:#fff;background:var(--green);font-size:13px;font-weight:800}
.acc-search-empty{padding:60px 24px;text-align:center;border:1px solid var(--border);border-radius:7px;background:#fafcfa}.acc-search-empty__icon{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;margin-bottom:16px;color:var(--green);border-radius:50%;background:var(--green-soft);font-size:28px}.acc-search-empty__title{margin:0 0 8px;font-size:22px;font-weight:800}.acc-search-empty__text{max-width:540px;margin:0 auto 18px;color:var(--muted);font-size:14px}.acc-search-empty__button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;color:#fff;font-size:13px;font-weight:800;border-radius:4px;background:var(--green)}
.acc-search-pagination{margin-top:32px}.acc-search-pagination .pagination{gap:5px}.acc-search-pagination .page-link{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:8px 12px;color:var(--green);background:#fff;font-size:13px;font-weight:600;border:1px solid var(--border);border-radius:4px}.acc-search-pagination .page-link:hover,.acc-search-pagination .page-item.active .page-link{color:#fff;border-color:var(--green);background:var(--green)}.acc-search-pagination .page-item.disabled .page-link{color:#9ca39e;background:#f6f8f6}
.acc-search-usp{margin-top:40px;border:1px solid var(--border);background:#fafbfa}.acc-search-usp__item{display:flex;align-items:center;gap:12px;min-height:82px;padding:14px 18px}.acc-search-usp__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--green);font-size:22px}.acc-search-usp__item strong{display:block;margin-bottom:2px;font-size:13px}.acc-search-usp__item small{display:block;color:var(--muted);font-size:11px}
.acc-search-newsletter{margin-top:30px;color:#fff;background:linear-gradient(110deg,#071f14,#064f29)}.acc-search-newsletter__inner{padding:30px 34px}.acc-search-newsletter h2{margin:0 0 5px;font-size:23px;font-weight:800}.acc-search-newsletter p{margin:0;color:rgba(255,255,255,.78);font-size:13px}.acc-search-newsletter__form{display:flex}.acc-search-newsletter__form input{flex:1;min-width:0;height:46px;padding:0 14px;border:0;font-size:13px}.acc-search-newsletter__form button{min-width:150px;border:0;color:#fff;background:#0a7a38;font-size:12px;font-weight:800;text-transform:uppercase}
@media(max-width:1199.98px){.acc-product-card__media{height:215px}.acc-product-card{min-height:415px}}
@media(max-width:991.98px){.acc-search-filter-column{display:none}.acc-search-mobile-filter{display:inline-flex;align-items:center}.acc-search-hero__search{margin-top:20px;margin-left:0}}
@media(max-width:767.98px){.acc-search-hero__title{font-size:28px}.acc-search-toolbar{flex-direction:column;align-items:flex-start}.acc-search-toolbar__actions{width:100%}.acc-search-toolbar__actions select{flex:1}.acc-product-card{min-height:380px}.acc-product-card__media{height:180px;padding:14px}.acc-search-newsletter__form{margin-top:18px}}
@media(max-width:575.98px){.acc-search-hero__search{display:block}.acc-search-hero__search input{width:100%;border-right:1px solid var(--border);border-radius:5px}.acc-search-hero__search button{width:100%;margin-top:8px;border-radius:5px}.acc-search-toolbar__actions{flex-direction:column;align-items:stretch}.acc-search-toolbar__actions label{display:none}.acc-product-card__title{min-height:0;font-size:13px}.acc-product-card__price-current{font-size:15px}.acc-search-newsletter__inner{padding:24px 20px}.acc-search-newsletter__form{display:block}.acc-search-newsletter__form button{width:100%;height:44px}}
