/* Single product, add-to-cart, cart / checkout / account polish. Quiet luxury: ivory, ink, hairline, square. */
:root{--pdp-edge:rgba(26,15,18,.55)}

/* ── layout: 7/5 on desktop, one column below ── */
div.product{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-5);position:relative}
div.product>*{min-width:0}
@media (min-width:1024px){
  div.product{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--sp-7);row-gap:var(--sp-6);align-items:start}
  div.product .woocommerce-product-gallery{grid-column:1;grid-row:1}
  div.product .summary{grid-column:2;grid-row:1/span 2;align-self:start}
  div.product .pdp-info{grid-column:1;grid-row:2;margin-top:0}
  div.product>.pdp-reviews,div.product>.pdp-rail{grid-column:1/-1}
}
/* Sticky only where the buy box fits the viewport; bounded by its own grid area (rows 1-2), never reaches the reviews. */
@media (min-width:1024px) and (min-height:760px){div.product .summary{position:sticky;top:calc(var(--pdp-hh,72px) + 24px)}}

/* ── gallery ── */
div.product .woocommerce-product-gallery{position:relative;margin:0}
html:not(.js) div.product .woocommerce-product-gallery{opacity:1!important}
div.product .woocommerce-product-gallery__wrapper{margin:0}
.woocommerce-product-gallery__image img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--stone);border:0;border-radius:0}
.flex-control-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,96px));justify-content:start;gap:var(--sp-2);list-style:none;margin:var(--sp-2) 0 0;padding:0}
.flex-control-thumbs li{margin:0;float:none;width:auto}
.flex-control-thumbs img{width:100%;aspect-ratio:3/4;object-fit:cover;cursor:pointer;opacity:.6;transition:opacity var(--dur-1) var(--ease-out)}
.flex-control-thumbs img.flex-active,.flex-control-thumbs img:hover{opacity:1}
.flex-control-thumbs img.flex-active{outline:1px solid var(--ink-lux);outline-offset:2px}
.woocommerce-product-gallery__trigger{position:absolute;top:var(--sp-3);right:var(--sp-3);z-index:3;display:grid;place-items:center;width:44px;height:44px;background:var(--ivory);border:1px solid var(--hair);border-radius:0;font-size:18px;line-height:1;text-decoration:none}
div.product>.badge-off{top:var(--sp-3);left:var(--sp-3);z-index:4}

/* ── summary ── */
.single-product .woocommerce-breadcrumb{font:400 .8125rem/1.5 var(--sans-lux);color:var(--ink-soft);margin:0 0 var(--sp-5)}
.single-product .woocommerce-breadcrumb a{color:var(--ink-soft)}
.summary .product_title{font:500 clamp(32px,3.4vw,48px)/1.1 var(--serif-lux);color:var(--ink-lux);margin:0 0 var(--sp-3)}
.summary .price{display:block;font:400 20px/1.4 var(--sans-lux);color:var(--ink-lux);margin:0 0 var(--sp-2)}
.summary .price ins{text-decoration:none;font-weight:500;color:var(--ink-lux)}
.summary .price del{font-size:16px;color:var(--ink-soft);margin-right:var(--sp-2)}
/* woocommerce.css paints div.product p.price olive (3.19:1, fails AA): win on specificity, every single-product price is ink */
.woocommerce div.product .summary :is(p.price,span.price),.woocommerce div.product .summary .woocommerce-variation-price :is(.price,.amount){color:var(--ink-lux);font-size:20px}
.woocommerce div.product .summary :is(p.price,span.price) ins{background:none;color:var(--ink-lux)}
.woocommerce div.product .summary :is(p.price,span.price) del,.woocommerce div.product .summary :is(p.price,span.price) del .amount{color:var(--ink-soft);opacity:1;font-size:16px}
.pdp-rating{display:inline-flex;align-items:center;min-height:32px;margin:0 0 var(--sp-3);font:400 .875rem/1 var(--sans-lux);color:var(--ink-soft);text-decoration:none}
.pdp-rating:hover{color:var(--ink-lux);text-decoration:underline}
.pdp-rating__star{color:var(--gold-ink-lux);font-weight:500}
.woocommerce-product-details__short-description{color:var(--ink-soft);margin:0 0 var(--sp-4)}
.woocommerce-product-details__short-description p:last-child{margin-bottom:0}
.pdp-meta{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--hair);font:400 .875rem/1.6 var(--sans-lux);color:var(--ink-soft)}
.pdp-meta p{margin:0 0 var(--sp-1)}
.pdp-meta a{color:var(--ink-lux)}

