/* ============================================================
   WooCommerce, rendered in the PRP design language.
   Woo's own general/layout/smallscreen sheets are dequeued in
   functions.php, so everything the store renders is styled here.
   ============================================================ */

.woo-wrap{padding-block:clamp(1.8rem,4vw,3rem) clamp(3rem,7vw,5rem)}
.woo-main{min-width:0}

/* ---------------- page heading ---------------- */
.woocommerce-products-header{padding-block:clamp(1.6rem,4vw,3rem) 1.2rem}
.woocommerce-products-header__title,
.woo-main .entry-title{
  font-weight:700;letter-spacing:-.038em;line-height:1.02;
  font-size:clamp(2rem,4vw,3rem);margin:0;text-wrap:balance;
}
.term-description{font-family:var(--serif);color:var(--ink-2);max-width:66ch;margin-top:.9rem}

/* ---------------- notices ---------------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{
  list-style:none;margin:0 0 1.4rem;padding:1rem 1.2rem;
  border:1px solid var(--rule);border-left:2px solid var(--accent);
  background:var(--wash);border-radius:var(--r);
  font-size:.92rem;color:var(--ink);
  display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;
}
.woocommerce-error{border-left-color:#C0392B;background:#FDF2F0}
.woocommerce-error li{list-style:none}
.woocommerce-message{border-left-color:var(--good);background:#EFF9F4}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{margin-left:auto}

/* ---------------- buttons ---------------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce .button,.wc-block-components-button,
.woo-main a.button,.woo-main button.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--sans);font-size:.86rem;font-weight:650;letter-spacing:-.005em;
  padding:.85rem 1.4rem;min-height:46px;border-radius:var(--r);
  border:1px solid var(--rule-2);background:var(--surface);color:var(--ink);
  cursor:pointer;white-space:nowrap;text-align:center;
  transition:background .16s,color .16s,border-color .16s,transform .16s var(--ease-out),box-shadow .16s;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{
  border-color:var(--accent);color:var(--accent);background:var(--accent-soft);
}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce button.button:disabled[disabled].alt,
.woocommerce #respond input#submit,
.woocommerce .checkout-button,.wc-block-components-button:not(.is-link){
  background:var(--accent);color:#fff;border-color:transparent;
  box-shadow:inset 0 0 0 1px rgba(0,194,255,.45),0 1px 2px rgba(10,91,255,.2);
}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,.woocommerce .checkout-button:hover{
  background:var(--accent-2);color:#fff;transform:translateY(-2px);
  box-shadow:inset 0 0 0 1px var(--neon),0 10px 26px -10px rgba(10,91,255,.65);
}
.woocommerce .button:disabled,.woocommerce .button.disabled,
.woocommerce button.button:disabled[disabled]{
  opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;
}
.woocommerce .button.loading{opacity:.7;position:relative}
.woocommerce a.added_to_cart{display:inline-block;margin-top:.5rem;font-size:.8rem;color:var(--accent);text-decoration:underline}

/* ---------------- form fields ---------------- */
.woocommerce form .form-row{display:flex;flex-direction:column;gap:.35rem;margin:0 0 1.1rem;padding:0}
.woocommerce form .form-row label{font-size:.82rem;font-weight:600;color:var(--ink)}
.woocommerce form .form-row .required{color:var(--accent);text-decoration:none;border:0}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%}
.woocommerce .col2-set{display:grid;gap:0 1.4rem;grid-template-columns:1fr}
@media(min-width:760px){
  .woocommerce .col2-set{grid-template-columns:1fr 1fr}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:auto}
  .woocommerce form.checkout_coupon .form-row-first,
  .woocommerce form.checkout_coupon .form-row-last{width:100%}
}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:auto;float:none}

