/* ═══════════════════════════════════════════════════════════
   LAZÓ — WooCommerce Overrides
   ═══════════════════════════════════════════════════════════ */

/* Single product */
.woocommerce div.product { font-family: var(--sans); }
.woocommerce div.product .product_title {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(48px,6vw,72px);
  line-height: .95;
  color: var(--fg);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 300;
  color: var(--blue);
}
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 16px; }

/* Add to cart */
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--dk) !important;
  color: #fff !important;
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-weight: 400;
  border-radius: 0 !important;
  padding: 14px 32px;
  border: none;
  transition: background .25s !important;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--orange) !important;
  color: #fff !important;
}

/* Quantity */
.woocommerce div.product form.cart .qty {
  border: 1px solid var(--border);
  border-radius: 0;
  font-family: var(--sans);
  font-size: 14px;
  padding: 8px 12px;
  width: 60px;
  background: var(--bg);
  color: var(--fg);
}

/* Variations */
.woocommerce div.product form.cart .variations select {
  border: 1px solid var(--border);
  border-radius: 0;
  font-family: var(--sans);
  font-size: 13px;
  padding: 10px 12px;
  background: var(--bg);
  color: var(--fg);
  outline: none;
}

/* Product meta */
.woocommerce div.product .product_meta { font-size: 12px; color: var(--fg2); margin-top: 20px; }
.woocommerce div.product .product_meta a:hover { color: var(--orange); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin-bottom: 0; border-bottom: 1px solid var(--border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--bg);
  border: 1px solid var(--border);
  border-bottom: none;
  border-radius: 0;
  margin-right: 4px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--dk);
  border-color: var(--dk);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--fg2);
  padding: 10px 20px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 32px 0; }

/* Related products */
.woocommerce .related h2 {
  font-family: var(--serif);
  font-size: 36px;
  font-weight: 300;
  margin-bottom: 32px;
}
.woocommerce ul.products li.product { text-align: left; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 300;
  padding: 12px 0 4px;
}
.woocommerce ul.products li.product .price {
  font-family: var(--serif);
  color: var(--blue);
  font-size: 18px;
}
.woocommerce ul.products li.product a.button {
  font-size: 10px !important;
  padding: 10px 16px !important;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); transition: transform .3s; }

/* Shop / Archive */
.woocommerce-products-header h1 {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(40px,6vw,72px);
  line-height: .9;
  margin-bottom: 8px;
}
.woocommerce-result-count { font-size: 11px; color: var(--fg2); letter-spacing: .1em; text-transform: uppercase; }
.woocommerce-ordering select { border: 1px solid var(--border); border-radius: 0; font-family: var(--sans); font-size: 12px; padding: 8px 12px; }

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb { font-size: 12px; color: var(--fg2); margin-bottom: 32px; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--fg); }

/* Cart */
.woocommerce table.cart { font-family: var(--sans); }
.woocommerce table.cart td.actions .coupon input[type=text] {
  border: 1px solid var(--border);
  border-radius: 0;
  font-family: var(--sans);
  font-size: 12px;
  padding: 10px;
}

/* Checkout */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--serif);
  font-weight: 300;
  font-size: 24px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
}
.woocommerce-checkout form .form-row input,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select {
  border: 1px solid var(--border);
  border-radius: 0;
  font-family: var(--sans);
  font-size: 13px;
  padding: 10px 12px;
  background: var(--bg);
  color: var(--fg);
}
.woocommerce-checkout form .form-row input:focus,
.woocommerce-checkout form .form-row textarea:focus {
  border-color: var(--fg);
  outline: none;
  box-shadow: none;
}

/* Notices */
.lz-wc-notices {
  max-width: var(--max);
  margin: 0 auto;
  padding: 24px 48px 0;
}
@media (max-width: 960px) { .lz-wc-notices { padding: 20px 24px 0; } }

