/*
 * Beauty by Rhule — WooCommerce Style Overrides
 * Loads AFTER WooCommerce CSS (dependency: woocommerce-general)
 */

/* 0. NUKE WooCommerce clearfix ::before/::after */
.woocommerce .products ul::before,.woocommerce .products ul::after,
.woocommerce ul.products::before,.woocommerce ul.products::after,
.woocommerce-page ul.products::before,.woocommerce-page ul.products::after,
body .woocommerce ul.products::before,body .woocommerce ul.products::after,
.woocommerce ul.products li.product::before,.woocommerce ul.products li.product::after,
.woocommerce div.product .related ul.products::before,.woocommerce div.product .related ul.products::after,
.woocommerce div.product .upsells ul.products::before,.woocommerce div.product .upsells ul.products::after,
.woocommerce .cross-sells ul.products::before,.woocommerce .cross-sells ul.products::after{content:none;display:none}

/* 1. SHOP PAGE */
.shop-hero{padding:var(--space-3xl) 0 var(--space-2xl)}
.shop-hero--featured{padding:0 0 var(--space-2xl)}
.shop-hero__panel{position:relative;overflow:hidden;border-radius:28px;padding:0;background:transparent}
.shop-hero--featured .container{max-width:none;width:100%;padding-inline:0}
.shop-hero--featured .shop-hero__panel{width:100%;margin-left:0;border-radius:0}
.shop-hero__panel--featured{display:flex;align-items:flex-end;min-height:clamp(420px,72vh,760px);padding:clamp(2rem,4vw,3.5rem);background-image:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.04) 28%,rgba(255,255,255,.18) 56%,rgba(255,255,255,.88) 100%),var(--shop-hero-image);background-size:cover;background-position:center 20%;box-shadow:var(--shadow-soft)}
.shop-hero__inner{max-width:700px;position:relative;z-index:1}
@media(max-width:768px){.shop-hero{padding:var(--space-2xl) 0 var(--space-xl)}.shop-hero--featured{padding:0 0 var(--space-xl)}.shop-hero__panel{border-radius:22px}.shop-hero--featured .shop-hero__panel{width:100%;margin-left:0;border-radius:0}.shop-hero__panel--featured{min-height:calc(100svh - var(--header-height));padding:1.5rem 1.5rem 2.5rem;background-image:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.05) 34%,rgba(255,255,255,.18) 58%,rgba(255,255,255,.9) 100%),var(--shop-hero-image);background-position:center center}.shop-hero__inner{max-width:min(320px,82vw)}}
.shop-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-2xl);padding-bottom:var(--space-5xl);padding-top:var(--space-xl)}
@media(max-width:900px){.shop-layout{grid-template-columns:1fr}}
.shop-sidebar{display:block;min-width:0}
.shop-sidebar__backdrop{display:none}
.filter-group{margin:0;padding:0;border:none}
.filter-group + .filter-group{padding-top:var(--space-lg);border-top:1px solid var(--color-surface-container-high)}
.filter-group__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:0;cursor:pointer;list-style:none}
.filter-group__summary::-webkit-details-marker{display:none}
.filter-group__title{margin:0;font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:none;color:var(--color-on-surface)}
.filter-group__toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}
.filter-group__toggle::before,.filter-group__toggle::after{content:"";position:absolute;left:50%;top:50%;background:var(--color-outline);transform:translate(-50%,-50%);transition:transform .25s ease,opacity .25s ease,background-color .25s ease}
.filter-group__toggle::before{width:12px;height:1px}
.filter-group__toggle::after{width:1px;height:12px}
.filter-group[open] .filter-group__toggle::after{opacity:0;transform:translate(-50%,-50%) scaleY(0)}
.filter-group__summary:hover .filter-group__toggle::before,.filter-group__summary:hover .filter-group__toggle::after{background:var(--color-primary)}
.filter-group__panel{padding-top:var(--space-md)}
.filter-group__list{list-style:none;margin:0;padding:0}
.filter-group__list li{margin-bottom:var(--space-xs)}
.filter-group__list a{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;color:var(--color-secondary);padding:.5rem 0;transition:color .3s}
.filter-group__list a:hover,.filter-group__list .is-active a{color:var(--color-primary)}
.filter-count{font-size:.6875rem;color:var(--color-outline)}
.shop-filter-form{display:grid;gap:var(--space-lg);padding:0;border:none;border-radius:0;background:transparent;position:sticky;top:calc(var(--header-height) + 24px)}
body.admin-bar .shop-filter-form{top:calc(var(--header-height) + 56px)}
.shop-filter-form__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-bottom:var(--space-xs)}
.shop-filter-form__title{margin:0;font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:none;color:var(--color-on-surface)}
.shop-filter-form__header-actions{display:flex;align-items:center;gap:var(--space-md)}
.shop-filter-form__reset{color:var(--color-primary);text-decoration:none;white-space:nowrap}
.shop-filter-form__reset:hover{text-decoration:underline}
.shop-filter-form__close,.shop-toolbar__filters-toggle{display:none}
.shop-filter-form__close{align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border:none;border-radius:999px;background:var(--color-surface-container-low);color:var(--color-on-surface);font-size:1.75rem;line-height:1;cursor:pointer}
.shop-filter-form__close:hover{background:var(--color-surface-container)}
.shop-filter-form__close span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1;transform:translateY(-1px)}
.filter-group__list--checks{display:grid;gap:var(--space-xs)}
.filter-group__list--checks li{margin:0}
.filter-group__item{margin:0}
.filter-group__option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.35rem 0;cursor:pointer}
.filter-group__checkbox{width:16px;height:16px;margin:0;accent-color:var(--color-primary)}
.filter-group__option-text{font-size:.8125rem;color:var(--color-secondary);transition:color .3s,font-weight .3s;text-transform:none}
.filter-group__option:hover .filter-group__option-text{color:var(--color-primary)}
.filter-group__checkbox:checked + .filter-group__option-text{color:var(--color-primary);font-weight:600}
.filter-group__all-link{font-size:.8125rem;color:var(--color-secondary);text-decoration:none}
.filter-group__all-link:hover,.filter-group__all-link.is-active{color:var(--color-primary)}
.price-filter{display:grid;gap:var(--space-sm);--price-left:0%;--price-right:100%}
.price-filter__input{display:none}
.price-filter__values{display:flex;align-items:center;justify-content:space-between;gap:10px}
.price-filter__value-field{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .75rem;border-radius:999px;background:var(--color-surface-container-low);min-width:0}
.price-filter__currency{font-size:.75rem;font-weight:600;color:var(--color-secondary);white-space:nowrap}
.price-filter__value-input{width:30px;min-width:0;border:none;background:transparent;font-family:var(--font-body);font-size:.78rem;font-weight:600;color:var(--color-on-surface);padding:0;appearance:textfield;-moz-appearance:textfield}
.price-filter__value-input::-webkit-outer-spin-button,.price-filter__value-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.price-filter__value-input:focus{outline:none}
.price-filter__current-separator{font-size:.75rem;color:var(--color-outline)}
.price-filter__slider{position:relative;height:26px;overflow:visible;touch-action:none}
.price-filter__track,.price-filter__progress{position:absolute;left:0;right:0;top:50%;height:4px;border-radius:999px;transform:translateY(-50%)}
.price-filter__track{background:var(--color-surface-container-high)}
.price-filter__progress{left:var(--price-left);right:calc(100% - var(--price-right));background:var(--color-primary)}
.price-filter__range-input{position:absolute;left:0;top:0;width:100%;height:26px;margin:0;background:none;appearance:none;-webkit-appearance:none;pointer-events:none;opacity:0}
.price-filter__range-input::-webkit-slider-runnable-track{height:4px;background:transparent}
.price-filter__range-input::-moz-range-track{height:4px;background:transparent}
.price-filter__range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;border:2px solid var(--color-primary);background:#fff;box-shadow:0 4px 12px rgba(28,27,27,.12);pointer-events:auto;cursor:pointer;margin-top:-7px}
.price-filter__range-input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-primary);background:#fff;box-shadow:0 4px 12px rgba(28,27,27,.12);pointer-events:auto;cursor:pointer}
.price-filter__range-input:focus{outline:none}
.price-filter__range-input--min{z-index:2}
.price-filter__range-input--max{z-index:3}
.price-filter__thumb{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;border:2px solid var(--color-primary);background:#fff;box-shadow:0 4px 12px rgba(28,27,27,.12);transform:translate(-50%,-50%);cursor:pointer;z-index:4}
.price-filter__thumb--min{left:var(--price-left)}
.price-filter__thumb--max{left:var(--price-right)}
.price-filter__range{margin:0;font-size:.75rem;color:var(--color-secondary)}
@media(max-width:900px){
body.shop-filters-open{overflow:hidden}
.shop-sidebar{position:fixed;left:0;right:0;bottom:0;top:var(--header-height);z-index:80;visibility:hidden;pointer-events:none}
.shop-sidebar__backdrop{display:block;position:fixed;left:0;right:0;bottom:0;top:var(--header-height);z-index:79;border:none;background:rgba(18,18,18,.28);opacity:0;pointer-events:none;transition:opacity .28s ease}
.shop-filter-form{position:absolute;top:0;right:0;bottom:0;width:min(380px,100vw);height:auto;min-height:100%;overflow:auto;gap:var(--space-lg);padding:0 1rem calc(1rem + env(safe-area-inset-bottom));background:var(--color-background);transform:translateX(100%);transition:transform .28s ease;box-shadow:-16px 0 40px rgba(18,18,18,.16);pointer-events:auto}
.shop-filter-form__header{position:sticky;top:0;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin:0 -1rem;padding:1rem 1rem var(--space-sm);background:var(--color-background);box-shadow:0 1px 0 rgba(0,0,0,.04)}
.shop-filter-form__close,.shop-toolbar__filters-toggle{display:inline-flex}
.shop-toolbar__filters-toggle{align-items:center;justify-content:center;padding:.75rem 1rem;border:1px solid var(--color-surface-container-highest);border-radius:999px;background:var(--color-surface-container-low);font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--color-on-surface);cursor:pointer}
.shop-toolbar__filters-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}
body.shop-filters-open .shop-sidebar{visibility:visible;pointer-events:none}
body.shop-filters-open .shop-sidebar__backdrop{opacity:1;pointer-events:auto}
body.shop-filters-open .shop-filter-form{transform:translateX(0)}
body.admin-bar .shop-sidebar{top:calc(var(--header-height) + 32px)}
body.admin-bar .shop-sidebar__backdrop{top:calc(var(--header-height) + 32px)}
body.admin-bar .shop-filter-form{top:0}
}
@media(max-width:782px){
body.admin-bar .shop-sidebar{top:calc(var(--header-height) + 46px)}
body.admin-bar .shop-sidebar__backdrop{top:calc(var(--header-height) + 46px)}
}
@media(max-width:640px){.price-filter__value-input{width:30px}.price-filter__values{gap:6px}}