.woocommerce input[type=text],.woocommerce input[type=email],.woocommerce input[type=tel],
.woocommerce input[type=password],.woocommerce input[type=number],.woocommerce input[type=search],
.woocommerce input[type=url],.woocommerce input[type=date],.woocommerce textarea,.woocommerce select,
.woocommerce .select2-container .select2-selection--single,
.prp-searchform input[type=search]{
  width:100%;padding:.78rem .9rem;min-height:46px;
  font-family:var(--sans);font-size:.92rem;color:var(--ink);
  background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);
  transition:border-color .15s,box-shadow .15s;
}
.woocommerce textarea{min-height:120px;resize:vertical}
.woocommerce input:focus,.woocommerce textarea:focus,.woocommerce select:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);
}
.woocommerce .select2-container--default .select2-selection--single{height:46px;display:flex;align-items:center}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0;line-height:1.4;color:var(--ink)}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px}
.woocommerce-input-wrapper{width:100%}
.woocommerce form .form-row.woocommerce-invalid input,
.woocommerce form .form-row.woocommerce-invalid .select2-container{border-color:#C0392B}
.woocommerce form .form-row.woocommerce-validated input{border-color:var(--good)}

.prp-searchform{display:flex;gap:.5rem}
.prp-searchform input[type=search]{flex:1}

/* checkboxes read as controls, not as body text */
.woocommerce form .form-row.woocommerce-validate-required label.checkbox,
.woocommerce label.checkbox,.woocommerce .woocommerce-form__label-for-checkbox{
  display:flex;align-items:flex-start;gap:.6rem;font-weight:500;color:var(--ink-2);cursor:pointer;
}
.woocommerce .woocommerce-form__input-checkbox{margin-top:.25rem;accent-color:var(--accent);width:16px;height:16px;flex:none}

/* ---------------- quantity ---------------- */
.woocommerce .quantity{display:inline-flex;align-items:center}
.woocommerce .quantity .qty{
  width:78px;min-height:46px;text-align:center;
  font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.95rem;
  border:1px solid var(--rule);border-radius:var(--r);background:var(--surface);
}

/* ---------------- shop loop ---------------- */
.woocommerce .woocommerce-result-count{color:var(--ink-3);font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin:0}
.woocommerce .woocommerce-ordering{margin:0}
.woocommerce .woocommerce-ordering select{min-width:220px}
.woo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding-bottom:1.2rem;margin-bottom:1.8rem;border-bottom:1px solid var(--rule)}

.woocommerce ul.products{
  display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  list-style:none;margin:0;padding:0;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none}
.woocommerce ul.products li.product{
  margin:0;padding:0;width:auto;float:none;text-align:left;
  display:flex;flex-direction:column;
  border:1px solid var(--rule);border-radius:var(--r);background:var(--surface);
  overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s var(--ease-out);
}
.woocommerce ul.products li.product:hover{border-color:var(--rule-2);box-shadow:var(--e1);transform:translateY(-3px)}
.woocommerce ul.products li.product a img{
  display:block;width:100%;aspect-ratio:380/669;object-fit:contain;
  background:var(--wash);margin:0;padding:1rem;box-shadow:none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--sans);font-size:1rem;font-weight:620;letter-spacing:-.018em;
  color:var(--ink);padding:1rem 1.1rem .2rem;margin:0;
}
.woocommerce ul.products li.product .price{
  display:block;padding:0 1.1rem;margin:0;
  font-family:var(--mono);font-variant-numeric:tabular-nums;
  font-size:1.05rem;font-weight:600;color:var(--ink);
}
.woocommerce ul.products li.product .price del{color:var(--ink-3);font-weight:400;margin-right:.4rem}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--accent)}
.woocommerce ul.products li.product .price .from,
.woocommerce ul.products li.product .price small{font-family:var(--sans);font-size:.72rem;color:var(--ink-3);font-weight:500}
.woocommerce ul.products li.product .button{margin:auto 1.1rem 1.1rem;width:calc(100% - 2.2rem)}
.woocommerce ul.products li.product .onsale,.woocommerce span.onsale{
  position:absolute;top:.7rem;left:.7rem;z-index:2;
  background:var(--accent);color:#fff;border-radius:var(--r);
  font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.32rem .55rem;line-height:1;min-height:0;min-width:0;margin:0;
}
.woocommerce ul.products li.product{position:relative}
.woocommerce .star-rating,.woocommerce ul.products li.product .star-rating{margin:.35rem 1.1rem;color:var(--accent);font-size:.82rem}

