/* No Stress Relax - WooCommerce styling (loads after WooCommerce's own CSS) */
.woocommerce .nsr-woo,.nsr-woo{padding-top:26px;padding-bottom:70px}
.woocommerce-breadcrumb{font-size:13px;color:var(--muted);margin:0 0 18px!important}
.woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce-products-header__title,.woocommerce div.product .product_title.entry-title{font-family:var(--serif);font-weight:400}
.woocommerce-products-header__title{font-size:clamp(30px,4vw,42px);text-align:center;margin-bottom:22px}
.woocommerce-result-count,.woocommerce-ordering{font-size:14px;margin-bottom:22px}
.woocommerce-ordering select{border:1px solid #b5b5b0;border-radius:3px;padding:7px 10px;font:14px var(--sans)}

/* Product grid */
.woocommerce ul.products,ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:0 0 20px;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none;width:auto;margin:0;padding:0 0 18px;border:1px solid var(--line);border-radius:6px;background:#fff;text-align:center;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,transform .2s}
.woocommerce ul.products li.product:hover{box-shadow:0 8px 22px rgba(0,0,0,.09);transform:translateY(-2px)}
.woocommerce ul.products li.product a img{margin:0 0 14px;width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;display:block}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:600 15px/1.35 var(--sans);padding:0 14px;margin:0 0 8px;color:var(--ink);min-height:4.05em}
.woocommerce ul.products li.product .price{display:block;color:var(--red);font-size:20px;font-weight:700;margin:0 0 14px}
.woocommerce ul.products li.product .price del{color:#888;font-weight:400;font-size:15px}
.woocommerce ul.products li.product .button{margin:auto 14px 0}

/* Buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.wc-block-components-button,#place_order{background:var(--red);color:#fff;border:1px solid var(--red);border-radius:3px;padding:12px 22px;font:600 15px/1.2 var(--sans);transition:background .15s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,#place_order:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff}
.woocommerce a.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button.alt.disabled{opacity:.5}
.woocommerce a.added_to_cart{display:block;margin-top:8px;font-size:13px}

/* Single product */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px;align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:auto;margin:0}
.woocommerce div.product div.images .flex-viewport,.woocommerce div.product div.images img{border-radius:6px}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper img{background:#fff}
.woocommerce div.product .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0 0;padding:0;list-style:none}
.woocommerce div.product .flex-control-thumbs li{width:auto;float:none}
.woocommerce div.product .flex-control-thumbs img{border:1px solid var(--line);border-radius:4px;opacity:.7;cursor:pointer}
.woocommerce div.product .flex-control-thumbs img.flex-active,.woocommerce div.product .flex-control-thumbs img:hover{opacity:1;border-color:var(--red)}
.woocommerce div.product .product_title{font-size:clamp(26px,3vw,34px);line-height:1.2;margin-bottom:12px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--red);font-size:30px;font-weight:700;margin:0 0 14px}
.woocommerce-product-details__short-description{font-size:15.5px;color:#333;margin-bottom:18px}
.woocommerce div.product form.cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;margin:0 0 18px}
.woocommerce .quantity .qty{width:72px;height:46px;border:1px solid #b5b5b0;border-radius:3px;text-align:center;font:600 16px var(--sans)}
.woocommerce div.product form.cart .button{height:46px;padding:0 34px;font-size:16px}
.woocommerce div.product .product_meta{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:6px}
.nsr-perks{list-style:none;margin:16px 0 0;padding:14px 16px;background:var(--paper);border-radius:6px;display:grid;gap:10px;font-size:14px}
.nsr-perks li{display:flex;gap:10px;align-items:flex-start}
.nsr-perks svg{color:var(--green-dark);margin-top:2px}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:14px}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:4px;padding:0;margin:0 0 0;border-bottom:1px solid var(--line);list-style:none}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;background:transparent;margin:0;padding:0;border-radius:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 18px;font-weight:600;color:var(--muted);display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--red);box-shadow:inset 0 -3px var(--red)}
.woocommerce div.product .woocommerce-tabs .panel{padding:22px 0;max-width:900px}
.woocommerce div.product .woocommerce-tabs .panel h2:first-child{font:400 28px var(--serif)}
.woocommerce div.product .woocommerce-tabs .panel table{width:100%;border-collapse:collapse;margin:1em 0}
.woocommerce div.product .woocommerce-tabs .panel th,.woocommerce div.product .woocommerce-tabs .panel td{border:1px solid var(--line);padding:9px 12px;text-align:left}
.woocommerce table.shop_attributes th{width:30%;background:var(--paper)}
.woocommerce div.product .nsr-video{grid-column:1/-1;padding:20px 0}
.woocommerce div.product .related.products,.woocommerce div.product .up-sells{grid-column:1/-1}
.woocommerce div.product .related.products>h2{font:400 32px var(--serif);text-align:center;margin:20px 0 22px}
.woocommerce span.onsale{background:var(--green-dark);color:#fff;border-radius:3px;min-height:0;min-width:0;line-height:1;padding:7px 10px;top:10px;left:10px;right:auto}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top:3px solid var(--green-dark);background:var(--paper);color:var(--ink);padding:14px 18px 14px 50px;margin:0 0 22px;border-radius:0 0 4px 4px}
.woocommerce-error{border-top-color:var(--red)}
.woocommerce-message::before{color:var(--green-dark)}
.woocommerce-info::before{color:var(--green-dark)}
.woocommerce-error::before{color:var(--red)}
.woocommerce-message .button,.woocommerce-info .button{float:right;padding:8px 16px;font-size:14px}

/* Cart */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:6px;border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce table.shop_table th{background:var(--paper);font-weight:600}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:14px;border-color:var(--line)}
.woocommerce-cart-form img{width:72px;height:auto;border-radius:4px}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{float:right;width:100%;max-width:460px}
.woocommerce .cart-collaterals .cart_totals h2{font:400 28px var(--serif)}
.woocommerce a.remove{color:var(--red)!important;border-radius:50%}
.woocommerce a.remove:hover{background:var(--red);color:#fff!important}
.woocommerce-cart table.cart td.actions .coupon .input-text{width:170px;border:1px solid #b5b5b0;border-radius:3px;padding:11px 10px}
.wc-proceed-to-checkout a.checkout-button{font-size:17px;padding:16px;display:block;text-align:center}

/* Forms (checkout, account) */
.woocommerce form .form-row{margin-bottom:14px}
.woocommerce form .form-row label{font-weight:600;font-size:14px;margin-bottom:4px;display:block}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{border:1px solid #b5b5b0;border-radius:3px;padding:10px 12px;font:15px var(--sans);width:100%;background:#fff;min-height:44px}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:24px;padding-left:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:42px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{outline:2px solid var(--green-dark);outline-offset:0;border-color:var(--green-dark)}
.woocommerce form .form-row .required{color:var(--red);text-decoration:none}
.woocommerce-checkout h3,#order_review_heading{font:400 28px var(--serif);margin:0 0 16px}
.woocommerce-checkout #payment{background:var(--paper);border-radius:6px}
.woocommerce-checkout #payment div.payment_box{background:#fff;color:var(--ink);border-radius:4px}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line);padding:16px}
.woocommerce-checkout #payment div.form-row{padding:16px}
.woocommerce-checkout #payment ul.payment_methods li{list-style:none;margin:0 0 10px}
.woocommerce-checkout-review-order-table{background:#fff}
.nsr-optin label{display:flex;gap:10px;align-items:flex-start;font-weight:400!important}
.nsr-optin input{margin-top:5px;width:auto!important;min-height:0!important}

/* My Account: login + register side by side */
.woocommerce-account .nsr-prose{max-width:none}
.woocommerce-account .u-columns.col2-set,.woocommerce-page .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:34px;max-width:980px;margin:0 auto}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2,.woocommerce-page .col2-set .col-1,.woocommerce-page .col2-set .col-2{float:none;width:auto}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--line);border-radius:6px;padding:26px;margin:0;background:#fff}
.woocommerce-account h2{font:400 30px var(--serif);margin-bottom:16px}
.woocommerce form.register{border-top:3px solid var(--green-dark)}
.woocommerce form.login{border-top:3px solid var(--red)}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 24px;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.woocommerce-MyAccount-navigation li a{display:block;padding:11px 16px;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:var(--paper);color:var(--red);text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation{float:left;width:24%}
.woocommerce-account .woocommerce-MyAccount-content{float:right;width:73%}
.nsr-coupon{display:flex;gap:14px;align-items:center;background:#eef7e6;border:1px solid #cfe5bd;border-radius:6px;padding:16px 18px;margin:0 0 22px;color:#2c5a12}
.nsr-coupon code{background:#fff;border:1px dashed #6a9f4a;padding:2px 8px;border-radius:3px;font-size:15px;font-weight:700}

/* Reviews */
.woocommerce #reviews #comments h2{font:400 26px var(--serif)}
.woocommerce #review_form #respond .form-submit input{background:var(--red);color:#fff}

@media (max-width:1000px){
  .woocommerce ul.products,ul.products{grid-template-columns:repeat(2,1fr)}
  .woocommerce div.product{grid-template-columns:1fr;gap:26px}
}
@media (max-width:760px){
  .woocommerce-account .u-columns.col2-set,.woocommerce-page .u-columns{grid-template-columns:1fr}
  .woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:100%}
  .woocommerce .cart-collaterals .cart_totals{max-width:none}
  .woocommerce-message .button,.woocommerce-info .button{float:none;display:block;margin-bottom:8px}
}
@media (max-width:480px){
  .woocommerce ul.products,ul.products{grid-template-columns:1fr}
}
