/* ============================================================
   Convenience in Motion — WooCommerce styling
   Applies the brand design to shop, category, product, cart,
   and checkout pages for ALL products automatically.
   ============================================================ */

/* ---------- shop / archive header ---------- */
.woocommerce .cim-shop-head{background:var(--surface);padding:40px 0;border-bottom:1px solid var(--line);margin-bottom:36px}
.woocommerce .cim-shop-head .wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.woocommerce .cim-shop-head h1{font-size:clamp(1.7rem,3.5vw,2.4rem)}
.woocommerce .woocommerce-breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:10px}
.woocommerce .woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--brand)}
.woocommerce-products-header__title{font-size:clamp(1.7rem,3.5vw,2.4rem)}

.woocommerce .woocommerce-result-count{color:var(--muted);font-size:.92rem;margin:0}
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby{padding:10px 14px;border:1.5px solid var(--line-2);border-radius:10px;font-family:inherit;font-size:.9rem;background:#fff}

/* ---------- product grid / cards ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products{display:grid!important;gap:22px;margin:0 0 30px!important;padding:0!important}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,1fr)}
.woocommerce ul.products.columns-4,
.woocommerce ul.products{grid-template-columns:repeat(4,1fr)}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{width:auto!important;margin:0!important;float:none!important;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:.2s;display:flex;flex-direction:column;position:relative;padding:0!important}
.woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:transparent}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;padding:0}
.woocommerce ul.products li.product img{margin:0!important;aspect-ratio:1/1;object-fit:cover;width:100%;background:var(--surface)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:14px 16px 4px!important;
  font-size:1rem!important;line-height:1.35;color:var(--ink);font-weight:700}
.woocommerce ul.products li.product .price{padding:0 16px;color:var(--ink)!important;font-size:1.2rem!important;font-weight:800!important;margin-top:auto}
.woocommerce ul.products li.product .price del{color:var(--muted)!important;font-weight:500!important;font-size:.85rem;margin-right:6px;opacity:1}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .star-rating{margin:8px 16px 0;font-size:.8rem;color:var(--star)}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{margin:14px 16px 16px!important;background:var(--brand)!important;color:#fff!important;
  border-radius:999px!important;padding:11px 18px!important;font-weight:700!important;text-align:center;font-size:.92rem!important;transition:.18s}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover{background:var(--brand-dark)!important}

/* sale flash badge */
.woocommerce span.onsale{background:var(--sale)!important;color:#fff!important;border-radius:999px!important;
  min-height:auto;min-width:auto;padding:5px 11px!important;font-size:.72rem!important;font-weight:700!important;
  top:12px!important;left:12px!important;right:auto;margin:0!important;line-height:1;position:absolute}
.single-product span.onsale{top:14px!important;left:14px!important}

/* ---------- single product ---------- */
.single-product div.product{max-width:var(--max);margin:0 auto;padding:36px 20px 0;
  display:grid;grid-template-columns:1.05fr .95fr;gap:44px}
.single-product div.product .woocommerce-product-gallery{width:100%!important;margin:0!important;float:none!important}
.single-product div.product .woocommerce-product-gallery__image img{border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.single-product div.product .entry-summary{margin:0!important;width:100%!important;float:none!important}
.single-product div.product .product_title{font-size:clamp(1.6rem,3vw,2.1rem);margin:6px 0 12px}
.single-product .woocommerce-product-rating{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.single-product .woocommerce-product-rating .star-rating{color:var(--star);margin:0}
.single-product .woocommerce-product-rating a{color:var(--brand);font-weight:600;font-size:.88rem}
.single-product div.product p.price,
.single-product div.product span.price{color:var(--ink)!important;font-size:2rem!important;font-weight:800!important;margin-bottom:6px}
.single-product div.product p.price del{color:var(--muted)!important;font-size:1.1rem;font-weight:500}
.single-product div.product p.price ins{text-decoration:none}
.single-product .woocommerce-product-details__short-description{color:var(--body);font-size:1rem;margin:14px 0 18px}
.single-product .woocommerce-product-details__short-description ul{padding-left:0;list-style:none}
.single-product .woocommerce-product-details__short-description li{display:flex;gap:10px;padding:6px 0}
.single-product .woocommerce-product-details__short-description li::before{content:"✓";color:var(--green);font-weight:800;flex:none}

/* buy box wrapping cart form */
.single-product form.cart{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;margin:18px 0 22px!important}
.single-product form.cart .quantity input.qty{width:64px;height:48px;border:1.5px solid var(--line-2);
  border-radius:10px;text-align:center;font-weight:700;font-size:1rem;margin-right:10px}
.single-product .single_add_to_cart_button{background:var(--accent)!important;color:#fff!important;
  border-radius:999px!important;padding:15px 30px!important;font-weight:700!important;font-size:1.02rem!important;
  border:none!important;transition:.18s}
.single-product .single_add_to_cart_button:hover{background:var(--accent-dark)!important;transform:translateY(-1px)}
.single-product .variations_form .variations{margin-bottom:14px}
.single-product table.variations label{font-weight:700;color:var(--ink)}
.single-product .product_meta{font-size:.85rem;color:var(--muted);margin-top:14px}
.single-product .product_meta a{color:var(--brand)}
.single-product .stock.in-stock{color:var(--green);font-weight:700}
.single-product .stock.out-of-stock{color:var(--sale);font-weight:700}

/* single-product breadcrumb */
.cim-pdp-crumbs{max-width:var(--max);margin:0 auto;padding:18px 20px 0}

/* "about this item" heading */
.cim-feat-title{font-size:1rem;font-weight:800;color:var(--ink);margin:8px 0 -4px}

/* real low-stock urgency */
.cim-urgency{background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA;border-radius:10px;
  padding:9px 14px;font-weight:700;font-size:.85rem;margin:12px 0}

/* delivery estimate + payment methods under add-to-cart */
.cim-delivery{font-size:.88rem;color:var(--body);margin:12px 0 8px}
.cim-pay-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 2px;font-size:.8rem;color:var(--muted);font-weight:600}
.cim-pay-row b{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);padding:4px 9px;border-radius:6px;font-size:.72rem;font-weight:700}

/* full-width guarantee band above the tabs */
.cim-guarantee{grid-column:1 / -1;max-width:var(--max);margin:30px auto 0;padding:22px 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius)}
.cim-guarantee .g{display:flex;align-items:center;gap:12px}
.cim-guarantee .g .ic{width:46px;height:46px;border-radius:12px;background:var(--brand-light);color:var(--brand-dark);
  display:grid;place-items:center;font-size:1.35rem;flex:none}