/* ---------------- single product ---------------- */
.single-product div.product{display:grid;gap:clamp(1.6rem,4vw,3.2rem);grid-template-columns:1fr}
@media(min-width:900px){.single-product div.product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.single-product div.product .woocommerce-product-gallery{position:relative;float:none;width:auto;margin:0}
.single-product div.product .woocommerce-product-gallery__image img{border-radius:var(--r);background:var(--wash)}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs{
  display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;list-style:none;padding:0;margin:.7rem 0 0;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li{width:auto;float:none;margin:0}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img{
  border:1px solid var(--rule);border-radius:var(--r);opacity:.75;cursor:pointer;transition:opacity .15s,border-color .15s;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img:hover,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--accent)}

.single-product div.product .summary{float:none;width:auto;margin:0}
.single-product div.product .product_title{
  font-weight:700;letter-spacing:-.035em;line-height:1.05;
  font-size:clamp(1.9rem,3.4vw,2.7rem);margin:0 0 .8rem;
}
.single-product div.product .summary > .price{
  font-family:var(--mono);font-variant-numeric:tabular-nums;
  font-size:1.7rem;font-weight:600;color:var(--ink);margin:0 0 1.1rem;display:block;
}
.single-product div.product .summary > .price del{color:var(--ink-3);font-weight:400;font-size:1.1rem;margin-right:.5rem}
.single-product div.product .summary > .price ins{text-decoration:none;color:var(--accent)}
.woocommerce-product-details__short-description{font-family:var(--serif);color:var(--ink-2);line-height:1.7;margin-bottom:1.4rem}
.woocommerce-product-details__short-description p:last-child{margin-bottom:0}

.woocommerce div.product form.cart{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:1.4rem 0}
.woocommerce div.product form.cart .button{flex:1;min-width:190px}
.woocommerce div.product form.cart.variations_form{display:block}
.woocommerce div.product form.cart .variations{width:100%;border-collapse:collapse;margin-bottom:1rem}
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td{display:block;width:100%;text-align:left;padding:0 0 .5rem}
.woocommerce div.product form.cart .variations th label{font-size:.82rem;font-weight:600;color:var(--ink)}
.woocommerce div.product form.cart .variations .reset_variations{
  display:inline-block;margin-top:.4rem;font-size:.78rem;color:var(--ink-3);text-decoration:underline;
}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.woocommerce div.product .woocommerce-variation-price{margin-bottom:.9rem;font-family:var(--mono);font-size:1.3rem;font-weight:600}

.product_meta{
  padding-top:1.2rem;margin-top:1.2rem;border-top:1px solid var(--rule);
  font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);
  display:flex;flex-direction:column;gap:.4rem;
}
.product_meta a{color:var(--ink-2);text-decoration:underline;text-underline-offset:.2em}
.woocommerce div.product .stock{font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--good)}
.woocommerce div.product .stock.out-of-stock{color:#C0392B}

/* tabs */
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:clamp(1.6rem,4vw,3rem)}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;gap:.2rem;flex-wrap:wrap;list-style:none;margin:0;padding:0;
  border-bottom:1px solid var(--rule);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{content:none;border:0;box-shadow:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  margin:0;padding:0;background:none;border:0;border-radius:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:.85rem 1.1rem;font-size:.86rem;font-weight:600;color:var(--ink-3);
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--ink)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--accent);border-bottom-color:var(--accent)}
.woocommerce div.product .woocommerce-tabs .panel{
  padding-top:1.6rem;font-family:var(--serif);color:var(--ink-2);line-height:1.75;max-width:78ch;
}
.woocommerce div.product .woocommerce-tabs .panel h2{
  font-family:var(--sans);font-weight:650;letter-spacing:-.026em;font-size:1.35rem;color:var(--ink);margin:0 0 .9rem;
}
.woocommerce table.shop_attributes{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.92rem}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{
  padding:.7rem .8rem;border-bottom:1px solid var(--rule);text-align:left;font-style:normal;
}
.woocommerce table.shop_attributes th{font-weight:650;color:var(--ink);background:var(--wash);width:34%}
.woocommerce table.shop_attributes td p{margin:0}

/* related / upsells */
.woocommerce .related,.woocommerce .upsells{grid-column:1/-1;margin-top:clamp(2rem,5vw,3.5rem);padding-top:2rem;border-top:1px solid var(--rule)}
.woocommerce .related > h2,.woocommerce .upsells > h2,.woocommerce .cross-sells > h2{
  font-weight:650;letter-spacing:-.028em;font-size:1.5rem;margin:0 0 1.3rem;
}