.woocommerce-message, .woocommerce-info {
  border-top: 3px solid var(--orange) !important;
  background: var(--bg2) !important;
  font-family: var(--sans);
  font-size: 13px;
  border-radius: 0;
}
.woocommerce-error { border-top: 3px solid #c0392b !important; }

/* Stars */
.woocommerce .star-rating span::before { color: var(--orange); }

@media (max-width: 640px) {
  .wp-block-woocommerce-cart .wp-block-woocommerce-cart-items-block,
  .wp-block-woocommerce-cart .wp-block-woocommerce-cart-totals-block,
  .wp-block-woocommerce-checkout,
  .wc-block-cart,
  .wc-block-checkout {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .wc-block-cart .wc-block-cart-items__row,
  .wc-block-cart .wc-block-components-totals-wrapper,
  .wc-block-cart .wc-block-cart__submit-container,
  .wc-block-cart .wc-block-components-totals-item,
  .wc-block-checkout .wc-block-components-totals-item {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .wc-block-cart .wc-block-components-product-name,
  .wc-block-cart .wc-block-components-product-price,
  .wc-block-cart .wc-block-components-product-metadata,
  .wc-block-cart .wc-block-components-totals-item__label,
  .wc-block-cart .wc-block-components-totals-item__value,
  .wc-block-checkout .wc-block-components-totals-item__label,
  .wc-block-checkout .wc-block-components-totals-item__value {
    padding-inline: 4px !important;
  }
}

/* ── My Account Login/Register — Custom Template ─────────── */

.lz-account-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.lz-account-col {
  border: 1px solid var(--border);
  padding: 40px;
}
.lz-account-title {
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 300;
  color: var(--fg);
  margin: 0 0 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
}
.lz-field {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.lz-field label {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--fg2);
  font-weight: 400;
}
.lz-input {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--sans);
  font-size: 14px;
  padding: 12px 14px;
  outline: none;
  transition: border-color .15s;
  -webkit-appearance: none;
  box-sizing: border-box;
}
.lz-input:focus { border-color: var(--fg); }
.lz-field-check {
  margin-bottom: 20px;
}
.lz-field-check label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--fg2);
  cursor: pointer;
}
.lz-field-check input[type="checkbox"] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  cursor: pointer;
}
.lz-btn-account {
  display: block;
  width: 100%;
  background: var(--dk);
  color: #fff;
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 15px 24px;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background .2s;
  text-align: center;
  margin-top: 8px;
}
.lz-btn-account:hover { background: var(--orange); }
.lz-account-lost {
  margin-top: 16px;
  font-size: 12px;
  color: var(--fg2);
  text-align: center;
}
.lz-account-lost a { color: var(--blue); }
.lz-account-lost a:hover { text-decoration: underline; }
.lz-account-note {
  font-size: 13px;
  color: var(--fg2);
  line-height: 1.7;
  margin-bottom: 20px;
}
.woocommerce-privacy-policy-text {
  font-size: 12px;
  color: var(--fg3);
  line-height: 1.7;
  margin-bottom: 20px;
}
.woocommerce-privacy-policy-text a { color: var(--blue); }

@media (max-width: 768px) {
  .lz-account-wrap { grid-template-columns: 1fr; }
  .lz-account-col { padding: 28px 20px; }
}

/* ── My Account / Login / Register ──────────────────────── */

/* Font */
.woocommerce-account .woocommerce,
.woocommerce-page .woocommerce { font-family: var(--sans); }

/* ── LOGIN + REGISTER TWO-COLUMN LAYOUT ─────────────────── */
/* Use flexbox — more reliable than grid when overriding WC floats */
.woocommerce .col2-set,
.woocommerce-page .col2-set {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 40px !important;
  width: 100% !important;
  overflow: hidden !important;
}
/* Suppress WC clearfix pseudo-elements */
.woocommerce .col2-set::before,
.woocommerce .col2-set::after,
.woocommerce-page .col2-set::before,
.woocommerce-page .col2-set::after {
  display: none !important;
  content: none !important;
}
/* Kill WC floats — flex children ignore float anyway, but be explicit */
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,
.woocommerce-page .col2-set .col-2 {
  float: none !important;
  width: calc(50% - 20px) !important;
  flex: 1 1 280px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--border) !important;
  padding: 40px !important;
}

/* Column headings */
.woocommerce .col2-set .col-1 h2,
.woocommerce .col2-set .col-2 h2,
.woocommerce-page .col2-set .col-1 h2,
.woocommerce-page .col2-set .col-2 h2 {
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 300;
  color: var(--fg);
  margin: 0 0 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
  line-height: 1.1;
}

