/* KENR0CK: WooCommerce, restyled from scratch (WooCommerce's default CSS is switched off).
   Loaded only on shop, product, category, cart, checkout and account pages. */

.woocommerce img,.woocommerce-page img{height:auto;max-width:100%}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.shop-page h2{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;line-height:1}
.woocommerce .clear{clear:both}

/* ---------- Buttons & fields ---------- */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit{
  display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--black);color:var(--white);border:1.5px solid var(--black);border-radius:0;
  font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;font-size:19px;text-transform:uppercase;
  padding:14px 20px;text-decoration:none;cursor:pointer;line-height:1}
.woocommerce .button:hover{background:var(--white);color:var(--black)}
.woocommerce .button.disabled,.woocommerce .button:disabled,.woocommerce .button[disabled]{opacity:.35;cursor:not-allowed}
.woocommerce .button.disabled:hover,.woocommerce .button:disabled:hover{background:var(--black);color:var(--white)}
.woocommerce .button.loading{opacity:.6}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select,.woocommerce .select2-container .select2-selection,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{
  width:100%;border:1.5px solid var(--black);border-radius:0;padding:12px;background:var(--white);font-size:16px;line-height:1.3;min-height:48px}
.woocommerce .select2-container .select2-selection{display:flex;align-items:center;padding:0 12px}
.woocommerce .select2-container .select2-selection__arrow{height:100%}
.woocommerce input.input-text:focus,.woocommerce textarea:focus,.woocommerce select:focus{outline:none;box-shadow:none} /* active fields look the same as the rest */
.woocommerce form .form-row{margin:0 0 var(--s4);padding:0}
.woocommerce form .form-row label{display:block;margin-bottom:6px;font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:15px}
.woocommerce form .form-row .required{color:var(--black);text-decoration:none;border:0}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 8px);float:left}
.woocommerce form .form-row-last{float:right}
.woocommerce form .form-row-wide{clear:both}
.woocommerce .woocommerce-input-wrapper{display:block}

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper:empty{display:none}
/* Notices ("Cart updated.", "Coupon applied", errors…): no box, centered, heading font */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.wc-block-components-notice-banner{
  list-style:none;margin:0 0 var(--s5);padding:8px 0;border:0;background:none;color:var(--black);display:flex;justify-content:center;align-items:center;gap:8px 16px;flex-wrap:wrap;text-align:center;
  font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:700;text-transform:uppercase;font-size:17px;letter-spacing:.02em;line-height:1.2}
.woocommerce-error{flex-direction:column}
.woocommerce-error li{margin:0}
.woocommerce-message .button,.woocommerce-info .button{order:2;font-size:15px;padding:10px 14px}
.woocommerce-message::before,.woocommerce-info::before{content:none}
.kr-cart-error,.coupon-error-notice{margin:var(--s2) 0 0;padding:0;border:0;color:var(--black);
  font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:700;text-transform:uppercase;font-size:15px;letter-spacing:.02em;line-height:1.2}
.kr-cart-error{text-align:center}
.woocommerce table.cart td.actions .coupon{flex-wrap:wrap}
.woocommerce table.cart td.actions .coupon .coupon-error-notice{flex-basis:100%}

/* ---------- Shop / category grid (Palace web shop) ---------- */
.shop-page .page-h{margin-bottom:var(--s5)}
/* Desktop: 3 per row, each card the size it would be in a row of 4, spread across the page column */
.woocommerce ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,calc((100% - 3 * var(--s4)) / 4));justify-content:space-between;gap:var(--s6) var(--s4)}
.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:center;position:relative}
.woocommerce ul.products li.product a{text-decoration:none;display:block}
.woocommerce ul.products li.product img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:var(--white);margin:0 0 var(--s2);transition:transform .5s var(--ease)}
.woocommerce ul.products li.product a:hover img{transform:scale(1.03)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:18px;line-height:1.1;margin:0 0 2px;padding:0}
.woocommerce ul.products li.product .price{display:block;font-size:var(--t-sm);color:var(--black)}
.woocommerce ul.products li.product .price del{color:var(--grey);margin-right:4px}
.woocommerce ul.products li.product .price ins{text-decoration:none}
/* Sold out = a black, inactive button (shop cards: small; product page: full width, same size as Add to cart) */
.kr-sold,.woocommerce div.product .stock.out-of-stock{display:inline-flex;justify-content:center;align-items:center;background:var(--black);color:var(--white);border:1.5px solid var(--black);border-radius:0;
  font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;line-height:1;cursor:not-allowed;user-select:none}
