/* ==========================================================================
   MERCUR THEME — WooCommerce
   Shop archive · product card · single product · cart · checkout · account
   ========================================================================== */

.woocommerce-page .site-main,
.woocommerce .site-main{padding-block:clamp(40px,3vw,64px)}

/* Notices ---------------------------------------------------------------- */
.woocommerce-notices-wrapper{margin-bottom:24px}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;
  padding:15px 18px;margin:0 0 18px;border-radius:var(--r-md);
  border:1px solid var(--line-2);background:var(--bg-2);
  font-size:.92rem;list-style:none;
}
.woocommerce-message{border-color:rgba(23,128,61,.25);background:rgba(23,128,61,.06);color:#0f5c2b}
.woocommerce-info{border-color:rgba(76,36,221,.22);background:rgba(76,36,221,.05);color:#3a1aa8}
.woocommerce-error{border-color:rgba(187,37,26,.25);background:rgba(187,37,26,.05);color:var(--red)}
.woocommerce-error li{list-style:none}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{margin-left:auto}

/* WooCommerce draws a glyph on every notice from its own icon font. That font
   is not loaded here, so the character rendered as an empty "tofu" box. The
   notices already read clearly from their colour and border. */
.woocommerce-message::before,.woocommerce-message::after,
.woocommerce-info::before,.woocommerce-info::after,
.woocommerce-error::before,.woocommerce-error::after,
.woocommerce-noreviews::before,p.no-comments::before{
  content:none!important;display:none!important;
}

/* Shop toolbar ----------------------------------------------------------- */
.shop-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;
  padding-bottom:22px;margin-bottom:30px;border-bottom:1px solid var(--line);
}
.woocommerce-result-count{margin:0;font-size:.87rem;color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.03em}
.woocommerce-ordering select,.shop-toolbar select{
  padding:10px 38px 10px 15px;border:1px solid var(--line-2);border-radius:var(--r-pill);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/14px;
  -webkit-appearance:none;appearance:none;font-size:.88rem;cursor:pointer;
  transition:border-color .25s;
}
.woocommerce-ordering select:focus{outline:none;border-color:var(--ink)}

/* Product grid ----------------------------------------------------------- */
ul.products{
  display:grid!important;gap:22px;margin:0!important;padding:0!important;list-style:none;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
ul.products.columns-1{grid-template-columns:minmax(0,1fr)}
ul.products.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s;
}
ul.products li.product:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
ul.products li.product > a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;gap:0;flex:1}
ul.products li.product img{
  width:100%;aspect-ratio:4/3;object-fit:cover;margin:0!important;
  border-bottom:1px solid var(--line);background:var(--bg-2);
  transition:transform .8s var(--ease);
}
ul.products li.product:hover img{transform:scale(1.05)}
ul.products li.product .woocommerce-loop-product__title{
  font-size:1.02rem!important;font-weight:600;letter-spacing:-.02em;line-height:1.32;
  padding:20px 20px 6px!important;margin:0!important;
}
ul.products li.product .price{
  display:block;padding:0 20px;margin:0 0 4px;
  font-size:1.05rem;font-weight:600;color:var(--ink);letter-spacing:-.02em;
}
ul.products li.product .price del{color:var(--ink-4);font-weight:400;font-size:.86em;margin-right:7px}
ul.products li.product .price ins{text-decoration:none;color:var(--purple)}
ul.products li.product .woocommerce-product-details__short-description{padding:0 20px;font-size:.87rem;color:var(--ink-2)}
ul.products li.product .star-rating{margin:6px 20px 0!important;font-size:.75rem}
ul.products li.product .button{
  margin:16px 20px 20px!important;
  display:inline-flex;align-items:center;justify-content:center;
}
ul.products li.product .added_to_cart{margin:0 20px 20px;font-size:.84rem;color:var(--purple);border-bottom:1px solid rgba(76,36,221,.3)}

/* Badges */
span.onsale,ul.products li.product .onsale{
  position:absolute;top:14px;left:14px;z-index:3;
  min-width:auto;min-height:auto;line-height:1;padding:7px 12px;margin:0;
  border-radius:var(--r-pill);background:var(--ink);color:#fff;
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;font-weight:500;
}
ul.products li.product .out-of-stock-badge{
  position:absolute;top:14px;right:14px;z-index:3;padding:7px 12px;border-radius:var(--r-pill);
  background:rgba(9,9,9,.72);color:#fff;font-size:.66rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;
}