/* ── variations ── */
form.variations_form{display:block;margin:var(--sp-4) 0 0}
table.variations{width:100%;border:0;border-collapse:collapse;margin:0 0 var(--sp-3)}
table.variations tr,table.variations th,table.variations td{display:block;padding:0;border:0;background:none;text-align:left}
table.variations th.label{padding:0 0 var(--sp-2)}
table.variations label{font:500 .75rem/1.2 var(--sans-lux);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-lux)}
.pdp-chosen{font:400 .875rem/1.2 var(--sans-lux);letter-spacing:0;text-transform:none;color:var(--ink-soft)}
table.variations tr+tr{margin-top:var(--sp-4)}
table.variations td.value{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4)}
.swatches{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.swatches[hidden]{display:none}
html.js .swatches~select{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.swatch{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:40px;padding:0 var(--sp-4);font:400 .875rem/1 var(--sans-lux);color:var(--ink-lux);background:transparent;border:1px solid var(--pdp-edge);border-radius:0;cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}
.swatch:hover{border-color:var(--ink-lux)}
.swatch[aria-checked=true]{background:var(--ink-lux);border-color:var(--ink-lux);color:var(--ivory)}
.swatch:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.swatch--colour{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border:0;border-radius:50%;background:transparent!important}
.swatch--colour .swatch__name{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.swatch--colour .swatch__dot{display:block;width:28px;height:28px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(26,15,18,.28)}
.swatch--colour[aria-checked=true]{box-shadow:0 0 0 2px var(--ink-lux)}
.swatch--colour:disabled{text-decoration:none}
.swatch--colour:disabled .swatch__dot{background-image:linear-gradient(135deg,transparent calc(50% - .5px),var(--ink-lux) 50%,transparent calc(50% + .5px))}
.swatches.is-shake{animation:pdpShake 400ms var(--ease-out)}
@keyframes pdpShake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.reset_variations{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--sp-1);font:500 .75rem/1 var(--sans-lux);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.reset_variations:hover{color:var(--ink-lux)}
.pdp-standing{margin:var(--sp-3) 0 0;font:400 .8125rem/1.4 var(--sans-lux);color:var(--ink-soft)}
html:not(.js) .pdp-standing,.variations_form.is-chosen .pdp-standing{display:none}
.woocommerce-variation{margin:var(--sp-3) 0 0}
.woocommerce-variation-description p{margin:0 0 var(--sp-2);color:var(--ink-soft)}
.woocommerce-variation-price .price{font:400 20px/1.4 var(--sans-lux);color:var(--ink-lux);margin:0}
.woocommerce-variation-price .price ins{text-decoration:none;font-weight:500}
.woocommerce-variation-price .price del{font-size:16px;color:var(--ink-soft)}
.summary p.stock,.summary .stock{margin:var(--sp-1) 0 0;font:400 .875rem/1.4 var(--sans-lux);color:var(--ink-soft)}
.summary p.stock.out-of-stock{color:var(--sale-lux)}

/* ── quantity, message, add to cart ── */
form.cart:not(.variations_form),.woocommerce-variation-add-to-cart{display:flex;flex-direction:column;align-items:stretch;margin:var(--sp-4) 0 0}
.single-product form.cart .quantity{align-self:flex-start;margin:0 0 var(--sp-4)}
.qty-box{display:inline-flex;align-items:center;margin-bottom:var(--sp-3);border:1px solid var(--pdp-edge)}
table.shop_table .qty-box{margin-bottom:0}
#main .qty-box input.qty,.qty-box input.qty{width:48px;min-height:44px;padding:0;border:0;background:transparent;text-align:center;font:400 1rem/1 var(--sans-lux);-moz-appearance:textfield;appearance:textfield}
.qty-box input.qty::-webkit-inner-spin-button,.qty-box input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qty-step{display:none}
html.js .qty-step{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:0;border-radius:0;color:var(--ink-lux);cursor:pointer}
html.js .qty-step:hover{color:var(--maroon-lux)}
.pdp-msg{margin:0;font:400 .875rem/1.5 var(--sans-lux);color:var(--ink-lux)}
.pdp-msg:not(:empty){margin:0 0 var(--sp-3);padding-left:var(--sp-3);border-left:1px solid var(--ink-lux)}
.pdp-msg.is-error{color:var(--sale-lux);border-left-color:var(--sale-lux)}
body.single-product form.cart button.single_add_to_cart_button.button,
body.single-product form.cart button.single_add_to_cart_button.button.disabled,
body.single-product form.cart button.single_add_to_cart_button.button:disabled{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);width:100%;min-height:56px;margin:0;padding:0 var(--sp-5);background:var(--ink-lux);border:1px solid var(--ink-lux);border-radius:0;color:var(--ivory);font:500 .8125rem/1 var(--sans-lux);letter-spacing:.14em;text-transform:uppercase;opacity:1;cursor:pointer;float:none;transition:background-color 250ms var(--ease-out),border-color 250ms var(--ease-out)}
body.single-product form.cart button.single_add_to_cart_button.button:hover,
body.single-product form.cart button.single_add_to_cart_button.button.disabled:hover,
body.single-product form.cart button.single_add_to_cart_button.button[aria-busy=true]{background:var(--maroon-lux);border-color:var(--maroon-lux);color:var(--ivory)}
.single_add_to_cart_button[aria-busy=true],.pdp-bar__btn[aria-busy=true]{cursor:progress}
.pdp-spin{flex:none;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:pdpSpin 700ms linear infinite}
@keyframes pdpSpin{to{transform:rotate(360deg)}}

/* ── info accordions (hairline) ── */
.pdp-info{margin-top:var(--sp-5);border-top:1px solid var(--hair)}
.pdp-acc{border-bottom:1px solid var(--hair)}
.pdp-acc>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:56px;list-style:none;cursor:pointer;font:500 .75rem/1.2 var(--sans-lux);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-lux)}
.pdp-acc>summary::-webkit-details-marker{display:none}
.pdp-acc>summary::after{content:"+";font:400 1.25rem/1 var(--sans-lux);letter-spacing:0}
.pdp-acc[open]>summary::after{content:"\2212"}
.pdp-acc__body{padding:0 0 var(--sp-5);color:var(--ink-soft)}
.pdp-acc__body>*:last-child{margin-bottom:0}
.pdp-dl{margin:0}
.pdp-dl>div{display:grid;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:var(--sp-4);padding:var(--sp-2) 0;border-top:1px solid var(--hair)}
.pdp-dl>div:first-child{border-top:0;padding-top:0}
.pdp-dl dt{font-weight:500;color:var(--ink-lux)}
.pdp-dl dd{margin:0}