/* Toolbar */
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);flex-wrap:wrap;gap:var(--space-md)}
.shop-toolbar .woocommerce-result-count{font-size:.8125rem;color:var(--color-secondary);margin:0}
.shop-toolbar > .shop-toolbar__count:empty{display:none}

/* Sorting dropdown */
.woocommerce .woocommerce-ordering select{font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--color-on-surface);background-color:var(--color-surface-container-low);border:1px solid var(--color-surface-container-highest);border-radius:8px;padding:.6rem 2.5rem .6rem 1rem;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23514346' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:border-color .3s}
.woocommerce .woocommerce-ordering select:focus{outline:none;border-color:var(--color-primary)}

/* Product grid */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl);align-items:start;list-style:none;margin:0;padding:0;float:none}
@media(min-width:1280px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.woocommerce ul.products{grid-template-columns:1fr;max-width:400px}}
.woocommerce ul.products li.product,
.woocommerce ul.products.columns-2 li.product,
.woocommerce ul.products.columns-3 li.product,
.woocommerce ul.products.columns-4 li.product,
.woocommerce-page ul.products li.product,
.woocommerce-page ul.products.columns-2 li.product,
.woocommerce-page ul.products.columns-3 li.product,
.woocommerce-page ul.products.columns-4 li.product{margin:0!important;padding:0;float:none!important;clear:none!important;width:100%!important;max-width:none!important;min-width:0;list-style:none;display:flex;flex-direction:column}

