/* TaarAra v1 Commerce UI */
.woocommerce,
.woocommerce-page{color:var(--ta-ink)}
.woocommerce .woocommerce-breadcrumb{
  margin:0 0 20px;
  color:var(--ta-muted);
  font-size:13px;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--ta-rose)}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{font-size:13px;color:var(--ta-muted)}
.woocommerce .woocommerce-ordering select{
  min-height:44px;
  border:1px solid var(--ta-border);
  border-radius:var(--ta-r-pill);
  background:var(--ta-surface);
  padding:0 14px;
  color:var(--ta-ink);
}
.woocommerce ul.products{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:26px 0 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{
  width:auto;
  float:none;
  margin:0;
  padding:0;
  border:1px solid var(--ta-border);
  border-radius:var(--ta-r-md);
  background:var(--ta-surface);
  overflow:hidden;
  box-shadow:var(--ta-shadow-soft);
}
.woocommerce ul.products li.product a img{
  margin:0;
  aspect-ratio:1;
  width:100%;
  object-fit:cover;
  background:#EFE4DF;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:14px 14px 5px;
  font-size:15.5px;
  line-height:1.65;
  color:var(--ta-ink);
}
.woocommerce ul.products li.product .price{
  padding:0 14px;
  margin:0 0 12px;
  color:var(--ta-rose);
  font-size:13px;
  font-weight:700;
}
.woocommerce ul.products li.product .button{
  margin:0 14px 14px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  border-radius:var(--ta-r-pill);
  background:var(--ta-rose);
  color:#fff;
  font-size:13px;
  padding:0 18px;
}
.woocommerce span.onsale{
  min-width:auto;min-height:auto;line-height:1;
  top:12px;right:12px;left:auto;
  padding:7px 10px;
  border-radius:var(--ta-r-pill);
  background:#FBF8F4;
  color:var(--ta-rose);
  font-size:11px;
  font-weight:700;
}

/* Single product */
.woocommerce div.product{
  display:grid;
  gap:28px;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary{
  float:none;
  width:auto;
  margin:0;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{
  border-radius:var(--ta-r-lg);
  overflow:hidden;
  background:#EFE4DF;
}
.woocommerce div.product .product_title{
  margin:0 0 10px;
  font-size:clamp(32px,4vw,48px);
  line-height:1.3;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--ta-rose);
  font-size:20px;
  font-weight:700;
}
.woocommerce-product-details__short-description{
  color:var(--ta-muted);
  font-size:14px;
  line-height:2;
}
.woocommerce div.product form.cart{
  display:flex;
  align-items:center;
  gap:10px;
  margin:22px 0;
}
.woocommerce .quantity .qty{
  width:74px;
  min-height:48px;
  border:1px solid var(--ta-border);
  border-radius:var(--ta-r-pill);
  background:#fff;
}
.woocommerce div.product form.cart .button{
  min-height:50px;
  border-radius:var(--ta-r-pill);
  padding:0 24px;
  background:var(--ta-rose);
  color:#fff;
  font-size:14px;
}
.woocommerce div.product .product_meta{
  display:grid;
  gap:6px;
  padding-top:16px;
  border-top:1px solid var(--ta-border);
  color:var(--ta-muted);
  font-size:12.5px;
}
.woocommerce div.product .woocommerce-tabs{
  grid-column:1/-1;
  margin-top:12px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;
  gap:8px;
  padding:0;
  margin:0 0 16px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  border:1px solid var(--ta-border);
  background:var(--ta-surface);
  border-radius:var(--ta-r-pill);
  padding:0 14px;
  margin:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:#EFE2DC;
}
.woocommerce div.product .woocommerce-tabs .panel{
  padding:20px;
  border:1px solid var(--ta-border);
  border-radius:var(--ta-r-md);
  background:var(--ta-surface);
  color:var(--ta-muted);
}

/* Cart */
.woocommerce-cart-form,
.cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register{
  border:1px solid var(--ta-border);
  border-radius:var(--ta-r-md);
  background:var(--ta-surface);
  padding:18px;
  box-shadow:var(--ta-shadow-soft);
}
.woocommerce table.shop_table{
  border:0;
  border-collapse:separate;
  border-spacing:0 8px;
  margin:0;
}
.woocommerce table.shop_table th{
  color:var(--ta-muted);
  font-size:12px;
  font-weight:700;
}
.woocommerce table.shop_table td{
  border-top:1px solid var(--ta-border);
  border-bottom:1px solid var(--ta-border);
  background:#FFFDFC;
  font-size:13px;
}
.woocommerce-cart table.cart img{width:76px;border-radius:12px}
.woocommerce-cart table.cart td.actions .coupon{
  display:flex;
  gap:8px;
}
.woocommerce-cart table.cart td.actions .coupon .input-text{
  min-height:44px;
  width:170px;
  border:1px solid var(--ta-border);
  border-radius:var(--ta-r-pill);
  padding:0 14px;
}
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button{
  min-height:44px;
  border-radius:var(--ta-r-pill);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  background:var(--ta-rose);
}

/* Checkout */
.woocommerce-checkout form.checkout{
  display:grid;
  gap:22px;
}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review{
  min-width:0;
}
.woocommerce-checkout .col2-set{
  display:grid;
  gap:18px;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{
  float:none;width:auto;
}
.woocommerce form .form-row{
  margin:0 0 12px;
}
.woocommerce form .form-row label{
  font-size:13px;
  font-weight:700;
  color:#5E5054;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{
  min-height:48px;
  border:1px solid var(--ta-border);
  border-radius:14px;
  background:#fff;
  padding:10px 12px;
  color:var(--ta-ink);
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:28px;
}
.woocommerce-checkout #payment{
  background:#F1EAE6;
  border-radius:var(--ta-r-md);
}
.woocommerce-checkout #payment div.payment_box{
  background:#fff;
  color:var(--ta-muted);
}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff}
.woocommerce-checkout #payment #place_order{
  min-height:52px;
  width:100%;
  background:var(--ta-rose);
  font-size:14px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-top:0;
  border:1px solid var(--ta-border);
  border-radius:14px;
  background:var(--ta-surface);
  color:var(--ta-ink);
  box-shadow:none;
}
.woocommerce-message::before,
.woocommerce-info::before{color:var(--ta-rose)}