.cim-guarantee .g b{display:block;color:var(--ink);font-size:.95rem}
.cim-guarantee .g small{color:var(--muted);font-size:.82rem}

/* benefit / trust strip on product page */
.cim-pdp-trust{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 4px}
.cim-pdp-trust div{display:flex;align-items:center;gap:9px;font-size:.86rem;color:var(--body);font-weight:600}
.cim-pdp-trust .ic{color:var(--brand);font-size:1.1rem}
.cim-ship-note{background:var(--brand-light);color:var(--brand-dark);font-size:.85rem;font-weight:600;
  padding:11px 14px;border-radius:10px;margin:14px 0}

/* tabs */
.woocommerce-tabs{grid-column:1 / -1;max-width:var(--max);margin:40px auto 0;padding:0 20px}
.woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line);padding:0!important;margin:0 0 24px!important}
.woocommerce-tabs ul.tabs::before{border-color:var(--line)}
.woocommerce-tabs ul.tabs li{background:none!important;border:none!important;border-radius:0!important;
  margin:0 4px -1px 0!important;padding:0!important}
.woocommerce-tabs ul.tabs li a{font-weight:700!important;color:var(--muted)!important;padding:12px 18px!important;
  border-bottom:2.5px solid transparent!important;display:block}
.woocommerce-tabs ul.tabs li.active a{color:var(--brand)!important;border-color:var(--brand)!important}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce-tabs .panel{max-width:840px}
.woocommerce-tabs table.shop_attributes td,.woocommerce-tabs table.shop_attributes th{padding:12px 16px;border-bottom:1px solid var(--line);font-size:.95rem}
.woocommerce-tabs table.shop_attributes th{background:var(--surface);color:var(--ink);width:35%}

/* ---------- reviews section ---------- */
.cim-reviews{max-width:860px}
.cim-rev-summary{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:center;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:0 0 28px}
.cim-rev-score{text-align:center}
.cim-rev-score .num{font-size:3rem;font-weight:800;color:var(--ink);line-height:1}
.cim-rev-score .stars{color:var(--star);font-size:1.15rem;letter-spacing:2px;margin:4px 0}
.cim-rev-score .cim-rev-count{color:var(--muted);font-size:.85rem}
.cim-rev-bars{display:flex;flex-direction:column;gap:8px}
.cim-rev-bar{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--muted)}
.cim-rev-bar .lbl{width:26px;color:var(--body);font-weight:700}
.cim-rev-bar .track{flex:1;height:9px;background:var(--line);border-radius:999px;overflow:hidden}
.cim-rev-bar .fill{display:block;height:100%;background:var(--star);border-radius:999px}
.cim-rev-bar .n{width:26px;text-align:right}
.woocommerce-Reviews-title{font-size:1.3rem;margin:0 0 20px}
.woocommerce #reviews #comments ol.commentlist{margin:0;padding:0;list-style:none}
.woocommerce #reviews #comments ol.commentlist li{margin:0 0 18px;padding:20px 22px;border:1px solid var(--line);
  border-radius:var(--radius);background:#fff}