/* Product card image */
.product-card__image-wrap{display:block;position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:8px;margin-bottom:var(--space-lg);background:var(--color-surface-container)}
.product-card__image-wrap img,.product-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}
.product-card:hover .product-card__image-wrap img{transform:scale(1.06)}

/* Pagination */
.shop-pagination{margin-top:var(--space-3xl)}
.woocommerce nav.woocommerce-pagination{text-align:center}
.woocommerce nav.woocommerce-pagination ul{display:inline-flex;gap:var(--space-sm);list-style:none;margin:0;padding:0;border:none}
.woocommerce nav.woocommerce-pagination ul li{border:none;margin:0;padding:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-size:.8125rem;font-weight:600;color:var(--color-on-surface-variant);background:none;border:1px solid var(--color-outline-variant);text-decoration:none}
.woocommerce nav.woocommerce-pagination ul li a:hover{border-color:var(--color-primary);color:var(--color-primary)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}

/* 2. SINGLE PRODUCT */
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:start}
@media(max-width:768px){.woocommerce div.product{grid-template-columns:1fr}}
.woocommerce div.product div.images{width:100%;float:none}
.woocommerce div.product > *{min-width:0}
.woocommerce div.product div.images .woocommerce-product-gallery{display:grid;gap:16px;position:relative;overflow:visible}
.woocommerce div.product div.images .flex-viewport{border-radius:20px;overflow:hidden;background:var(--color-surface-container-low)}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{margin:0}
.woocommerce div.product div.images img{border-radius:0}
.woocommerce div.product div.images .woocommerce-product-gallery__image{border-radius:20px;overflow:hidden}
.woocommerce div.product div.images .woocommerce-product-gallery__image a{display:block}
.woocommerce div.product div.images .woocommerce-product-gallery__image img{display:block;width:100%}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:0;list-style:none;padding:12px 0 4px}
@media(max-width:640px){.woocommerce div.product div.images .flex-control-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.woocommerce div.product div.images .flex-control-thumbs li{float:none!important;width:auto!important;margin:0!important;padding:4px;border-radius:20px;overflow:visible}
.woocommerce div.product div.images .flex-control-thumbs li img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;opacity:1;transition:border-color .3s,box-shadow .3s;box-shadow:inset 0 0 0 1px transparent;background:var(--color-surface-container-low)}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,.woocommerce div.product div.images .flex-control-thumbs li img:hover{box-shadow:0 0 0 1px var(--color-primary),0 0 0 4px rgba(233,30,99,.1)}
.woocommerce div.product div.images .bbr-gallery-trigger{position:absolute;top:18px;right:18px;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;background:rgba(255,255,255,.94);color:var(--color-on-surface);box-shadow:var(--shadow-soft);cursor:pointer}
.woocommerce div.product div.images .bbr-gallery-trigger .material-symbols-outlined{font-size:26px;font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24}
.woocommerce div.product div.images .bbr-gallery-lens{position:absolute;left:0;top:0;z-index:5;width:170px;height:170px;border-radius:50%;border:1px solid rgba(253,251,251,.9);background-color:rgba(255,255,255,.14);background-repeat:no-repeat;background-size:520%;box-shadow:0 12px 30px rgba(28,27,27,.16);opacity:0;transform:translate(-50%,-50%) scale(.94);transition:opacity .18s ease,transform .18s ease;pointer-events:none}
.woocommerce div.product div.images .bbr-gallery-lens.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.woocommerce div.product div.images .bbr-gallery-lens::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at center,rgba(255,255,255,.08),rgba(255,255,255,0) 72%)}
@media(max-width:1024px){.woocommerce div.product div.images .bbr-gallery-lens{display:none}}
.woocommerce div.product div.summary{width:100%;float:none;padding-top:var(--space-md)}
.bbr-breadcrumb{margin-bottom:var(--space-xl);color:var(--color-secondary)}
.bbr-breadcrumb a{color:var(--color-secondary)}
.bbr-breadcrumb a:hover{color:var(--color-primary)}
.breadcrumb-sep{margin:0 .35rem;color:var(--color-outline)}
.woocommerce div.product .product_title{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-style:italic;font-weight:400;line-height:1.15;color:var(--color-on-surface);margin-bottom:var(--space-md)}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--font-serif);font-size:1.75rem;font-style:italic;color:var(--color-primary);margin-bottom:var(--space-lg)}
.woocommerce div.product p.price del{color:var(--color-outline);font-size:1.25rem}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:.9375rem;color:var(--color-secondary);line-height:1.7;margin-bottom:var(--space-lg)}

/* Stock badge */
.bbr-stock-badge{display:inline-block;font-family:var(--font-body);font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.35rem 1rem;border-radius:9999px;margin-bottom:var(--space-lg)}
.bbr-stock-badge.in-stock{background:rgba(233,30,99,.08);color:var(--color-primary)}
.bbr-stock-badge.out-of-stock{background:rgba(186,26,26,.08);color:var(--color-error)}