.kr-sold{font-size:14px;padding:8px 14px;margin-top:10px;cursor:inherit} /* the whole card is still a link to the product */
.woocommerce ul.products li.product.kr-is-sold .price{display:none}
.woocommerce ul.products li.product.kr-is-sold img{opacity:.4}
.woocommerce .star-rating,.woocommerce .onsale{display:none}
.woocommerce-pagination{margin-top:var(--s6)}
.woocommerce-pagination ul{list-style:none;display:flex;gap:8px;padding:0;margin:0;flex-wrap:wrap}
.woocommerce-pagination a,.woocommerce-pagination span{display:inline-grid;place-items:center;min-width:40px;height:40px;border:1.5px solid var(--black);text-decoration:none;font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800}
.woocommerce-pagination .current{background:var(--black);color:var(--white)}

/* ---------- Single product ---------- */
/* Product page: a little more room under the menu than other pages */
.single-product .page.wrap{padding-top:calc(env(safe-area-inset-top,0px) + var(--bar) + 160px)}
@media (max-width:767px){.single-product .page.wrap{padding-top:calc(env(safe-area-inset-top,0px) + 132px)}}
/* Product page "G": big title + buying details on the left, photo on the right */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--s7);align-items:start;position:relative}
.woocommerce div.product .woocommerce-product-gallery{grid-column:2;grid-row:1 / span 3;position:relative;margin:0;width:100%!important;max-width:560px;justify-self:end;float:none}
.woocommerce div.product .woocommerce-product-gallery__wrapper{margin:0}
.woocommerce div.product .woocommerce-product-gallery__image img{display:block;width:100%}
.woocommerce div.product .flex-control-thumbs{list-style:none;margin:var(--s3) 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s2)}
.woocommerce div.product .flex-control-thumbs img{cursor:pointer;opacity:.5}
.woocommerce div.product .flex-control-thumbs img.flex-active,.woocommerce div.product .flex-control-thumbs img:hover{opacity:1}
.woocommerce div.product .summary{grid-column:1;grid-row:1;display:grid;gap:var(--s4);margin:0;width:auto!important;float:none}
.woocommerce div.product .product_title{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:clamp(2.25rem,3.6vw,3.5rem);line-height:.9;margin:0;text-wrap:balance}
.woocommerce div.product .summary>.price{font-size:var(--t-lg);margin:0}
.woocommerce div.product .summary .price del{color:var(--grey)}
.woocommerce div.product .summary .price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:var(--t-sm);line-height:1.6;color:#3A3A3A}
.woocommerce div.product .woocommerce-product-details__short-description p{margin:0}
.woocommerce div.product .stock{font-size:var(--t-sm);margin:0}
.woocommerce div.product .stock.out-of-stock{display:flex;width:100%;font-size:19px;padding:14px 20px;margin:0}
.woocommerce div.product form.cart{margin:0;display:grid;gap:var(--s4)}
.woocommerce div.product form.cart:not(.variations_form){grid-template-columns:auto 1fr}
.woocommerce div.product form.cart table.variations{border:0;border-collapse:collapse;width:100%;margin:0}
.woocommerce div.product form.cart table.variations tr{display:block;margin-bottom:var(--s3)}
.woocommerce div.product form.cart table.variations th,.woocommerce div.product form.cart table.variations td{display:block;padding:0;text-align:left}
.woocommerce div.product form.cart table.variations th label{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:13px;display:block;margin-bottom:var(--s2)}
.kr-hidden-select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0 0 0 0);opacity:0;pointer-events:none}
.kr-opts{display:flex;flex-wrap:wrap;gap:var(--s2)}
.kr-opt{min-width:52px;text-align:center;padding:10px 12px;border:1.5px solid var(--black);background:var(--white);color:var(--black);cursor:pointer;
  font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;font-size:17px;text-transform:uppercase;line-height:1}