/* Stars */
.star-rating{
  position:relative;width:5.4em;height:1.2em;overflow:hidden;
  font-family:var(--font-sans);font-size:.8rem;line-height:1.2;color:var(--amber);
}
.star-rating::before{content:"\53\53\53\53\53";font-family:star;color:var(--line-2);position:absolute;left:0;top:0}
.star-rating span{position:absolute;left:0;top:0;overflow:hidden;padding-top:1.5em}
.star-rating span::before{content:"\53\53\53\53\53";font-family:star;position:absolute;left:0;top:0;color:var(--amber)}

/* Buttons ---------------------------------------------------------------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce .button,
.wc-block-components-button,.wp-element-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px!important;
  background:var(--ink)!important;color:#fff!important;
  border:1px solid var(--ink)!important;border-radius:var(--r-pill)!important;
  font-family:var(--font-sans);font-size:.9rem!important;font-weight:500!important;
  line-height:1.2!important;letter-spacing:-.01em;text-transform:none;
  box-shadow:none;text-shadow:none;cursor:pointer;
  transition:transform .35s var(--ease),background .25s,box-shadow .35s var(--ease),color .25s,border-color .25s;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.wc-block-components-button:hover{
  background:#161616!important;color:#fff!important;transform:translateY(-2px);box-shadow:var(--shadow-md);
}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt{background:var(--purple)!important;border-color:var(--purple)!important}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{
  background:#3f1cc4!important;box-shadow:var(--shadow-purple);
}
.woocommerce a.button.wc-backward,.woocommerce .checkout-button{}
.woocommerce a.button.disabled,.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled]{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}

/* Single product --------------------------------------------------------- */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.single-product div.product::before,.single-product div.product::after{display:none}
.single-product div.product .woocommerce-product-gallery{
  width:100%!important;float:none!important;margin:0!important;position:relative;
  border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;background:var(--bg-2);
}
/* WooCommerce prints style="opacity:0" on the gallery and relies on its
   flexslider script to fade it in. If that script does not run the product
   image never appears, so keep the gallery visible regardless. */
.woocommerce-product-gallery{opacity:1!important}

/* WooCommerce's own breadcrumb, matched to the theme's .breadcrumbs. */
.woocommerce-breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:.82rem;color:var(--ink-3);margin:0 0 18px!important;
}
.woocommerce-breadcrumb a{color:var(--ink-3)}
.woocommerce-breadcrumb a:hover{color:var(--ink)}
.single-product .woocommerce-product-gallery__wrapper{margin:0}
.single-product .woocommerce-product-gallery__image img{width:100%;height:auto;display:block}
.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;
  padding:12px;margin:0;border-top:1px solid var(--line);background:#fff;
}
.single-product .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
.single-product .flex-control-thumbs img{border:1px solid var(--line);border-radius:var(--r-sm);opacity:.65;transition:opacity .3s,border-color .3s;cursor:pointer}
.single-product .flex-control-thumbs img:hover,.single-product .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--ink)}
.single-product .woocommerce-product-gallery__trigger{
  position:absolute;top:14px;right:14px;z-index:5;width:40px;height:40px;border-radius:50%;
  background:#fff;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;
  font-size:0;box-shadow:var(--shadow-sm);
}
.single-product .woocommerce-product-gallery__trigger::after{content:"\2315";font-size:19px;color:var(--ink)}

