/* GGBBA WooCommerce visual system, v0.9.2 */
.ggbba-commerce-main{background:var(--paper-bright)}
.ggbba-shop-hero{min-height:min(760px,82svh);padding-top:var(--header-h);display:grid;grid-template-columns:.85fr 1.15fr;background:var(--pine-dark);color:#fff}
.ggbba-shop-hero__copy{padding:clamp(60px,7vw,110px);display:flex;flex-direction:column;justify-content:flex-end}
.ggbba-shop-hero__eyebrow{display:flex;align-items:center;gap:18px;color:var(--gold);margin-bottom:auto}.ggbba-shop-hero__eyebrow .ggbba-rule{max-width:130px}
.ggbba-shop-hero h1{font:400 clamp(4.6rem,7.5vw,8.8rem)/.83 var(--serif);letter-spacing:-.035em;margin:50px 0 24px}.ggbba-shop-hero h1 em{font-weight:400;color:var(--gold)}
.ggbba-shop-hero__copy>p{max-width:44ch;color:rgba(255,255,255,.72);line-height:1.7;margin:0 0 32px}
.ggbba-shop-hero__media{position:relative;margin:0;overflow:hidden;min-height:560px}.ggbba-shop-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 46%}.ggbba-shop-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,38,31,.24),transparent 40%),linear-gradient(0deg,rgba(11,38,31,.5),transparent 38%)}
.ggbba-shop-hero__media figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:24px;color:#fff;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.36);padding-top:12px;font-size:.72rem}
.ggbba-shop-principles{background:var(--paper);border-bottom:1px solid var(--line)}.ggbba-shop-principles__grid{display:grid;grid-template-columns:repeat(3,1fr)}.ggbba-shop-principles__grid>div{padding:24px 28px;border-right:1px solid var(--line);display:grid;grid-template-columns:36px 1fr;gap:3px 16px}.ggbba-shop-principles__grid>div:last-child{border-right:0}.ggbba-shop-principles span{font:600 10px var(--mono);color:var(--red);grid-row:1/3}.ggbba-shop-principles strong{font:400 1.45rem var(--serif)}.ggbba-shop-principles small{color:var(--muted);font-size:.78rem}
.ggbba-woocommerce-wrap{padding:clamp(70px,8vw,120px) 0 clamp(100px,10vw,160px)}

/* Archive controls */
.ggbba-site .woocommerce .woocommerce-products-header{display:none}.ggbba-site .woocommerce .woocommerce-result-count{font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:13px 0 32px}.ggbba-site .woocommerce .woocommerce-ordering{margin:0 0 32px}.ggbba-site .woocommerce .woocommerce-ordering select{min-height:46px;border:1px solid var(--line);border-radius:0;background:var(--paper);padding:0 42px 0 14px;color:var(--ink)}