/* ── reviews ── */
.pdp-reviews{margin-top:var(--sp-7);padding-top:var(--sp-6);border-top:1px solid var(--hair)}
.pdp-reviews>h2,.pdp-rail>h2{margin:0 0 var(--sp-5);font:500 var(--fs-h3)/1.2 var(--serif-lux)}
.woocommerce-Reviews-title{display:none}
.pdp-reviews #reviews,.pdp-reviews #reviews #comments,.pdp-reviews #reviews #review_form_wrapper{float:none;width:100%;margin:0;padding:0}
.pdp-reviews #reviews #comments ol.commentlist{list-style:none;margin:0 0 var(--sp-6);padding:0;max-width:none;display:block}
.pdp-reviews #reviews #comments ol.commentlist li{float:none;width:100%;margin:0;padding:var(--sp-5) 0;border:0;border-bottom:1px solid var(--hair);list-style:none}
.pdp-reviews #reviews #comments ol.commentlist li:first-child{padding-top:0}
.pdp-reviews #reviews #comments ol.commentlist li .comment_container{display:block;position:relative;width:100%;margin:0;padding:0}
.pdp-reviews #reviews #comments ol.commentlist li img.avatar{display:none}
.pdp-reviews #reviews #comments ol.commentlist li .comment-text{float:none;width:100%;margin:0;padding:0;border:0;border-radius:0}
.pdp-reviews #reviews #comments ol.commentlist li .star-rating{position:relative;float:none;display:block;margin:0 0 var(--sp-2)}
.pdp-reviews #reviews #comments ol.commentlist li .meta{margin:0 0 var(--sp-2);font-size:.875rem;color:var(--ink-soft)}
.pdp-reviews #reviews #comments ol.commentlist li .meta strong{color:var(--ink-lux);font-weight:500}
.pdp-reviews #reviews #comments ol.commentlist li .woocommerce-review__verified,.pdp-reviews #reviews #comments ol.commentlist li em.verified{display:none}
.pdp-reviews #reviews #comments ol.commentlist li .description{max-width:68ch}
.pdp-reviews #reviews #comments ol.commentlist li .description p{margin:0}
.pdp-reviews .star-rating span::before,.pdp-reviews p.stars a{color:var(--gold-ink-lux)}
.pdp-reviews .comment-form p{margin:0 0 var(--sp-4)}
.pdp-reviews .comment-form textarea{width:100%}
.pdp-reviews #review_form_wrapper{max-width:640px}
.pdp-reviews .comment-reply-title{display:block;margin:0 0 var(--sp-3);font:500 var(--fs-h3)/1.2 var(--serif-lux)}

