/* WooCommerce layout overrides for Kadisha theme */

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
  clear: none;
}

/* WooCommerce clearfix ::before/::after become empty grid cells — hide them */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce .woocommerce ul.products::before,
.woocommerce .woocommerce ul.products::after {
  display: none !important;
  content: none !important;
}

@media (min-width: 640px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

@media (min-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
  }
}

.woocommerce ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}

.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last {
  clear: none !important;
  margin-right: 0 !important;
}

.woocommerce .product-card .button,
.woocommerce .product-card .btn-buy {
  width: 100%;
  margin-top: auto;
}

.woocommerce .price {
  font-size: 15px;
  font-weight: 600;
}

.woocommerce .price ins {
  text-decoration: none;
  color: var(--color-accent);
}

.woocommerce .price del {
  color: var(--color-text-muted);
  font-weight: 400;
}

.woocommerce-notices-wrapper {
  max-width: var(--max-width);
  margin: 0 auto 24px;
  padding: 0 24px;
}

/* Add to cart & store notices */
.kadisha-notice,
.woocommerce-message,
.woocommerce-info {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  margin: 0 0 16px;
  border-radius: 8px;
  border: 2px solid var(--color-border);
  background: var(--color-cream);
  box-shadow: 0 6px 20px rgba(61, 35, 20, 0.08);
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-text);
  list-style: none;
}

.kadisha-notice--success,
.woocommerce-message {
  border-color: var(--color-accent-light);
  background: linear-gradient(135deg, #fdf9f4 0%, #f5ebe0 100%);
  border-left: 5px solid var(--color-accent);
}

.kadisha-notice__icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(145deg, #3d9a5f 0%, #2d7a4a 100%);
  box-shadow: 0 4px 12px rgba(45, 122, 74, 0.35);
  position: relative;
}

.kadisha-notice__icon::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 10px;
  width: 9px;
  height: 16px;
  border: solid var(--color-white);
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

.kadisha-notice__content {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  min-width: 0;
}

.kadisha-notice__content .button,
.woocommerce-message .button,
.woocommerce-message a.button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 !important;
  padding: 12px 24px !important;
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: var(--color-white) !important;
  background: var(--color-primary) !important;
  border: 2px solid var(--color-primary) !important;
  border-radius: 4px !important;
  box-shadow: 0 3px 10px rgba(61, 35, 20, 0.2);
  transition:
    background var(--transition),
    color var(--transition),
    border-color var(--transition),
    transform var(--transition);
}

.kadisha-notice__content .button:hover,
.woocommerce-message .button:hover,
.woocommerce-message a.button:hover {
  color: var(--color-primary) !important;
  background: var(--color-white) !important;
  border-color: var(--color-primary) !important;
  transform: translateY(-1px);
}

.woocommerce-error {
  padding: 18px 22px;
  margin: 0 0 16px;
  border-radius: 8px;
  border: 2px solid #e8b4b4;
  border-left: 5px solid #c44;
  background: #fef5f5;
  color: var(--color-text);
  list-style: none;
}

.woocommerce-result-count,
.wc-block-catalog-sorting .wc-block-components-result-count {
  display: none !important;
}

/* Shop / category / product / cart / checkout pages */
.woo-page {
  padding: 48px 0 80px;
}

.woo-page-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 24px;
}

.woo-archive-header {
  margin-bottom: 32px;
  text-align: left;
  width: 100%;
  clear: both;
}

.woo-archive-header .woo-archive-title,
.woo-archive-header h1 {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  margin: 0.5rem 0;
  font-weight: 500;
}

.woocommerce .woocommerce-products-header {
  display: none;
}

.woo-breadcrumb {
  font-size: 14px;
  color: var(--color-text-muted);
  margin: 0 0 8px;
}

.woo-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.woo-breadcrumb a:hover {
  color: var(--color-accent);
}

.woo-term-description {
  max-width: 640px;
  margin: 12px auto 0;
  color: var(--color-text-muted);
}

.category-tile-count {
  font-size: 0.85em;
  font-weight: 400;
  opacity: 0.8;
}

/* Single product */
.woocommerce div.product {
  display: grid;
  gap: 32px;
}

@media (min-width: 900px) {
  .woocommerce div.product {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

.woocommerce .related.products {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid var(--color-border);
}

.woocommerce .related.products > h2 {
  font-family: var(--font-display);
  text-align: center;
  margin-bottom: 28px;
}

/* Cart */
.woocommerce-cart .woocommerce,
.woocommerce-cart .wp-block-woocommerce-cart {
  max-width: 1200px;
  margin: 0 auto;
}

.woocommerce-cart .woo-page-inner {
  max-width: 1200px;
}

.woocommerce table.shop_table {
  border-collapse: collapse;
  width: 100%;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 12px;
  border-bottom: 1px solid var(--color-border);
}

.woocommerce .cart-collaterals {
  margin-top: 32px;
}

.woocommerce .cart_totals,
.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
.woocommerce-cart .wc-block-components-sidebar {
  background: var(--color-cream);
  padding: 28px;
  border-radius: 8px;
  border: 2px solid var(--color-border);
  box-shadow: var(--shadow-sm);
}

.woocommerce-cart .cart_totals > h2,
.woocommerce-cart .wp-block-woocommerce-cart-totals-block h2 {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--color-primary);
  padding-bottom: 12px;
  margin-bottom: 16px;
  border-bottom: 2px solid var(--color-border);
}

/* Proceed to checkout — block cart + classic cart */
.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block,
.woocommerce-cart .wc-block-cart__submit-container {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 2px solid var(--color-border);
}

.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,
.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 52px;
  padding: 16px 32px !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-align: center;
  line-height: 1.3 !important;
  color: var(--color-white) !important;
  background: var(--color-primary) !important;
  border: 2px solid var(--color-primary) !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 16px rgba(61, 35, 20, 0.22);
  cursor: pointer;
  transition:
    background var(--transition),
    color var(--transition),
    border-color var(--transition),
    box-shadow var(--transition),
    transform var(--transition);
}