/* Add to Cart */
.woocommerce div.product form.cart{margin-bottom:var(--space-xl);display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}
.woocommerce .quantity .qty{font-family:var(--font-body);font-size:.875rem;width:70px;text-align:center;border:1px solid var(--color-surface-container-highest);border-radius:6px;padding:.75rem;color:var(--color-on-surface);background:var(--color-surface-container-lowest)}
.woocommerce div.product form.cart .single_add_to_cart_button{font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));color:#fff;border:none;border-radius:8px;padding:1rem 2.5rem;box-shadow:0 4px 16px rgba(233,30,99,.25);transition:opacity .3s}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{opacity:.9}
.woocommerce div.product form.cart .variations{width:100%;margin-bottom:var(--space-md)}
.woocommerce div.product form.cart .variations tbody{display:grid;gap:var(--space-lg)}
.woocommerce div.product form.cart .variations tr{display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--space-md);align-items:center}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{padding:0;border:none;background:none}
.woocommerce div.product form.cart .variations th.label{display:flex;align-items:center;align-self:center;min-height:100%}
.woocommerce div.product form.cart .variations label{font-family:var(--font-body);font-size:.6875rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.woocommerce div.product form.cart .variations select{font-family:var(--font-body);font-size:.875rem;background:var(--color-surface-container-low);border:1px solid var(--color-surface-container-highest);border-radius:6px;padding:.75rem 1rem;width:100%}
.woocommerce div.product form.cart .variations select.bbr-variation-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.woocommerce div.product form.cart .variations td.value{display:grid;gap:var(--space-sm);margin:0}
.bbr-variation-swatches{display:flex;flex-wrap:wrap;gap:.75rem}
.bbr-variation-swatch{display:inline-flex;align-items:center;justify-content:center;min-height:52px;min-width:84px;padding:.85rem 1rem;border:1px solid var(--color-surface-container-highest);border-radius:14px;background:var(--color-surface-container-lowest);color:var(--color-on-surface);font-family:var(--font-body);font-size:.95rem;font-weight:500;line-height:1.2;text-transform:none;white-space:nowrap;transition:border-color .25s,box-shadow .25s,color .25s,background-color .25s}
.bbr-variation-swatch:hover{border-color:rgba(233,30,99,.45);box-shadow:0 10px 20px rgba(233,30,99,.08)}
.bbr-variation-swatch:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(233,30,99,.12)}
.bbr-variation-swatch.is-active{border-color:var(--color-primary);background:rgba(233,30,99,.06);box-shadow:0 0 0 3px rgba(233,30,99,.12);color:var(--color-primary-dark);font-weight:600}
.bbr-variation-swatch.is-disabled,.bbr-variation-swatch:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.woocommerce div.product form.cart .variations tr.bbr-variation-reset-row{align-items:start}
.woocommerce div.product form.cart .variations tr.bbr-variation-reset-row[hidden]{display:none!important}
.woocommerce div.product form.cart .variations tr.bbr-variation-reset-row .bbr-variation-reset-spacer{visibility:hidden;min-height:0}
.woocommerce div.product form.cart .variations tr.bbr-variation-reset-row .bbr-variation-reset-cell{padding-top:calc(var(--space-xs) * -1)}
.bbr-reset-variations{display:inline-flex;align-items:center;color:var(--color-primary);font-size:.875rem;text-decoration:none;white-space:nowrap}
.bbr-reset-variations:hover{text-decoration:underline}
.woocommerce div.product .product_meta{font-size:.8125rem;color:var(--color-secondary);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-surface-container-highest);line-height:2}
.woocommerce div.product .product_meta a{color:var(--color-primary)}

/* Tabs — transparent backgrounds */
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:var(--space-xl);list-style:none;margin:0 0 var(--space-2xl);padding:0;border-bottom:1px solid var(--color-surface-container-highest);background:transparent;overflow:visible}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{content:none;display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0;padding:0;background:transparent;border:none;border-radius:0;background-color:transparent}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{content:none;display:none;border:none;box-shadow:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:transparent;background-color:transparent;z-index:auto;border-bottom-color:transparent}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-secondary);padding:.75rem 0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;text-decoration:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--color-primary);border-bottom-color:var(--color-primary);background:transparent}
.woocommerce div.product .woocommerce-tabs .panel{font-size:.9375rem;color:var(--color-on-surface-variant);line-height:1.7}
.woocommerce div.product .woocommerce-tabs .panel h2{font-family:var(--font-serif);font-size:1.5rem;font-style:italic;margin-bottom:var(--space-lg)}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1;margin-top:var(--space-3xl)}
.woocommerce div.product .related h2,.woocommerce div.product .upsells h2{font-family:var(--font-serif);font-size:2rem;font-style:italic;margin-bottom:var(--space-2xl)}
.woocommerce div.product .related ul.products,.woocommerce div.product .upsells ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}
@media(max-width:768px){.woocommerce div.product .related ul.products{grid-template-columns:repeat(2,1fr)}}

/* 3. CART */
.woocommerce-page-main .page-body{max-width:100%}
.woocommerce table.shop_table{border:none;border-collapse:collapse}
.woocommerce table.shop_table th{font-family:var(--font-body);font-size:.6875rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-secondary);padding:1rem .5rem;border-bottom:1px solid var(--color-surface-container-highest);background:none}
.woocommerce table.shop_table td{padding:1.5rem .5rem;border-bottom:1px solid var(--color-surface-container-highest);vertical-align:middle;background:none}
.woocommerce table.shop_table img{width:80px;border-radius:6px}
.woocommerce table.shop_table .product-name a{font-family:var(--font-serif);font-size:1.125rem;color:var(--color-on-surface)}
.woocommerce table.shop_table .product-name a:hover{color:var(--color-primary)}
.woocommerce table.shop_table .product-price,.woocommerce table.shop_table .product-subtotal{font-family:var(--font-serif);font-style:italic;color:var(--color-primary)}
.woocommerce a.remove{color:var(--color-secondary)!important;transition:color .3s}
.woocommerce a.remove:hover{color:var(--color-error)!important;background:none!important}
.woocommerce .cart_totals{width:100%;max-width:420px;float:right}
.woocommerce .cart_totals h2{font-family:var(--font-serif);font-size:1.25rem;font-style:italic;margin-bottom:var(--space-lg)}
.woocommerce .cart_totals table{border:none}
.woocommerce .cart_totals table td,.woocommerce .cart_totals table th{border:none;padding:.75rem 0;background:none}
.woocommerce .cart_totals .order-total .woocommerce-Price-amount{font-family:var(--font-serif);font-size:1.5rem;color:var(--color-primary)}
.woocommerce .wc-proceed-to-checkout a.checkout-button{font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));color:#fff;border-radius:9999px;padding:1rem 2rem;box-shadow:0 4px 16px rgba(233,30,99,.3);display:block;text-align:center}
.woocommerce .cross-sells ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}
@media(max-width:768px){.woocommerce .cross-sells ul.products{grid-template-columns:repeat(2,1fr)}}
.woocommerce .cross-sells h2{font-family:var(--font-serif);font-style:italic;font-size:1.5rem;margin-bottom:var(--space-xl)}
.woocommerce .cart-empty{font-family:var(--font-serif);font-style:italic;font-size:1.5rem;text-align:center}
.woocommerce .return-to-shop{text-align:center;margin-top:var(--space-xl)}