/* reviews */
.woocommerce #reviews #comments ol.commentlist{list-style:none;margin:0;padding:0}
.woocommerce #reviews #comments ol.commentlist li{margin:0;padding:1.2rem 0;border-bottom:1px solid var(--rule)}
.woocommerce #reviews #comments ol.commentlist li img.avatar{
  width:44px;height:44px;border-radius:50%;float:left;margin-right:.9rem;border:0;padding:0;background:none;position:static;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text{margin:0;padding:0;border:0;overflow:hidden}
.woocommerce #reviews .comment-form-rating .stars{font-size:1.1rem}

/* ---------------- cart ---------------- */
.woocommerce table.shop_table{
  width:100%;border-collapse:collapse;border:1px solid var(--rule);border-radius:var(--r);
  font-family:var(--sans);font-size:.93rem;margin-bottom:1.6rem;
}
.woocommerce table.shop_table th{
  padding:.9rem 1rem;text-align:left;background:var(--wash);color:var(--ink);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  border-bottom:1px solid var(--rule);
}
.woocommerce table.shop_table td{padding:1rem;border-bottom:1px solid var(--rule);vertical-align:middle}
.woocommerce table.shop_table tbody tr:last-child td{border-bottom:0}
.woocommerce table.shop_table .product-thumbnail img{width:64px;border-radius:var(--r);background:var(--wash)}
.woocommerce table.shop_table .product-name a{font-weight:600;color:var(--ink)}
.woocommerce table.shop_table .product-name a:hover{color:var(--accent)}
.woocommerce table.shop_table .amount,.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal,.woocommerce table.shop_table .product-total{
  font-family:var(--mono);font-variant-numeric:tabular-nums;
}
.woocommerce a.remove{
  display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;
  color:var(--ink-3);font-size:1.1rem;line-height:1;text-decoration:none;
  border:1px solid var(--rule);transition:color .15s,border-color .15s,background .15s;
}
.woocommerce a.remove:hover{color:#fff;background:#C0392B;border-color:#C0392B}
.woocommerce .variation{font-size:.8rem;color:var(--ink-3);margin:.3rem 0 0}
.woocommerce .variation dt,.woocommerce .variation dd{display:inline;margin:0}
.woocommerce .variation dd{margin-right:.5rem}
.woocommerce td.actions{background:var(--wash)}
.woocommerce td.actions .coupon{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;float:none}
.woocommerce td.actions .coupon input[type=text]{width:auto;min-width:180px;flex:1}
.woocommerce td.actions > .button{float:none;margin-top:.7rem}

.cart-collaterals{display:grid;gap:1.6rem;grid-template-columns:1fr;margin-top:1.6rem}
@media(min-width:900px){.cart-collaterals{grid-template-columns:1fr minmax(320px,420px)}}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce .cart-collaterals .cross-sells{width:auto;float:none}
.woocommerce .cart_totals{grid-column:2}
@media(max-width:899px){.woocommerce .cart_totals{grid-column:1}}
.woocommerce .cart_totals h2{font-weight:650;letter-spacing:-.026em;font-size:1.25rem;margin:0 0 1rem}
.woocommerce .cart_totals table.shop_table th{background:none;border-bottom:1px solid var(--rule);width:45%}
.woocommerce .cart_totals .order-total .amount{font-size:1.25rem;color:var(--ink)}
.woocommerce .wc-proceed-to-checkout{padding-top:1.1rem}
.woocommerce .wc-proceed-to-checkout .checkout-button{width:100%}
.woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.woocommerce-shipping-methods li{margin-bottom:.45rem;display:flex;align-items:center;gap:.5rem}
.woocommerce-shipping-methods li input{accent-color:var(--accent)}
.woocommerce-shipping-destination{font-size:.82rem;color:var(--ink-3);margin:.6rem 0 0}
.shipping-calculator-button{font-size:.82rem;color:var(--accent);text-decoration:underline}
.woocommerce .cart-empty,.wc-empty-cart-message{font-family:var(--serif);font-size:1.1rem;color:var(--ink-2);padding-block:2rem}
.return-to-shop{padding-bottom:2.5rem}

/* ---------------- checkout ---------------- */
.woocommerce-checkout .checkout{display:grid;gap:clamp(1.6rem,4vw,3rem);grid-template-columns:1fr}
@media(min-width:900px){.woocommerce-checkout .checkout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start}}
#customer_details{min-width:0}
#order_review_heading,#order_review{min-width:0}
@media(min-width:900px){
  #order_review_heading{grid-column:2;grid-row:1;margin-top:0}
  #order_review{grid-column:2;grid-row:2}
  #customer_details{grid-column:1;grid-row:1/span 2}
}
.woocommerce-checkout h3,.woocommerce-billing-fields h3,#order_review_heading{
  font-weight:650;letter-spacing:-.026em;font-size:1.25rem;margin:0 0 1.1rem;
}
.woocommerce-checkout #order_review{
  border:1px solid var(--rule);border-radius:var(--r);padding:1.3rem;background:var(--wash);
}
.woocommerce-checkout #order_review table.shop_table{border:0;background:none;margin-bottom:1rem}
.woocommerce-checkout #order_review table.shop_table th{background:none}
#payment{background:none;border-radius:0}
#payment ul.payment_methods{list-style:none;margin:0;padding:0 0 1rem;border-bottom:1px solid var(--rule)}
#payment ul.payment_methods li{margin-bottom:.7rem}
#payment ul.payment_methods li label{font-weight:600;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}
#payment ul.payment_methods li input{accent-color:var(--accent)}
#payment div.payment_box{
  background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);
  padding:.9rem 1rem;margin:.6rem 0 0;font-size:.88rem;color:var(--ink-2);
}
#payment div.payment_box::before{content:none}
#payment .form-row.place-order{padding:1.2rem 0 0;margin:0}
#payment #place_order{width:100%}
.woocommerce-terms-and-conditions-wrapper{margin-bottom:1rem;font-size:.86rem}
.woocommerce-privacy-policy-text{font-size:.82rem;color:var(--ink-3)}
.woocommerce-form-coupon-toggle,.woocommerce-form-login-toggle{margin-bottom:1.2rem}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{
  border:1px solid var(--rule);border-radius:var(--r);padding:1.3rem;margin-bottom:1.6rem;background:var(--surface);
}