.kr-opt[aria-checked="true"]{background:var(--black);color:var(--white)}
.kr-opt:disabled{border-color:var(--line);color:#B5B5B5;text-decoration:line-through;cursor:not-allowed}
.woocommerce div.product .single_variation_wrap{display:grid;gap:0} /* no gap: an empty size-price box appearing would nudge Add to cart down */
.woocommerce div.product .single_variation>div:not(:empty){margin-bottom:var(--s3)}
.woocommerce div.product .woocommerce-variation-price .price{font-size:var(--t-lg)}
.woocommerce div.product .woocommerce-variation-availability p{margin:0}
.woocommerce div.product .woocommerce-variation-add-to-cart{display:grid;grid-template-columns:auto 1fr;gap:var(--s2)}
/* Quantity: − 1 + inside one square box, same border as the size buttons (buttons added by main.js) */
.woocommerce div.quantity{display:flex;align-items:stretch;min-height:52px;border:1.5px solid var(--black);background:var(--white)}
.woocommerce div.quantity .qty{width:2.2em;min-height:0;text-align:center;border:0;border-radius:0;background:none;font-size:var(--t-sm);padding:0;-moz-appearance:textfield;appearance:textfield}
.woocommerce div.quantity .qty:focus{outline:none;box-shadow:none}
.woocommerce div.quantity input::-webkit-outer-spin-button,.woocommerce div.quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.kr-q{flex:none;width:40px;border:0;background:none;color:var(--black);display:grid;place-items:center;padding:0;cursor:pointer;font-family:var(--f-body);font-size:20px;line-height:1}
.kr-q:disabled{color:#B5B5B5;cursor:default}
.kr-q:focus-visible,.woocommerce div.quantity .qty:focus-visible{outline:2px solid var(--black);outline-offset:-4px}
.woocommerce table.cart div.quantity{display:inline-flex;min-height:44px}
.woocommerce div.product .single_add_to_cart_button{width:100%}
.woocommerce div.product .single_add_to_cart_button:hover{background:var(--black);color:var(--white)} /* no hover effect */
/* WooCommerce adds a "View cart" link after an add; the cart panel already covers it */
.woocommerce div.product .added_to_cart{display:none}
.woocommerce div.product .facts{border-top:1px solid var(--black);font-size:var(--t-sm);margin:0}
.woocommerce div.product .facts div{display:grid;grid-template-columns:90px 1fr;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.woocommerce div.product .facts dt{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase}
.woocommerce div.product .facts dd{margin:0}
/* Always-visible rows under Add to cart: Details, Shipping, Returns */
.kr-facts{border-top:1.5px solid var(--black);margin:0}
.kr-facts div{display:grid;grid-template-columns:128px minmax(0,1fr);gap:var(--s3);padding:13px 0;border-bottom:1px solid var(--line)}
.kr-facts dt{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:15px;line-height:1.3}
.kr-facts dd{margin:0;font-size:var(--t-sm);line-height:1.6;color:#3A3A3A}
.kr-facts dd p{margin:0 0 .6em}.kr-facts dd p:last-child{margin-bottom:0}
.kr-facts dd a{color:var(--black);text-underline-offset:3px}
/* Returns line under Add to cart, in the heading lettering (same as the row labels). */
.kr-final{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:15px;line-height:1.3;margin:0;padding:13px 0;border-top:1.5px solid var(--black);border-bottom:1px solid var(--line)}
.kr-facts+.kr-final{border-top:0}
.woocommerce .related.products,.woocommerce .upsells.products{margin-top:var(--s7)}
/* "Up next" bar */
/* "You Might Also Like": two rows */
.kr-more{margin-top:var(--s7)}
.kr-more__h{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:20px;line-height:1;margin:0 0 var(--s3)}
.kr-next{display:grid;grid-template-columns:auto minmax(0,1fr) auto;justify-items:start;gap:var(--s5);align-items:center;padding:var(--s4) 0;border-bottom:1px solid var(--line);color:var(--black)}
.kr-next a{color:inherit;text-decoration:none}
.kr-next__img{display:block}
.kr-next__img img{display:block;width:110px;height:auto}
.kr-next__txt{display:block;min-width:0}
.kr-more .kr-next:first-of-type{border-top:1.5px solid var(--black)}
.kr-more .kr-next:last-of-type{border-bottom:1.5px solid var(--black)}
.kr-next small,.kr-next b{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;line-height:.95}
.kr-next small{font-size:13px;color:var(--grey)}
.kr-next b{font-size:clamp(1.375rem,2.6vw,2.25rem);text-wrap:balance}
.kr-next a.kr-next__go{width:58px;height:58px;border-radius:50%;background:var(--black);color:var(--white);display:grid;place-items:center;justify-self:end}
.kr-next__txt:focus-visible{outline:2px solid var(--black);outline-offset:4px}
@media (max-width:767px){
  /* product page on phones: bigger photo thumbnails, title closer to the photo */
  .woocommerce div.product{row-gap:var(--s5)}
  .woocommerce div.product .flex-control-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
}
@media (max-width:767px){.kr-next{gap:var(--s3)}.kr-next__img img{width:72px}.kr-next__go{width:42px;height:42px}.kr-next__go svg{width:18px;height:18px}}
.woocommerce .related.products>h2,.woocommerce .upsells.products>h2{font-size:28px;margin:0 0 var(--s5)}

/* ---------- Cart ---------- */
.shop-wrap .woocommerce{display:block}
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--s6);align-items:start}
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1 / -1;margin-bottom:calc(var(--s6) * -1 + var(--s3))} /* notice sits close to the cart, not a full grid gap away */
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper>*:last-child{margin-bottom:0}
.woocommerce-cart .cart-empty,.woocommerce-cart .return-to-shop{grid-column:1 / -1}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;border-top:1px solid var(--black);font-size:var(--t-sm)}
.woocommerce table.shop_table th{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:15px;text-align:left;padding:12px 8px}
.woocommerce table.shop_table td{padding:16px 8px;border-top:1px solid var(--line);vertical-align:middle}
.woocommerce table.cart .product-thumbnail img{width:84px;height:84px;object-fit:contain;background:none;display:block}
.woocommerce table.cart .product-name a{text-decoration:none;font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:18px}
.woocommerce table.cart .product-name .variation{margin:4px 0 0;color:var(--grey);display:flex;gap:4px}
.woocommerce table.cart .product-name .variation dt,.woocommerce table.cart .product-name .variation dd,.woocommerce table.cart .product-name .variation p{margin:0;display:inline}
.woocommerce table.cart a.remove{font-size:22px;text-decoration:none;color:var(--grey);line-height:1}
.woocommerce table.cart a.remove:hover{color:var(--black)}
.woocommerce table.cart td.actions{padding-top:20px}
.woocommerce table.cart td.actions .coupon{display:flex;gap:8px;float:left}
.woocommerce table.cart td.actions .coupon .input-text{width:180px;border:1.5px solid var(--black);border-radius:0;padding:12px;min-height:48px;font-size:var(--t-sm);background:var(--white)}
.woocommerce table.cart td.actions>.button{float:right}
.woocommerce table.cart td.actions .button{font-size:15px;padding:12px 14px}
.woocommerce .cart-collaterals{border:1.5px solid var(--black);padding:var(--s5)}
.woocommerce .cart_totals h2{font-size:24px;margin:0 0 var(--s3)}
.woocommerce .cart_totals table.shop_table{border-top:0}
.woocommerce .cart_totals table.shop_table th{padding-left:0}
.woocommerce .cart_totals table.shop_table td{text-align:right;padding-right:0}
.woocommerce .cart_totals .order-total th,.woocommerce .cart_totals .order-total td{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;font-size:24px;text-transform:uppercase;border-top:1px solid var(--black)}
.woocommerce .cart_totals .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.woocommerce .wc-proceed-to-checkout{margin-top:var(--s4)}
.woocommerce .wc-proceed-to-checkout .checkout-button{width:100%}