/* ── FORM ROWS ────────────────────────────────────────────── */
.woocommerce form .form-row,
.woocommerce-page form .form-row {
  padding: 0 !important;
  margin: 0 0 20px !important;
}

/* Labels */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
  display: block !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--fg2) !important;
  margin-bottom: 8px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}
.woocommerce form .form-row label .required { color: var(--orange); }

/* ── INPUTS ───────────────────────────────────────────────── */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="number"],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row .input-text,
.woocommerce-page form .form-row input[type="text"],
.woocommerce-page form .form-row input[type="email"],
.woocommerce-page form .form-row input[type="password"] {
  width: 100% !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  background: var(--bg) !important;
  color: var(--fg) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  padding: 12px 14px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .15s;
  -webkit-appearance: none;
}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row input:focus,
.woocommerce-page form .form-row input:focus { border-color: var(--fg) !important; }

/* ── CHECKBOX ROW ─────────────────────────────────────────── */
.woocommerce form .form-row .woocommerce-form__label-for-checkbox,
.woocommerce-page form .form-row .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--fg2) !important;
  line-height: 1.4 !important;
  margin-bottom: 20px !important;
}
.woocommerce-form__input-checkbox {
  width: auto !important;
  padding: 0 !important;
  min-width: 0 !important;
}

/* ── SUBMIT BUTTONS ───────────────────────────────────────── */
.woocommerce form .form-row button[type="submit"],
.woocommerce form .form-row input[type="submit"],
.woocommerce-page form .form-row button[type="submit"],
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-account #customer_login button[type="submit"] {
  display: block !important;
  width: 100% !important;
  background: var(--dk) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: 15px 24px !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: background .2s !important;
  margin-top: 8px !important;
  text-align: center !important;
}
.woocommerce form .form-row button[type="submit"]:hover,
.woocommerce-account #customer_login button[type="submit"]:hover { background: var(--orange) !important; }

/* Lost password */
.woocommerce-LostPassword {
  margin-top: 16px;
  font-size: 12px;
  color: var(--fg2);
  text-align: center;
}
.woocommerce-LostPassword a { color: var(--blue); }
.woocommerce-LostPassword a:hover { text-decoration: underline; }

/* Privacy text */
.woocommerce-privacy-policy-text {
  margin-top: 16px;
  font-size: 12px;
  color: var(--fg3);
  line-height: 1.7;
}
.woocommerce-privacy-policy-text a { color: var(--blue); }

/* ── ACCOUNT DASHBOARD (logged in) ───────────────────────── */
.woocommerce-account .woocommerce-MyAccount-content { font-size: 14px; line-height: 1.8; color: var(--fg); }
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--bg2);
  border: 1px solid var(--border);
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--border); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 14px 20px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--fg2);
  transition: color .15s, background .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { color: var(--blue); background: var(--bg3); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--blue); font-weight: 500; }

/* Dashboard layout (logged in: sidebar + content) */
body.logged-in.woocommerce-account .lz-page-body > .woocommerce {
  display: flex !important;
  align-items: flex-start !important;
  gap: 40px !important;
  max-width: var(--max) !important;
  margin: 0 auto !important;
}
body.logged-in.woocommerce-account .lz-page-body > .woocommerce::before,
body.logged-in.woocommerce-account .lz-page-body > .woocommerce::after {
  display: none !important;
  content: none !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
  flex: 0 0 260px !important;
  width: 260px !important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
  border: 1px solid var(--border);
  padding: 32px;
}
.woocommerce-account .woocommerce-MyAccount-content h2 {
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 300;
  margin-bottom: 20px;
}
.woocommerce-account .woocommerce-MyAccount-content table {
  width: 100%;
  font-size: 13px;
  border-collapse: collapse;
}
.woocommerce-account .woocommerce-MyAccount-content table th,
.woocommerce-account .woocommerce-MyAccount-content table td {
  padding: 12px 8px;
  border-bottom: 1px solid var(--border);
  text-align: left;
}
.woocommerce-account .woocommerce-MyAccount-content table th {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--fg2);
}

@media (max-width: 768px) {
  .woocommerce .col2-set,
  .woocommerce-page .col2-set { grid-template-columns: 1fr !important; }
  body.logged-in.woocommerce-account .lz-page-body > .woocommerce { flex-direction: column !important; }
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation { width: 100% !important; flex-basis: auto !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 24px; }
}