/* Product archive cards */
.ggbba-site .woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 22px;margin:0!important;padding:0!important}
.ggbba-site .woocommerce ul.products:before,.ggbba-site .woocommerce ul.products:after{display:none!important}
.ggbba-site .woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;position:relative;border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column}
.ggbba-site .woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block;text-decoration:none!important}
.ggbba-site .woocommerce ul.products li.product a img{width:100%;margin:0 0 18px!important;aspect-ratio:4/5;object-fit:cover;background:var(--paper);transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s}.ggbba-site .woocommerce ul.products li.product:hover a img{transform:scale(1.015);filter:saturate(1.05)}
.ggbba-site .woocommerce ul.products li.product .woocommerce-loop-product__title{font:400 clamp(1.8rem,2.5vw,2.8rem)/.96 var(--serif)!important;letter-spacing:-.015em;padding:0!important;margin:0 0 8px;color:var(--ink)}
.ggbba-site .woocommerce ul.products li.product .price{font:600 .92rem var(--sans)!important;color:var(--red)!important;margin:0 0 16px!important}.ggbba-site .woocommerce ul.products li.product .price del{color:var(--muted);opacity:.55}.ggbba-site .woocommerce ul.products li.product .price ins{text-decoration:none}
.ggbba-site .woocommerce span.onsale{min-height:0;min-width:0;line-height:1;border-radius:0!important;background:var(--red)!important;color:#fff!important;font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:10px 12px!important;left:10px!important;top:10px!important;margin:0!important}
.ggbba-site .woocommerce ul.products li.product .button{margin-top:auto!important;width:100%;justify-content:center;border:1px solid var(--pine-dark)!important;background:transparent!important;color:var(--pine-dark)!important;min-height:46px}.ggbba-site .woocommerce ul.products li.product .button:hover{background:var(--pine-dark)!important;color:#fff!important}
.ggbba-site .woocommerce a.added_to_cart{font-size:.82rem;font-weight:700;margin-top:8px;text-decoration:none;border-bottom:1px solid var(--line);width:max-content}

/* Global Woo buttons */
.ggbba-site .woocommerce a.button,.ggbba-site .woocommerce button.button,.ggbba-site .woocommerce input.button,.ggbba-site .woocommerce #respond input#submit{border-radius:0!important;background:var(--pine-dark)!important;color:#fff!important;padding:14px 18px!important;font:700 .83rem var(--sans)!important;letter-spacing:.02em;box-shadow:none!important;border:1px solid var(--pine-dark)!important;min-height:46px;transition:background .2s,color .2s,border .2s,transform .2s}.ggbba-site .woocommerce a.button:hover,.ggbba-site .woocommerce button.button:hover,.ggbba-site .woocommerce input.button:hover,.ggbba-site .woocommerce #respond input#submit:hover{background:var(--red)!important;border-color:var(--red)!important;transform:translateY(-1px)}
.ggbba-site .woocommerce button.button.alt,.ggbba-site .woocommerce a.button.alt,.ggbba-site .woocommerce input.button.alt{background:var(--red)!important;border-color:var(--red)!important}.ggbba-site .woocommerce button.button.alt:hover,.ggbba-site .woocommerce a.button.alt:hover,.ggbba-site .woocommerce input.button.alt:hover{background:var(--red-dark)!important;border-color:var(--red-dark)!important}

/* Notices */
.ggbba-site .woocommerce-message,.ggbba-site .woocommerce-info,.ggbba-site .woocommerce-error{border:1px solid var(--line)!important;border-top:3px solid var(--gold)!important;background:var(--paper)!important;color:var(--ink)!important;padding:18px 20px 18px 52px!important;margin:0 0 30px!important;box-shadow:none}.ggbba-site .woocommerce-error{border-top-color:var(--red)!important}.ggbba-site .woocommerce-message:before,.ggbba-site .woocommerce-info:before{color:var(--pine)!important}.ggbba-site .woocommerce-error:before{color:var(--red)!important}

/* Single product */
.ggbba-site .woocommerce div.product{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(42px,6vw,90px);align-items:start}.ggbba-site .woocommerce div.product div.images,.ggbba-site .woocommerce div.product div.summary{float:none!important;width:auto!important;margin:0!important}.ggbba-site .woocommerce div.product div.images img{background:var(--paper)}
.ggbba-site .woocommerce div.product .summary{padding-top:16px;border-top:1px solid var(--line)}.ggbba-site .woocommerce div.product .product_title{font:400 clamp(3.8rem,5.8vw,7rem)/.88 var(--serif)!important;letter-spacing:-.03em;margin:0 0 22px;color:var(--ink)}
.ggbba-site .woocommerce div.product p.price,.ggbba-site .woocommerce div.product span.price{font:600 1.4rem var(--sans)!important;color:var(--red)!important;margin:0 0 26px}.ggbba-site .woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted);line-height:1.75;max-width:52ch}.ggbba-site .woocommerce div.product form.cart{display:flex;align-items:center;gap:10px;margin:34px 0}.ggbba-site .woocommerce .quantity .qty{width:72px;min-height:48px;border:1px solid var(--line);border-radius:0;background:var(--paper);padding:8px;color:var(--ink)}
.ggbba-site .woocommerce div.product .product_meta{border-top:1px solid var(--line);padding-top:18px;margin-top:34px;font-size:.78rem;color:var(--muted);display:grid;gap:7px}.ggbba-site .woocommerce div.product .product_meta a{color:var(--ink)}
.ggbba-site .woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:40px;border-top:1px solid var(--line);padding-top:40px}.ggbba-site .woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 36px!important;border:0!important;display:flex;gap:28px}.ggbba-site .woocommerce div.product .woocommerce-tabs ul.tabs:before{display:none}.ggbba-site .woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important;border-radius:0!important;margin:0!important;padding:0!important}.ggbba-site .woocommerce div.product .woocommerce-tabs ul.tabs li:before,.ggbba-site .woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none}.ggbba-site .woocommerce div.product .woocommerce-tabs ul.tabs li a{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:0 0 8px!important;border-bottom:1px solid transparent}.ggbba-site .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{border-color:var(--red);color:var(--red)}.ggbba-site .woocommerce div.product .woocommerce-tabs h2,.ggbba-site .woocommerce .related.products>h2,.ggbba-site .woocommerce .upsells.products>h2{font:400 clamp(2.8rem,4.5vw,5.4rem)/.92 var(--serif);letter-spacing:-.025em;margin:0 0 28px}.ggbba-site .woocommerce .related.products,.ggbba-site .woocommerce .upsells.products{grid-column:1/-1;margin-top:80px}