/* ---------- Checkout ---------- */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-rows:auto auto 1fr;column-gap:var(--s6);row-gap:var(--s3);align-items:start}
.woocommerce-checkout form.checkout>.woocommerce-NoticeGroup{grid-column:1 / -1}
/* Checkout errors are added at the start of the form: keep them on top, full width, and move the rest down a row. */
.woocommerce-checkout form.checkout:has(>.woocommerce-NoticeGroup){grid-template-rows:auto auto auto 1fr}
.woocommerce-checkout form.checkout>.woocommerce-NoticeGroup{grid-row:1}
.woocommerce-checkout form.checkout:has(>.woocommerce-NoticeGroup) #customer_details{grid-row:2 / 5}
.woocommerce-checkout form.checkout:has(>.woocommerce-NoticeGroup) #order_review_heading{grid-row:2}
.woocommerce-checkout form.checkout:has(>.woocommerce-NoticeGroup) #order_review{grid-row:3}
.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / 4}
.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;font-size:24px;margin:0}
.woocommerce-checkout #order_review{grid-column:2;grid-row:2;border:1.5px solid var(--black);padding:var(--s5);position:sticky;top:calc(var(--bar) + 110px)}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:auto;float:none;margin-bottom:var(--s5)}
.woocommerce-checkout h3{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:22px;margin:0 0 var(--s4)}
.woocommerce-checkout #ship-to-different-address{font-size:18px}
.woocommerce-checkout #ship-to-different-address label{display:flex;gap:8px;align-items:center;cursor:pointer}
.woocommerce-checkout .woocommerce-checkout-review-order-table{border-top:0}
.woocommerce-checkout .woocommerce-checkout-review-order-table th{padding-left:0}
.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout .woocommerce-checkout-review-order-table th:last-child{text-align:right;padding-right:0}
.woocommerce-checkout .order-total th,.woocommerce-checkout .order-total td{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;font-size:22px;text-transform:uppercase;border-top:1px solid var(--black)}
.woocommerce-checkout #payment{margin-top:var(--s4)}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 var(--s4);padding:0;border-top:1px solid var(--line)}
.woocommerce-checkout #payment ul.payment_methods li{padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.woocommerce-checkout #payment ul.payment_methods li label{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:16px}
.woocommerce-checkout #payment .payment_box{margin-top:var(--s2);font-size:var(--t-sm);color:var(--grey)}
.woocommerce-checkout #payment .payment_box p{margin:0}
.woocommerce-checkout #place_order{width:100%}
.woocommerce-terms-and-conditions-wrapper{font-size:var(--t-sm);margin-bottom:var(--s4)}
.woocommerce form.login,.woocommerce form.register{border:1.5px solid var(--black);padding:var(--s5);margin:0 0 var(--s5)}