.single-product div.product .summary{width:100%!important;float:none!important;margin:0!important}
.single-product .product_title{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.5rem);letter-spacing:-.035em;margin-bottom:14px!important}
.single-product div.product p.price,.single-product div.product span.price{
  font-size:1.75rem!important;font-weight:600;color:var(--ink);letter-spacing:-.035em;margin-bottom:18px!important;
}
.single-product div.product p.price del{color:var(--ink-4);font-size:.6em;font-weight:400;margin-right:9px}
.single-product div.product p.price ins{text-decoration:none;color:var(--purple)}
.single-product .woocommerce-product-details__short-description{color:var(--ink-2);font-size:1rem;line-height:1.68;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}
.single-product .woocommerce-product-rating{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.single-product .woocommerce-review-link{font-size:.85rem;color:var(--ink-3)}

.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:22px}
.woocommerce div.product form.cart .variations{width:100%;border:0;margin-bottom:6px}
.woocommerce div.product form.cart .variations td{padding:8px 0;border:0;display:block}
.woocommerce div.product form.cart .variations label{font-size:.85rem;font-weight:500;margin-bottom:6px;display:block}
.woocommerce div.product form.cart .variations select{
  width:100%;padding:12px 38px 12px 15px;border:1px solid var(--line-2);border-radius:var(--r-md);
  -webkit-appearance:none;appearance:none;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/14px;
}
.woocommerce div.product form.cart .reset_variations{font-size:.8rem;color:var(--ink-3)}

.quantity{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:var(--r-pill);overflow:hidden;background:#fff}
.quantity .qty{
  width:58px!important;height:46px;border:0!important;text-align:center;
  font-size:.95rem;font-weight:500;background:transparent;-moz-appearance:textfield;
}
.quantity .qty::-webkit-outer-spin-button,.quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-btn{width:40px;height:46px;display:flex;align-items:center;justify-content:center;color:var(--ink-2);transition:background .25s,color .25s}
.qty-btn:hover{background:var(--bg-2);color:var(--ink)}
.qty-btn svg{width:14px;height:14px}

.product_meta{padding-top:20px;border-top:1px solid var(--line);font-size:.86rem;color:var(--ink-3);display:grid;gap:8px}
.product_meta > span{display:block}
.product_meta a{color:var(--ink);border-bottom:1px solid var(--line-2)}
.product_meta a:hover{border-color:var(--ink)}

/* Trust strip under add-to-cart */
.product-trust{display:grid;gap:10px;margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2)}
.product-trust li{display:flex;gap:10px;align-items:center;font-size:.86rem;color:var(--ink-2)}
.product-trust svg{width:16px;height:16px;flex:none;color:var(--green)}

/* Tabs */
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:clamp(34px,4vw,58px)}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;flex-wrap:wrap;gap:6px;padding:0!important;margin:0 0 24px!important;
  border-bottom:1px solid var(--line);
}
.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{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:none!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:13px 18px!important;font-weight:500;font-size:.94rem;color:var(--ink-3)!important;
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .25s,border-color .25s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--ink)!important;border-bottom-color:var(--ink)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:820px;color:var(--ink-2);line-height:1.72}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:1.3rem;color:var(--ink);margin-bottom:14px}
.woocommerce table.shop_attributes{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;border-collapse:separate;border-spacing:0}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{
  padding:12px 16px;border-bottom:1px solid var(--line);font-size:.9rem;text-align:left;
}
.woocommerce table.shop_attributes th{background:var(--bg-2);font-weight:600;color:var(--ink);width:32%}
.woocommerce table.shop_attributes tr:last-child th,.woocommerce table.shop_attributes tr:last-child td{border-bottom:0}
.woocommerce table.shop_attributes td p{margin:0}

/* Reviews */
.woocommerce #reviews #comments ol.commentlist{padding:0;display:grid;gap:16px}
.woocommerce #reviews #comments ol.commentlist li{border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;background:#fff;margin:0}
.woocommerce #reviews #comments ol.commentlist li img.avatar{
  position:static;float:left;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);padding:0;margin-right:14px;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text{margin:0;padding:0;border:0;overflow:hidden}
.woocommerce #reviews .comment-form-rating label{font-size:.85rem;font-weight:500}
.woocommerce #review_form #respond textarea,.woocommerce #review_form #respond input[type=text],
.woocommerce #review_form #respond input[type=email]{
  width:100%;padding:13px 15px;border:1px solid var(--line-2);border-radius:var(--r-md);
}
.woocommerce #review_form #respond textarea:focus,.woocommerce #review_form #respond input:focus{outline:none;border-color:var(--ink)}