/* 4. CHECKOUT — Block + Classic */
.woocommerce-checkout h3{font-family:var(--font-serif);font-size:1.5rem;font-style:italic;margin-bottom:var(--space-xl)}
.wc-block-components-checkout-place-order-button,.wp-block-woocommerce-checkout-actions-block .wc-block-components-button,.wc-block-components-button.wc-block-cart__submit-button,.wc-block-components-button.wc-block-components-checkout-place-order-button,.wc-block-cart__submit-container .wc-block-cart__submit-button{font-family:var(--font-body)!important;font-size:.8rem!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;background:linear-gradient(135deg,#b80049,#E91E63)!important;color:#fff!important;border:none!important;border-radius:8px!important;padding:1rem 2.5rem!important;box-shadow:0 4px 16px rgba(233,30,99,.3)!important}
.woocommerce-checkout .form-row input.input-text,.woocommerce-checkout .form-row textarea,.woocommerce-checkout .form-row select{font-family:var(--font-body);font-size:.875rem;color:var(--color-on-surface);background:var(--color-surface-container-lowest);border:1px solid var(--color-surface-container-highest);border-radius:6px;padding:.75rem 1rem}
.woocommerce-checkout .form-row input.input-text:focus,.woocommerce-checkout .form-row select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(233,30,99,.08)}
.bbr-birthday-field{margin-top:var(--space-2xl);padding:var(--space-xl);background:var(--color-surface-container-low);border-radius:12px}
#place_order{font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(135deg,#b80049,#E91E63);color:#fff;border:none;border-radius:8px;padding:1.125rem 2.5rem;box-shadow:0 4px 16px rgba(233,30,99,.3)}

/* 5. MY ACCOUNT */
.woocommerce-page-main .woocommerce{max-width:100%}
@media(min-width:769px){.woocommerce-account .woocommerce-MyAccount-navigation{float:left;width:240px;margin-right:var(--space-3xl)}.woocommerce-account .woocommerce-MyAccount-content{float:left;width:calc(100% - 240px - 4rem)}}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;background:var(--color-surface-container-low);border-radius:12px;overflow:hidden}
.woocommerce-account .woocommerce-MyAccount-navigation ul li{margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{display:block;font-family:var(--font-body);font-size:.875rem;color:var(--color-secondary);padding:1rem 1.5rem;transition:all .3s;border-left:3px solid transparent;text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{color:var(--color-primary);background:var(--color-primary-container);border-left-color:var(--color-primary);font-weight:600}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{color:var(--color-primary);background:var(--color-surface-container)}
.woocommerce-form-login,.woocommerce-form-register{max-width:480px;margin:0 auto;background:var(--color-surface-container-low);padding:var(--space-2xl);border-radius:12px;border:none}
/* Hide awkward "Login" h2 */
.woocommerce-account .woocommerce > h2{display:none}
.woocommerce-form-login label,.woocommerce-form-register label{font-family:var(--font-body);font-size:.8125rem;font-weight:500}
.woocommerce-form-login input.input-text,.woocommerce-form-register input.input-text{width:100%;font-family:var(--font-body);font-size:.875rem;padding:.75rem 1rem;border:1px solid var(--color-surface-container-highest);border-radius:6px;background:var(--color-surface-container-lowest)}
.woocommerce-form-login input.input-text:focus,.woocommerce-form-register input.input-text:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(233,30,99,.08)}
.woocommerce-LostPassword a{font-size:.8125rem;color:var(--color-primary)}

body.woocommerce-account.logged-in .page-body{padding-bottom:var(--space-5xl)}
body.woocommerce-account.logged-in .page-body .woocommerce{display:grid;gap:var(--space-2xl);align-items:start}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{float:none!important;width:auto!important;margin:0!important;min-width:0}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{max-width:none}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{display:grid;gap:var(--space-xl);align-content:start}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content > *{min-width:0}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content form{margin:0}
body.woocommerce-account.logged-in .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl);align-items:start}
body.woocommerce-account.logged-in .woocommerce-Addresses::before,
body.woocommerce-account.logged-in .woocommerce-Addresses::after{content:none!important;display:none!important}
body.woocommerce-account.logged-in .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account.logged-in .woocommerce-Addresses .u-column1,
body.woocommerce-account.logged-in .woocommerce-Addresses .u-column2,
body.woocommerce-account.logged-in .woocommerce-Addresses .col-1,
body.woocommerce-account.logged-in .woocommerce-Addresses .col-2{float:none!important;width:auto!important;margin:0!important;min-width:0}
body.woocommerce-account.logged-in .woocommerce-Addresses .woocommerce-Address{display:grid;gap:var(--space-lg);padding:var(--space-xl);background:var(--color-surface-container-low);border-radius:18px}
body.woocommerce-account.logged-in .woocommerce-Address-title.title{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin:0}
body.woocommerce-account.logged-in .woocommerce-Address-title.title h3{margin:0;float:none!important;font-family:var(--font-serif);font-size:clamp(1.5rem,2vw,2rem);font-style:italic}
body.woocommerce-account.logged-in .woocommerce-Address-title .edit{float:none!important;align-self:flex-start;color:var(--color-primary);font-size:.875rem;font-weight:600;text-decoration:none}
body.woocommerce-account.logged-in .woocommerce-Address-title .edit:hover{text-decoration:underline}
body.woocommerce-account.logged-in .woocommerce-Address address{margin:0}
body.woocommerce-account.logged-in .woocommerce-Address address{font-style:normal;color:var(--color-secondary);line-height:1.8}
body.woocommerce-account.logged-in .woocommerce-address-fields,
body.woocommerce-account.logged-in .woocommerce-EditAccountForm{display:grid;gap:var(--space-lg)}
body.woocommerce-account.logged-in .site-footer{clear:both}

