/* SS Masala — WooCommerce screens (shop, categories, product, cart, checkout,
   account). WooCommerce's own stylesheets still load; this file restyles them
   to match the XStore look and carries over the site's Customizer CSS
   (category pills, single-product theme, quantity pill, variation selects).
   The boxed 3px grey borders XStore drew around product sections are
   intentionally not reproduced. */

.woocommerce,.woocommerce-page{--ss-accent:var(--ssm-red);--ss-accent-dark:var(--ssm-red-dark);--ss-ink:#1a1a1a;--ss-muted:#6b6b6b;--ss-line:#f0e0df;--ss-soft:#fff5f4;--ss-radius:16px;--ss-radius-sm:12px;--ss-shadow:0 8px 30px rgba(0,0,0,.06);--ss-shadow-hover:0 14px 40px rgba(221,51,51,.16)}

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--ssm-red);background:var(--ssm-soft);color:var(--ss-ink);border-radius:10px;margin-bottom:24px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--ssm-red)}
.woocommerce-error{border-top-color:#b32828}
.woocommerce-message .button,.woocommerce-info .button{float:right}

/* ---------- Generic WooCommerce 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{
  background:var(--ssm-red);color:#fff;border:0;border-radius:30px;font-weight:700;line-height:1.2;padding:13px 26px;min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:#000;color:#fff}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],.woocommerce button.button.disabled{background:var(--ssm-red);color:#fff;opacity:.5;padding:13px 26px}
.woocommerce a.button.loading,.woocommerce button.button.loading{opacity:.7;pointer-events:none}

/* Form fields */
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.woocommerce-page form .form-row .input-text,
.woocommerce form .input-text,.woocommerce-cart table.cart td.actions .coupon .input-text{
  border:1px solid #ddd;border-radius:10px;padding:11px 14px;background:#fff;color:var(--ss-ink);line-height:1.4;min-height:45px}
.woocommerce form .form-row .input-text:focus,.woocommerce form .form-row select:focus{border-color:var(--ssm-red);outline:2px solid rgba(221,51,51,.18);outline-offset:0}
.woocommerce form .form-row label{color:var(--ss-ink);font-weight:600;line-height:1.5}
.woocommerce form .form-row .required{color:var(--ssm-red)}
.woocommerce .select2-container .select2-selection--single{height:45px;border:1px solid #ddd;border-radius:10px}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:43px;padding-left:14px}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{height:43px}
.select2-container .select2-results__option--highlighted[aria-selected]{background:var(--ssm-red)!important;color:#fff!important}

/* Prices, stars, sale badge */
.woocommerce .star-rating{color:#f5b301;font-size:.95em}
.woocommerce .star-rating::before{color:#e3e3e3}
.woocommerce span.onsale{background:var(--ssm-red-sale);color:#fff;border-radius:30px;min-height:0;min-width:0;line-height:1;padding:7px 12px;font-size:12px;font-weight:700;top:10px;left:10px;right:auto;margin:0;z-index:2}

/* ---------- Shop layout: sidebar + main ---------- */
.ssm-shop{padding-block:clamp(22px,4vw,40px) clamp(40px,6vw,80px)}
.ssm-shop--sidebar{display:grid;grid-template-columns:minmax(220px,265px) 1fr;gap:clamp(24px,3vw,30px);align-items:start}
.ssm-shop--sidebar .ssm-shop__main{order:2;min-width:0}
.ssm-shop__sidebar{order:1;position:sticky;top:120px}
.ssm-shop__sidebar-head{display:none}
.ssm-shop__sidebar-in>*+*{margin-top:28px}
.ssm-shop__sidebar h2,.ssm-shop__sidebar .widget-title,.ssm-shop__sidebar .wp-block-heading{font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.ssm-shop__overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1090}
.ssm-shop-toolbar__filters{display:none}

/* Category pills (Customizer CSS, section 1) */
.ssm-shop__sidebar ul.wc-block-product-categories-list,.ssm-shop__sidebar .product-categories{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ssm-shop__sidebar ul.wc-block-product-categories-list li,.ssm-shop__sidebar .product-categories li{margin:0;padding:0;list-style:none}
/* Product count: small badge inside the right end of the pill (WooCommerce prints it after the link). */
.ssm-shop__sidebar ul.wc-block-product-categories-list li,.ssm-shop__sidebar .product-categories li{position:relative}
.ssm-shop__sidebar .wc-block-product-categories-list-item-count,.ssm-shop__sidebar .product-categories .count{position:absolute;right:10px;top:20px;transform:translateY(-50%);min-width:26px;height:22px;padding:0 8px;border-radius:11px;background:#fff;color:var(--ssm-red);font-size:12px;font-weight:600;line-height:22px;text-align:center;pointer-events:none;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.ssm-shop__sidebar .wc-block-product-categories-list-item-count::before,.ssm-shop__sidebar .wc-block-product-categories-list-item-count::after{content:none!important}
.ssm-shop__sidebar ul.wc-block-product-categories-list li:has(>.wc-block-product-categories-list-item-count)>a,.ssm-shop__sidebar .product-categories li:has(>.count)>a{padding-right:48px}
.ssm-shop__sidebar ul.wc-block-product-categories-list li a,.ssm-shop__sidebar .product-categories li a{display:block;padding:11px 16px;border-radius:24px;background:#f7f5f0;font-size:14px;line-height:1.3;color:#444;transition:background .18s ease,color .18s ease}
.ssm-shop__sidebar ul.wc-block-product-categories-list li a:hover,.ssm-shop__sidebar .product-categories li a:hover{background:#f0e8e2;color:var(--ssm-red)}
.ssm-shop__sidebar ul.wc-block-product-categories-list li.wc-block-product-categories-list-item--current>a,
.ssm-shop__sidebar ul.wc-block-product-categories-list li.current-cat>a,.ssm-shop__sidebar .product-categories li.current-cat>a{background:var(--ssm-red);color:#fff;font-weight:500}
.ssm-shop__sidebar ul.wc-block-product-categories-list ul{list-style:none;padding:6px 0 0 14px;margin:0;display:flex;flex-direction:column;gap:6px}

/* Toolbar */
.ssm-shop-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:24px}
.ssm-shop-toolbar .woocommerce-result-count{margin:0;color:var(--ssm-muted);font-size:14px;float:none}
.ssm-shop-toolbar .woocommerce-ordering{margin:0;float:none}
.ssm-shop-toolbar select{height:38px;border:1px solid #e1e1e1;border-radius:8px;padding:0 34px 0 12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;appearance:none;color:#666;font-size:14px;cursor:pointer}
.ssm-shop-toolbar__end{margin-left:auto;display:flex;align-items:center;gap:18px}
.ssm-view-switch{display:flex;gap:4px}
.ssm-view-switch button{width:38px;height:38px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:none;color:#999;cursor:pointer}
.ssm-view-switch button svg{width:18px;height:18px}
.ssm-view-switch button[aria-pressed="true"],.ssm-view-switch button:hover{color:var(--ssm-red);border-color:#f0e0df;background:var(--ssm-soft)}
.ssm-per-page{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ssm-muted)}

/* ---------- Product grid ---------- */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px;margin:0 0 1em;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.woocommerce ul.products.columns-1{grid-template-columns:1fr}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none;width:auto;margin:0;padding:0;position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;align-items:center;width:100%;position:relative;color:inherit;flex:1 0 auto}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:contain;margin:0 0 14px;border-radius:10px;background:#fff;transition:opacity .35s ease,transform .45s ease}
.woocommerce ul.products li.product .ssm-card-hover-img{position:absolute;top:0;left:0;opacity:0;pointer-events:none}
.woocommerce ul.products li.product:hover .ssm-card-hover-img,.woocommerce ul.products li.product a:focus-visible .ssm-card-hover-img{opacity:1}
.woocommerce ul.products li.product:has(.ssm-card-hover-img):hover a img:first-of-type:not(.ssm-card-hover-img){opacity:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product h2{font-family:var(--ssm-font);font-size:15.5px;font-weight:500;line-height:1.5;color:var(--ssm-ink);padding:0 4px;margin:0 0 6px}
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title{color:var(--ssm-red)}
.woocommerce ul.products li.product .star-rating{margin:0 auto 6px;font-size:.85em}
.woocommerce ul.products li.product .price{color:#888;font-size:14px;font-weight:500;margin:0 0 10px;display:block}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--ssm-red);font-weight:700}
.woocommerce ul.products li.product .price del{opacity:.7;margin-right:4px}
.woocommerce ul.products li.product .button{margin-top:auto;font-size:13px;padding:10px 18px;min-height:40px}
.woocommerce ul.products li.product .added_to_cart{display:block;margin-top:6px;font-size:13px;font-weight:600}

/* List view (toggle in the toolbar) */
.woocommerce ul.products.ssm-list-view{grid-template-columns:1fr;gap:20px}
.woocommerce ul.products.ssm-list-view li.product{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 24px;text-align:left;padding:16px;border:1px solid #f0ebe7;border-radius:14px}
.woocommerce ul.products.ssm-list-view li.product a.woocommerce-LoopProduct-link{flex-direction:row;align-items:center;gap:24px;flex:1 1 420px;width:auto}
.woocommerce ul.products.ssm-list-view li.product a img{width:160px;flex:0 0 160px;margin:0}
.woocommerce ul.products.ssm-list-view li.product .ssm-card-hover-img{width:160px}
.woocommerce ul.products.ssm-list-view li.product .star-rating{margin:0 0 6px}

/* ---------- Single product ---------- */
.ssm-page-heading--product{background:none;border:0;padding-block:18px 0}
.ssm-product-page{padding-block:10px clamp(40px,6vw,80px)}
.woocommerce div.product{background:#fff;border-radius:var(--ss-radius);box-shadow:var(--ss-shadow);padding:clamp(16px,2.5vw,28px);margin-top:10px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
.woocommerce div.product>*{grid-column:1/-1}
.woocommerce div.product>span.onsale{grid-column:1;grid-row:1;position:relative;justify-self:start;top:auto;left:auto;margin:0;z-index:3;align-self:start}
.woocommerce div.product div.images,.woocommerce div.product .woocommerce-product-gallery{grid-column:1;grid-row:1;float:none;width:100%;margin:0;border-radius:var(--ss-radius);overflow:hidden}
.woocommerce div.product div.summary{grid-column:2;grid-row:1;float:none;width:100%;margin:0}
.woocommerce div.product div.images img{border-radius:var(--ss-radius)}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:10px;margin-top:10px}
.woocommerce div.product div.images .flex-control-thumbs li{width:84px;float:none}
.woocommerce div.product div.images .flex-control-thumbs li img{border-radius:10px;border:1px solid #eee;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;border-color:var(--ssm-red)}
.woocommerce div.product .product_title{color:var(--ss-ink);font-weight:800;font-size:clamp(1.5rem,2.6vw,1.75rem);line-height:1.2;letter-spacing:-.2px;margin:0 0 10px}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:10px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ss-accent);font-weight:800;font-size:1.5rem;margin:0 0 14px}
.woocommerce div.product p.price del,.woocommerce div.product span.price del{color:var(--ss-muted);font-weight:400;font-size:1.1rem;margin-right:6px;opacity:1}
.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ss-ink);line-height:1.7;margin-bottom:16px}
.woocommerce div.product .woocommerce-product-details__short-description a{color:var(--ss-accent);font-weight:600}
.woocommerce div.product .woocommerce-product-details__short-description ol,
.woocommerce div.product .woocommerce-product-details__short-description ul{background:var(--ss-soft);border-left:4px solid var(--ss-accent);border-radius:var(--ss-radius-sm);padding:14px 18px 14px 34px;margin:14px 0}
.woocommerce div.product .stock.in-stock{color:#1a8f3c;font-weight:600}
.woocommerce div.product .stock.out-of-stock{color:var(--ss-accent);font-weight:600}

/* Add to cart row: [− qty +] [Add to cart] / Buy now (full width) */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 0}
.woocommerce div.product form.cart::before,.woocommerce div.product form.cart::after{display:none}
.woocommerce div.product form.variations_form{display:block}
.woocommerce div.product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.woocommerce div.product form.cart .quantity{float:none;margin:0}
.woocommerce div.product form.cart .single_add_to_cart_button{float:none;flex:1 1 180px;height:48px;padding:0 30px;border-radius:30px;font-weight:700;letter-spacing:.3px;box-shadow:0 4px 14px rgba(221,51,51,.35);opacity:1}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{background:var(--ss-accent-dark);transform:translateY(-2px);box-shadow:0 8px 22px rgba(221,51,51,.45)}
.woocommerce div.product form.cart .single_add_to_cart_button:active{transform:scale(.98)}
.woocommerce div.product form.cart .single_add_to_cart_button.disabled{opacity:.5;box-shadow:none}
.woocommerce div.product form.cart .ssm-buy-now{flex:1 1 100%;background:#fff;color:var(--ss-accent);border:1.5px solid var(--ss-accent);box-shadow:none}
.woocommerce div.product form.cart .ssm-buy-now:hover{background:var(--ss-accent);color:#fff}

/* Quantity pill (Customizer CSS, section 3) */
.woocommerce .quantity.ssm-qty{display:inline-flex;align-items:stretch;border-radius:30px;overflow:hidden;background:var(--ssm-red);height:48px}
.woocommerce .quantity .qty{width:52px;height:48px;border:0;border-radius:0;background:#fff;color:var(--ssm-red);font-weight:700;text-align:center;-moz-appearance:textfield;padding:0}
.woocommerce .quantity .qty::-webkit-outer-spin-button,.woocommerce .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ssm-qty-btn{width:42px;border:0;background:var(--ssm-red);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}
.ssm-qty-btn:hover{background:var(--ssm-red-dark)}
.woocommerce-cart .quantity.ssm-qty{height:40px}
.woocommerce-cart .quantity.ssm-qty .qty{height:40px;width:46px}
.woocommerce-cart .ssm-qty-btn{width:34px}

/* Variations (Customizer CSS, section 4) */
.woocommerce div.product form.cart .variations{margin-bottom:14px;border:0}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;padding:0;border:0;text-align:left;line-height:1.4}
.woocommerce div.product form.cart .variations th.label label{color:var(--ss-ink);font-weight:700;display:block;margin-bottom:6px}
.woocommerce div.product form.cart .variations td.value{margin-bottom:12px}
.woocommerce div.product form.cart .variations select{width:100%;max-width:340px;min-height:46px;border:1.5px solid var(--ss-line);border-radius:30px;padding:11px 18px;color:var(--ss-ink);background:#fff;font-size:14px;margin:0}
.woocommerce div.product form.cart .variations select:focus{border-color:var(--ss-accent);box-shadow:0 0 0 3px rgba(221,51,51,.12);outline:0}
.woocommerce div.product form.cart .reset_variations{color:var(--ss-accent);font-weight:600;font-size:13px;margin-left:8px}
.woocommerce div.product .woocommerce-variation-price{margin-bottom:10px}
.woocommerce div.product .single_variation_wrap{width:100%}

.woocommerce div.product .product_meta{border-top:1px solid var(--ss-line);padding-top:14px;margin-top:18px;color:var(--ss-muted);font-size:.85rem;display:flex;flex-direction:column;gap:4px}
.woocommerce div.product .product_meta a{color:var(--ss-accent)}

/* Accordion (replaces XStore accordion tabs) */
.ssm-accordion{grid-column:1/-1;display:flex;flex-direction:column;gap:10px;margin-top:8px}
.ssm-accordion__item{border-radius:var(--ss-radius-sm);background:#fafafa;overflow:hidden}
.ssm-accordion__title{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;font-weight:700;color:var(--ss-ink);text-transform:uppercase;letter-spacing:.04em;font-size:14px}
.ssm-accordion__title::-webkit-details-marker{display:none}
.ssm-accordion__title::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .25s ease;flex:0 0 auto}
.ssm-accordion__item[open]>.ssm-accordion__title{color:var(--ss-accent)}
.ssm-accordion__item[open]>.ssm-accordion__title::after{transform:rotate(-135deg) translateY(-2px)}
.ssm-accordion__title:hover{color:var(--ss-accent)}
.ssm-accordion__panel{padding:4px 20px 22px;color:var(--ss-ink);line-height:1.7;background:#fafafa}
.ssm-accordion__panel>h2:first-child{font-size:1.1rem;font-weight:800}
.woocommerce table.shop_attributes{border:0;margin:0}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border:0;border-bottom:1px solid #eee;padding:10px 12px;font-style:normal}
.woocommerce table.shop_attributes tr:nth-child(even) td,.woocommerce table.shop_attributes tr:nth-child(even) th{background:none}

/* Reviews */
.woocommerce #reviews #comments ol.commentlist{padding:0}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border-color:#eee;border-radius:12px}
.woocommerce #reviews .comment-reply-title,.woocommerce #reviews h2{color:var(--ss-ink);font-weight:800;font-size:1.1rem}
.woocommerce #review_form #respond p.stars a{color:var(--ss-accent)}
.woocommerce #review_form #respond textarea,.woocommerce #review_form #respond input[type=text],.woocommerce #review_form #respond input[type=email]{width:100%;border:1px solid #ddd;border-radius:10px;padding:10px 14px;background:#fff}

/* Related products carousel */
.woocommerce div.product .related.products,.woocommerce div.product .upsells.products{grid-column:1/-1;margin-top:20px}
.related.products>h2,.upsells.products>h2{color:var(--ss-ink);font-weight:800;font-size:1.4rem;margin-bottom:20px}
.ssm-related-carousel ul.products.ssm-carousel__track{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 3*24px)/4);gap:24px;overflow-x:auto}
.related.products li.product,.upsells.products li.product{background:#fff;border:1px solid #f2f2f2;border-radius:var(--ss-radius);padding:14px!important;box-shadow:var(--ss-shadow);transition:transform .15s ease,box-shadow .15s ease}
.related.products li.product:hover,.upsells.products li.product:hover{transform:translateY(-4px);box-shadow:var(--ss-shadow-hover)}
.related.products li.product .price,.upsells.products li.product .price{color:var(--ss-accent)!important;font-weight:700}
.related.products li.product .ss-add-btn,.related.products li.product .ss-variable-wrap,.related.products li.product .ss-stepper{margin:6px auto 0;display:inline-flex}

/* ---------- Cart ---------- */
.woocommerce table.shop_table{border:1px solid #eee;border-radius:14px;border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{font-weight:700;color:var(--ss-ink);text-transform:uppercase;font-size:13px;letter-spacing:.04em;background:#fafafa}
.woocommerce table.shop_table td{border-top:1px solid #eee;padding:14px 12px}
.woocommerce table.cart img{width:72px;border-radius:8px}
.woocommerce table.cart .product-name a{color:var(--ss-ink);font-weight:600}
.woocommerce a.remove{color:var(--ssm-red)!important;border-radius:50%}
.woocommerce a.remove:hover{background:var(--ssm-red);color:#fff!important}
.woocommerce-cart table.cart td.actions .coupon{display:flex;gap:8px;flex-wrap:wrap}
.woocommerce-cart table.cart td.actions .coupon .input-text{width:180px;margin:0}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{float:right;width:100%;max-width:480px}
.cart_totals h2{font-size:1.2rem}
.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;font-size:16px;padding:16px;margin-bottom:0}
.woocommerce-cart .cart-empty{font-size:1.1rem}
.woocommerce .return-to-shop .button{margin-top:8px}

/* ---------- Checkout ---------- */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.woocommerce-checkout .col2-set::before,.woocommerce-checkout .col2-set::after{display:none}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none;width:auto}
.woocommerce-checkout h3{font-size:1.2rem}
#order_review_heading{margin-top:30px}
.woocommerce-checkout #payment{background:#fafafa;border-radius:14px}
.woocommerce-checkout #payment div.payment_box{background:#fff;border-radius:10px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff}
.woocommerce #payment #place_order{width:100%;font-size:16px;padding:16px;float:none}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border:1px solid #eee;border-radius:14px}

/* ---------- My account ---------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:30px;align-items:start}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:560px;margin-inline:auto}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.woocommerce-MyAccount-navigation a{display:block;padding:11px 16px;border-radius:24px;background:#f7f5f0;color:#444}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--ssm-red);color:#fff}

/* ---------- Toast (AJAX add to cart) ---------- */
.ssm-toast{position:fixed;left:50%;bottom:24px;z-index:100001;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#1a1a1a;color:#fff;padding:12px 20px;border-radius:30px;font-weight:600;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:opacity .25s ease,transform .25s ease;max-width:calc(100vw - 32px)}
.ssm-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.ssm-toast--error{background:#b32828}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ssm-related-carousel ul.products.ssm-carousel__track{grid-auto-columns:calc((100% - 2*24px)/3)}
}
@media (max-width:900px){
  .ssm-shop--sidebar{display:block}
  .ssm-shop-toolbar__filters{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid #e1e1e1;border-radius:8px;background:#fff;font-weight:600;cursor:pointer}
  .ssm-shop-toolbar__filters svg{width:16px;height:16px}
  .ssm-shop__sidebar{position:fixed;top:0;bottom:0;left:0;z-index:1100;width:min(320px,86vw);background:#fff;padding:20px;overflow-y:auto;transform:translateX(-105%);visibility:hidden;transition:transform .3s ease,visibility .3s;box-shadow:0 0 40px rgba(0,0,0,.2)}
  .ssm-shop__sidebar.is-open{transform:none;visibility:visible}
  .ssm-shop__sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
  .ssm-shop__sidebar-close{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:#f4f4f4;cursor:pointer}
  .ssm-shop__sidebar-close svg{width:18px;height:18px}
  .woocommerce div.product{grid-template-columns:1fr}
  .woocommerce div.product div.summary{grid-column:1;grid-row:auto}
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
}
@media (max-width:768px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  /* WooCommerce's smallscreen CSS sets cards to width:48% + float + bottom margin,
     which shrank each card to half its grid column. Grid handles the layout. */
  .woocommerce ul.products[class*=columns-] li.product.product,.woocommerce-page ul.products[class*=columns-] li.product.product{width:auto;float:none;clear:none;margin:0}
  .ssm-related-carousel ul.products.ssm-carousel__track{grid-auto-columns:calc((100% - 14px)/2);gap:14px}
  .woocommerce-checkout .col2-set{grid-template-columns:1fr}
  .woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td{padding:10px 12px}
  .woocommerce-cart table.cart td.actions .coupon .input-text{width:auto;flex:1}
  .ssm-view-switch{display:none}
}
@media (max-width:600px){
  .woocommerce div.product p.price,.woocommerce div.product span.price{font-size:1.3rem}
  .woocommerce div.product form.cart .single_add_to_cart_button{flex-basis:100%}
  .ssm-accordion__panel{padding:4px 16px 16px}
  .ssm-shop-toolbar__end{margin-left:0;width:100%;justify-content:space-between}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14.5px}
}
/* Tablets: three columns, so cards are not oversized once the sidebar is hidden. */
@media (min-width:601px) and (max-width:900px){
  .woocommerce ul.products:not(.ssm-list-view):not(.ssm-carousel__track),.woocommerce-page ul.products:not(.ssm-list-view):not(.ssm-carousel__track){grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 18px}
}
@media (max-width:400px){
  .ssm-related-carousel ul.products.ssm-carousel__track{grid-auto-columns:80%}
}

/* Toolbar stays on one row on wider screens, so it cannot wrap during the
   first paint (fallback font) and push the product grid down (CLS). */
@media (min-width:769px){
  .ssm-shop-toolbar{flex-wrap:nowrap;min-height:38px}
  .ssm-shop-toolbar .woocommerce-result-count{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ssm-shop-toolbar__end,.ssm-shop-toolbar .woocommerce-ordering{flex:0 0 auto}
}