/* order received */
.woocommerce ul.order_details{
  list-style:none;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  margin:0 0 2rem;padding:1.3rem;border:1px solid var(--rule);border-radius:var(--r);background:var(--wash);
}
.woocommerce ul.order_details li{
  float:none;margin:0;padding:0;border:0;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);
}
.woocommerce ul.order_details li strong{
  display:block;margin-top:.35rem;font-family:var(--sans);font-size:1rem;
  letter-spacing:normal;text-transform:none;color:var(--ink);
}
.woocommerce-order-overview__total .amount{color:var(--ink)}

/* ---------------- my account ---------------- */
.woocommerce-account .woocommerce-MyAccount-navigation{margin-bottom:1.6rem}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem;border-bottom:1px solid var(--rule)}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:.8rem 1rem;font-size:.86rem;font-weight:600;color:var(--ink-3);
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--accent);border-bottom-color:var(--accent)}
.woocommerce-account .woocommerce-MyAccount-content{min-width:0}
@media(min-width:900px){
  .woocommerce-account .woocommerce-MyAccount-navigation{width:auto;float:none}
  .woocommerce-account .woocommerce-MyAccount-content{width:auto;float:none}
}
.woocommerce-Address{margin-bottom:1.6rem}
.woocommerce-Address address{font-style:normal;font-family:var(--serif);color:var(--ink-2);line-height:1.7}
.woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:.5rem}

