/* Hide native WooCommerce archive title/description */
        body.archive.woocommerce .woocommerce-products-header,
        body.tax-product_cat .woocommerce-products-header,
        body.tax-pwb-brand .woocommerce-products-header,
        body.tax-product_brand .woocommerce-products-header,
        body.tax-pa_brand .woocommerce-products-header {
            display: none !important;
            visibility: hidden !important;
            height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            overflow: hidden !important;
        }

        /* A clean category + brand route is never the main /shop/ screen. */
        body.savvas-category-brand-landing .sgc-shop-main-cats-section {
            display: none !important;
        }

        /* Main wrapper */
        .savvas-archive-box-wrap {
            width: calc(100% - 120px) !important;
            max-width: 1280px !important;

            margin: -70px auto 38px auto !important;
            padding: 0 !important;

            display: block !important;
            box-sizing: border-box !important;
            overflow: visible !important;
        }

        /* Grey box */
        .savvas-archive-box-wrap .savvas-brand-box {
            width: 100% !important;

            display: grid !important;
            grid-template-columns: 1fr 240px !important;
            align-items: center !important;
            gap: 18px 34px !important;

            padding: 24px 34px !important;

            background: #f7f7f7 !important;
            border: 1px solid #e5e5e5 !important;

            box-sizing: border-box !important;
            overflow: visible !important;
        }

        /* Category page: text only, full width */
        .savvas-archive-box-wrap .savvas-category-box {
            grid-template-columns: 1fr !important;
        }

        /* Brand page: full width layout, like category page */
        .savvas-archive-box-wrap .savvas-brand-archive-box {
            grid-template-columns: 1fr !important;
        }

        /* Inner brand content from old custom brand HTML */
        .savvas-archive-box-wrap .savvas-brand-inner-content {
            display: contents !important;
        }

        /* If brand description has old inline divs, force them full width */
        .savvas-archive-box-wrap .savvas-brand-inner-content > div {
            grid-column: 1 / -1 !important;

            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;

            flex: none !important;

            margin: 0 !important;
            padding: 0 !important;

            box-sizing: border-box !important;
        }

        /* Old brand HTML logo div */
        .savvas-archive-box-wrap .savvas-brand-inner-content > div:has(img) {
            display: flex !important;
            justify-content: center !important;
            align-items: center !important;

            order: 2 !important;
        }

        /* Old brand HTML text div */
        .savvas-archive-box-wrap .savvas-brand-inner-content > div:not(:has(img)) {
            order: 3 !important;
        }

        /* Title row */
        .savvas-archive-box-wrap .savvas-archive-title-row {
            grid-column: 1 / -1 !important;

            width: 100% !important;

            margin: 0 !important;
            padding: 0 !important;

            box-sizing: border-box !important;

            order: 1 !important;
        }

        /* Title */
        .savvas-archive-box-wrap .savvas-archive-title {
            display: block !important;

            width: 100% !important;

            margin: 0 !important;
            padding: 0 0 10px 0 !important;

            font-size: 18px !important;
            line-height: 1.25 !important;
            font-weight: 900 !important;

            color: #2f5d3f !important;
            text-transform: uppercase !important;
            letter-spacing: 0.25px !important;

            border-bottom: 1px solid #dcdcdc !important;
        }

        /* Description */
        .savvas-archive-box-wrap .savvas-archive-description,
        .savvas-archive-box-wrap .savvas-archive-description p,
        .savvas-archive-box-wrap .savvas-brand-text,
        .savvas-archive-box-wrap .savvas-brand-text p,
        .savvas-archive-box-wrap .savvas-brand-inner-content,
        .savvas-archive-box-wrap .savvas-brand-inner-content p,
        .savvas-archive-box-wrap .savvas-brand-inner-content div {
            font-size: 14px !important;
            line-height: 1.55 !important;
            font-weight: 400 !important;

            color: #666 !important;
            text-align: left !important;
        }

        .savvas-archive-box-wrap .savvas-archive-description,
        .savvas-archive-box-wrap .savvas-archive-description p,
        .savvas-archive-box-wrap .savvas-brand-text,
        .savvas-archive-box-wrap .savvas-brand-text p {
            margin: 0 !important;
            padding: 0 !important;
        }

        /* Brand logo */
        .savvas-archive-box-wrap .savvas-brand-logo {
            grid-column: 1 / -1 !important;

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

            width: 100% !important;

            margin: 0 !important;
            padding: 0 !important;

            overflow: visible !important;

            order: 2 !important;
        }

        .savvas-archive-box-wrap .savvas-brand-logo img,
        .savvas-archive-box-wrap .savvas-brand-inner-content img {
            display: block !important;

            width: auto !important;
            max-width: 170px !important;

            height: auto !important;
            max-height: 75px !important;

            margin: 0 auto !important;
            padding: 0 !important;

            object-fit: contain !important;
            object-position: center center !important;

            float: none !important;
            clear: both !important;
        }

        .savvas-archive-box-wrap .savvas-brand-text,
        .savvas-archive-box-wrap .savvas-archive-description {
            grid-column: 1 / -1 !important;
            width: 100% !important;
            max-width: 100% !important;

            order: 3 !important;
        }

        .savvas-archive-box-wrap .savvas-category-seo-content {
            grid-column: 1 / -1 !important;
            width: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
            color: #5f5f5f !important;
            font-size: 14px !important;
            line-height: 1.55 !important;
            order: 3 !important;
        }

        .savvas-archive-box-wrap .savvas-category-seo-content p {
            margin: 0 0 8px 0 !important;
            padding: 0 !important;
            color: inherit !important;
            font-size: inherit !important;
            line-height: inherit !important;
        }

        .savvas-archive-box-wrap .savvas-category-seo-content p:last-child {
            margin-bottom: 0 !important;
        }

        .savvas-archive-box-wrap .savvas-category-seo-content a {
            color: #2f5d3f !important;
            font-weight: 700 !important;
            text-decoration: underline !important;
            text-underline-offset: 2px !important;
        }

        /* Direct categories/subcategories links */
        .savvas-archive-box-wrap .savvas-direct-subcategories-row {
            grid-column: 1 / -1 !important;

            display: flex !important;
            flex-wrap: wrap !important;
            align-items: center !important;
            gap: 8px !important;

            width: 100% !important;

            margin: 2px 0 0 0 !important;
            padding: 14px 0 0 0 !important;

            border-top: 1px solid #dcdcdc !important;

            overflow: visible !important;

            box-sizing: border-box !important;
            scrollbar-width: thin !important;

            order: 4 !important;
        }

        .savvas-archive-box-wrap .savvas-direct-subcategory-link {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;

            flex: 0 0 auto !important;

            padding: 8px 13px !important;

            background: #ffffff !important;
            border: 1px solid #d8d8d8 !important;

            color: #2f5d3f !important;

            font-size: 12px !important;
            line-height: 1.2 !important;
            font-weight: 800 !important;

            text-decoration: none !important;
            text-transform: uppercase !important;
            white-space: nowrap !important;

            transition: all 0.2s ease !important;
        }

        .savvas-archive-box-wrap .savvas-direct-subcategory-link:hover {
            background: #2f5d3f !important;
            border-color: #2f5d3f !important;
            color: #ffffff !important;
        }

        .savvas-archive-box-wrap .savvas-direct-subcategory-link.is-current {
            background: #2f5d3f !important;
            border-color: #2f5d3f !important;
            color: #ffffff !important;
            cursor: default !important;
        }

        .savvas-archive-box-wrap .savvas-category-brand-context-links {
            grid-column: 1 / -1 !important;
            display: flex !important;
            flex-wrap: wrap !important;
            gap: 8px 18px !important;
            width: 100% !important;
            margin: 0 !important;
            padding: 2px 0 0 0 !important;
            order: 4 !important;
        }

        .savvas-archive-box-wrap .savvas-category-brand-context-links a {
            color: #2f5d3f !important;
            font-size: 12px !important;
            line-height: 1.35 !important;
            font-weight: 800 !important;
            text-decoration: underline !important;
            text-underline-offset: 3px !important;
        }

        .savvas-archive-box-wrap .savvas-mixed-archive-box .savvas-direct-subcategories-row {
            order: 5 !important;
        }

        /* Useful category guidance and FAQ below the product loop */
        .savvas-category-bottom-content {
            width: 100%;
            margin: 38px 0 48px;
            padding: 28px 30px;
            background: #f7f7f7;
            border: 1px solid #e2e2e2;
            border-top: 3px solid #2f5d3f;
            box-sizing: border-box;
            color: #555;
        }

        .savvas-category-bottom-content h2 {
            margin: 0 0 14px;
            padding: 0;
            color: #2f5d3f;
            font-size: 20px;
            line-height: 1.3;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.2px;
        }

        .savvas-category-bottom-content__intro {
            margin-bottom: 26px;
        }

        .savvas-category-bottom-content__intro p {
            margin: 0 0 10px;
            color: #555;
            font-size: 14px;
            line-height: 1.65;
        }

        .savvas-category-bottom-content__intro p:last-child {
            margin-bottom: 0;
        }

        .savvas-category-bottom-content .savvas-category-seo-content {
            margin: 0 0 12px;
            padding: 0;
            color: #555;
            font-size: 14px;
            line-height: 1.65;
        }

        .savvas-category-bottom-content .savvas-category-seo-content p {
            margin: 0 0 10px;
            color: inherit;
            font-size: inherit;
            line-height: inherit;
        }

        .savvas-category-bottom-content a {
            color: #2f5d3f;
            font-weight: 700;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .savvas-category-bottom-content__faq-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px 14px;
        }

        .savvas-category-bottom-content__faq-item {
            margin: 0;
            background: #fff;
            border: 1px solid #dedede;
        }

        .savvas-category-bottom-content__faq-item summary {
            position: relative;
            padding: 15px 42px 15px 16px;
            color: #2f5d3f;
            font-size: 14px;
            line-height: 1.4;
            font-weight: 800;
            cursor: pointer;
            list-style: none;
        }

        .savvas-category-bottom-content__faq-item summary::-webkit-details-marker {
            display: none;
        }

        .savvas-category-bottom-content__faq-item summary::after {
            content: '+';
            position: absolute;
            top: 50%;
            right: 16px;
            transform: translateY(-50%);
            color: #2f5d3f;
            font-size: 22px;
            line-height: 1;
            font-weight: 500;
        }

        .savvas-category-bottom-content__faq-item[open] summary::after {
            content: '\2212';
        }

        .savvas-category-bottom-content__faq-answer {
            padding: 0 16px 15px;
        }

        .savvas-category-bottom-content__faq-answer p {
            margin: 0;
            color: #666;
            font-size: 13px;
            line-height: 1.6;
        }

        /* Context-aware category and brand crawl paths */
        .savvas-category-internal-links {
            width: 100%;
            margin: -28px 0 48px;
            padding: 22px 30px 26px;
            background: #fff;
            border: 1px solid #e2e2e2;
            border-top: 0;
            box-sizing: border-box;
        }

        .savvas-category-internal-links > h2 {
            margin: 0 0 16px;
            padding: 0;
            color: #2f5d3f;
            font-size: 17px;
            line-height: 1.3;
            font-weight: 900;
            text-transform: uppercase;
        }

        .savvas-category-internal-links__groups {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 22px;
        }

        .savvas-category-internal-links__group h3 {
            margin: 0 0 9px;
            padding: 0 0 7px;
            color: #555;
            border-bottom: 1px solid #e5e5e5;
            font-size: 13px;
            line-height: 1.35;
            font-weight: 800;
            text-transform: uppercase;
        }

        .savvas-category-internal-links__list {
            display: grid;
            gap: 6px;
        }

        .savvas-category-internal-links__list a {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            min-height: 38px;
            padding: 8px 11px;
            color: #2f5d3f;
            background: #f8f8f8;
            border: 1px solid #e8e8e8;
            box-sizing: border-box;
            font-size: 12px;
            line-height: 1.35;
            font-weight: 800;
            text-decoration: none;
            transition: background-color 0.2s ease, border-color 0.2s ease;
        }

        .savvas-category-internal-links__list a:hover,
        .savvas-category-internal-links__list a:focus-visible {
            color: #fff;
            background: #2f5d3f;
            border-color: #2f5d3f;
        }

        .savvas-category-internal-links__list a span:last-child {
            flex: 0 0 auto;
            font-size: 17px;
            line-height: 1;
        }

        /* Mobile */
        @media (max-width: 768px) {

            .savvas-category-bottom-content {
                margin: 28px 0 36px;
                padding: 20px 14px;
            }

            .savvas-category-bottom-content h2 {
                margin-bottom: 12px;
                font-size: 16px;
            }

            .savvas-category-bottom-content__intro {
                margin-bottom: 20px;
            }

            .savvas-category-bottom-content__intro p {
                font-size: 13px;
                line-height: 1.55;
            }

            .savvas-category-bottom-content .savvas-category-seo-content {
                font-size: 13px;
                line-height: 1.55;
            }

            .savvas-category-bottom-content__faq-grid {
                grid-template-columns: 1fr;
                gap: 8px;
            }

            .savvas-category-bottom-content__faq-item summary {
                padding: 13px 38px 13px 13px;
                font-size: 13px;
            }

            .savvas-category-bottom-content__faq-answer {
                padding: 0 13px 13px;
            }

            .savvas-category-internal-links {
                margin: -20px 0 36px;
                padding: 18px 14px 20px;
            }

            .savvas-category-internal-links > h2 {
                margin-bottom: 14px;
                font-size: 15px;
            }

            .savvas-category-internal-links__groups {
                grid-template-columns: 1fr;
                gap: 18px;
            }

            .savvas-category-internal-links__list a {
                min-height: 42px;
                font-size: 12px;
            }

            body.archive.woocommerce .site-content,
            body.archive.woocommerce #content,
            body.archive.woocommerce .content-area,
            body.archive.woocommerce main,
            body.tax-product_cat .site-content,
            body.tax-product_cat #content,
            body.tax-product_cat .content-area,
            body.tax-product_cat main,
            body.tax-pwb-brand .site-content,
            body.tax-pwb-brand #content,
            body.tax-pwb-brand .content-area,
            body.tax-pwb-brand main,
            body.tax-product_brand .site-content,
            body.tax-product_brand #content,
            body.tax-product_brand .content-area,
            body.tax-product_brand main,
            body.tax-pa_brand .site-content,
            body.tax-pa_brand #content,
            body.tax-pa_brand .content-area,
            body.tax-pa_brand main {
                margin-top: 0 !important;
                padding-top: 0 !important;
            }

            .savvas-archive-box-wrap {
                width: calc(100% - 18px) !important;
                max-width: calc(100% - 18px) !important;

                margin: 12px auto 22px auto !important;
                padding: 0 !important;

                display: block !important;
                overflow: visible !important;

                box-sizing: border-box !important;
            }

            .savvas-archive-box-wrap .savvas-brand-box {
                display: flex !important;
                flex-direction: column !important;
                align-items: center !important;

                width: 100% !important;

                gap: 14px !important;
                padding: 16px 12px 18px 12px !important;

                background: #f7f7f7 !important;
                border: 1px solid #e4e4e4 !important;

                box-sizing: border-box !important;
                overflow: visible !important;
            }

            .savvas-archive-box-wrap .savvas-archive-title-row {
                order: 1 !important;
                width: 100% !important;
            }

            .savvas-archive-box-wrap .savvas-brand-logo,
            .savvas-archive-box-wrap .savvas-brand-inner-content > div:has(img) {
                order: 2 !important;
                width: 100% !important;
            }

            .savvas-archive-box-wrap .savvas-brand-logo img,
            .savvas-archive-box-wrap .savvas-brand-inner-content img {
                width: 125px !important;
                max-width: 125px !important;

                height: auto !important;
                max-height: none !important;
            }

            .savvas-archive-box-wrap .savvas-brand-text,
            .savvas-archive-box-wrap .savvas-archive-description,
            .savvas-archive-box-wrap .savvas-category-seo-content,
            .savvas-archive-box-wrap .savvas-brand-inner-content > div:not(:has(img)) {
                order: 3 !important;
                width: 100% !important;

                font-size: 12.5px !important;
                line-height: 1.42 !important;
            }

            .savvas-archive-box-wrap .savvas-archive-title {
                margin: 0 !important;
                padding: 0 0 8px 0 !important;

                font-size: 15px !important;
                line-height: 1.25 !important;
                font-weight: 900 !important;

                color: #2f5d3f !important;
                border-bottom: 1px solid #dcdcdc !important;
            }

            .savvas-archive-box-wrap .savvas-direct-subcategories-row {
                order: 4 !important;

                margin-top: 0 !important;
                padding-top: 12px !important;

                gap: 7px !important;
            }

            .savvas-archive-box-wrap .savvas-category-brand-context-links {
                order: 4 !important;
                gap: 7px 14px !important;
            }

            .savvas-archive-box-wrap .savvas-category-brand-context-links a {
                font-size: 11px !important;
            }

            .savvas-archive-box-wrap .savvas-mixed-archive-box .savvas-direct-subcategories-row {
                order: 5 !important;
            }

            .savvas-archive-box-wrap .savvas-direct-subcategory-link {
                padding: 7px 11px !important;

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