/* ============================================================
   DAWN — WooCommerce Stylesheet Override
   ============================================================ */

/* ── RESET WOO DEFAULTS ───────────────────────────────────── */
.woocommerce-page .woocommerce,
.woocommerce { font-family: var(--font-body); }

/* Remove default WC breadcrumb */
.woocommerce .woocommerce-breadcrumb { display: none; }

/* ── PRODUCT LOOP ─────────────────────────────────────────── */
.woocommerce ul.products { margin: 0 !important; padding: 0; list-style: none; }
.woocommerce ul.products li.product { margin: 0 !important; }

/* ── SINGLE PRODUCT ───────────────────────────────────────── */
.woocommerce div.product { max-width: none; }
.woocommerce div.product .woocommerce-tabs { display: none; } /* We use custom accordion */

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-family: var(--font-heading); }
.woocommerce div.product span.price ins { text-decoration: none; color: var(--color-sale); }
.woocommerce div.product span.price del { color: var(--color-base-text-light); }

/* Add to cart form */
.woocommerce div.product form.cart { display: flex; flex-direction: column; gap: 10px; margin-bottom: 0; }
.woocommerce div.product form.cart .variations_button { display: flex; flex-direction: column; gap: 10px; }
.woocommerce div.product form.cart .quantity { display: flex; align-items: center; gap: 10px; }

/* Buttons */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--color-accent);
  color: #fff;
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: var(--border-radius);
  padding: 12px 24px;
  transition: background var(--transition);
  border: none;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--color-accent-hover); color: #fff; }

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt { background: var(--color-accent); }
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--color-accent-hover); }