@media(min-width:769px){
    body.woocommerce-account.logged-in .page-body .woocommerce{grid-template-columns:minmax(220px,240px) minmax(0,1fr);column-gap:var(--space-3xl)}
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{position:sticky;top:calc(var(--header-height) + var(--space-xl));align-self:start}
}

@media(min-width:769px){
    body.admin-bar.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{top:calc(var(--header-height) + 32px + var(--space-xl))}
}

@media(max-width:900px){
    body.woocommerce-account.logged-in .woocommerce-Addresses{grid-template-columns:1fr}
}

@media(max-width:768px){
    body.woocommerce-account.logged-in .page-body .woocommerce{grid-template-columns:1fr}
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{width:100%!important}
    body.woocommerce-account.logged-in .woocommerce-Address-title.title{flex-direction:column;align-items:flex-start}
}

/* 6. NOTICES */
.woocommerce-message,.woocommerce-info{border-top-color:var(--color-primary);background:var(--color-primary-container);color:var(--color-on-primary-container);border-radius:8px;font-size:.875rem}
.woocommerce-message::before,.woocommerce-info::before{color:var(--color-primary)}
.woocommerce-error{border-top-color:var(--color-error);border-radius:8px}

/* 7. GLOBAL BUTTONS */
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:.875rem 1.75rem;cursor:pointer}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{opacity:.9;background:var(--color-primary);color:#fff}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary))}
.woocommerce span.onsale{background:var(--color-primary);color:#fff;font-family:var(--font-body);font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .75rem;border-radius:9999px;min-width:auto;min-height:auto;line-height:1.2}

/* 8. PAGE BODY */
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}
@media(max-width:768px){.posts-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.posts-grid{grid-template-columns:1fr}}
.page-body p{margin-bottom:var(--space-lg);line-height:1.8;color:var(--color-on-surface-variant)}
.page-body h2{font-family:var(--font-serif);font-size:1.75rem;font-style:italic;margin-top:var(--space-3xl);margin-bottom:var(--space-lg)}
.page-body img{border-radius:8px;margin:var(--space-xl) 0}

/* 9. CASCADE FIXES + UX POLISH */
.woocommerce::before,
.woocommerce::after,
.woocommerce-page::before,
.woocommerce-page::after,
.woocommerce div.product .related::before,
.woocommerce div.product .related::after,
.woocommerce div.product .upsells::before,
.woocommerce div.product .upsells::after,
.woocommerce .cross-sells::before,
.woocommerce .cross-sells::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{
    content:none !important;
    display:none !important;
}

.shop-toolbar__sort .woocommerce-ordering{
    float:none;
    margin:0;
}

.woocommerce .shop-toolbar .woocommerce-ordering select.orderby,
.woocommerce-page .shop-toolbar .woocommerce-ordering select.orderby{
    min-width:220px;
    font-family:var(--font-body) !important;
    font-size:.8125rem !important;
    font-weight:500;
    line-height:1.2;
    color:var(--color-on-surface) !important;
    background:var(--color-surface-container-low) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23514346' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right .85rem center !important;
    border:1px solid var(--color-surface-container-highest) !important;
    border-radius:10px !important;
    padding:.7rem 2.75rem .7rem 1rem !important;
    box-shadow:none !important;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
}

.woocommerce .shop-products,
.woocommerce .shop-products .products{
    width:100%;
}

.shop-products{
    min-width:0;
}

.woocommerce ul.products li.product .product-card__image-wrap{
    display:block;
    width:100%;
    max-width:none;
    overflow:hidden;
    margin-bottom:var(--space-md);
}

.woocommerce ul.products li.product .product-card__info{
    width:100%;
    max-width:none;
    min-width:0;
}

.woocommerce ul.products li.product .product-card__name{
    font-size:1.125rem;
}

.woocommerce ul.products li.product .product-card__meta{
    max-width:28ch;
}

.woocommerce ul.products li.product .product-card__image-wrap > img.product-card__img,
.woocommerce ul.products li.product .product-card__image-wrap > img{
    width:100%!important;
    height:100%!important;
    object-fit:cover;
    display:block;
    margin:0!important;
    border-radius:inherit;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
    background:transparent !important;
    box-shadow:none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
    border:none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
    border-bottom:2px solid var(--color-primary) !important;
}

@media(min-width:1024px){
    .woocommerce div.product{
        grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
        gap:clamp(2rem,4vw,5rem);
    }
}

.single-product-page__inner{
    padding-top:var(--space-3xl);
    padding-bottom:var(--space-5xl);
}

@media(max-width:768px){
    .single-product-page__inner{
        padding-top:var(--space-xl);
        padding-bottom:var(--space-3xl);
    }

    .woocommerce div.product{
        display:flex;
        flex-direction:column;
        gap:var(--space-xl);
    }

    .woocommerce div.product div.images,
    .woocommerce div.product div.summary,
    .woocommerce div.product .woocommerce-tabs,
    .woocommerce div.product .related,
    .woocommerce div.product .upsells{
        width:100% !important;
        max-width:100%;
        float:none !important;
        clear:none !important;
        margin-left:0;
        margin-right:0;
    }

    .woocommerce div.product div.images{
        order:1;
    }

    .woocommerce div.product div.summary{
        order:2;
        padding-top:0;
    }

    .woocommerce div.product .woocommerce-tabs,
    .woocommerce div.product .related,
    .woocommerce div.product .upsells{
        grid-column:auto;
        margin-top:var(--space-2xl);
    }

    .woocommerce div.product .woocommerce-tabs{
        order:3;
    }

    .woocommerce div.product .related,
    .woocommerce div.product .upsells{
        order:4;
    }

    .woocommerce div.product div.images .woocommerce-product-gallery,
    .woocommerce div.product div.images .flex-viewport,
    .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{
        width:100%;
        max-width:100%;
        min-width:0;
    }

    .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{
        width:100% !important;
        transform:none !important;
        transition:none !important;
        display:block;
    }

    .woocommerce div.product div.images .woocommerce-product-gallery__image{
        display:none !important;
        width:100% !important;
        float:none !important;
        margin-right:0 !important;
    }

    .woocommerce div.product div.images .woocommerce-product-gallery__image.flex-active-slide,
    .woocommerce div.product div.images .woocommerce-product-gallery__image.flex-active{
        display:block !important;
    }

    .woocommerce div.product div.images .bbr-gallery-trigger{
        top:12px;
        right:12px;
        width:42px;
        height:42px;
    }

    .woocommerce div.product div.images .bbr-gallery-trigger .material-symbols-outlined{
        font-size:22px;
    }

    .woocommerce div.product .product_title{
        font-size:clamp(2rem,11vw,2.75rem);
        line-height:1.08;
    }

    .woocommerce div.product p.price,
    .woocommerce div.product span.price{
        font-size:1.5rem;
        margin-bottom:var(--space-md);
    }

    .woocommerce div.product form.cart{
        flex-direction:column;
        align-items:stretch;
        gap:var(--space-sm);
    }

    .woocommerce div.product form.cart .variations tr{
        grid-template-columns:1fr;
        gap:var(--space-sm);
        align-items:start;
    }

    .woocommerce div.product form.cart .variations th.label{
        align-self:start;
    }

    .woocommerce div.product form.cart .quantity,
    .woocommerce div.product form.cart .single_add_to_cart_button{
        width:100%;
    }

    .woocommerce .quantity .qty{
        width:100%;
        max-width:none;
    }

    .woocommerce div.product form.cart .single_add_to_cart_button{
        padding-left:1.5rem;
        padding-right:1.5rem;
    }

    .bbr-variation-swatches{
        gap:.625rem;
    }

    .woocommerce div.product form.cart .variations tr.bbr-variation-reset-row .bbr-variation-reset-spacer{
        display:none;
    }

    .woocommerce div.product form.cart .variations tr.bbr-variation-reset-row .bbr-variation-reset-cell{
        padding-top:0;
    }

    .bbr-variation-swatch{
        min-height:48px;
        min-width:72px;
        padding:.75rem .95rem;
        font-size:.875rem;
    }

    .woocommerce div.product .product_meta{
        line-height:1.75;
        overflow-wrap:anywhere;
        word-break:break-word;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs{
        gap:var(--space-md);
        flex-wrap:wrap;
        margin-bottom:var(--space-xl);
    }

    .woocommerce div.product .related ul.products,
    .woocommerce div.product .upsells ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:var(--space-lg);
    }
}

@media(max-width:520px){
    .single-product-page__inner{
        padding-top:var(--space-lg);
        padding-bottom:var(--space-2xl);
    }

    .woocommerce div.product{
        gap:var(--space-lg);
    }

    .woocommerce div.product div.images .flex-control-thumbs{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:10px;
        padding:10px 0 4px;
    }

    .woocommerce div.product div.images .flex-control-thumbs li{
        padding:2px;
        border-radius:16px;
    }

    .woocommerce div.product div.images .flex-control-thumbs li img{
        border-radius:12px;
    }

    .woocommerce div.product .woocommerce-tabs,
    .woocommerce div.product .related,
    .woocommerce div.product .upsells{
        margin-top:var(--space-xl);
    }

    .woocommerce div.product .related ul.products,
    .woocommerce div.product .upsells ul.products{
        grid-template-columns:1fr;
    }
}

.woocommerce-checkout form.checkout{
    display:grid;
    gap:var(--space-2xl);
    align-items:start;
}

.woocommerce-checkout .col2-set,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{
    width:100%;
    float:none;
}

.woocommerce-checkout .col2-set{
    display:grid;
    gap:var(--space-xl);
    margin:0;
}

.woocommerce-checkout #order_review_heading{
    display:none;
}