/* ── "From the same edit" rail ── */
.pdp-rail{margin-top:var(--sp-7);padding-top:var(--sp-6);border-top:1px solid var(--hair)}
.pdp-rail__scroller{position:relative;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:var(--sp-3)}
.pdp-rail ul.products{display:flex;gap:var(--sp-4);grid-template-columns:none}
.pdp-rail ul.products li.product{flex:0 0 clamp(200px,24vw,300px)}

/* ── sticky add-to-cart bar ── */
.pdp-bar{position:fixed;left:0;right:0;top:var(--pdp-hh,0px);z-index:40;background:var(--ivory);border-bottom:1px solid var(--hair);visibility:hidden;transform:translateY(-100%);transition:transform 280ms var(--ease),visibility 0s linear 280ms}
.pdp-bar.is-on{visibility:visible;transform:none;transition:transform 280ms var(--ease)}
.pdp-bar__in{display:flex;align-items:center;gap:var(--sp-4);max-width:1560px;margin:0 auto;padding:var(--sp-2) 20px}
.pdp-bar__img{flex:none;width:48px;height:48px;object-fit:cover}
.pdp-bar__text{min-width:0;flex:1}
.pdp-bar__title{margin:0;font:500 1.125rem/1.2 var(--serif-lux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdp-bar__price{margin:0;font:400 .875rem/1.4 var(--sans-lux);color:var(--ink-soft)}
.pdp-bar__price .price,.pdp-bar__price del{font:inherit;color:inherit}
.pdp-bar__price ins{text-decoration:none;color:var(--ink-lux)}
.pdp-bar__btn{flex:none;min-width:180px;min-height:44px}
@media (max-width:899px){
  .pdp-bar{top:auto;bottom:0;border-bottom:0;border-top:1px solid var(--hair);transform:translateY(100%);padding-bottom:env(safe-area-inset-bottom)}
  .pdp-bar.is-on{transform:none}
  .pdp-bar__in{padding:var(--sp-2) 16px}
  .pdp-bar__btn{min-width:0;padding-left:var(--sp-4);padding-right:var(--sp-4)}
}
@media (prefers-reduced-motion:reduce){
  .pdp-bar,.pdp-bar.is-on{transition:none}
  .swatches.is-shake,.pdp-spin{animation:none}
}

/* ── notices: left hairline, no icons ── */
body .woocommerce-message,body .woocommerce-info,body .woocommerce-error{list-style:none;margin:0 0 var(--sp-5);padding:var(--sp-3) var(--sp-4);background:transparent;color:var(--ink-lux);border:0;border-left:1px solid var(--ink-lux);border-radius:0;font:400 .9375rem/1.5 var(--sans-lux)}
body .woocommerce-message::before,body .woocommerce-info::before,body .woocommerce-error::before{display:none}
body .woocommerce-message,body .woocommerce-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-4)}
body .woocommerce-info{border-left-color:var(--gold-ink-lux)}
body .woocommerce-error{border-left-color:var(--sale-lux);color:var(--sale-lux)}
body .woocommerce-error li{margin:0}
body .woocommerce-message a.button,body .woocommerce-info a.button{float:none;order:2;margin:0;min-height:36px;padding:6px var(--sp-4)}
body .woocommerce-error a{color:inherit}