/* ---------- Order received ---------- */
.woocommerce-order ul.order_details{list-style:none;padding:0;margin:0 0 var(--s5);display:flex;flex-wrap:wrap;gap:var(--s4) var(--s6);font-size:var(--t-sm)}
.woocommerce-order ul.order_details strong{display:block;font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:18px}
.woocommerce-thankyou-order-received{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:24px}
.woocommerce-order h2,.woocommerce-customer-details h2{font-size:22px;margin:var(--s6) 0 var(--s3)}
.woocommerce-customer-details address{font-style:normal;border:1px solid var(--line);padding:var(--s4)}

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--s6);align-items:start}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:560px}
.woocommerce-MyAccount-navigation{float:none;width:auto}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--black)}
.woocommerce-MyAccount-navigation li a{display:block;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:17px;color:var(--grey)}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{color:var(--black)}
.woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-MyAccount-content mark{background:none;font-weight:500}
.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6)}
.woocommerce-account .u-column1,.woocommerce-account .u-column2{width:auto;float:none}
.woocommerce form .woocommerce-form-login__rememberme{display:flex;gap:8px;align-items:center;margin-bottom:var(--s3)}
.woocommerce .lost_password a{color:var(--grey);font-size:var(--t-sm)}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
  .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .woocommerce div.product{grid-template-columns:minmax(0,1fr)}
  .woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product .summary{grid-column:1;grid-row:auto;min-width:0}
  .woocommerce div.product .woocommerce-product-gallery{position:relative;top:auto;justify-self:center}
  .woocommerce div.product .summary{position:static}
  .woocommerce-cart .woocommerce,.woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout form.checkout{grid-template-rows:none}
  .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1;grid-row:auto;position:static}
}