.woocommerce-checkout #order_review{
    display:grid;
    gap:var(--space-lg);
    align-self:start;
}

.woocommerce-checkout #order_review::before{
    content:"Your order";
    display:block;
    font-family:var(--font-serif);
    font-size:1.5rem;
    font-style:italic;
    color:var(--color-on-surface);
    margin-bottom:calc(var(--space-md) * -0.25);
}

.woocommerce-checkout #order_review .shop_table,
.woocommerce-checkout #payment{
    background:var(--color-surface-container-low);
    border:1px solid var(--color-surface-container-highest);
    border-radius:18px;
}

.woocommerce-checkout #order_review .shop_table{
    overflow:hidden;
}

.woocommerce-checkout #payment{
    padding:var(--space-xl);
}

.woocommerce-checkout #payment div.payment_box{
    background:var(--color-surface-container-lowest);
    border-radius:12px;
}

.woocommerce-checkout #payment div.payment_box::before{
    border-bottom-color:var(--color-surface-container-lowest);
}

.woocommerce-checkout #payment .place-order{
    margin-bottom:0;
}

.woocommerce-checkout #payment #place_order{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
}

@media(min-width:1100px){
    .woocommerce-checkout form.checkout{
        grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
        column-gap:clamp(2rem,4vw,4rem);
        row-gap:var(--space-xl);
    }

    .woocommerce-checkout form.checkout #customer_details{
        grid-column:1;
        grid-row:1;
    }

    .woocommerce-checkout form.checkout #order_review{
        grid-column:2;
        grid-row:1;
    }

    .woocommerce-checkout form.checkout #order_review{
        position:sticky;
        top:calc(var(--header-height) + var(--space-xl));
    }
}

@media(min-width:1100px){
    body.admin-bar .woocommerce-checkout form.checkout #order_review{
        top:calc(var(--header-height) + 32px + var(--space-xl));
    }
}

body.woocommerce-account:not(.logged-in) .page-body .woocommerce{
    max-width:560px;
    margin:0 auto;
    display:grid;
    gap:var(--space-lg);
}