/* Related / upsells */
.related.products,.upsells.products,.cross-sells{grid-column:1/-1;margin-top:clamp(40px,4vw,66px);padding-top:clamp(34px,3vw,50px);border-top:1px solid var(--line)}
.related.products > h2,.upsells.products > h2,.cross-sells > h2{font-size:clamp(1.4rem,1.15rem + .9vw,1.9rem);margin-bottom:26px!important}

/* Cart ------------------------------------------------------------------- */
.woocommerce table.shop_table{
  border:1px solid var(--line)!important;border-radius:var(--r-xl)!important;
  border-collapse:separate!important;border-spacing:0;width:100%;margin-bottom:26px;background:#fff;overflow:hidden;
}
.woocommerce table.shop_table th{
  background:var(--bg-2);padding:14px 18px;font-family:var(--font-mono);font-size:.7rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500;text-align:left;
  border-bottom:1px solid var(--line);
}
.woocommerce table.shop_table td{padding:18px;border-top:1px solid var(--line);vertical-align:middle;font-size:.93rem}
.woocommerce table.shop_table tbody tr:first-child td{border-top:0}
.woocommerce table.cart img{width:66px;border-radius:var(--r-md);border:1px solid var(--line)}
.woocommerce a.remove{
  display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;
  background:var(--bg-3);color:var(--ink-3)!important;font-size:16px;line-height:1;
  transition:background .25s,color .25s,transform .3s var(--ease);
}
.woocommerce a.remove:hover{background:var(--red);color:#fff!important;transform:rotate(90deg)}
.woocommerce .product-name a{font-weight:500;color:var(--ink)}
.woocommerce .product-name a:hover{color:var(--purple)}
.woocommerce table.cart td.actions{padding:16px 18px;background:var(--bg-2)}
.woocommerce .coupon{display:flex;gap:10px;flex-wrap:wrap;float:none!important}
.woocommerce #coupon_code{width:auto!important;min-width:180px;padding:12px 16px;border:1px solid var(--line-2);border-radius:var(--r-pill)}
.cart-collaterals{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:30px;align-items:start}
.woocommerce .cart-collaterals .cart_totals{width:100%!important;float:none!important}
.woocommerce .cart_totals h2{font-size:1.25rem;margin-bottom:16px}
.woocommerce-cart-form{width:100%}
.cart_totals table.shop_table td,.cart_totals table.shop_table th{padding:14px 18px}
.cart_totals .order-total .amount{font-size:1.25rem;font-weight:600}
.wc-proceed-to-checkout{padding-top:14px!important}
.wc-proceed-to-checkout .checkout-button{width:100%}
.cart-empty-state{text-align:center;padding:clamp(40px,6vw,80px) 0;border:1px dashed var(--line-2);border-radius:var(--r-xl);background:var(--bg-2)}
.cart-empty-state svg{width:52px;height:52px;margin:0 auto 18px;color:var(--ink-4)}

/* Checkout --------------------------------------------------------------- */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;width:100%}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%!important;float:none!important}
.woocommerce form .form-row{display:flex;flex-direction:column;padding:0;margin:0 0 16px}
.woocommerce form .form-row label{font-size:.83rem;font-weight:500;margin-bottom:7px}
.woocommerce form .form-row .required{color:var(--red);text-decoration:none}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{
  width:100%;padding:13px 15px!important;height:auto!important;
  border:1px solid var(--line-2)!important;border-radius:var(--r-md)!important;
  background:#fff;font-size:.94rem;line-height:1.4;transition:border-color .25s,box-shadow .25s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(9,9,9,.05)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.4;padding:0;color:var(--ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;right:10px}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,#order_review_heading{font-size:1.2rem;margin:0 0 18px}
.woocommerce-checkout #payment{background:var(--bg-2)!important;border:1px solid var(--line);border-radius:var(--r-xl)}
.woocommerce-checkout #payment ul.payment_methods{padding:20px!important;border-bottom:1px solid var(--line)!important}
.woocommerce-checkout #payment ul.payment_methods li{margin-bottom:12px;list-style:none}
.woocommerce-checkout #payment div.payment_box{
  background:#fff!important;border:1px solid var(--line);border-radius:var(--r-md);
  padding:14px 16px;font-size:.87rem;color:var(--ink-2);margin-top:10px;
}
.woocommerce-checkout #payment div.payment_box::before{display:none!important}
.woocommerce-checkout #payment div.form-row.place-order{padding:20px!important}
.woocommerce-checkout #payment #place_order{width:100%}
.woocommerce-checkout-review-order-table{background:#fff}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(26px,3vw,44px);align-items:start}
.checkout-summary{position:sticky;top:96px}

/* Order received */
.woocommerce-order{max-width:840px}
.woocommerce ul.order_details{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  margin:0 0 30px!important;padding:0!important;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;
}
.woocommerce ul.order_details li{
  float:none!important;margin:0!important;padding:18px!important;border:0!important;background:#fff;
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);
}
.woocommerce ul.order_details li strong{display:block;font-family:var(--font-sans);font-size:1.02rem;letter-spacing:-.02em;text-transform:none;color:var(--ink);margin-top:6px}