/* Forms / account */
.ggbba-site .woocommerce form .form-row label{font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.ggbba-site .woocommerce form .form-row input.input-text,.ggbba-site .woocommerce form .form-row textarea,.ggbba-site .woocommerce form .form-row select,.ggbba-site .woocommerce .select2-container .select2-selection--single{border:1px solid var(--line)!important;border-radius:0!important;background:var(--paper-bright)!important;min-height:50px;padding:12px 14px;color:var(--ink);box-shadow:none!important}.ggbba-site .woocommerce .select2-container .select2-selection--single{padding:10px 12px}.ggbba-site .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:48px}.ggbba-site .woocommerce form.login,.ggbba-site .woocommerce form.register,.ggbba-site .woocommerce form.checkout_coupon{border:1px solid var(--line)!important;border-radius:0!important;background:var(--paper);padding:30px!important}

/* Cart and checkout: classic */
body.ggbba-site.woocommerce-cart .ggbba-prose,body.ggbba-site.woocommerce-checkout .ggbba-prose,body.ggbba-site.woocommerce-account .ggbba-prose{width:min(92vw,1320px)}
.ggbba-site .woocommerce table.shop_table{border:0!important;border-collapse:collapse!important;border-radius:0!important;background:transparent;margin:0 0 36px}.ggbba-site .woocommerce table.shop_table th{font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:15px 12px;border-bottom:1px solid var(--line)}.ggbba-site .woocommerce table.shop_table td{padding:18px 12px;border-bottom:1px solid var(--line)}.ggbba-site .woocommerce table.shop_table img{width:90px}.ggbba-site .woocommerce a.remove{color:var(--red)!important;border:1px solid var(--line);border-radius:50%;font-weight:400}.ggbba-site .woocommerce a.remove:hover{background:var(--red)!important;color:#fff!important}
.ggbba-site .woocommerce .cart-collaterals .cart_totals{float:none!important;width:min(100%,560px)!important;margin-left:auto;background:var(--paper);padding:28px;border:1px solid var(--line)}.ggbba-site .woocommerce .cart-collaterals .cart_totals h2,.ggbba-site .woocommerce-checkout h3{font:400 clamp(2.2rem,3.5vw,4rem)/.95 var(--serif);margin:0 0 24px}.ggbba-site .woocommerce-checkout #customer_details{display:grid;grid-template-columns:1fr 1fr;gap:40px}.ggbba-site .woocommerce-checkout #customer_details .col-1,.ggbba-site .woocommerce-checkout #customer_details .col-2{float:none!important;width:auto!important}.ggbba-site .woocommerce-checkout #order_review_heading{margin-top:60px}.ggbba-site .woocommerce-checkout #payment{background:var(--paper)!important;border-radius:0!important;border:1px solid var(--line)}.ggbba-site .woocommerce-checkout #payment div.payment_box{background:var(--paper-deep)!important}.ggbba-site .woocommerce-checkout #payment div.payment_box:before{border-bottom-color:var(--paper-deep)!important}.ggbba-site .woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line)!important}.ggbba-site .woocommerce-checkout #payment div.form-row{padding:22px!important}

/* WooCommerce Blocks: cart + checkout + product collections */
.ggbba-site .wc-block-cart,.ggbba-site .wc-block-checkout{font-family:var(--sans);color:var(--ink)}
.ggbba-site .wc-block-components-sidebar-layout{gap:clamp(30px,5vw,70px)}
.ggbba-site .wc-block-components-sidebar{background:var(--paper);border:1px solid var(--line);padding:24px!important}
.ggbba-site .wc-block-components-title,.ggbba-site .wc-block-checkout__shipping-method-option-title,.ggbba-site .wc-block-components-totals-item__label{color:var(--ink)}
.ggbba-site .wc-block-components-checkout-step__title,.ggbba-site .wc-block-cart__totals-title{font-family:var(--serif)!important;font-weight:400!important;letter-spacing:-.02em}
.ggbba-site .wc-block-components-text-input input,.ggbba-site .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,.ggbba-site .wc-block-components-address-form__country .wc-block-components-country-input{border-radius:0!important;border-color:var(--line)!important;background:var(--paper-bright)!important;min-height:52px!important}
.ggbba-site .wc-block-components-button:not(.is-link){border-radius:0!important;background:var(--pine-dark)!important;color:#fff!important;min-height:50px!important;text-transform:none!important;font-weight:700!important;box-shadow:none!important}.ggbba-site .wc-block-components-button:not(.is-link):hover{background:var(--red)!important}
.ggbba-site .wc-block-components-product-name{font-family:var(--serif);font-size:1.35rem;line-height:1}.ggbba-site .wc-block-cart-item__image img{background:var(--paper)}
.ggbba-site .wc-block-components-order-summary-item,.ggbba-site .wc-block-cart-items__row{border-bottom-color:var(--line)!important}
.ggbba-site .wc-block-grid__products,.ggbba-site .wc-block-product-template{gap:24px!important}.ggbba-site .wc-block-grid__product,.ggbba-site .wc-block-product{border-top:1px solid var(--line);padding-top:12px}.ggbba-site .wc-block-grid__product-title,.ggbba-site .wc-block-components-product-title{font:400 1.8rem/1 var(--serif)!important}.ggbba-site .wc-block-grid__product-price,.ggbba-site .wc-block-components-product-price{color:var(--red)!important;font-weight:700}

/* Pagination */
.ggbba-site .woocommerce nav.woocommerce-pagination ul{border:0!important;display:flex;gap:8px}.ggbba-site .woocommerce nav.woocommerce-pagination ul li{border:0!important}.ggbba-site .woocommerce nav.woocommerce-pagination ul li a,.ggbba-site .woocommerce nav.woocommerce-pagination ul li span{min-width:42px;min-height:42px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--ink)}.ggbba-site .woocommerce nav.woocommerce-pagination ul li span.current,.ggbba-site .woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--pine-dark);color:#fff}