.woocommerce #reviews #comments ol.commentlist li .comment_container{display:block}
.woocommerce #reviews #comments ol.commentlist li img.avatar{position:static;float:left;width:44px;height:44px;
  border-radius:999px;border:none;background:var(--brand-light);padding:0;margin-right:12px}
.woocommerce #reviews #comments ol.commentlist li .comment-text{margin:0;border:none;padding:0;overflow:hidden}
.woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating{margin:2px 0 8px;color:var(--star);font-size:.85rem}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{font-size:.85rem;color:var(--muted);margin-bottom:8px}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong.woocommerce-review__author{color:var(--ink);font-weight:800;font-size:.95rem}
.woocommerce p.woocommerce-review__verified,.woocommerce .woocommerce-review__verified{font-size:.7rem;font-weight:700;color:var(--green);
  background:#DCFCE7;padding:2px 9px;border-radius:999px;margin-left:8px;display:inline-block}
.woocommerce #review_form_wrapper{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.woocommerce #review_form .comment-reply-title{font-size:1.15rem;font-weight:800;color:var(--ink);display:block;margin-bottom:14px}
.woocommerce #review_form .comment-form-rating select{padding:10px 12px;border:1.5px solid var(--line-2);border-radius:10px}
.woocommerce #review_form textarea,.woocommerce #review_form input[type=text],.woocommerce #review_form input[type=email]{
  border:1.5px solid var(--line-2)!important;border-radius:10px!important;padding:12px 14px!important;font-family:inherit}

/* related / upsells */
.related.products,.upsells.products{grid-column:1 / -1;max-width:var(--max);margin:50px auto 0!important;padding:40px 20px 0;border-top:1px solid var(--line)}
.related.products>h2,.upsells.products>h2{font-size:1.5rem;margin-bottom:24px}

/* ---------- sticky mobile buy bar ---------- */
.cim-buy-sticky{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);
  padding:12px 16px;display:none;gap:12px;align-items:center;z-index:60;box-shadow:0 -6px 24px rgba(15,23,42,.1)}
.cim-buy-sticky .p{font-weight:800;color:var(--ink);font-size:1.15rem;white-space:nowrap}
.cim-buy-sticky .p del{color:var(--muted);font-weight:500;font-size:.85rem;margin-right:5px}
.cim-buy-sticky .btn{flex:1}

/* ---------- cart & checkout polish ---------- */
.woocommerce-cart .cart_totals,.woocommerce-checkout #order_review,.woocommerce form .form-row{border-radius:var(--radius)}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #payment #place_order,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background:var(--brand)!important;color:#fff!important;border-radius:999px!important;font-weight:700!important;
  padding:13px 26px!important;border:none!important;transition:.18s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--brand-dark)!important}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{background:var(--accent)!important;font-size:1.05rem!important;text-align:center}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--accent-dark)!important}
.woocommerce table.shop_table{border-radius:var(--radius);border-color:var(--line)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container .select2-selection{
  border:1.5px solid var(--line-2)!important;border-radius:10px!important;padding:12px 14px!important;min-height:auto}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--brand)}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:var(--brand)}

/* free shipping progress bar (cart) */
.cim-ship-progress{background:var(--brand-light);color:var(--brand-dark);border-radius:12px;padding:14px 16px;margin-bottom:18px;font-size:.9rem;font-weight:600}
.cim-ship-progress .track{height:8px;background:#fff;border-radius:999px;margin-top:10px;overflow:hidden}
.cim-ship-progress .fill{height:100%;background:var(--brand);border-radius:999px}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .woocommerce ul.products,.woocommerce ul.products.columns-4{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .single-product div.product{grid-template-columns:1fr;gap:26px}
  .cim-guarantee{grid-template-columns:1fr;gap:14px}
  .woocommerce ul.products,.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-3{grid-template-columns:repeat(2,1fr)}
  .cim-buy-sticky{display:flex}
  body.single-product{padding-bottom:78px}
}
@media(max-width:520px){
  .woocommerce ul.products,.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-3{grid-template-columns:1fr 1fr}
  .cim-pdp-trust{grid-template-columns:1fr}
}