/* My account ------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation{
  width:100%!important;float:none!important;margin-bottom:0;
}
.woocommerce-account .account-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:start}
.woocommerce-MyAccount-navigation ul{display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--r-xl);padding:10px;background:#fff}
.woocommerce-MyAccount-navigation li a{display:block;padding:11px 14px;border-radius:var(--r-md);font-size:.92rem;color:var(--ink-2);transition:background .25s,color .25s}
.woocommerce-MyAccount-navigation li a:hover{background:var(--bg-2);color:var(--ink)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--ink);color:#fff}
.woocommerce-MyAccount-content{width:100%!important;float:none!important}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword{
  border:1px solid var(--line)!important;border-radius:var(--r-xl)!important;
  padding:clamp(22px,3vw,32px)!important;background:#fff;box-shadow:var(--shadow-md);max-width:460px;
}
.woocommerce-form-login__rememberme{font-size:.86rem}
.woocommerce-LostPassword{font-size:.86rem;margin-top:12px}
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit{width:100%;margin:0 0 12px!important}

/* Widgets / filters ------------------------------------------------------ */
.shop-sidebar{display:grid;gap:20px}
.shop-sidebar .widget{border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;padding:22px}
.shop-sidebar .widget-title,.shop-sidebar h2{font-size:.95rem;font-weight:600;margin-bottom:14px}
.shop-sidebar ul li{margin-bottom:9px;font-size:.9rem;color:var(--ink-2)}
.shop-sidebar ul li a:hover{color:var(--ink)}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{background:var(--ink)}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{background:var(--line-2)}

