/* Scope all visual changes to WooCommerce product archives only. */
        body.woocommerce-shop .woocommerce-breadcrumb,
        body.tax-product_cat .woocommerce-breadcrumb,
        body.tax-product_tag .woocommerce-breadcrumb,
        body.woocommerce-shop .woocommerce-products-header,
        body.tax-product_cat .woocommerce-products-header,
        body.tax-product_tag .woocommerce-products-header{
            display:none !important;
        }

        .cc-shop-banner,
        .cc-shop-banner *,
        .cc-shop-filter-card,
        .cc-shop-filter-card *,
        .cc-shop-results-bar,
        .cc-shop-results-bar *{
            box-sizing:border-box;
        }

        /* =================================================
           BANNER
        ================================================= */
        .cc-shop-banner{
            --cc-yellow:#FFCC05;
            --cc-black:#18181A;
            --cc-grey:#737379;
            width:100%;
            min-height:330px;
            margin:28px 0 20px;
            padding:42px 44px;
            display:grid;
            grid-template-columns:1.2fr .8fr;
            align-items:center;
            gap:40px;
            overflow:hidden;
            position:relative;
            border:1px solid #ECE8DA;
            border-radius:24px;
            background:
                radial-gradient(circle at 88% 25%,rgba(255,204,5,.32),transparent 27%),
                linear-gradient(125deg,#FFFFFF 0%,#FFFDF5 58%,#FFF6C7 100%);
            font-family:'Poppins',Arial,sans-serif;
        }

        .cc-shop-banner:before{
            content:"";
            position:absolute;
            width:230px;
            height:230px;
            right:-100px;
            bottom:-130px;
            border:42px solid rgba(255,204,5,.15);
            border-radius:50%;
            pointer-events:none;
        }

        .cc-shop-banner-copy{
            position:relative;
            z-index:2;
            max-width:720px;
        }

        .cc-shop-banner-eyebrow{
            display:inline-flex;
            align-items:center;
            gap:8px;
            margin-bottom:13px;
            color:#77777C;
            font-size:9.5px;
            font-weight:700;
            letter-spacing:1.25px;
            text-transform:uppercase;
        }

        .cc-shop-banner-eyebrow span{
            width:28px;
            height:3px;
            border-radius:20px;
            background:var(--cc-yellow);
        }

        .cc-shop-banner h1{
            max-width:650px;
            margin:0 !important;
            padding:0 !important;
            color:var(--cc-black) !important;
            font-family:'Poppins',Arial,sans-serif !important;
            font-size:45px !important;
            line-height:1.12 !important;
            font-weight:700 !important;
            letter-spacing:-1.6px;
        }

        .cc-shop-banner h1 strong{
            display:inline-block;
            position:relative;
            z-index:1;
            font-weight:700;
        }

        .cc-shop-banner h1 strong:after{
            content:"";
            position:absolute;
            left:-2px;
            right:-3px;
            bottom:4px;
            height:11px;
            border-radius:3px;
            background:var(--cc-yellow);
            z-index:-1;
        }

        .cc-shop-banner-copy > p{
            max-width:620px;
            margin:15px 0 0 !important;
            color:var(--cc-grey) !important;
            font-family:'Poppins',Arial,sans-serif !important;
            font-size:11.5px !important;
            line-height:1.85 !important;
        }

        .cc-shop-banner-points{
            display:flex;
            flex-wrap:wrap;
            gap:15px;
            margin-top:22px;
        }

        .cc-shop-banner-points span{
            display:inline-flex;
            align-items:center;
            gap:7px;
            color:#55555B;
            font-size:8.5px;
            font-weight:600;
        }

        .cc-shop-banner-points i{
            width:7px;
            height:7px;
            display:block;
            border-radius:50%;
            background:var(--cc-yellow);
            box-shadow:0 0 0 4px rgba(255,204,5,.12);
        }

        .cc-shop-banner-visual{
            display:flex;
            align-items:center;
            justify-content:center;
            position:relative;
            z-index:2;
        }

        .cc-shop-banner-card{
            width:285px;
            padding:25px;
            border:1px solid rgba(24,24,26,.07);
            border-radius:19px;
            background:#fff;
            box-shadow:0 22px 55px rgba(24,24,26,.10);
            transform:rotate(2deg);
        }

        .cc-shop-banner-logo{
            width:62px;
            height:62px;
            margin-bottom:17px;
            overflow:hidden;
            border:2px solid var(--cc-yellow);
            border-radius:50%;
            background:#fff;
        }

        .cc-shop-banner-logo img{
            width:100%;
            height:100%;
            display:block;
            object-fit:cover;
        }

        .cc-shop-banner-small{
            display:block;
            margin-bottom:5px;
            color:#98989D;
            font-size:7.5px;
            font-weight:700;
            letter-spacing:1px;
            text-transform:uppercase;
        }

        .cc-shop-banner-card > strong{
            display:block;
            color:var(--cc-black);
            font-size:17px;
            line-height:1.45;
            font-weight:700;
        }

        .cc-shop-banner-lines{
            margin-top:20px;
            padding-top:17px;
            border-top:1px solid #EEEEEE;
        }

        .cc-shop-banner-lines span{
            display:block;
            height:6px;
            margin-top:7px;
            border-radius:20px;
            background:#F0F0F0;
        }

        .cc-shop-banner-lines span:first-child{ width:90%; margin-top:0; background:#FFF0A7; }
        .cc-shop-banner-lines span:nth-child(2){ width:72%; }
        .cc-shop-banner-lines span:nth-child(3){ width:55%; }

        /* =================================================
           FILTER CARD - SEPARATE FROM BANNER
        ================================================= */
        .cc-shop-filter-card{
            --cc-yellow:#FFCC05;
            --cc-black:#18181A;
            width:100%;
            margin:0 0 38px;
            padding:25px 27px;
            border:1px solid #EAEAEA;
            border-radius:18px;
            background:#FFFFFF;
            box-shadow:0 10px 32px rgba(24,24,26,.045);
            font-family:'Poppins',Arial,sans-serif;
        }

        .cc-shop-filter-heading{
            display:flex;
            align-items:center;
            gap:12px;
            margin-bottom:20px;
        }

        .cc-shop-filter-icon{
            width:42px;
            height:42px;
            flex:0 0 42px;
            display:flex;
            align-items:center;
            justify-content:center;
            border-radius:10px;
            background:var(--cc-yellow);
            color:var(--cc-black);
        }

        .cc-shop-filter-icon svg{ width:18px; height:18px; }

        .cc-shop-filter-heading span{
            display:block;
            margin-bottom:2px;
            color:#99999D;
            font-size:7.5px;
            font-weight:700;
            letter-spacing:.9px;
            text-transform:uppercase;
        }

        .cc-shop-filter-heading h2{
            margin:0 !important;
            padding:0 !important;
            color:var(--cc-black) !important;
            font-family:'Poppins',Arial,sans-serif !important;
            font-size:16px !important;
            line-height:1.35 !important;
            font-weight:600 !important;
        }

        .cc-shop-filter{
            margin:0;
            padding:0;
        }

        .cc-shop-filter-fields{
            display:grid;
            gap:14px;
        }

        .cc-filter-count-4 .cc-shop-filter-fields{
            grid-template-columns:repeat(4,minmax(0,1fr));
        }

        .cc-filter-count-3 .cc-shop-filter-fields{
            grid-template-columns:repeat(3,minmax(0,1fr));
        }

        .cc-filter-count-2 .cc-shop-filter-fields{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }

        .cc-shop-filter-field label{
            display:block;
            margin:0 0 7px !important;
            color:#55555A;
            font-size:8.5px;
            font-weight:600;
        }

        .cc-shop-filter-field select{
            width:100%;
            height:50px;
            margin:0;
            padding:0 14px;
            border:1px solid #E3E3E3;
            border-radius:10px;
            outline:none;
            background:#FAFAFA;
            color:var(--cc-black);
            font-family:'Poppins',Arial,sans-serif;
            font-size:10.5px;
            box-shadow:none;
            transition:.2s ease;
        }

        .cc-shop-filter-field select:focus{
            border-color:var(--cc-yellow);
            background:#fff;
            box-shadow:0 0 0 3px rgba(255,204,5,.12);
        }

        .cc-shop-filter-field.is-disabled{ opacity:.45; }
        .cc-shop-filter-field.is-disabled select{ cursor:not-allowed; }

        .cc-shop-filter-buttons{
            display:flex;
            align-items:center;
            gap:9px;
            margin-top:16px;
        }

        .cc-shop-apply,
        .cc-shop-reset,
        .cc-shop-all-notes{
            min-height:47px;
            padding:0 19px;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:8px;
            border-radius:9px;
            font-family:'Poppins',Arial,sans-serif;
            font-size:8.5px;
            font-weight:700;
            letter-spacing:.55px;
            text-transform:uppercase;
            text-decoration:none !important;
            transition:.22s ease;
        }

        .cc-shop-apply svg{ width:14px; height:14px; }

        .cc-shop-apply{
            border:0;
            background:var(--cc-black);
            color:#fff;
            cursor:pointer;
        }

        .cc-shop-apply:hover{
            background:var(--cc-yellow);
            color:var(--cc-black);
            transform:translateY(-2px);
        }

        .cc-shop-reset{
            border:1px solid #E2E2E2;
            background:#fff;
            color:var(--cc-black) !important;
        }

        .cc-shop-reset:hover{
            border-color:var(--cc-yellow);
            background:#FFF8D8;
            color:var(--cc-black) !important;
            transform:translateY(-2px);
        }


        .cc-shop-all-notes{
            margin-left:auto;
            border:1px solid var(--cc-yellow);
            background:#FFF8D8;
            color:var(--cc-black) !important;
        }

        .cc-shop-all-notes:hover{
            background:var(--cc-yellow);
            color:var(--cc-black) !important;
            transform:translateY(-2px);
        }

        /* =================================================
           RESULTS BAR
        ================================================= */
        .cc-shop-results-bar{
            --cc-yellow:#FFCC05;
            --cc-black:#18181A;
            scroll-margin-top:25px;
            width:100%;
            margin:8px 0 20px;
            padding:18px 20px;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:20px;
            border:1px solid #ECECEC;
            border-radius:14px;
            background:#FFFFFF;
            font-family:'Poppins',Arial,sans-serif;
        }

        .cc-shop-results-copy > span{
            display:block;
            margin-bottom:3px;
            color:#98989D;
            font-size:7.5px;
            font-weight:700;
            letter-spacing:.9px;
            text-transform:uppercase;
        }

        .cc-shop-results-copy h2{
            margin:0 !important;
            padding:0 !important;
            color:var(--cc-black) !important;
            font-family:'Poppins',Arial,sans-serif !important;
            font-size:18px !important;
            line-height:1.3 !important;
            font-weight:700 !important;
        }

        .cc-shop-results-copy p{
            margin:3px 0 0 !important;
            color:#8B8B90 !important;
            font-size:8.5px !important;
        }

        .cc-shop-results-ordering .woocommerce-ordering{
            float:none !important;
            margin:0 !important;
        }

        .cc-shop-results-ordering select{
            min-width:190px;
            height:44px;
            margin:0;
            padding:0 12px;
            border:1px solid #E5E5E5;
            border-radius:9px;
            outline:none;
            background:#FAFAFA;
            color:#18181A;
            font-family:'Poppins',Arial,sans-serif;
            font-size:9.5px;
        }

        /* Hide Woo default result/order because we render our own bar. */
        body.woocommerce-shop > .woocommerce .woocommerce-result-count,
        body.tax-product_cat > .woocommerce .woocommerce-result-count,
        body.tax-product_tag > .woocommerce .woocommerce-result-count{
            display:none !important;
        }

        /* =================================================
           PRODUCT GRID
        ================================================= */
        body.woocommerce-shop ul.products,
        body.tax-product_cat ul.products,
        body.tax-product_tag ul.products{
            display:grid !important;
            grid-template-columns:repeat(4,minmax(0,1fr));
            gap:17px !important;
            margin:0 !important;
            padding:0 !important;
        }

        body.woocommerce-shop ul.products:before,
        body.woocommerce-shop ul.products:after,
        body.tax-product_cat ul.products:before,
        body.tax-product_cat ul.products:after,
        body.tax-product_tag ul.products:before,
        body.tax-product_tag ul.products:after{
            display:none !important;
        }

        body.woocommerce-shop ul.products li.product,
        body.tax-product_cat ul.products li.product,
        body.tax-product_tag ul.products li.product{
            width:100% !important;
            margin:0 !important;
            padding:12px 12px 15px !important;
            float:none !important;
            overflow:hidden;
            border:1px solid #EAEAEA;
            border-radius:17px;
            background:#fff;
            box-shadow:0 7px 24px rgba(24,24,26,.035);
            transition:.25s ease;
        }

        body.woocommerce-shop ul.products li.product:hover,
        body.tax-product_cat ul.products li.product:hover,
        body.tax-product_tag ul.products li.product:hover{
            transform:translateY(-5px);
            border-color:rgba(255,204,5,.75);
            box-shadow:0 20px 42px rgba(24,24,26,.08);
        }

        body.woocommerce-shop ul.products li.product a img,
        body.tax-product_cat ul.products li.product a img,
        body.tax-product_tag ul.products li.product a img{
            width:100% !important;
            height:230px !important;
            margin:0 0 14px !important;
            padding:0 !important;
            object-fit:cover;
            border-radius:12px;
            background:#FFF9DF;
        }

        body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
        body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
        body.tax-product_tag ul.products li.product .woocommerce-loop-product__title{
            margin:0 0 7px !important;
            padding:0 !important;
            color:#18181A !important;
            font-family:'Poppins',Arial,sans-serif !important;
            font-size:14px !important;
            line-height:1.45 !important;
            font-weight:600 !important;
        }

        .cc-product-chips{
            display:flex;
            flex-wrap:wrap;
            gap:5px;
            margin:0 0 9px;
        }

        .cc-product-chip{
            display:inline-flex;
            align-items:center;
            min-height:23px;
            padding:0 7px;
            border-radius:6px;
            background:#FFF7CD;
            color:#625300 !important;
            font-family:'Poppins',Arial,sans-serif;
            font-size:7.5px;
            font-weight:600;
            text-transform:uppercase;
            letter-spacing:.35px;
            text-decoration:none !important;
            transition:.18s ease;
        }

        a.cc-product-chip:hover{
            background:#FFCC05;
            color:#18181A !important;
            transform:translateY(-1px);
        }

        .cc-product-chip.cc-chip-meta{
            background:#F5F5F5;
            color:#66666C !important;
        }

        body.woocommerce-shop ul.products li.product .price,
        body.tax-product_cat ul.products li.product .price,
        body.tax-product_tag ul.products li.product .price{
            margin:0 0 12px !important;
            color:#18181A !important;
            font-family:'Poppins',Arial,sans-serif !important;
            font-size:16px !important;
            font-weight:700 !important;
        }

        body.woocommerce-shop ul.products li.product .price del,
        body.tax-product_cat ul.products li.product .price del,
        body.tax-product_tag ul.products li.product .price del{
            color:#A5A5A8 !important;
            opacity:1 !important;
            font-size:10px;
        }

        body.woocommerce-shop ul.products li.product .button,
        body.tax-product_cat ul.products li.product .button,
        body.tax-product_tag ul.products li.product .button{
            width:100%;
            min-height:43px;
            margin:0 !important;
            padding:0 12px !important;
            display:flex !important;
            align-items:center;
            justify-content:center;
            border-radius:8px !important;
            background:#18181A !important;
            color:#fff !important;
            font-family:'Poppins',Arial,sans-serif !important;
            font-size:8.5px !important;
            font-weight:600 !important;
            letter-spacing:.5px;
            text-transform:uppercase;
            transition:.2s ease;
        }

        body.woocommerce-shop ul.products li.product .button:hover,
        body.tax-product_cat ul.products li.product .button:hover,
        body.tax-product_tag ul.products li.product .button:hover{
            background:#FFCC05 !important;
            color:#18181A !important;
        }

        body.woocommerce-shop span.onsale,
        body.tax-product_cat span.onsale,
        body.tax-product_tag span.onsale{
            top:10px !important;
            left:10px !important;
            right:auto !important;
            min-width:auto !important;
            min-height:auto !important;
            margin:0 !important;
            padding:6px 9px !important;
            border-radius:20px !important;
            background:#18181A !important;
            color:#FFCC05 !important;
            font-family:'Poppins',Arial,sans-serif !important;
            font-size:7px !important;
            line-height:1 !important;
            font-weight:700 !important;
        }

        /* =================================================
           EMPTY STATE
        ================================================= */
        .cc-shop-empty{
            scroll-margin-top:25px;
            margin:12px 0 42px;
            padding:52px 25px;
            border:1px solid #EAEAEA;
            border-radius:18px;
            background:#fff;
            text-align:center;
            box-shadow:0 10px 30px rgba(24,24,26,.04);
            font-family:'Poppins',Arial,sans-serif;
        }

        .cc-shop-empty-icon{
            width:52px;
            height:52px;
            margin:0 auto 15px;
            display:flex;
            align-items:center;
            justify-content:center;
            border-radius:12px;
            background:#FFCC05;
            color:#18181A;
        }

        .cc-shop-empty-icon svg{ width:22px; height:22px; }
        .cc-shop-empty h3{ margin:0 0 7px !important; color:#18181A !important; font-size:20px !important; font-weight:700 !important; }
        .cc-shop-empty p{ margin:0 !important; color:#77777D !important; font-size:10.5px !important; }
        .cc-shop-empty a{
            min-height:43px;
            margin-top:17px;
            padding:0 17px;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            border-radius:8px;
            background:#18181A;
            color:#fff !important;
            font-size:8.5px;
            font-weight:600;
            letter-spacing:.5px;
            text-transform:uppercase;
            text-decoration:none !important;
        }
        .cc-shop-empty a:hover{ background:#FFCC05; color:#18181A !important; }

        /* =================================================
           PREMIUM PAGINATION
        ================================================= */
        body.woocommerce-shop nav.woocommerce-pagination,
        body.tax-product_cat nav.woocommerce-pagination,
        body.tax-product_tag nav.woocommerce-pagination{
            clear:both;
            margin:38px 0 18px !important;
            text-align:center;
        }

        body.woocommerce-shop nav.woocommerce-pagination ul,
        body.tax-product_cat nav.woocommerce-pagination ul,
        body.tax-product_tag nav.woocommerce-pagination ul{
            margin:0 !important;
            padding:8px !important;
            display:inline-flex !important;
            align-items:center;
            gap:6px;
            border:1px solid #EAEAEA !important;
            border-radius:14px;
            background:#FFFFFF;
            box-shadow:0 8px 25px rgba(24,24,26,.045);
        }

        body.woocommerce-shop nav.woocommerce-pagination ul li,
        body.tax-product_cat nav.woocommerce-pagination ul li,
        body.tax-product_tag nav.woocommerce-pagination ul li{
            float:none !important;
            margin:0 !important;
            border:0 !important;
            overflow:visible !important;
        }

        body.woocommerce-shop nav.woocommerce-pagination ul li a,
        body.woocommerce-shop nav.woocommerce-pagination ul li span,
        body.tax-product_cat nav.woocommerce-pagination ul li a,
        body.tax-product_cat nav.woocommerce-pagination ul li span,
        body.tax-product_tag nav.woocommerce-pagination ul li a,
        body.tax-product_tag nav.woocommerce-pagination ul li span{
            min-width:40px;
            height:40px;
            padding:0 11px !important;
            display:flex !important;
            align-items:center;
            justify-content:center;
            border:1px solid transparent;
            border-radius:9px;
            background:transparent !important;
            color:#65656A !important;
            font-family:'Poppins',Arial,sans-serif;
            font-size:9.5px;
            line-height:1 !important;
            font-weight:600;
            text-decoration:none !important;
            transition:.2s ease;
        }

        body.woocommerce-shop nav.woocommerce-pagination ul li a:hover,
        body.tax-product_cat nav.woocommerce-pagination ul li a:hover,
        body.tax-product_tag nav.woocommerce-pagination ul li a:hover{
            border-color:#EAEAEA;
            background:#FAFAFA !important;
            color:#18181A !important;
        }

        body.woocommerce-shop nav.woocommerce-pagination ul li span.current,
        body.tax-product_cat nav.woocommerce-pagination ul li span.current,
        body.tax-product_tag nav.woocommerce-pagination ul li span.current{
            border-color:#FFCC05;
            background:#FFCC05 !important;
            color:#18181A !important;
            box-shadow:0 6px 15px rgba(255,204,5,.22);
        }

        body.woocommerce-shop nav.woocommerce-pagination ul li a.prev,
        body.woocommerce-shop nav.woocommerce-pagination ul li a.next,
        body.tax-product_cat nav.woocommerce-pagination ul li a.prev,
        body.tax-product_cat nav.woocommerce-pagination ul li a.next,
        body.tax-product_tag nav.woocommerce-pagination ul li a.prev,
        body.tax-product_tag nav.woocommerce-pagination ul li a.next{
            min-width:46px;
            border-color:#EAEAEA;
            background:#18181A !important;
            color:#FFFFFF !important;
        }

        body.woocommerce-shop nav.woocommerce-pagination ul li a.prev:hover,
        body.woocommerce-shop nav.woocommerce-pagination ul li a.next:hover,
        body.tax-product_cat nav.woocommerce-pagination ul li a.prev:hover,
        body.tax-product_cat nav.woocommerce-pagination ul li a.next:hover,
        body.tax-product_tag nav.woocommerce-pagination ul li a.prev:hover,
        body.tax-product_tag nav.woocommerce-pagination ul li a.next:hover{
            border-color:#FFCC05;
            background:#FFCC05 !important;
            color:#18181A !important;
        }

        /* =================================================
           TABLET
        ================================================= */
        @media(max-width:1024px){
            .cc-shop-banner{
                grid-template-columns:1fr .7fr;
                padding:35px;
            }
            .cc-shop-banner h1{ font-size:37px !important; }
            .cc-shop-banner-card{ width:240px; }

            .cc-filter-count-4 .cc-shop-filter-fields,
            .cc-filter-count-3 .cc-shop-filter-fields{
                grid-template-columns:repeat(2,minmax(0,1fr));
            }

            body.woocommerce-shop ul.products,
            body.tax-product_cat ul.products,
            body.tax-product_tag ul.products{
                grid-template-columns:repeat(3,minmax(0,1fr));
            }
        }

        /* =================================================
           MOBILE
        ================================================= */
        @media(max-width:767px){
            .cc-shop-banner{
                min-height:auto;
                margin:18px 0 15px;
                padding:29px 20px;
                display:block;
                text-align:center;
                border-radius:18px;
            }

            .cc-shop-banner-eyebrow{ justify-content:center; }
            .cc-shop-banner h1{ font-size:30px !important; letter-spacing:-.9px; }
            .cc-shop-banner-copy > p{ margin-left:auto !important; margin-right:auto !important; font-size:10.5px !important; }
            .cc-shop-banner-points{ justify-content:center; gap:12px; }
            .cc-shop-banner-visual{ display:none; }

            .cc-shop-filter-card{
                margin-bottom:27px;
                padding:20px 16px;
                border-radius:15px;
            }

            .cc-shop-filter-heading{ align-items:flex-start; }
            .cc-shop-filter-heading h2{ font-size:14px !important; }
            .cc-shop-filter-fields{ grid-template-columns:1fr; gap:11px; }
            .cc-shop-filter-field select{ font-size:16px; }
            .cc-shop-filter-buttons{ flex-direction:column; }
            .cc-shop-apply,.cc-shop-reset,.cc-shop-all-notes{ width:100%; margin-left:0; }

            .cc-shop-results-bar{
                margin-bottom:15px;
                padding:15px;
                display:block;
                text-align:center;
            }
            .cc-shop-results-ordering{ margin-top:13px; }
            .cc-shop-results-ordering select{ width:100%; min-width:0; font-size:16px; }

            body.woocommerce-shop ul.products,
            body.tax-product_cat ul.products,
            body.tax-product_tag ul.products{
                grid-template-columns:repeat(2,minmax(0,1fr));
                gap:11px !important;
            }

            body.woocommerce-shop ul.products li.product,
            body.tax-product_cat ul.products li.product,
            body.tax-product_tag ul.products li.product{
                padding:9px 9px 12px !important;
                border-radius:14px;
            }

            body.woocommerce-shop ul.products li.product a img,
            body.tax-product_cat ul.products li.product a img,
            body.tax-product_tag ul.products li.product a img{
                height:175px !important;
                border-radius:10px;
            }

            body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
            body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
            body.tax-product_tag ul.products li.product .woocommerce-loop-product__title{
                font-size:12.5px !important;
            }

            body.woocommerce-shop ul.products li.product .price,
            body.tax-product_cat ul.products li.product .price,
            body.tax-product_tag ul.products li.product .price{
                font-size:14px !important;
            }

            body.woocommerce-shop nav.woocommerce-pagination ul,
            body.tax-product_cat nav.woocommerce-pagination ul,
            body.tax-product_tag nav.woocommerce-pagination ul{
                max-width:100%;
                gap:3px;
                padding:6px !important;
            }

            body.woocommerce-shop nav.woocommerce-pagination ul li a,
            body.woocommerce-shop nav.woocommerce-pagination ul li span,
            body.tax-product_cat nav.woocommerce-pagination ul li a,
            body.tax-product_cat nav.woocommerce-pagination ul li span,
            body.tax-product_tag nav.woocommerce-pagination ul li a,
            body.tax-product_tag nav.woocommerce-pagination ul li span{
                min-width:34px;
                height:36px;
                padding:0 8px !important;
                font-size:9px;
            }
        }

        @media(max-width:430px){
            body.woocommerce-shop ul.products li.product a img,
            body.tax-product_cat ul.products li.product a img,
            body.tax-product_tag ul.products li.product a img{
                height:145px !important;
            }
        }


        /* =================================================
           V1.1 REFINEMENTS
           Designed & Developed by ManishKumarJha
        ================================================= */

        /* Remove theme/archive top whitespace so the banner starts close to the header. */
        body.woocommerce-shop .site-content,
        body.tax-product_cat .site-content,
        body.tax-product_tag .site-content,
        body.woocommerce-shop #content,
        body.tax-product_cat #content,
        body.tax-product_tag #content{
            padding-top:0 !important;
            margin-top:0 !important;
        }

        body.woocommerce-shop #primary,
        body.tax-product_cat #primary,
        body.tax-product_tag #primary,
        body.woocommerce-shop .content-area,
        body.tax-product_cat .content-area,
        body.tax-product_tag .content-area,
        body.woocommerce-shop .site-main,
        body.tax-product_cat .site-main,
        body.tax-product_tag .site-main,
        body.woocommerce-shop main,
        body.tax-product_cat main,
        body.tax-product_tag main{
            padding-top:0 !important;
            margin-top:0 !important;
        }

        body.woocommerce-shop .site-content > .ast-container,
        body.tax-product_cat .site-content > .ast-container,
        body.tax-product_tag .site-content > .ast-container{
            padding-top:10px !important;
        }

        .cc-shop-banner{
            margin-top:10px !important;
            margin-bottom:18px !important;
        }

        /* Compact premium filter: only useful fields + Search. */
        .cc-shop-filter-card{
            margin:0 0 26px !important;
            padding:20px !important;
            border-radius:16px !important;
        }

        .cc-shop-filter-fields{
            display:grid !important;
            grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
            align-items:end;
            gap:12px !important;
        }

        .cc-shop-filter-field.is-hidden{
            display:none !important;
        }

        .cc-shop-filter-submit-wrap{
            min-width:0;
        }

        .cc-shop-search{
            width:100%;
            height:50px;
            margin:0;
            padding:0 18px;
            display:flex;
            align-items:center;
            justify-content:center;
            gap:8px;
            border:0;
            border-radius:10px;
            background:#18181A;
            color:#FFFFFF;
            font-family:'Poppins',Arial,sans-serif;
            font-size:9px;
            font-weight:700;
            letter-spacing:.55px;
            text-transform:uppercase;
            cursor:pointer;
            transition:.22s ease;
        }

        .cc-shop-search svg{
            width:15px;
            height:15px;
        }

        .cc-shop-search:hover{
            background:#FFCC05;
            color:#18181A;
            transform:translateY(-2px);
        }

        /* Legacy buttons from older plugin versions are intentionally hidden. */
        .cc-shop-filter-card .cc-shop-filter-buttons,
        .cc-shop-filter-card .cc-shop-all-notes,
        .cc-shop-filter-card .cc-shop-reset,
        .cc-shop-filter-card .cc-shop-apply{
            display:none !important;
        }

        @media(max-width:767px){
            body.woocommerce-shop .site-content > .ast-container,
            body.tax-product_cat .site-content > .ast-container,
            body.tax-product_tag .site-content > .ast-container{
                padding-top:4px !important;
            }

            .cc-shop-banner{
                margin-top:5px !important;
            }

            .cc-shop-filter-card{
                padding:15px !important;
                margin-bottom:20px !important;
            }

            .cc-shop-filter-fields{
                grid-template-columns:1fr !important;
                gap:10px !important;
            }

            .cc-shop-search{
                height:49px;
                font-size:9px;
            }
        }

/* =========================================================
   V2 HIERARCHY EXTENSIONS - keeps the existing visual system
========================================================= */
.cc-shop-filter-field input[type="search"]{
    width:100%;
    height:50px;
    margin:0;
    padding:0 14px;
    border:1px solid #E3E3E3;
    border-radius:10px;
    outline:none;
    background:#FAFAFA;
    color:#18181A;
    font-family:'Poppins',Arial,sans-serif;
    font-size:10.5px;
    box-shadow:none;
    transition:.2s ease;
}
.cc-shop-filter-field input[type="search"]:focus{
    border-color:#FFCC05;
    background:#fff;
    box-shadow:0 0 0 3px rgba(255,204,5,.12);
}
.cc-shop-filter-field.is-hidden,
.cc-shop-filter-field[hidden]{display:none !important;}

.cc-study-layout{
    --cc-yellow:#FFCC05;
    --cc-black:#18181A;
    --cc-grey:#737379;
    width:100%;
    margin:0 0 20px;
    padding:22px;
    border:1px solid #ECECEC;
    border-radius:16px;
    background:#fff;
    font-family:'Poppins',Arial,sans-serif;
    box-sizing:border-box;
}
.cc-study-layout *{box-sizing:border-box;}
.cc-study-layout-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:16px;
}
.cc-study-layout-kicker{
    display:block;
    margin-bottom:4px;
    color:#99999D;
    font-size:7.5px;
    font-weight:700;
    letter-spacing:.9px;
    text-transform:uppercase;
}
.cc-study-layout h2{
    margin:0 !important;
    padding:0 !important;
    color:#18181A !important;
    font-family:'Poppins',Arial,sans-serif !important;
    font-size:19px !important;
    line-height:1.3 !important;
    font-weight:700 !important;
}
.cc-study-layout-head p{
    margin:0 !important;
    color:#8B8B90 !important;
    font-size:9px !important;
    line-height:1.6 !important;
}
.cc-study-layout-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
    gap:10px;
}
.cc-study-layout-card{
    min-height:78px;
    padding:13px 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:1px solid #E8E8E8;
    border-radius:12px;
    background:#FAFAFA;
    color:#18181A !important;
    text-decoration:none !important;
    transition:.2s ease;
}
.cc-study-layout-card:hover{
    transform:translateY(-2px);
    border-color:#FFCC05;
    background:#FFF9DD;
    color:#18181A !important;
    box-shadow:0 10px 24px rgba(24,24,26,.05);
}
.cc-study-layout-card.is-active{
    border-color:#18181A;
    background:#18181A;
    color:#fff !important;
}
.cc-study-layout-card strong{
    display:block;
    color:inherit !important;
    font-size:10px;
    line-height:1.35;
    font-weight:700;
}
.cc-study-layout-card span{
    display:block;
    margin-top:3px;
    color:#99999D;
    font-size:7.5px;
    line-height:1.35;
}
.cc-study-layout-card.is-active span{color:#D8D8DC;}
.cc-study-layout-arrow{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    margin:0 !important;
    border-radius:50%;
    background:#FFCC05;
    color:#18181A !important;
    font-size:14px !important;
    font-weight:700;
}
.cc-study-layout-back{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:14px;
    color:#18181A !important;
    font-size:8.5px;
    font-weight:700;
    text-decoration:none !important;
}
.cc-study-layout-back:hover{color:#8A6A00 !important;}

.cc-product-chip.cc-chip-institution,
.cc-product-chip.cc-chip-resource{
    background:#FFF6C4;
    border-color:#FFE06A;
    color:#18181A;
}

.cc-shop-filter-note{
    margin:10px 0 0 !important;
    color:#929297 !important;
    font-size:8px !important;
    line-height:1.6 !important;
}

.cc-study-hub{
    --cc-yellow:#FFCC05;
    --cc-black:#18181A;
    width:100%;
    font-family:'Poppins',Arial,sans-serif;
}
.cc-study-hub .cc-study-layout{margin-bottom:18px;}

@media(max-width:767px){
    .cc-study-layout{padding:16px;border-radius:14px;}
    .cc-study-layout-head{display:block;}
    .cc-study-layout-head p{margin-top:5px !important;}
    .cc-study-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
    .cc-study-layout-card{min-height:70px;padding:11px;}
    .cc-shop-filter-field input[type="search"]{font-size:16px;}
}

@media(max-width:420px){
    .cc-study-layout-grid{grid-template-columns:1fr;}
}

/* =========================================================
   V2.2 CLEAN SHOP CONTEXT
========================================================= */
.cc-shop-filter-heading-context{
    display:flex;
    align-items:center;
    gap:12px;
}
.cc-shop-filter-heading-copy{
    min-width:0;
    flex:1 1 auto;
}
.cc-shop-context-pills{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:7px;
}
.cc-shop-context-pills a{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:0 9px;
    border:1px solid #FFE16A;
    border-radius:999px;
    background:#FFF8D7;
    color:#18181A !important;
    font-size:7.5px;
    line-height:1;
    font-weight:700;
    letter-spacing:.2px;
    text-decoration:none !important;
}
.cc-shop-context-pills a:hover{
    border-color:#18181A;
    background:#18181A;
    color:#fff !important;
}
.cc-shop-change-institution{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 11px;
    border:1px solid #E3E3E3;
    border-radius:8px;
    background:#fff;
    color:#18181A !important;
    font-size:8px;
    font-weight:700;
    text-decoration:none !important;
    transition:.2s ease;
}
.cc-shop-change-institution:hover{
    border-color:#FFCC05;
    background:#FFF9DD;
}
@media(max-width:767px){
    .cc-shop-filter-heading-context{
        align-items:flex-start;
        flex-wrap:wrap;
    }
    .cc-shop-change-institution{
        margin-left:48px;
    }
}

/* =========================================================
   V2.6 STABLE HORIZONTAL ROWS
   Restores the V2.3 visual system and changes only the
   institution/section choice rows to native horizontal scroll.
========================================================= */
.cc-study-layout-grid.cc-horizontal-scroll{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    grid-template-columns:none !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:1px 1px 9px !important;
    margin:0 !important;
    scroll-snap-type:x proximity;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    scrollbar-color:#D6D6D9 transparent;
}

.cc-study-layout-grid.cc-horizontal-scroll::-webkit-scrollbar{
    height:5px;
}
.cc-study-layout-grid.cc-horizontal-scroll::-webkit-scrollbar-track{
    background:transparent;
}
.cc-study-layout-grid.cc-horizontal-scroll::-webkit-scrollbar-thumb{
    background:#D6D6D9;
    border-radius:20px;
}
.cc-study-layout-grid.cc-horizontal-scroll::-webkit-scrollbar-thumb:hover{
    background:#FFCC05;
}

.cc-study-layout-grid.cc-horizontal-scroll > .cc-study-layout-card{
    flex:0 0 172px !important;
    width:172px !important;
    min-width:172px !important;
    max-width:172px !important;
    margin:0 !important;
    scroll-snap-align:start;
}

/* Keep the original round visual language, but fit the real logo without cropping. */
.cc-shop-banner-logo{
    width:64px !important;
    height:64px !important;
    padding:4px !important;
    margin-bottom:17px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border:2px solid #FFCC05 !important;
    border-radius:50% !important;
    background:#FFFFFF !important;
}
.cc-shop-banner-logo img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
    border-radius:50% !important;
}

@media(max-width:767px){
    .cc-study-layout-grid.cc-horizontal-scroll{
        display:flex !important;
        flex-wrap:nowrap !important;
        grid-template-columns:none !important;
        gap:9px !important;
        padding-bottom:9px !important;
        scroll-snap-type:x mandatory;
    }
    .cc-study-layout-grid.cc-horizontal-scroll > .cc-study-layout-card{
        flex:0 0 min(76vw,210px) !important;
        width:min(76vw,210px) !important;
        min-width:min(76vw,210px) !important;
        max-width:210px !important;
        min-height:72px !important;
    }
}

/* =========================================================
   V3 PREMIUM FILTER + COMPACT SECTION GRID
========================================================= */

.cc-study-layout-sections .cc-study-section-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
    overflow:visible !important;
    padding:0 !important;
    scroll-snap-type:none !important;
}

.cc-study-layout-sections .cc-study-section-grid > .cc-study-layout-card{
    min-width:0 !important;
    width:auto !important;
    flex:none !important;
}

.cc-shop-filter-card-v3{
    padding:26px !important;
    border:1px solid #E9E9EA !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#FFFFFF 0%,#FFFEFA 100%) !important;
    box-shadow:0 18px 55px rgba(24,24,26,.055) !important;
}

.cc-shop-filter-heading-v3{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    margin:0 0 22px !important;
    padding:0 0 18px !important;
    border-bottom:1px solid #EFEFEF !important;
}

.cc-shop-filter-heading-main{
    display:flex;
    align-items:center;
    gap:13px;
    min-width:0;
}

.cc-shop-filter-card-v3 .cc-shop-filter-icon{
    width:45px !important;
    height:45px !important;
    flex:0 0 45px !important;
    border-radius:12px !important;
    background:#FFCC05 !important;
    color:#18181A !important;
    box-shadow:0 8px 24px rgba(255,204,5,.22);
}

.cc-shop-filter-heading-copy{
    min-width:0;
}

.cc-shop-filter-heading-copy > span{
    display:block;
    margin-bottom:2px;
    color:#96969B !important;
    font-size:8px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    letter-spacing:1.2px !important;
    text-transform:uppercase !important;
}

.cc-shop-filter-heading-copy h2{
    margin:0 !important;
    color:#18181A !important;
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    letter-spacing:-.35px !important;
}

.cc-shop-filter-reset-link{
    min-height:38px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border:1px solid #E2E2E4;
    border-radius:9px;
    background:#FFFFFF;
    color:#18181A !important;
    font-size:8.5px;
    font-weight:600;
    letter-spacing:.3px;
    text-transform:uppercase;
    text-decoration:none !important;
    transition:.2s ease;
}

.cc-shop-filter-reset-link:hover{
    border-color:#18181A;
    background:#18181A;
    color:#FFFFFF !important;
}

.cc-shop-filter-v3{
    margin:0 !important;
}

.cc-shop-search-row{
    margin-bottom:14px;
}

.cc-shop-filter-search-field{
    width:100%;
}

.cc-shop-search-input-wrap{
    position:relative;
}

.cc-shop-search-input-wrap > svg{
    width:17px;
    height:17px;
    position:absolute;
    left:15px;
    top:50%;
    transform:translateY(-50%);
    color:#77777D;
    pointer-events:none;
}

.cc-shop-filter-card-v3 .cc-shop-filter-field input[type="search"]{
    width:100% !important;
    height:52px !important;
    padding:0 16px 0 43px !important;
    border:1px solid #E2E2E4 !important;
    border-radius:11px !important;
    background:#FFFFFF !important;
    color:#18181A !important;
    font-family:'Poppins',sans-serif !important;
    font-size:11px !important;
    font-weight:500 !important;
    box-shadow:none !important;
    outline:none !important;
    transition:.2s ease !important;
}

.cc-shop-filter-card-v3 .cc-shop-filter-field input[type="search"]:focus{
    border-color:#FFCC05 !important;
    box-shadow:0 0 0 4px rgba(255,204,5,.13) !important;
}

.cc-shop-filter-fields-v3{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
    align-items:end !important;
}

.cc-shop-filter-card-v3 .cc-shop-filter-field{
    min-width:0;
}

.cc-shop-filter-card-v3 .cc-shop-filter-field label{
    display:block !important;
    margin:0 0 7px !important;
    color:#4F4F54 !important;
    font-size:8.5px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    letter-spacing:.35px !important;
    text-transform:uppercase !important;
}

.cc-shop-filter-card-v3 .cc-shop-filter-field select{
    width:100% !important;
    height:48px !important;
    padding:0 36px 0 13px !important;
    border:1px solid #E2E2E4 !important;
    border-radius:10px !important;
    background-color:#FFFFFF !important;
    color:#202024 !important;
    font-family:'Poppins',sans-serif !important;
    font-size:10px !important;
    font-weight:500 !important;
    box-shadow:none !important;
    outline:none !important;
    transition:.2s ease !important;
}

.cc-shop-filter-card-v3 .cc-shop-filter-field select:focus{
    border-color:#FFCC05 !important;
    box-shadow:0 0 0 4px rgba(255,204,5,.13) !important;
}

.cc-shop-filter-card-v3 .cc-shop-filter-field select:disabled{
    opacity:.55;
    cursor:not-allowed;
    background-color:#F7F7F8 !important;
}

.cc-shop-filter-card-v3 .cc-shop-filter-field.is-hidden{
    display:none !important;
}

.cc-shop-filter-actions-v3{
    display:flex;
    justify-content:flex-end;
    margin-top:16px;
}

.cc-shop-filter-card-v3 .cc-shop-search{
    min-width:235px !important;
    min-height:48px !important;
    padding:0 20px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    border:0 !important;
    border-radius:10px !important;
    background:#18181A !important;
    color:#FFFFFF !important;
    font-family:'Poppins',sans-serif !important;
    font-size:9px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.55px !important;
    text-transform:uppercase !important;
    cursor:pointer !important;
    box-shadow:0 10px 24px rgba(24,24,26,.13) !important;
    transition:.22s ease !important;
}

.cc-shop-filter-card-v3 .cc-shop-search:hover{
    background:#FFCC05 !important;
    color:#18181A !important;
    transform:translateY(-1px);
}

.cc-shop-filter-card-v3 .cc-shop-search svg{
    width:14px !important;
    height:14px !important;
}

@media(max-width:1100px){
    .cc-shop-filter-fields-v3{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

@media(max-width:800px){
    .cc-study-layout-sections .cc-study-section-grid{
        grid-template-columns:1fr !important;
    }

    .cc-shop-filter-fields-v3{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:600px){
    .cc-shop-filter-card-v3{
        padding:18px !important;
        border-radius:15px !important;
    }

    .cc-shop-filter-heading-v3{
        align-items:flex-start !important;
        gap:12px !important;
    }

    .cc-shop-filter-heading-main{
        align-items:center;
    }

    .cc-shop-filter-card-v3 .cc-shop-filter-icon{
        width:40px !important;
        height:40px !important;
        flex-basis:40px !important;
    }

    .cc-shop-filter-heading-copy h2{
        font-size:15px !important;
    }

    .cc-shop-filter-reset-link{
        min-height:34px;
        padding:0 10px;
        font-size:7.5px;
    }

    .cc-shop-filter-fields-v3{
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .cc-shop-filter-card-v3 .cc-shop-filter-field select,
    .cc-shop-filter-card-v3 .cc-shop-filter-field input[type="search"]{
        font-size:16px !important;
    }

    .cc-shop-filter-actions-v3{
        margin-top:13px;
    }

    .cc-shop-filter-card-v3 .cc-shop-search{
        width:100% !important;
        min-width:0 !important;
    }
}