@media(max-width:980px){.ggbba-shop-hero{grid-template-columns:1fr 1fr}.ggbba-shop-hero__copy{padding-inline:6vw}.ggbba-site .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.ggbba-site .woocommerce div.product{grid-template-columns:1fr}.ggbba-site .woocommerce-checkout #customer_details{grid-template-columns:1fr}.ggbba-shop-principles__grid{grid-template-columns:1fr}.ggbba-shop-principles__grid>div{border-right:0;border-bottom:1px solid var(--line)}.ggbba-shop-principles__grid>div:last-child{border-bottom:0}}
@media(max-width:720px){.ggbba-shop-hero{display:block;min-height:auto}.ggbba-shop-hero__copy{min-height:480px;padding:64px 6vw}.ggbba-shop-hero__media{min-height:420px}.ggbba-shop-hero__media figcaption span:last-child{display:none}.ggbba-site .woocommerce ul.products{grid-template-columns:1fr 1fr;gap:38px 12px}.ggbba-site .woocommerce div.product .product_title{font-size:clamp(3.3rem,14vw,5.4rem)}.ggbba-site .woocommerce div.product .woocommerce-tabs ul.tabs{gap:16px;overflow:auto}.ggbba-site .woocommerce div.product form.cart{align-items:stretch;flex-direction:column}.ggbba-site .woocommerce .quantity .qty{width:100%}.ggbba-site .wc-block-components-sidebar{padding:18px!important}}
@media(max-width:480px){.ggbba-site .woocommerce ul.products{grid-template-columns:1fr}.ggbba-site .woocommerce ul.products li.product a img{aspect-ratio:4/4.7}.ggbba-shop-hero__copy{min-height:440px}}

/* Cart, checkout and account use a compact commerce header instead of a decorative page hero. */
.ggbba-commerce-flow-head{padding:calc(var(--header-h) + 72px) 0 64px;background:var(--pine-dark);color:#fff}.ggbba-commerce-flow-head .ggbba-mono{color:var(--gold)}.ggbba-commerce-flow-head h1{font:400 clamp(4rem,7vw,7.8rem)/.86 var(--serif);letter-spacing:-.03em;margin:28px 0 18px}.ggbba-commerce-flow-head p{max-width:54ch;color:rgba(255,255,255,.68);margin:0}.ggbba-page-content--commerce{padding-top:70px}

/* ========================================================================
   V0.9.6 Commerce refinement
   Aligns WooCommerce's visual density and interactions with the finished
   Field Society system without changing checkout behavior.
   ======================================================================== */
.ggbba-site .woocommerce ul.products{gap:58px 24px}
.ggbba-site .woocommerce ul.products li.product{padding-top:14px}
.ggbba-site .woocommerce ul.products li.product a img{aspect-ratio:4/4.8;margin-bottom:20px!important}
.ggbba-site .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:clamp(1.95rem,2.35vw,2.75rem)!important}
.ggbba-site .woocommerce ul.products li.product .price{font-size:.98rem!important;letter-spacing:.01em}
.ggbba-site .woocommerce ul.products li.product .button{min-height:50px;transition:background .22s,color .22s,border .22s,transform .22s}
.ggbba-site .woocommerce ul.products li.product .button:hover{transform:translateY(-2px)}
.ggbba-site .woocommerce .woocommerce-ordering select{background-color:transparent}
.ggbba-site .wc-block-components-sidebar{box-shadow:none}
.ggbba-site .woocommerce div.product .summary{align-self:start;position:sticky;top:calc(var(--header-h) + 32px)}
.ggbba-site .woocommerce div.product .price{font-size:1.08rem!important;letter-spacing:.015em}
.ggbba-site .woocommerce div.product form.cart .single_add_to_cart_button{min-width:190px}
.ggbba-site .woocommerce .related.products,.ggbba-site .woocommerce .upsells.products{padding-top:28px;border-top:1px solid var(--line)}
@media(max-width:980px){.ggbba-site .woocommerce div.product .summary{position:static}}