@media(min-width:700px){
  .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .woocommerce div.product{grid-template-columns:1.05fr .95fr;align-items:start}
}
@media(min-width:1020px){
  .woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}
  .woocommerce-checkout form.checkout{grid-template-columns:1.05fr .95fr;align-items:start}
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:2}
  .woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 2}
}
@media(max-width:620px){
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px}
  .woocommerce-cart-form{overflow-x:auto}
  .woocommerce-cart table.cart td.actions .coupon{display:grid}
  .woocommerce-cart table.cart td.actions .coupon .input-text{width:100%}
}

/* v1.1 fulfilment note */
.ta-v1-prep{
  margin-top:7px;
  color:var(--ta-muted);
  font-size:12px;
  line-height:1.7;
}

/* v1.1 mobile commerce refinement */
@media(max-width:620px){
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering{
    float:none;
    width:100%;
    margin:0 0 10px;
  }
  .woocommerce .woocommerce-ordering select{width:100%}
  .woocommerce ul.products{
    grid-template-columns:1fr;
    gap:16px;
  }
  .woocommerce ul.products li.product{
    width:100%;
    max-width:100%;
  }
  .woocommerce ul.products li.product a img{aspect-ratio:4/3}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:16px;
    padding:14px 16px 5px;
  }
  .woocommerce ul.products li.product .price{padding:0 16px}
  .woocommerce ul.products li.product .button{
    margin:0 16px 16px;
    width:calc(100% - 32px);
    justify-content:center;
  }
  .woocommerce div.product{display:block}
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary,
  .woocommerce div.product .woocommerce-tabs{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .woocommerce div.product div.summary{margin-top:22px}
  .woocommerce div.product .product_title{
    font-size:30px;
    line-height:1.45;
    overflow-wrap:anywhere;
  }
  .woocommerce-product-details__short-description{font-size:13.5px}
  .woocommerce div.product form.cart{
    flex-wrap:wrap;
    align-items:stretch;
  }
  .woocommerce div.product form.cart .quantity{flex:0 0 84px}
  .woocommerce div.product form.cart .button{
    flex:1 1 180px;
    width:auto;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs{
    overflow-x:auto;
    white-space:nowrap;
    padding-bottom:4px;
  }
  .woocommerce div.product .woocommerce-tabs .panel{padding:16px}
  .woocommerce-cart-form,
  .cart-collaterals .cart_totals,
  .woocommerce-checkout-review-order,
  .woocommerce form.checkout_coupon,
  .woocommerce form.login,
  .woocommerce form.register{padding:14px}
}


/* v1.1 WooCommerce Blocks harmonization */
body.taarara-v1 .wp-block-woocommerce-cart,
body.taarara-v1 .wp-block-woocommerce-checkout{color:var(--ta-ink)}
body.taarara-v1 .wc-block-components-sidebar-layout{
  gap:22px;
  align-items:start;
}
body.taarara-v1 .wc-block-components-main,
body.taarara-v1 .wc-block-components-sidebar{min-width:0}
body.taarara-v1 .wc-block-components-sidebar{
  border:1px solid var(--ta-border);
  border-radius:var(--ta-r-md);
  background:var(--ta-surface);
  padding:18px;
  box-shadow:var(--ta-shadow-soft);
}
body.taarara-v1 .wc-block-components-checkout-step{
  border-bottom:1px solid var(--ta-border);
  padding-bottom:20px;
  margin-bottom:20px;
}
body.taarara-v1 .wc-block-components-title,
body.taarara-v1 .wc-block-components-checkout-step__title{
  color:var(--ta-ink);
  font-weight:700;
}
body.taarara-v1 .wc-block-components-text-input input,
body.taarara-v1 .wc-block-components-combobox .components-combobox-control__input,
body.taarara-v1 .wc-block-components-textarea{
  border:1px solid var(--ta-border);
  border-radius:14px;
  min-height:48px;
  background:#fff;
  color:var(--ta-ink);
}
body.taarara-v1 .wc-block-components-button{
  border-radius:var(--ta-r-pill);
  min-height:50px;
}
body.taarara-v1 .wc-block-components-checkout-place-order-button{
  background:var(--ta-rose);
  color:#fff;
  border:0;
}
body.taarara-v1 .wc-block-components-order-summary,
body.taarara-v1 .wc-block-components-totals-wrapper{border-color:var(--ta-border)}
body.taarara-v1 .wc-block-cart-item__image img,
body.taarara-v1 .wc-block-components-order-summary-item__image img{border-radius:12px}
@media(max-width:700px){
  body.taarara-v1 .wc-block-components-sidebar-layout{display:block}
  body.taarara-v1 .wc-block-components-main,
  body.taarara-v1 .wc-block-components-sidebar{
    width:100%;
    max-width:100%;
  }
  body.taarara-v1 .wc-block-components-sidebar{
    margin-top:18px;
    padding:14px;
  }
  body.taarara-v1 .wc-block-components-checkout-step{
    padding-left:0;
    padding-right:0;
  }
}


/* v1.1 fulfilment message */
.ta-v1-fulfilment-note{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
  margin:16px 0 20px;
}
.ta-v1-fulfilment-item{
  min-width:0;
  padding:12px 14px;
  border:1px solid var(--ta-border);
  border-radius:14px;
  background:#F6F0EC;
  display:grid;
  gap:2px;
}
.ta-v1-fulfilment-item span{
  color:var(--ta-muted);
  font-size:11.5px;
  line-height:1.6;
}
.ta-v1-fulfilment-item strong{
  color:var(--ta-ink);
  font-size:13px;
  line-height:1.7;
}
@media(max-width:620px){
  .ta-v1-fulfilment-note{
    grid-template-columns:1fr;
    gap:8px;
  }
  .ta-v1-fulfilment-item{
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:10px;
  }
  .ta-v1-fulfilment-item strong{text-align:left}
}

/* WooCommerce specificity normalization for CSS Grid cards */
body.taarara-v1.woocommerce-page ul.products li.product,
body.taarara-v1 .woocommerce ul.products li.product,
body.taarara-v1 .woocommerce.columns-2 ul.products li.product,
body.taarara-v1 .woocommerce.columns-3 ul.products li.product,
body.taarara-v1 .woocommerce.columns-4 ul.products li.product,
body.taarara-v1 .woocommerce.columns-5 ul.products li.product,
body.taarara-v1 .woocommerce.columns-6 ul.products li.product{
  width:100%;
  max-width:none;
  min-width:0;
  float:none;
  margin:0;
  box-sizing:border-box;
  justify-self:stretch;
}

body.taarara-v1 .woocommerce ul.products li.product .button{
  max-width:calc(100% - 28px);
  box-sizing:border-box;
  justify-content:center;
  text-align:center;
  white-space:normal;
  line-height:1.35;
}