/* ---------- Phones ---------- */
@media (max-width:767px){
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5) var(--s3)}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
  .woocommerce-account .woocommerce,.woocommerce-account .u-columns{grid-template-columns:1fr}

  /* cart table becomes stacked rows */
  .woocommerce table.shop_table_responsive thead{display:none}
  .woocommerce table.shop_table_responsive tr{display:grid;grid-template-columns:72px 1fr auto;column-gap:12px;padding:12px 0;border-top:1px solid var(--line)}
  .woocommerce table.shop_table_responsive td{border:0;padding:2px 0;display:block}
  .woocommerce table.cart td.product-thumbnail{grid-row:1 / span 4;grid-column:1}
  .woocommerce table.cart td.product-thumbnail img{width:72px;height:72px}
  .woocommerce table.cart td.product-remove{grid-column:3;grid-row:1;text-align:right}
  .woocommerce table.cart td.product-name,.woocommerce table.cart td.product-price,.woocommerce table.cart td.product-quantity,.woocommerce table.cart td.product-subtotal{grid-column:2}
  .woocommerce table.shop_table_responsive td[data-title]::before{content:attr(data-title) ": ";color:var(--grey)}
  .woocommerce table.cart td.product-name::before,.woocommerce table.cart td.product-thumbnail::before,.woocommerce table.cart td.product-remove::before{content:none}
  /* under the items: Update cart first, then a divider, then the coupon */
  .woocommerce table.cart tr:last-child{display:block;border-top:0;padding-top:0}
  .woocommerce table.cart td.actions{display:flex;flex-direction:column;gap:0}
  .woocommerce table.cart td.actions>.button{order:-1;float:none;width:100%}
  .woocommerce table.cart td.actions .coupon{float:none;order:1;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
  .woocommerce table.cart td.actions .coupon .input-text{width:100%}
  /* cart totals: label and amount on one line */
  .woocommerce .cart_totals table.shop_table tr{grid-template-columns:1fr auto;align-items:center}
  .woocommerce .cart_totals table.shop_table th,.woocommerce .cart_totals table.shop_table td{border:0;padding-block:12px}
  .woocommerce .cart_totals table.shop_table td::before{content:none}
}

/* Password show/hide (WooCommerce adds the button; its icon came from the default CSS we switched off) */
.woocommerce .password-input{position:relative;display:block}
.woocommerce .show-password-input{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;padding:4px;cursor:pointer;
  font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:13px}
.woocommerce .show-password-input::after{content:"Show"}
.woocommerce .show-password-input.display-password::after{content:"Hide"}

/* Checkout coupon: "Have a coupon? Add code" small on the left; opens the field + Apply on one line, no box */
.woocommerce-form-coupon-toggle .woocommerce-info{justify-content:flex-start;text-align:left;margin:0 0 var(--s3);padding:0;font-size:15px}
.woocommerce-form-coupon-toggle .showcoupon{color:var(--black);text-underline-offset:4px;text-decoration-thickness:2px}
.woocommerce form.checkout_coupon{border:0;padding:0;margin:0 0 var(--s6);background:none}
.woocommerce form.checkout_coupon .form-row{display:inline-block;width:auto;float:none;margin:0 8px 0 0;padding:0;vertical-align:top}
.woocommerce form.checkout_coupon .input-text{width:260px;max-width:52vw;min-height:48px;border:1.5px solid var(--black);border-radius:0;padding:0 12px;font-size:var(--t-sm)}
.woocommerce form.checkout_coupon .button{min-height:48px;padding:0 20px;font-size:16px}
.woocommerce form.checkout_coupon .clear{display:none}
.woocommerce form.checkout_coupon .input-text:focus{box-shadow:none;outline:none}
@media (max-width:767px){
  .woocommerce form.checkout_coupon{display:flex}
  .woocommerce form.checkout_coupon[style*="none"]{display:none}
  .woocommerce form.checkout_coupon .form-row-first{flex:1;min-width:0}
  .woocommerce form.checkout_coupon .input-text{width:100%;max-width:none}
  .woocommerce form.checkout_coupon .form-row-last{margin-right:0}
}
.woocommerce .select2-container .select2-selection__rendered{padding-left:0;padding-right:20px;line-height:1.3}
/* Checkout "Your order": no rule above the table (the box already frames it) */
.woocommerce-checkout #order_review table.shop_table{border-top:0}
/* Checkout "Your order" table: one full-width line between rows, a black line above Total */
.woocommerce-checkout #order_review table.shop_table th,.woocommerce-checkout #order_review table.shop_table td{border-top:1px solid var(--line)}
.woocommerce-checkout #order_review table.shop_table thead th{border-top:0}
.woocommerce-checkout #order_review table.shop_table tr.order-total th,.woocommerce-checkout #order_review table.shop_table tr.order-total td{border-top:1.5px solid var(--black)}
/* Shipping choice: no bullet, stays on one line */
.woocommerce ul#shipping_method,.woocommerce .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.woocommerce ul#shipping_method li{margin:0;white-space:nowrap}
.woocommerce ul#shipping_method li label{display:inline}
/* Payment logos (e.g. PayPal) at a normal size next to the name */
.woocommerce-checkout #payment ul.payment_methods li label img{display:inline-block;max-height:22px;width:auto;margin:0 0 0 8px;vertical-align:middle}
.woocommerce-checkout #payment .about_paypal{display:none}
/* Empty cart: message + Return to shop centered in the space between the menu and the footer, on every screen */
body.woocommerce-cart:has(.wc-empty-cart-message){min-height:100dvh;display:flex;flex-direction:column}
body.woocommerce-cart:has(.wc-empty-cart-message)>main{flex:1;display:flex;flex-direction:column}
.woocommerce-cart .page.wrap:has(.wc-empty-cart-message){flex:1;display:flex;flex-direction:column;min-height:0;padding-bottom:var(--s6)}
.woocommerce-cart .page.wrap:has(.wc-empty-cart-message)>.shop-wrap{flex:1;display:flex;flex-direction:column}
.woocommerce-cart .woocommerce:has(.wc-empty-cart-message){flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s5);text-align:center}
.woocommerce-cart .woocommerce:has(.wc-empty-cart-message)>*{margin:0}
.woocommerce-cart .wc-empty-cart-message .cart-empty{margin:0}
.woocommerce-cart .return-to-shop{margin:0}
html:has(.wc-empty-cart-message){overscroll-behavior-y:none} /* no rubber-band bounce on the empty cart */