body.woocommerce-account:not(.logged-in) .page-body .woocommerce > h2{
    display:block;
    text-align:center;
    font-family:var(--font-serif);
    font-size:clamp(1.75rem,3vw,2.25rem);
    font-style:italic;
    margin:0;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login{
    max-width:none;
    margin:0 !important;
    border:1px solid var(--color-surface-container-highest);
    box-shadow:var(--shadow-soft);
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row:last-child{
    margin-bottom:0;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login .woocommerce-form-login__rememberme{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
}

.woocommerce .woocommerce-ordering select.orderby option,
.woocommerce-checkout .form-row select option,
.woocommerce form .form-row select option{
    font-family:var(--font-body);
    color:var(--color-on-surface);
    background:var(--color-surface-container-lowest);
}

.woocommerce .select2-container--default .select2-selection--single{
    height:auto;
    min-height:48px;
    border:1px solid var(--color-surface-container-highest);
    border-radius:10px;
    background:var(--color-surface-container-lowest);
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height:1.4;
    padding:12px 40px 12px 14px;
    color:var(--color-on-surface);
    font-family:var(--font-body);
    font-size:.875rem;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{
    height:100%;
    right:10px;
}

.woocommerce .select2-dropdown{
    border:1px solid var(--color-surface-container-highest);
    border-radius:12px;
    overflow:hidden;
    box-shadow:var(--shadow-soft);
}

.woocommerce .select2-search--dropdown .select2-search__field{
    border:1px solid var(--color-surface-container-highest);
    border-radius:8px;
    padding:.65rem .75rem;
    font-family:var(--font-body);
}

.woocommerce .select2-results__option{
    font-family:var(--font-body);
    font-size:.875rem;
    padding:.7rem .9rem;
}

.woocommerce .select2-container--default .select2-results__option--highlighted[aria-selected],
.woocommerce .select2-container--default .select2-results__option--highlighted[data-selected]{
    background:var(--color-primary);
    color:#fff;
}

body.bbr-gallery-modal-open{
    overflow:hidden;
}

.bbr-gallery-modal{
    position:fixed;
    inset:0;
    z-index:3000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(20px,3vw,40px);
}

.bbr-gallery-modal[hidden]{
    display:none !important;
}

body.admin-bar .bbr-gallery-modal{
    inset:32px 0 0;
}

@media(max-width:782px){
    body.admin-bar .bbr-gallery-modal{
        inset:46px 0 0;
    }
}

.bbr-gallery-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(28,27,27,.18);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

.bbr-gallery-modal__dialog{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    width:min(1380px,calc(100vw - 48px));
    max-height:calc(100vh - 48px);
    margin:0;
    padding:28px;
    background:rgba(253,251,251,.98);
    border-radius:28px;
    box-shadow:0 24px 90px rgba(28,27,27,.18);
    overflow:hidden;
}

.bbr-gallery-modal__close{
    position:absolute;
    top:18px;
    right:18px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    background:var(--color-surface-container-low);
    color:var(--color-on-surface);
    cursor:pointer;
}

.bbr-gallery-modal__layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 280px;
    gap:28px;
    align-items:center;
    min-height:0;
    width:100%;
}

.bbr-gallery-modal__viewer{
    position:relative;
    min-height:clamp(480px,70vh,760px);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:22px;
    background:#fff;
    padding:clamp(24px,3vw,40px);
}

.bbr-gallery-modal__stage{
    width:100%;
    min-height:inherit;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.bbr-gallery-modal__image{
    width:min(100%,clamp(620px,56vw,980px));
    max-width:none;
    max-height:min(72vh,760px);
    height:auto;
    margin:auto;
    object-fit:contain;
    display:block;
    transition:transform .22s ease;
    cursor:zoom-in;
}

.bbr-gallery-modal__image.is-zoomed{
    cursor:zoom-out;
}

.bbr-gallery-modal__controls{
    position:absolute;
    top:18px;
    right:18px;
    z-index:2;
    display:flex;
    gap:10px;
}

.bbr-gallery-modal__zoom{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    background:rgba(253,251,251,.96);
    color:var(--color-on-surface);
    box-shadow:var(--shadow-soft);
    cursor:pointer;
}

.bbr-gallery-modal__zoom:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.bbr-gallery-modal__rail{
    display:grid;
    gap:18px;
    align-content:start;
}

.bbr-gallery-modal__thumbs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.bbr-gallery-modal__thumb{
    border:none;
    padding:0;
    border-radius:16px;
    overflow:hidden;
    background:var(--color-surface-container-low);
    box-shadow:inset 0 0 0 1px transparent;
    cursor:pointer;
}

.bbr-gallery-modal__thumb.is-active{
    box-shadow:inset 0 0 0 2px var(--color-primary);
}

.bbr-gallery-modal__thumb img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    display:block;
}

@media(max-width:960px){
    .bbr-gallery-modal{
        padding:16px;
    }

    .bbr-gallery-modal__dialog{
        width:min(100%,960px);
        max-height:calc(100vh - 32px);
        padding:20px;
        overflow:auto;
    }

    .bbr-gallery-modal__layout{
        grid-template-columns:1fr;
        gap:18px;
    }

    .bbr-gallery-modal__viewer{
        min-height:min(54vh,420px);
        padding:20px;
    }

    .bbr-gallery-modal__stage{
        min-height:0;
    }

    .bbr-gallery-modal__image{
        width:100%;
        max-width:720px;
        max-height:70vh;
    }

    .bbr-gallery-modal__thumbs{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .bbr-gallery-modal{
        padding:12px;
    }

    .bbr-gallery-modal__dialog{
        width:100%;
        max-height:calc(100vh - 24px);
        padding:12px;
        border-radius:20px;
    }

    .bbr-gallery-modal__controls{
        top:12px;
        right:60px;
        gap:8px;
    }

    .bbr-gallery-modal__close{
        top:12px;
        right:12px;
    }

    .bbr-gallery-modal__viewer{
        min-height:min(48vh,360px);
        padding:14px;
        border-radius:18px;
    }

    .bbr-gallery-modal__image{
        width:100%;
        max-width:100%;
        max-height:58vh;
    }

    .bbr-gallery-modal__thumbs{
        gap:10px;
    }
}