.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover,
.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:hover {
  color: var(--color-primary) !important;
  background: var(--color-white) !important;
  border-color: var(--color-primary) !important;
  box-shadow: 0 6px 22px rgba(61, 35, 20, 0.18);
  transform: translateY(-2px);
}

.woocommerce-cart .wc-block-cart__submit-button:focus-visible,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible,
.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

/* Checkout */
.woocommerce-checkout .woocommerce {
  max-width: 1100px;
  margin: 0 auto;
}

.woocommerce-checkout form.checkout {
  display: grid;
  gap: 40px;
}

@media (min-width: 900px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr 380px;
    align-items: start;
  }

  .woocommerce-checkout #customer_details {
    grid-column: 1;
  }

  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: 2;
  }

  .woocommerce-checkout #order_review_heading {
    margin-top: 0;
  }
}

.woocommerce-checkout .col2-set {
  display: grid;
  gap: 24px;
}

.woocommerce-checkout .form-row label {
  display: block;
  font-weight: 500;
  margin-bottom: 6px;
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font: inherit;
}

.woocommerce-checkout #order_review {
  background: var(--color-surface);
  padding: 24px;
  border-radius: 12px;
}

.woocommerce-checkout #place_order {
  width: 100%;
  padding: 14px 24px;
  background: var(--color-accent);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  margin-top: 16px;
}

.woocommerce-checkout #place_order:hover {
  filter: brightness(1.05);
}

.woocommerce-checkout-review-order-table {
  width: 100%;
  margin-bottom: 16px;
}

/* Product search results page */
.kadisha-search-page .kadisha-search-count {
  margin: 0 0 24px;
  font-size: 15px;
  color: var(--color-text-muted);
}

.kadisha-search-empty {
  text-align: center;
  padding: 48px 24px;
  background: var(--color-cream);
  border-radius: 12px;
  border: 2px solid var(--color-border);
}

.kadisha-search-empty p {
  margin-bottom: 20px;
  color: var(--color-text-muted);
}

.kadisha-search-related {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 2px solid var(--color-border);
}

.kadisha-search-related-title {
  font-family: var(--font-serif);
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 500;
  color: var(--color-primary);
  margin-bottom: 28px;
}

/* Customer account — login / sign up forms */
.kadisha-account-form .form-row,
.kadisha-account-form .woocommerce-form-row {
  margin-bottom: 16px;
}

.kadisha-account-form label {
  display: block;
  font-weight: 500;
  font-size: 14px;
  margin-bottom: 6px;
  color: var(--color-primary);
}

.kadisha-account-form .input-text,
.kadisha-account-form .woocommerce-Input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font: inherit;
  background: var(--color-white);
}

.kadisha-account-form .input-text:focus,
.kadisha-account-form .woocommerce-Input:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(196, 123, 74, 0.15);
}

.kadisha-account-form .remember {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--color-text-muted);
}

.kadisha-account-form .btn,
.kadisha-account-form .button {
  width: 100%;
  margin-top: 8px;
}

.kadisha-account-page-form {
  max-width: 720px;
  margin: 0 auto 40px;
}

.kadisha-account-page-tabs {
  display: flex;
  gap: 0;
  margin-bottom: 32px;
  border: 2px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
  max-width: 360px;
}

.kadisha-account-page-tab {
  flex: 1;
  padding: 14px 20px;
  font-weight: 600;
  font-size: 15px;
  color: var(--color-primary);
  background: var(--color-white);
}

.kadisha-account-page-tab.is-active {
  background: var(--color-primary);
  color: var(--color-cream);
}

.kadisha-account-page-panels--split .kadisha-account-page-panel {
  background: var(--color-cream);
  border: 2px solid var(--color-border);
  border-radius: 12px;
  padding: 32px;
}

.kadisha-account-page-panel h2 {
  font-family: var(--font-serif);
  font-size: 26px;
  margin-bottom: 8px;
  color: var(--color-primary);
}

.kadisha-account-page-lead {
  color: var(--color-text-muted);
  margin-bottom: 24px;
}

.kadisha-account-page-hint {
  font-size: 14px;
  color: var(--color-text-muted);
  margin-bottom: 16px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--color-cream);
  border: 2px solid var(--color-border);
  border-radius: 12px;
  padding: 8px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 10px 14px;
  border-radius: 8px;
  font-weight: 500;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--color-primary);
  color: var(--color-cream);
}

.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--color-white);
  border: 2px solid var(--color-border);
  border-radius: 12px;
  padding: 28px;
}