/* ── NOTICES ──────────────────────────────────────────────── */
.woocommerce-message  { background: #ecfdf5; border-left-color: var(--color-success) !important; color: var(--color-base-text); }
.woocommerce-error    { background: #fef2f2; border-left-color: var(--color-sale) !important; }
.woocommerce-info     { background: var(--color-base-background-2); border-left-color: var(--color-accent) !important; }
.woocommerce-message::before,
.woocommerce-info::before { display: none; }

/* ── CHECKOUT ─────────────────────────────────────────────── */
.woocommerce-checkout { max-width: var(--max-width); margin: 0 auto; padding: var(--spacing-lg); }
.woocommerce-checkout h3 { font-family: var(--font-heading); font-size: 1.3rem; font-weight: 400; margin-bottom: var(--spacing-md); }
.woocommerce form .form-row { margin-bottom: var(--spacing-sm); }
.woocommerce form .form-row label { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 6px; display: block; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  padding: 12px 16px;
  border: 1.5px solid var(--color-border);
  border-radius: var(--border-radius);
  font-family: var(--font-body);
  font-size: 0.9rem;
  outline: none;
  transition: border-color var(--transition);
  background: var(--color-base-background-1);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { border-color: var(--color-accent); }

.woocommerce #payment { background: var(--color-base-background-2); border-radius: 4px; padding: var(--spacing-md); }
.woocommerce #payment .payment_methods { list-style: none; margin-bottom: var(--spacing-md); }
.woocommerce #payment .payment_methods li { padding: 12px 0; border-bottom: 1px solid var(--color-border); }
.woocommerce #payment #place_order {
  width: 100%;
  padding: 18px;
  font-size: 0.88rem;
  letter-spacing: 0.12em;
}

/* ── CART PAGE ────────────────────────────────────────────── */
.woocommerce-cart { max-width: var(--max-width); margin: 0 auto; padding: var(--spacing-lg); }
.woocommerce table.cart { border-collapse: collapse; width: 100%; }
.woocommerce table.cart td,
.woocommerce table.cart th { padding: var(--spacing-sm); border-bottom: 1px solid var(--color-border); vertical-align: middle; }
.woocommerce table.cart th { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; }
.woocommerce table.cart .product-thumbnail img { width: 80px; height: 80px; object-fit: cover; border-radius: var(--border-radius); }
.woocommerce table.cart .product-name a { font-weight: 600; }
.woocommerce .cart-collaterals { margin-top: var(--spacing-lg); }
.woocommerce .cart_totals { background: var(--color-base-background-2); padding: var(--spacing-md); border-radius: 4px; }
.woocommerce .cart_totals h2 { font-family: var(--font-heading); font-size: 1.2rem; font-weight: 400; margin-bottom: var(--spacing-md); }
.woocommerce .cart_totals table { width: 100%; border-collapse: collapse; }
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td { padding: 10px 0; border-bottom: 1px solid var(--color-border); font-size: 0.9rem; }
.woocommerce .cart_totals .wc-proceed-to-checkout a { display: block; text-align: center; width: 100%; padding: 16px; }

/* ── MY ACCOUNT ───────────────────────────────────────────── */
.woocommerce-account { max-width: var(--max-width); margin: 0 auto; padding: var(--spacing-lg); }
.woocommerce-MyAccount-navigation { float: left; width: 220px; }
.woocommerce-MyAccount-content    { float: left; width: calc(100% - 260px); margin-left: 40px; }
.woocommerce-MyAccount-navigation ul { list-style: none; border: 1px solid var(--color-border); border-radius: 4px; overflow: hidden; }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 12px 18px; font-size: 0.85rem; font-weight: 600; border-bottom: 1px solid var(--color-border); transition: all var(--transition); }
.woocommerce-MyAccount-navigation ul li a:hover { background: var(--color-base-background-2); }
.woocommerce-MyAccount-navigation ul li.is-active a { background: var(--color-accent); color: #fff; }
.woocommerce-MyAccount-navigation ul li:last-child a { border-bottom: none; }

/* ── PRODUCT REVIEW / COMMENTS ────────────────────────────── */
.woocommerce #reviews { margin-top: 0; }
.woocommerce #reviews h2 { font-family: var(--font-heading); font-size: 1.2rem; font-weight: 400; margin-bottom: var(--spacing-md); }
.woocommerce #reviews .comment { display: grid; grid-template-columns: 48px 1fr; gap: var(--spacing-sm); margin-bottom: var(--spacing-md); padding-bottom: var(--spacing-md); border-bottom: 1px solid var(--color-border); }
.woocommerce #reviews .comment .avatar { width: 48px; height: 48px; border-radius: 50%; }
.woocommerce #reviews #review_form { margin-top: var(--spacing-md); }
.woocommerce #reviews #review_form .comment-form-rating { margin-bottom: var(--spacing-sm); }
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before { color: #F59E0B; }

/* ── PRODUCT ATTRIBUTES TABLE ─────────────────────────────── */
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.woocommerce-product-attributes th,
.woocommerce-product-attributes td { padding: 8px 0; border-bottom: 1px solid var(--color-border); font-size: 0.85rem; vertical-align: top; }
.woocommerce-product-attributes th { font-weight: 700; width: 40%; color: var(--color-base-text); }
.woocommerce-product-attributes td { color: var(--color-base-text-light); }

/* ── RELATED / UPSELLS ────────────────────────────────────── */
.related.products, .upsells.products { max-width: var(--max-width); margin: 0 auto; }
.related.products h2, .upsells.products h2 { font-family: var(--font-heading); font-size: 1.6rem; font-weight: 400; margin-bottom: var(--spacing-md); text-align: center; }

/* ── WOOCOMMERCE RATING STARS ─────────────────────────────── */
.woocommerce .star-rating { color: #F59E0B; font-size: 0.85rem; }

/* ── SALE FLASH ───────────────────────────────────────────── */
.woocommerce span.onsale { background: var(--color-sale); border-radius: 20px; padding: 4px 10px; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; min-height: auto; line-height: normal; min-width: auto; }

/* ── WIDGET ───────────────────────────────────────────────── */
.widget { margin-bottom: var(--spacing-md); }
.widget__title, .widgettitle { font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; margin-bottom: var(--spacing-sm); padding-bottom: var(--spacing-xs); border-bottom: 1px solid var(--color-border); }
.widget ul { list-style: none; }
.widget ul li { padding: 6px 0; border-bottom: 1px solid var(--color-border); font-size: 0.88rem; }
.widget ul li a { transition: color var(--transition); }
.widget ul li a:hover { color: var(--color-accent-hover); }

/* Price filter widget */
.widget_price_filter .price_slider_wrapper { padding-top: 12px; }
.widget_price_filter .ui-slider { background: var(--color-border); border: none; height: 3px; }
.widget_price_filter .ui-slider .ui-slider-handle { background: var(--color-accent); border-radius: 50%; border: none; width: 16px; height: 16px; top: -7px; }
.widget_price_filter .ui-slider .ui-slider-range { background: var(--color-accent); }
.widget_price_filter .price_label { font-size: 0.82rem; margin-top: 8px; }
.widget_price_filter button { margin-top: 10px; background: var(--color-accent); color: #fff; border: none; padding: 8px 18px; font-family: var(--font-body); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; border-radius: var(--border-radius); transition: background var(--transition); }
.widget_price_filter button:hover { background: var(--color-accent-hover); }