/* ---------------- breadcrumb / misc ---------------- */
.woocommerce-breadcrumb{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);padding-block:1.2rem 0;margin:0;
}
.woocommerce-breadcrumb a{color:var(--ink-2)}
.woocommerce-breadcrumb a:hover{color:var(--accent)}
.woocommerce-pagination ul{display:flex;justify-content:center;gap:.35rem;list-style:none;margin:2.4rem 0 0;padding:0;border:0}
.woocommerce-pagination ul li{border:0;margin:0}
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{
  min-width:40px;height:40px;display:inline-grid;place-items:center;padding-inline:.7rem;
  border:1px solid var(--rule);border-radius:var(--r);font-size:.88rem;font-weight:600;color:var(--ink-2);
}
.woocommerce-pagination ul li a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.woocommerce-pagination ul li span.current{background:var(--accent);border-color:var(--accent);color:#fff}

.blockUI.blockOverlay{background:rgba(255,255,255,.65)!important}
.woocommerce .clear{clear:both}

/* ---------------- single product: keep the gallery inside its track ----------
   Grid items default to min-width:auto, so the gallery's intrinsic image width
   (760px at our single_image_width) widened the whole column and pushed the
   page sideways on phones. Every item is allowed to shrink, and the zoom
   overlay is clipped so it cannot extend the page either. */
.single-product div.product > *{min-width:0;max-width:100%}
.woocommerce div.product div.images,
.single-product div.product .woocommerce-product-gallery{
  max-width:100%;overflow:hidden;
}
.woocommerce-product-gallery__wrapper{max-width:100%}
.woocommerce-product-gallery__image{max-width:100%}
.woocommerce-product-gallery__image > a,
.woocommerce-product-gallery__image img,
.woocommerce div.product div.images img{
  display:block;width:100%;height:auto;max-width:100%;
}
.woocommerce-product-gallery .zoomImg{max-width:none}
.woocommerce div.product .summary{min-width:0}
.woocommerce div.product .woocommerce-tabs .panel{max-width:100%;overflow-x:auto}
.woocommerce table.shop_attributes,
.woocommerce div.product form.cart .variations{max-width:100%}

/* wide content must scroll inside itself, never widen the page */
.woo-main table{max-width:100%}
.entry-content > table,.woocommerce-page table.shop_table_responsive{display:block;overflow-x:auto}

/* ---------------- volume pricing (prp-commerce) ----------------
   The quantity-break table the client edits under the product's
   "Volume Pricing" tab. The plugin ships markup only; the design
   lives here with the rest of the storefront. */
.prp-tiers{
  margin:1.5rem 0;padding:1.2rem 1.3rem;
  border:1px solid var(--rule);border-left:2px solid var(--accent);
  border-radius:var(--r);background:var(--wash);
  max-width:100%;
}
.prp-tiers__title{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:600;color:var(--accent);margin:0 0 .9rem;
}
.prp-tiers__variant{
  font-family:var(--sans);font-size:.9rem;font-weight:650;color:var(--ink);
  margin:1.1rem 0 .5rem;
}
.prp-tiers__variant:first-of-type{margin-top:0}
.prp-tiers__table{
  width:100%;border-collapse:collapse;
  font-family:var(--sans);font-size:.9rem;
}
.prp-tiers__table th{
  text-align:left;padding:.45rem .6rem;
  font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--rule-2);
}
.prp-tiers__table td{
  padding:.55rem .6rem;border-bottom:1px solid var(--rule);color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.prp-tiers__table tbody tr:last-child td{border-bottom:0}
.prp-tiers__table td:first-child{font-family:var(--mono);font-weight:600}
.prp-tiers__table td:nth-child(2){font-family:var(--mono);font-weight:600}
.prp-tiers__table td:nth-child(3){color:var(--good);font-weight:600}
.prp-tiers__table tbody tr:hover td{background:rgba(255,255,255,.7)}
.prp-tiers__note{
  margin:.8rem 0 0;font-size:.78rem;color:var(--ink-3);line-height:1.5;
}

/* The zoom overlay is a full-resolution image laid over the gallery; clip it
   to the gallery box so it cannot extend the page on small screens. */
.woocommerce div.product div.images,
.single-product div.product .woocommerce-product-gallery,
.woocommerce-product-gallery__image{overflow:hidden}

/* The select fills its cell, so Woo's "Clear" link had nowhere to sit but past
   the right edge. Stack the cell's contents instead of running them inline. */
.woocommerce div.product form.cart .variations td.value{
  display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;
}
.woocommerce div.product form.cart .variations td.value select{width:100%}
.woocommerce div.product form.cart .reset_variations{display:block;margin-top:0}