/* ── cart ── */
.cart-empty,.woocommerce-cart .return-to-shop{display:none}
table.shop_table{width:100%;border:0;border-collapse:collapse;background:transparent;margin:0 0 var(--sp-5)}
table.shop_table thead th{padding:0 var(--sp-3) var(--sp-3);border-bottom:1px solid var(--ink-lux);font:500 .75rem/1.2 var(--sans-lux);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-align:left}
table.shop_table td,table.shop_table tbody th,table.shop_table tfoot th{padding:var(--sp-4) var(--sp-3);border:0;border-bottom:1px solid var(--hair);text-align:left;vertical-align:middle;background:transparent;font-weight:400;color:var(--ink-lux)}
table.shop_table tbody th,table.shop_table tfoot th{font-weight:500}
table.shop_table td.product-thumbnail img{width:96px;aspect-ratio:3/4;object-fit:cover}
table.shop_table td.product-name a{font:500 1.125rem/1.3 var(--serif-lux);color:var(--ink-lux);text-decoration:none}
table.shop_table td.product-name a:hover{text-decoration:underline}
table.shop_table td.product-name dl.variation{margin:var(--sp-1) 0 0;font-size:.875rem;color:var(--ink-soft)}
table.shop_table dl.variation dt,table.shop_table dl.variation dd{display:inline;margin:0}
table.shop_table dl.variation p{display:inline;margin:0}
table.shop_table .product-remove a.remove{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:0;background:transparent!important;color:var(--ink-soft)!important;font-size:22px;line-height:1;text-decoration:none}
table.shop_table .product-remove a.remove:hover{color:var(--maroon-lux)!important}
table.shop_table .quantity{margin:0}
td.actions{padding-top:var(--sp-5)}
td.actions::after{content:"";display:table;clear:both}
#main td.actions .coupon{float:none;display:flex;flex-wrap:nowrap;align-items:flex-end;gap:var(--sp-3);width:100%;max-width:520px}
#main td.actions .coupon input.input-text{flex:1 1 0;min-width:0;width:auto}
#main td.actions .coupon .button{flex:none;white-space:nowrap}
@media (min-width:420px){#main td.actions .coupon input.input-text{min-width:160px}}
td.actions>button[name=update_cart]{float:none;margin-top:var(--sp-3)}
/* Woo disables Update cart until a quantity changes (theme.js re-enables it); base.css would draw a flat grey block */
td.actions>button[name=update_cart]:disabled,td.actions>button[name=update_cart][aria-disabled=true]{display:none}
table.shop_table td.product-thumbnail img{width:96px}
.cart-continue{margin:calc(-1 * var(--sp-3)) 0 var(--sp-5)}
.cart-continue a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-lux);font:500 .875rem/1 var(--sans-lux);text-decoration:underline;text-underline-offset:4px}
.cart-continue a:hover{color:var(--maroon-lux)}
.cart_totals tr.cart-subtotal:has(+ tr.order-total){display:none}
.cart-collaterals{margin-top:var(--sp-6)}
.cart_totals>h2,#order_review_heading{margin:0 0 var(--sp-4);font:500 var(--fs-h3)/1.2 var(--serif-lux)}
@media (min-width:900px){.cart-collaterals .cart_totals{width:100%;max-width:440px;margin-left:auto;float:none}}
.wc-proceed-to-checkout a.checkout-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin:0}
@media (max-width:699px){
  table.woocommerce-cart-form__contents,table.woocommerce-cart-form__contents tbody{display:block}
  table.woocommerce-cart-form__contents thead{display:none}
  table.woocommerce-cart-form__contents tr.cart_item{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:var(--sp-4);position:relative;padding:var(--sp-4) 0;border-bottom:1px solid var(--hair)}
  table.woocommerce-cart-form__contents tr.cart_item td{display:block;padding:2px 0;border:0}
  table.woocommerce-cart-form__contents td.product-thumbnail{grid-column:1;grid-row:1/span 4}
  table.woocommerce-cart-form__contents td.product-name,table.woocommerce-cart-form__contents td.product-price,table.woocommerce-cart-form__contents td.product-quantity,table.woocommerce-cart-form__contents td.product-subtotal{grid-column:2;padding-right:var(--sp-6)}
  table.woocommerce-cart-form__contents td.product-remove{position:absolute;top:var(--sp-2);right:0;padding:0}
  table.woocommerce-cart-form__contents td.product-price::before,table.woocommerce-cart-form__contents td.product-subtotal::before{content:attr(data-title) ": ";font-size:.875rem;color:var(--ink-soft)}
  table.woocommerce-cart-form__contents tr:not(.cart_item) td.actions{display:block;padding:var(--sp-4) 0 0;border:0}
  #main td.actions .coupon,td.actions>button[name=update_cart]{float:none;width:100%;max-width:none}
  td.actions>button[name=update_cart]{margin-top:var(--sp-3)}
  table.shop_table.shop_table_responsive:not(.woocommerce-cart-form__contents) tr td::before{content:attr(data-title) ": ";font-weight:500}
}

