/* ==========================================================================
   Iconic Breaks — WooCommerce brand styling (loads after main.css).
   Covers loop, single product, cart/checkout (classic + blocks),
   My Account, buttons, badges, notices.
   ========================================================================== */

/* ----- Buttons ---------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce-page a.button,
.wc-block-components-button,
.wp-block-button__link {
  font-family: var(--font-display) !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: var(--grad-blue) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: .85rem 1.6rem !important;
  line-height: 1 !important;
  box-shadow: var(--shadow-sm);
  transition: transform .2s var(--ease), box-shadow .2s var(--ease) !important;
  cursor: pointer;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover,
.wc-block-components-button:hover,
.wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  color: #fff !important;
}
.woocommerce .button.added,
.woocommerce a.added_to_cart { margin-top: .5rem; }

/* ----- Result count / ordering ------------------------------------------ */
.woocommerce .woocommerce-result-count { color: var(--ic-muted); }
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby {
  font: inherit; padding: .6rem 1rem; border: 2px solid var(--ic-line);
  border-radius: 999px; background: #fff; color: var(--ic-ink);
}

/* ----- Product loop cards ----------------------------------------------- */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: clamp(1.2rem, 2.5vw, 2rem);
  margin: 0;
}
/* Filter sidebar column layout */
.wc-products { min-width: 0; }
.widget-area.wc-filters { position: sticky; top: 120px; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important; margin: 0 !important; float: none !important;
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--ic-line); border-radius: var(--radius);
  overflow: hidden; box-shadow: var(--shadow-sm);
  transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; }
.woocommerce ul.products li.product img {
  margin: 0 !important; border-radius: 0; aspect-ratio: 1; object-fit: cover; width: 100%;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-body); font-weight: 700; font-size: 1.02rem; line-height: 1.3;
  padding: 1rem 1.2rem .2rem; text-transform: none;
}
.woocommerce ul.products li.product .price {
  display: block; padding: 0 1.2rem; color: var(--ic-blue);
  font-family: var(--font-display); font-size: 1.35rem;
}
.woocommerce ul.products li.product .price del { color: var(--ic-muted); font-size: .9rem; opacity: .7; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .star-rating { margin: .4rem 1.2rem 0; color: var(--ic-blue); }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  margin: 1rem 1.2rem 1.2rem !important; align-self: flex-start;
}
.woocommerce ul.products li.product .add_to_cart_button.loading { opacity: .7; }

/* Sale badge */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
  background: var(--ic-ink); color: #fff; font-family: var(--font-display);
  text-transform: uppercase; letter-spacing: .05em; font-size: .72rem;
  min-height: auto; min-width: auto; line-height: 1; padding: .4rem .75rem;
  border-radius: 999px; top: .8rem; left: .8rem; right: auto; margin: 0;
}

/* ----- Single product --------------------------------------------------- */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); }
.woocommerce div.product .woocommerce-product-gallery { margin: 0; }
.woocommerce div.product .woocommerce-product-gallery__image img { border-radius: var(--radius); }
.woocommerce div.product .product_title { font-size: clamp(1.8rem, 3.5vw, 2.8rem); margin-bottom: .5rem; }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--ic-blue); font-family: var(--font-display); font-size: 2rem;
}
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 1rem; }
.woocommerce div.product form.cart { margin: 1.5rem 0; display: flex; gap: .8rem; flex-wrap: wrap; align-items: center; }
.woocommerce div.product form.cart .quantity input.qty {
  width: 72px; padding: .8rem; border: 2px solid var(--ic-line); border-radius: var(--radius-sm); font: inherit; text-align: center;
}
.woocommerce div.product .single_add_to_cart_button { padding: 1rem 2rem !important; }
.woocommerce div.product .product_meta { color: var(--ic-muted); font-size: .9rem; margin-top: 1.5rem; }

.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 1.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--ic-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent; border: 0; border-radius: 0; margin: 0 1.4rem 0 0; padding: 0 0 .6rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 3px solid var(--ic-blue); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--font-display); text-transform: uppercase; color: var(--ic-ink); padding: 0; }

.woocommerce .related.products,
.woocommerce .upsells.products { grid-column: 1 / -1; margin-top: 2.5rem; }
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: 1.5rem; }

/* ----- Notices ---------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
  border-top: 0; border-radius: var(--radius-sm); padding: 1rem 1.2rem 1rem 3rem;
  background: var(--ic-tint); color: var(--ic-navy); box-shadow: none; font-weight: 600;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--ic-blue); }
.woocommerce-error { background: rgba(255,59,59,.08); color: #a11; }
.woocommerce-error::before { color: #d63638; }

/* ----- Cart / Checkout (classic tables) --------------------------------- */
.woocommerce table.shop_table {
  border-radius: var(--radius); border: 1px solid var(--ic-line); border-collapse: separate; border-spacing: 0;
}
.woocommerce table.shop_table th { font-family: var(--font-display); text-transform: uppercase; letter-spacing: .03em; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; }
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce .wc-proceed-to-checkout a.checkout-button { display: inline-flex; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.select2-container .select2-selection {
  padding: .85rem 1rem; border: 2px solid var(--ic-line); border-radius: var(--radius-sm); font: inherit;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { border-color: var(--ic-blue); outline: none; }

/* ----- Cart / Checkout (block) ------------------------------------------ */
.wc-block-components-button { font-family: var(--font-display) !important; }
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button { width: 100%; }
.wc-block-components-totals-item__value,
.wc-block-formatted-money-amount { font-family: var(--font-display); color: var(--ic-blue); }
.wc-block-components-text-input input,
.wc-block-components-text-input input[type=text] { border-radius: var(--radius-sm) !important; }

/* ----- My Account ------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border: 1px solid var(--ic-line); border-radius: var(--radius-sm); overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: .8rem 1.1rem; font-family: var(--font-display); text-transform: uppercase;
  letter-spacing: .03em; color: var(--ic-ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active { background: var(--grad-blue); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation li:hover a { color: var(--ic-blue); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active:hover a { color: #fff; }

/* ----- Breadcrumb ------------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb { color: var(--ic-muted); font-size: .9rem; margin-bottom: 1.5rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ic-blue); }

/* ----- Responsive ------------------------------------------------------- */
@media (max-width: 900px) {
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); }
  .woocommerce div.product { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr; }
}