/* Shop with no products: "Check back soon for new releases." centered between the menu and the footer */
body:has(.woocommerce-no-products-found){min-height:100dvh;display:flex;flex-direction:column}
body:has(.woocommerce-no-products-found)>main{flex:1;display:flex;flex-direction:column}
.page.wrap:has(.woocommerce-no-products-found){flex:1;display:flex;flex-direction:column;min-height:0;padding-bottom:var(--s6)}
.woocommerce-no-products-found{flex:1;display:flex;align-items:center;justify-content:center;text-align:center}
.woocommerce-no-products-found .woocommerce-info{margin:0}
html:has(.woocommerce-no-products-found){overscroll-behavior-y:none}
.page.wrap:has(.woocommerce-no-products-found) .woocommerce-products-header{display:none} /* nothing to filter when there are no products */
.woocommerce-no-products-found .woocommerce-info{font-size:clamp(1.375rem,3.2vw,1.75rem);font-weight:800;line-height:1.05}

/* ---------- Product drops (inc/drops.php) ---------- */
.kr-drop-tag{display:inline-block;margin-top:8px;background:var(--black);color:var(--white);border:1.5px solid var(--black);font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:13px;line-height:1;padding:6px 8px;font-variant-numeric:tabular-nums}
.kr-drop-tag b{font-weight:800}
.kr-drop{display:grid;gap:14px}
.kr-drop__k{margin:0;font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:15px;letter-spacing:.02em}
.kr-drop__t{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.kr-drop__t span{display:grid;justify-items:center;gap:2px;border:1.5px solid var(--black);padding:12px 4px 10px}
.kr-drop__t b{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;font-size:44px;line-height:1;font-variant-numeric:tabular-nums}
.kr-drop__t i{font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
.kr-drop__when{margin:0;font-size:14px}
.kr-drop__btn{width:100%;min-height:52px;border:1.5px solid var(--black);background:var(--black);color:var(--white);opacity:.35;font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:19px;cursor:not-allowed}
@media (max-width:767px){.kr-drop-tag{font-size:11px;padding:5px 6px}.kr-drop__t b{font-size:38px}}

/* Checkout: privacy note + "All sales are final" line above Place order, same small size */
.woocommerce-checkout .woocommerce-privacy-policy-text p,.woocommerce-checkout .kr-final-note{font-size:14px;line-height:1.5;color:var(--grey);margin:0 0 var(--s3)}
.woocommerce-checkout .woocommerce-privacy-policy-text a,.woocommerce-checkout .kr-final-note a{color:var(--black);text-underline-offset:3px}
.woocommerce-checkout .kr-final-note{margin-bottom:var(--s4)}
@media (max-width:767px){.kr-facts div{grid-template-columns:118px minmax(0,1fr)}.kr-facts dt{font-size:14px}}

/* Size chart popup */
.kr-size{border:0;padding:0;margin:auto;width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);background:var(--white);color:var(--black)}
.kr-size::backdrop{background:rgba(0,0,0,.6)}
.kr-size__in{padding:24px}
.kr-size__top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.kr-size__t{margin:0;font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:28px;line-height:1}
.kr-size__x{flex:none;width:40px;height:40px;border:1.5px solid var(--black);background:var(--white);color:var(--black);cursor:pointer;display:grid;place-items:center;padding:0}
.kr-size__x svg{display:block}
.kr-size__x:hover{background:var(--black);color:var(--white)}
.kr-size__scroll{overflow-x:auto}
.kr-size__table{width:100%;border-collapse:collapse;text-align:center;font-size:15px;font-variant-numeric:tabular-nums}
.kr-size__table thead th{background:var(--black);color:var(--white);font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:14px;padding:12px 10px;white-space:nowrap}
.kr-size__table tbody th{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;font-size:16px}
.kr-size__table tbody th,.kr-size__table td{padding:12px 10px;border-bottom:1px solid var(--line)}
.kr-size__table tbody tr:nth-child(even){background:#F7F7F7}
.kr-size__note{margin:12px 0 0;font-size:13px;color:var(--grey)}
@media (max-width:767px){.kr-size__in{padding:18px}.kr-size__t{font-size:24px}.kr-size__table{font-size:14px}.kr-size__table thead th{font-size:12px;padding:10px 6px;white-space:normal}.kr-size__table tbody th,.kr-size__table td{padding:10px 6px}}

/* "Size chart" link: grey capitals on the SIZE line, right edge lined up with the last size button */
.woocommerce div.product form.cart table.variations tr:has(.kr-size-link){display:grid;width:max-content;max-width:100%}
.woocommerce div.product form.cart table.variations th.label:has(.kr-size-link){display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:var(--s2)}
.woocommerce div.product form.cart table.variations th.label:has(.kr-size-link) label{margin-bottom:0}
.kr-size-link{font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;text-transform:uppercase;font-size:13px;color:var(--grey);text-decoration:underline;text-underline-offset:3px}
.kr-size-link:hover,.kr-size-link:focus-visible{color:var(--black)}

/* ---------- Product photo lightbox (product.js): photo only on a dark background ---------- */
.woocommerce div.product .woocommerce-product-gallery__image a{cursor:zoom-in}
.kr-plb{border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:transparent;color:var(--white);overflow:hidden}
.kr-plb::backdrop{background:rgba(0,0,0,.85)}
.kr-plb__stage{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:72px 88px;box-sizing:border-box}
.kr-plb__img{display:block;max-width:min(760px,calc(100vw - 176px));max-height:calc(100dvh - 144px);width:auto;height:auto;object-fit:contain;background:var(--tile);user-select:none}
.kr-plb__btn{position:absolute;width:40px;height:40px;border:1.5px solid var(--white);background:transparent;color:var(--white);cursor:pointer;display:grid;place-items:center;padding:0}
.kr-plb__btn svg{display:block}
.kr-plb__btn:hover,.kr-plb__btn:focus-visible{background:var(--white);color:var(--black);outline:none}
.kr-plb__x{top:calc(16px + env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px))}
.kr-plb__prev{left:max(24px,env(safe-area-inset-left,0px));top:50%;margin-top:-20px}
.kr-plb__next{right:max(24px,env(safe-area-inset-right,0px));top:50%;margin-top:-20px}
.kr-plb__ct{position:absolute;left:0;right:0;bottom:calc(24px + env(safe-area-inset-bottom,0px));margin:0;text-align:center;font-family:var(--f-head);font-style:var(--head-style);font-stretch:var(--head-width);font-weight:800;font-size:15px}
.kr-plb--single .kr-plb__prev,.kr-plb--single .kr-plb__next{display:none}
html.kr-plb-open{overflow:hidden}
@media (max-width:767px){
  .kr-plb__stage{padding:72px 16px 64px}
  .kr-plb__img{max-width:calc(100vw - 32px);max-height:calc(100dvh - 136px)}
  .kr-plb__prev{left:max(8px,env(safe-area-inset-left,0px));background:rgba(0,0,0,.45)}
  .kr-plb__next{right:max(8px,env(safe-area-inset-right,0px));background:rgba(0,0,0,.45)}
}