/* ── fields: bottom border only, never boxed ── */
#main :is(input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],input.input-text,select,textarea){width:100%;min-height:44px;padding:var(--sp-3) 0;background:transparent;color:var(--ink-lux);border:0;border-bottom:1px solid var(--ink-lux);border-radius:0;font:400 1rem/1.4 var(--sans-lux)}
#main textarea{min-height:96px}
#main :is(input,select,textarea):focus{border-bottom-color:var(--maroon-lux)}
#main .select2-container--default .select2-selection--single{height:44px;background:transparent;border:0;border-bottom:1px solid var(--ink-lux);border-radius:0}
#main .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0;line-height:42px;color:var(--ink-lux)}
#main .select2-container--default .select2-selection--single .select2-selection__arrow{height:42px}
.form-row{margin:0 0 var(--sp-4)}
.form-row label{display:block;margin:0 0 var(--sp-1);font:500 .75rem/1.4 var(--sans-lux);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.form-row .required,abbr.required{color:var(--sale-lux);text-decoration:none}
.form-row .woocommerce-input-wrapper{display:block}
@media (min-width:700px){.form-row-first,.form-row-last{width:calc(50% - 8px);display:inline-block;vertical-align:top}.form-row-first{margin-right:var(--sp-4)}}

/* ── checkout ── */
.woocommerce-checkout .col2-set,.woocommerce-checkout #customer_details{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none;width:auto}
.woocommerce-checkout h3{font:500 var(--fs-h3)/1.2 var(--serif-lux);margin:0 0 var(--sp-4)}
@media (min-width:1024px){
  form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--sp-7);align-items:start}
  form.woocommerce-checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
  form.woocommerce-checkout #customer_details{grid-column:1;grid-row:1/span 2}
  form.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1}
  form.woocommerce-checkout #order_review{grid-column:2;grid-row:2}
}
#order_review{padding:var(--sp-5);background:var(--ivory);border:1px solid var(--hair)}
#order_review table.shop_table{margin-bottom:var(--sp-4)}
#payment{background:transparent;border:0;border-radius:0;padding:0}
#payment ul.payment_methods{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
#payment ul.payment_methods li{padding:var(--sp-3) 0;border-bottom:1px solid var(--hair)}
#payment .payment_box{margin:var(--sp-2) 0 0;padding:var(--sp-4);background:var(--stone);color:var(--ink-lux);border-radius:0}
#payment .payment_box::before{display:none}
#payment #place_order{float:none;display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin-top:var(--sp-4)}

