/* GB editorial collection. Native links, original product imagery, brand palette. */
body:is(.post-type-archive-product,.tax-product_cat){--gb-soft:rgba(255,233,233,.65)}
body:is(.post-type-archive-product,.tax-product_cat) .elementor[data-elementor-type="product-archive"] h1{font-size:clamp(40px,5.8vw,78px)!important;line-height:1.02!important;letter-spacing:-.045em!important;max-width:960px;margin-bottom:24px}
body:is(.post-type-archive-product,.tax-product_cat) .gb-eyebrow{display:flex;align-items:center;gap:12px}
body:is(.post-type-archive-product,.tax-product_cat) .gb-eyebrow::before{content:"";width:32px;height:1px;background:var(--gb-rose)}
body:is(.post-type-archive-product,.tax-product_cat) .gb-category-nav{gap:0!important;border-top:1px solid var(--gb-line);border-bottom:1px solid var(--gb-line);padding:8px 0;margin:36px 0 26px!important}
body:is(.post-type-archive-product,.tax-product_cat) .elementor .gb-category-nav a{position:relative;border:0!important;border-radius:0;padding:17px 24px!important;font-size:12px;letter-spacing:.09em;text-transform:uppercase;background:transparent!important;transition:color .25s,background .25s}
body:is(.post-type-archive-product,.tax-product_cat) .elementor .gb-category-nav a::after{content:"";position:absolute;bottom:6px;left:24px;right:24px;height:2px;background:var(--gb-rose);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--gb-ease)}
body:is(.post-type-archive-product,.tax-product_cat) .elementor .gb-category-nav a:is(:hover,[aria-current="page"]){color:var(--gb-rose)!important;background:rgba(255,233,233,.055)!important;transform:none}
body:is(.post-type-archive-product,.tax-product_cat) .elementor .gb-category-nav a:is(:hover,[aria-current="page"])::after{transform:scaleX(1)}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-result-count{font-size:11px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--gb-soft)!important;margin:0 0 26px!important}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products{gap:28px!important}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product{position:relative;display:flex;flex-direction:column;border:1px solid transparent!important;border-radius:2px;padding-bottom:22px!important;box-shadow:none;transition:transform .45s var(--gb-ease),border-color .3s,box-shadow .45s!important}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--gb-wine);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--gb-ease);pointer-events:none}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product:focus-within::after{transform:scaleX(1)}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product img{margin-bottom:20px!important;transform:none!important;transition:none!important;display:block}
body:is(.post-type-archive-product,.tax-product_cat) .gb-card-category{display:block;margin:0 22px 9px;color:var(--gb-wine);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.76}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .woocommerce-loop-product__title{font-size:18px!important;letter-spacing:-.025em!important;padding:0 22px!important;margin:0 0 13px!important;line-height:1.35!important}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .price{margin:0 22px 24px!important;font-size:15px!important;font-weight:500!important;display:flex;align-items:baseline;gap:7px}
.gb-price-unit{font-size:9px;font-weight:500;letter-spacing:.1em}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .tp-add-to-cart{margin-top:auto;padding:0 22px}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .button{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin:0!important;padding:14px 16px!important;border-radius:1px!important;font-weight:500!important;letter-spacing:.045em!important;text-align:left!important;background:linear-gradient(110deg,var(--gb-ink) 0%,var(--gb-ink) 50%,var(--gb-wine) 50%,var(--gb-wine) 100%)!important;background-size:225% 100%!important;background-position:100% 0!important;border-color:var(--gb-wine)!important;transition:background-position .55s var(--gb-ease),border-color .35s!important;transform:none!important}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .button::after{content:"";display:block;flex:0 0 16px;width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 18 6M6 6h12v12' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18 18 6M6 6h12v12' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .35s var(--gb-ease)}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .button:is(:hover,:focus-visible){background-position:0 0!important;border-color:var(--gb-ink)!important}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .button:is(:hover,:focus-visible)::after{transform:translate(2px,-2px)}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .king-addons-wishlist-button{position:absolute!important;right:12px;top:12px;display:grid!important;place-items:center;width:38px!important;height:38px!important;min-width:38px!important;margin:0!important;border:1px solid rgba(126,27,31,.18)!important;border-radius:50%!important;background:var(--gb-rose)!important;color:var(--gb-wine)!important;box-shadow:0 2px 8px #0001;transition:background .25s,color .25s!important;z-index:2}
body:is(.post-type-archive-product,.tax-product_cat) .king-addons-wishlist-button__label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .king-addons-wishlist-button:is(:hover,[aria-pressed="true"]){background:var(--gb-wine)!important;color:var(--gb-rose)!important}
/* The page list stays native and usable without JavaScript. */
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination{clear:both;margin:60px 0 12px!important;padding:28px 0 0!important;border-top:1px solid var(--gb-line);text-align:left!important}
.gb-pagination-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;color:var(--gb-rose);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.gb-pagination-heading strong{font-weight:400;font-size:21px;letter-spacing:.03em;font-variant-numeric:tabular-nums}
.gb-pagination-heading strong span{font-size:12px;opacity:.5}
.gb-pagination-progress{height:1px;background:var(--gb-line);margin-bottom:24px}
.gb-pagination-progress::before{content:"";display:block;width:var(--gb-page-progress,0%);height:1px;background:var(--gb-rose);transition:width .6s var(--gb-ease)}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers{display:flex!important;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;border:0!important;margin:0!important;padding:0!important;width:100%}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers li{border:0!important;float:none!important;overflow:visible!important;margin:0!important;list-style:none}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers::before,body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers::after{display:none!important}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers :is(a,span){display:flex!important;align-items:center;justify-content:center;min-width:42px;min-height:44px;padding:10px!important;border:1px solid transparent!important;border-radius:1px;font:400 12px/1 Roboto,Arial,sans-serif!important;font-variant-numeric:tabular-nums;transition:background .25s,border-color .25s,color .25s}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers a:hover{border-color:var(--gb-line)!important;background:rgba(255,233,233,.07)!important}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers .current{background:var(--gb-rose)!important;color:var(--gb-wine)!important}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers .dots{min-width:20px;padding:6px!important;opacity:.5}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination .gb-page-prev{margin-right:auto!important}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination .gb-page-next{margin-left:auto!important}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers :is(.prev,.next){gap:18px;min-width:142px;padding:15px 18px!important;border:1px solid var(--gb-line)!important;letter-spacing:.03em}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers :is(.prev,.next):hover{background:var(--gb-rose)!important;color:var(--gb-wine)!important;border-color:var(--gb-rose)!important}
body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers [aria-disabled="true"]{opacity:.3;cursor:default;background:transparent!important;color:var(--gb-rose)!important}
/* Product detail: tailored lines and quiet, deliberate controls. */
body.single-product .elementor[data-elementor-type="product"] .elementor-column.elementor-col-44>.elementor-widget-wrap{border-top:3px solid var(--gb-wine);border-radius:1px}
body.single-product .elementor[data-elementor-type="product"] .single_add_to_cart_button,.gb-kit-builder :is(button,.gb-cart-link){letter-spacing:.04em;box-shadow:inset 0 0 0 0 var(--gb-ink);transition:box-shadow .4s var(--gb-ease),background .3s,transform .3s!important}
body.single-product .elementor[data-elementor-type="product"] .single_add_to_cart_button:hover{box-shadow:inset 0 -65px 0 0 var(--gb-ink);transform:none}
body.single-product .elementor[data-elementor-type="product"] .variable-item{transition:background .2s,color .2s,transform .2s!important}
body.single-product .elementor[data-elementor-type="product"] .variable-item:hover{transform:translateY(-2px);border-color:var(--gb-wine)!important}
body.single-product .elementor[data-elementor-type="product"] .woocommerce-tabs{border-radius:1px;border-top:1px solid #7e1b1f44}
body:is(.post-type-archive-product,.tax-product_cat,.single-product) :is(.gb-category-nav a,.woocommerce-pagination a,.product .button,.king-addons-wishlist-button,.variable-item):focus-visible{outline:2px solid var(--gb-wine)!important;outline-offset:4px}
body:is(.post-type-archive-product,.tax-product_cat) :is(.gb-category-nav a,.woocommerce-pagination a):focus-visible{outline-color:var(--gb-rose)!important}
@media(hover:hover) and (pointer:fine){body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product:hover{transform:translateY(-6px);border-color:rgba(255,233,233,.55)!important;box-shadow:0 20px 44px #0005}body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product:hover::after{transform:scaleX(1)}}
@media(max-width:767px){
 body:is(.post-type-archive-product,.tax-product_cat) .elementor[data-elementor-type="product-archive"]>.elementor-top-section{padding-left:18px!important;padding-right:18px!important}
 body:is(.post-type-archive-product,.tax-product_cat) .elementor[data-elementor-type="product-archive"]>.elementor-top-section>.elementor-container>.elementor-column>.elementor-widget-wrap{padding-left:0!important;padding-right:0!important}
 body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products{gap:18px!important}
 body:is(.post-type-archive-product,.tax-product_cat) .elementor .gb-category-nav a{padding:15px 14px!important;font-size:10px;letter-spacing:.06em}
 body:is(.post-type-archive-product,.tax-product_cat) .elementor .gb-category-nav a::after{left:14px;right:14px}
 body:is(.post-type-archive-product,.tax-product_cat) .gb-card-category{margin-left:16px;margin-right:16px}
 body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .woocommerce-loop-product__title{padding:0 16px!important;font-size:17px!important}
 body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .price{margin-left:16px!important;margin-right:16px!important}
 body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products > .product .tp-add-to-cart{padding:0 16px}
 body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination{margin-top:38px!important}
 body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers{gap:4px}
 body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers :is(a,span){min-width:34px;padding:8px!important;font-size:11px!important}
 body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers li.gb-page-distant{display:none!important}
 body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination :is(.gb-page-prev,.gb-page-next){flex:0 0 calc(50% - 4px);min-width:0;order:2;margin-top:12px!important}
 body:is(.post-type-archive-product,.tax-product_cat) .woocommerce-pagination ul.page-numbers :is(.prev,.next){min-width:0;min-height:48px;width:100%;gap:10px}
 .gb-pagination-heading{font-size:9px;letter-spacing:.1em}
 .gb-pagination-heading strong{font-size:19px}
}
@media(max-width:360px){body:is(.post-type-archive-product,.tax-product_cat) .elementor ul.products{grid-template-columns:minmax(0,1fr)!important}}
@media(prefers-reduced-motion:reduce){body:is(.post-type-archive-product,.tax-product_cat,.single-product) .elementor :is(.product,.product::after,.button,.button::after,.gb-category-nav a,.gb-category-nav a::after,.variable-item){transform:none!important;transition:none!important}.gb-pagination-progress::before{transition:none}}