/* Mini cart panel -------------------------------------------------------- */
.mini-cart{
  position:fixed;top:0;right:0;bottom:0;width:min(400px,92vw);z-index:960;
  background:#fff;border-left:1px solid var(--line);box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .45s var(--ease);
}
body.cart-open .mini-cart{transform:none}
.mini-cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line)}
.mini-cart-head h3{font-size:1.1rem}
.mini-cart-body{flex:1;overflow-y:auto;padding:20px}
.mini-cart .widget_shopping_cart_content{height:100%;display:flex;flex-direction:column}
.woocommerce ul.cart_list li,.woocommerce ul.product_list_widget li{
  display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);position:relative;
}
.woocommerce ul.cart_list li img,.woocommerce ul.product_list_widget li img{
  width:56px!important;height:56px;object-fit:cover;float:none!important;margin:0!important;
  border-radius:var(--r-sm);border:1px solid var(--line);
}
.woocommerce ul.cart_list li a,.woocommerce ul.product_list_widget li a{font-size:.9rem;font-weight:500;display:block}
.woocommerce ul.cart_list li .quantity,.woocommerce ul.product_list_widget li .quantity{
  font-size:.82rem;color:var(--ink-3);border:0;background:none;display:block;margin-top:4px;
}
.woocommerce ul.cart_list li a.remove,.woocommerce ul.product_list_widget li a.remove{position:absolute;top:14px;right:0;width:24px;height:24px;font-size:14px}
.woocommerce .widget_shopping_cart .total,.mini-cart .total{
  padding:16px 0;border-top:1px solid var(--line);margin-top:auto;font-size:.95rem;display:flex;justify-content:space-between;
}
.woocommerce .widget_shopping_cart .total strong{font-weight:500;color:var(--ink-3)}
.mini-cart .buttons{display:grid;gap:10px;padding-top:4px}
.mini-cart .buttons a{width:100%}
.cart-overlay{position:fixed;inset:0;z-index:955;background:rgba(9,9,9,.4);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
body.cart-open .cart-overlay{opacity:1;visibility:visible}
body.cart-open{overflow:hidden}

/* Blocks (Woo block cart/checkout) --------------------------------------- */
.wc-block-components-title,.wc-block-cart__submit-container{font-family:var(--font-sans)}
.wc-block-cart-items__row{border-color:var(--line)!important}
.wc-block-components-product-name{font-weight:500}

/* WOO RESPONSIVE --------------------------------------------------------- */
/* -------------------------------------------------------------------------
   rpayz card step (the WooCommerce receipt page)

   The card fields themselves are drawn inside the provider's iframe and cannot
   be styled from here, so this only shapes the shell around them: a readable
   column, room reserved for the iframe so the page does not jump as it mounts,
   and a full-width pay button.
   ---------------------------------------------------------------------- */
.rpayz-form{max-width:34rem;margin:0 auto}

/* Reserved height, not a collapsed box — without it the button jumps down the
   page the moment the iframe draws. */
#mercur-rpayz-element{min-height:15rem;margin-bottom:20px}

/* An empty <p role="alert"> would otherwise hold open a gap on a page where
   nothing has gone wrong. */
.rpayz-form__error:empty{display:none}
.rpayz-form__error{
  margin:0 0 16px;padding:12px 14px;
  border:1px solid var(--red);border-radius:var(--r-sm);
  background:#fdf2f1;color:var(--red);font-size:.9rem;line-height:1.5
}
.woocommerce .rpayz-form button.button,.rpayz-form button{width:100%;min-height:2.75rem}

/* progress, not not-allowed: the button is disabled because the form is still
   mounting or the payment is in flight, not because it is forbidden. */
.rpayz-form button[disabled]{cursor:progress;opacity:.6}

@media (max-width:1080px){
  ul.products,ul.products.columns-4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cart-collaterals{grid-template-columns:minmax(0,1fr)}
  .checkout-layout{grid-template-columns:minmax(0,1fr)}
  .checkout-summary{position:static}
}
@media (max-width:900px){
  .single-product div.product{grid-template-columns:minmax(0,1fr)}
  .woocommerce-account .account-layout{grid-template-columns:minmax(0,1fr)}
  .woocommerce-MyAccount-navigation ul{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}
}
@media (max-width:760px){
  ul.products,ul.products.columns-3,ul.products.columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .woocommerce-checkout .col2-set{grid-template-columns:minmax(0,1fr)}
  .woocommerce table.shop_table thead{display:none}
  .woocommerce table.shop_table tbody tr{display:grid;grid-template-columns:80px minmax(0,1fr);gap:0 14px;padding:16px;border-top:1px solid var(--line);position:relative}
  .woocommerce table.shop_table tbody tr:first-child{border-top:0}
  .woocommerce table.cart tbody td{border:0;padding:3px 0;display:block}
  .woocommerce table.cart tbody td.product-remove{position:absolute;top:14px;right:12px;padding:0}
  .woocommerce table.cart tbody td.product-thumbnail{grid-row:1/6;grid-column:1}
  .woocommerce table.cart tbody td.product-name{grid-column:2;padding-right:34px}
  .woocommerce table.cart tbody td.product-price,
  .woocommerce table.cart tbody td.product-quantity,
  .woocommerce table.cart tbody td.product-subtotal{grid-column:2}
  .woocommerce table.cart tbody td.product-price::before{content:"Price: ";color:var(--ink-3);font-size:.82rem}
  .woocommerce table.cart tbody td.product-subtotal::before{content:"Subtotal: ";color:var(--ink-3);font-size:.82rem}
  .woocommerce table.cart td.actions{display:block!important;grid-column:1/-1}
  .woocommerce .coupon{margin-bottom:12px}
  .woocommerce #coupon_code{flex:1}
}
@media (max-width:480px){
  ul.products,ul.products.columns-2,ul.products.columns-3,ul.products.columns-4{grid-template-columns:minmax(0,1fr)}
  .shop-toolbar{flex-direction:column;align-items:flex-start}
  .woocommerce-ordering,.woocommerce-ordering select{width:100%}
}