/* ── account ── */
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 var(--sp-5);display:flex;flex-wrap:wrap;gap:0 var(--sp-5);border-bottom:1px solid var(--hair)}
.woocommerce-MyAccount-navigation a{display:block;padding:var(--sp-3) 0;min-height:44px;border:0;background:transparent;color:var(--ink-soft);font:500 .75rem/1.4 var(--sans-lux);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.woocommerce-MyAccount-navigation .is-active a{color:var(--ink-lux);box-shadow:inset 0 -1px 0 var(--ink-lux)}
@media (min-width:900px){
  .woocommerce-account .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--sp-6)}
  .woocommerce-MyAccount-navigation ul{display:block;border-bottom:0}
  .woocommerce-MyAccount-navigation a{border-bottom:1px solid var(--hair)}
  .woocommerce-MyAccount-navigation .is-active a{box-shadow:none;border-bottom-color:var(--ink-lux)}
  .woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
  .woocommerce-account:not(.logged-in) .woocommerce{display:block}
  #customer_login.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-7)}
}
.woocommerce-form-login,.woocommerce-form-register{margin:0 0 var(--sp-5);padding:var(--sp-5);border:1px solid var(--hair);border-radius:0}
.woocommerce-account:not(.logged-in) .woocommerce>h2,.woocommerce-account:not(.logged-in) form.woocommerce-form-login{max-width:480px;margin-left:auto;margin-right:auto}
.woocommerce-form-login{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
.woocommerce-form-login>.form-row-wide{flex:0 0 100%}
.woocommerce-form-login>.form-row:has(.woocommerce-form-login__submit){display:contents}
.woocommerce-form-login__submit{order:1;flex:0 0 100%;display:flex;align-items:center;justify-content:center;min-height:52px;margin:var(--sp-2) 0 0}
.woocommerce-form-login__rememberme,.woocommerce-form-login .woocommerce-LostPassword{order:2}
.woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;margin:var(--sp-3) 0 0;text-transform:none;letter-spacing:0;font:400 .875rem/1.4 var(--sans-lux);color:var(--ink-lux)}
.woocommerce-form-login .woocommerce-LostPassword{margin:0}
.woocommerce-form-login .woocommerce-LostPassword a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-soft);font-size:.875rem}
.woocommerce-account h2{font:500 var(--fs-h3)/1.2 var(--serif-lux)}

/* ── layout widths ── */
p.cart-empty{display:none}
.entry-content{max-width:78ch}
.woocommerce-cart .entry-content,.woocommerce-checkout .entry-content,.woocommerce-account .entry-content{max-width:none}

/* WooCommerce general sheet floats the thumbs at 25% with margins: win on specificity */
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,96px));justify-content:start;gap:var(--sp-2);margin:var(--sp-2) 0 0;padding:0;list-style:none}
.woocommerce div.product div.images .flex-control-thumbs li{float:none;width:auto;margin:0}
.woocommerce div.product div.images .flex-control-thumbs li img{width:100%;aspect-ratio:3/4;object-fit:cover;opacity:.6}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,.woocommerce div.product div.images .flex-control-thumbs li img:hover{opacity:1}
/* the struck-through regular price already states the saving: no pill on the product photo */
div.product>.badge-off,.woocommerce span.onsale{display:none}
.pdp-meta a,.pdp-rating a{display:inline-flex;align-items:center;min-height:24px}
.woocommerce-cart-form .product-name a{display:inline-flex;align-items:center;min-height:24px}

/* back-to-top clears the mobile bottom bar while it is showing (class set in product.js) */
@media (max-width:899px){body.pdp-bar-on .to-top{bottom:calc(var(--bar-h,72px) + 16px)}}
/* add-to-cart press feedback */
@media (prefers-reduced-motion:no-preference){
  body.single-product form.cart button.single_add_to_cart_button.button:active,.pdp-bar__btn:active{transform:scale(.98);transition:transform 150ms var(--ease-out)}
}

/* The sticky buy box tucks under the full-width sections that follow it */
.single-product .pdp-reviews,.single-product .pdp-rail{position:relative;z-index:3;background:var(--ivory)}
