/* Kaempfer Lore custom Shop/archive page. Gold remains #d7b35d. */
.kl-shop-shell{max-width:1380px;width:calc(100% - 48px);margin:0 auto;color:#28213b}
.kl-shop-hero{background:radial-gradient(ellipse at 78% 30%,#48206e 0%,#30105e 52%,#241044 100%);border-radius:16px;color:#fff;padding:42px 46px;margin:0 0 34px;position:relative;overflow:hidden}
.kl-shop-hero:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(215,179,93,.2);border-radius:50%;right:-60px;top:-95px;box-shadow:0 0 0 28px rgba(215,179,93,.035),0 0 0 58px rgba(215,179,93,.025);pointer-events:none}
.kl-shop-eyebrow{font-size:10px!important;letter-spacing:2px!important;text-transform:uppercase;font-weight:800;margin:0 0 10px!important;color:#d7b35d!important}
.kl-shop-hero h1{font-size:clamp(34px,4vw,54px)!important;line-height:1.1!important;font-weight:400!important;color:#fff!important;margin:0 0 12px!important}
.kl-shop-hero>p:not(.kl-shop-eyebrow){font-size:15px;color:#e7dff0;margin:0 0 22px;max-width:620px}
.kl-shop-hero-button{display:inline-flex;align-items:center;gap:10px;background:#d7b35d;color:#241735!important;border:1px solid #d7b35d;border-radius:30px;padding:12px 19px;font-size:13px;font-weight:700;text-decoration:none!important;transition:transform .2s,filter .2s}
.kl-shop-hero-button:hover{transform:translateY(-2px);filter:brightness(1.04)}
.kl-shop-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:30px;align-items:start}
.kl-shop-sidebar{border:1px solid #eee6f1;border-radius:14px;padding:22px 18px;background:#fff;position:sticky;top:25px}
.kl-filter-block+.kl-filter-block{border-top:1px solid #eee7f0;margin-top:22px;padding-top:22px}
.kl-filter-block h2{font-size:17px!important;line-height:1.3!important;font-weight:700!important;color:#30105e!important;margin:0 0 15px!important}
.kl-filter-list{list-style:none!important;margin:0!important;padding:0!important}
.kl-filter-list li{list-style:none!important;margin:0!important;padding:0!important}
.kl-filter-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:8px;color:#51465f;text-decoration:none!important;font-size:13px;line-height:1.4;transition:background .15s,color .15s}
.kl-filter-list a:hover,.kl-filter-list a.is-active{background:#f7eef8;color:#30105e;font-weight:700}
.kl-filter-list a small{font-size:11px;color:#91879a}
.kl-filter-list a>span{display:flex;align-items:center;gap:9px}
.kl-filter-help{font-size:12px;color:#82778d;margin:-7px 0 10px}
.kl-filter-check{width:15px;height:15px;border:1px solid #cfc2d5;border-radius:4px;display:inline-block;position:relative;flex:0 0 15px}
.kl-filter-list a.is-active .kl-filter-check{background:#30105e;border-color:#30105e}
.kl-filter-list a.is-active .kl-filter-check:after{content:"✓";position:absolute;color:#fff;font-size:11px;left:2px;top:-1px}
.kl-filter-list a.kl-clear-filter{color:#b00079;font-size:12px;padding-top:11px}
.kl-filter-note{font-size:11px;line-height:1.55;color:#92889a;margin:12px 4px 0}
.kl-shop-main{min-width:0}
.kl-shop-main-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:3px 0 16px}
.kl-shop-eyebrow-light{color:#a17a32!important;margin-bottom:6px!important}
.kl-shop-main-heading h2{font-size:clamp(25px,2.7vw,35px)!important;line-height:1.15!important;font-weight:400!important;color:#30105e!important;margin:0!important}
.kl-active-language{background:#f8edf7;color:#30105e;border-radius:30px;padding:7px 12px;font-size:12px;font-weight:700}
.kl-shop-main .woocommerce-result-count{font-size:12px;color:#83798d;margin:0 0 15px!important}
.kl-shop-main .woocommerce-ordering{margin:0 0 15px!important}
.kl-shop-main .woocommerce-ordering select{border:1px solid #e6dfea;border-radius:24px;padding:9px 32px 9px 13px;background:#fff;color:#51465f;font-size:12px;max-width:100%}
.kl-shop-main .woocommerce-before-shop-loop,.kl-shop-main .woocommerce-before-shop-loop:after{clear:both}
.kl-shop-main ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px 16px!important;margin:0!important;padding:0!important;clear:both}
.kl-shop-main ul.products:before,.kl-shop-main ul.products:after{display:none!important;content:none!important}
.kl-shop-main ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:12px 12px 17px!important;list-style:none!important;min-width:0;border:1px solid #eee6f1;border-radius:13px;background:#fff;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.kl-shop-main ul.products li.product:hover{transform:translateY(-3px);border-color:#dfc9e1;box-shadow:0 10px 28px rgba(48,16,94,.08)}
.kl-shop-main ul.products li.product a img{display:block!important;width:100%!important;height:270px!important;object-fit:contain!important;margin:0 auto 14px!important;border-radius:7px;background:#fff}
.kl-shop-main ul.products li.product .woocommerce-loop-product__title{font-size:14px!important;line-height:1.45!important;font-weight:700!important;color:#28213b!important;padding:0!important;margin:0 0 8px!important;min-height:40px}
.kl-shop-main ul.products li.product .price{font-size:16px!important;font-weight:700!important;color:#f000a8!important;margin:7px 0 10px!important}
.kl-shop-main ul.products li.product .price del{font-size:12px!important;color:#938a98!important;opacity:1!important;font-weight:400}
.kl-shop-main ul.products li.product .price ins{text-decoration:none!important;color:#f000a8!important}
.kl-shop-main ul.products li.product .star-rating{font-size:11px!important;margin:5px 0!important}
.kl-shop-main ul.products li.product .onsale{background:#d7b35d!important;color:#241735!important;border-radius:50%!important;min-width:40px!important;min-height:40px!important;line-height:40px!important;font-size:10px!important;font-weight:800!important;margin:0!important;top:18px!important;left:18px!important;right:auto!important}
.kl-shop-main ul.products li.product a.button,.kl-shop-main ul.products li.product .button{background:#30105e!important;color:#fff!important;border-radius:24px!important;padding:10px 14px!important;font-size:11px!important;font-weight:700!important;text-align:center}
.kl-shop-main .woocommerce-pagination{margin-top:28px!important}
.kl-shop-main .woocommerce-pagination ul{border:0!important;display:flex;gap:7px;justify-content:center}
.kl-shop-main .woocommerce-pagination ul li{border:0!important}
.kl-shop-main .woocommerce-pagination ul li a,.kl-shop-main .woocommerce-pagination ul li span{border-radius:7px;background:#f5eff7;color:#30105e;padding:10px 13px;min-width:38px}
.kl-shop-main .woocommerce-pagination ul li span.current{background:#30105e;color:#fff}
.kl-shop-empty{text-align:center;padding:45px 20px;border:1px solid #eee6f1;border-radius:14px}
.kl-shop-empty .woocommerce-info{margin-bottom:20px}

@media(max-width:1100px){
.kl-shop-layout{grid-template-columns:220px minmax(0,1fr);gap:22px}
.kl-shop-main ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.kl-shop-main ul.products li.product a img{height:250px!important}
}

@media(max-width:760px){
.kl-shop-shell{width:calc(100% - 30px);padding:22px 0 48px}
.kl-shop-hero{padding:30px 23px;margin-bottom:22px}
.kl-shop-layout{grid-template-columns:1fr;gap:22px}
.kl-shop-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:17px}
.kl-filter-block+.kl-filter-block{border-top:0;border-left:1px solid #eee7f0;margin:0;padding:0 0 0 17px}
.kl-shop-main ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 10px!important}
.kl-shop-main ul.products li.product{padding:8px 8px 13px!important}
.kl-shop-main ul.products li.product a img{height:220px!important}
.kl-shop-main ul.products li.product .woocommerce-loop-product__title{font-size:12px!important;min-height:0}
.kl-shop-main .woocommerce-result-count{float:none!important}
.kl-shop-main .woocommerce-ordering{float:none!important}
.kl-shop-main-heading{align-items:center}
}

@media(max-width:420px){
.kl-shop-sidebar{grid-template-columns:1fr}
.kl-filter-block+.kl-filter-block{border-left:0;border-top:1px solid #eee7f0;padding:16px 0 0}
.kl-shop-main ul.products li.product a img{height:185px!important}
.kl-shop-main ul.products li.product .price{font-size:14px!important}
}

/* Fix Kaempfer Lore Shop Layout */
body.woocommerce-shop #primary,
body.tax-product_cat #primary,
body.tax-product_tag #primary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

body.woocommerce-shop #secondary,
body.tax-product_cat #secondary,
body.tax-product_tag #secondary {
    display: none !important;
}

.kl-shop-shell {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.kl-shop-layout {
    display: grid !important;
    grid-template-columns: 240px minmax(0, 1fr) !important;
    gap: 30px !important;
    width: 100% !important;
    align-items: start !important;
}

.kl-shop-main {
    width: 100% !important;
    min-width: 0 !important;
}

.kl-shop-main ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px 18px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kl-shop-main ul.products.columns-4 li.product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.kl-shop-main .product-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

@media (max-width: 767px) {
    .kl-shop-layout {
        grid-template-columns: 1fr !important;
    }

    .kl-shop-main ul.products.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px 12px !important;
    }
}