/*
 * WooCommerce Brand Override
 * Home & Life — applies palette and fonts to default WooCommerce layouts
 * Drop this into woocommerce/assets/css/ and enqueue via functions.php
 */

/* ─── SHARED TOKENS ─── */
:root {
  --wc-primary:    #9C4E28;
  --wc-primary-h:  #5C4033;
  --wc-text:       #2E1F14;
  --wc-muted:      #6A5448;
  --wc-bg:         #FDFAF5;
  --wc-cream:      #F7F3EC;
  --wc-border:     rgba(92,64,51,0.15);
  --wc-radius:     2px;
}

/* ─── SHOP / ARCHIVE PAGE ─── */
.woocommerce-products-header__title,
.woocommerce-page h1,
.woocommerce h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(36px, 4vw, 52px);
  font-weight: 400;
  color: var(--wc-text);
}

/* Result count & ordering */
.woocommerce-result-count {
  font-size: 14px;
  color: var(--wc-muted);
  letter-spacing: 0.05em;
}

.woocommerce-ordering select {
  background: var(--wc-cream);
  border: 1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  color: var(--wc-text);
  font-family: 'Didact Gothic', sans-serif;
  font-size: 13px;
  padding: 10px 16px;
  cursor: pointer;
}

/* Product thumbnails */
ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Playfair Display', serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--wc-text);
  line-height: 1.3;
  padding: 0;
  margin-bottom: 8px;
}

ul.products li.product .price {
  color: var(--wc-muted);
  font-size: 14px;
}
ul.products li.product .price ins {
  color: var(--wc-primary);
  text-decoration: none;
  font-weight: 600;
}
ul.products li.product .price del { opacity: 0.5; }

/* Add to cart from archive */
ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--wc-primary);
  color: #fff;
  border: none;
  border-radius: var(--wc-radius);
  font-family: 'Didact Gothic', sans-serif;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 12px 24px;
  transition: background 0.25s ease;
  cursor: pointer;
}
ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--wc-primary-h);
  color: #fff;
}

/* Sale badge */
ul.products li.product .onsale,
.woocommerce span.onsale {
  background: var(--wc-primary);
  color: #fff;
  border-radius: 0;
  font-family: 'Didact Gothic', sans-serif;
  font-size: 12px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  min-width: unset;
  min-height: unset;
  line-height: 1;
  padding: 6px 12px;
  top: 12px;
  left: 12px;
}

/* Product images */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  border: 1px solid var(--wc-border);
}

/* ─── SINGLE PRODUCT ─── */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin-bottom: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-radius: 0;
  border: 1px solid var(--wc-border);
  background: var(--wc-cream);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--wc-bg);
  border-bottom-color: var(--wc-bg);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: 'Didact Gothic', sans-serif;
  font-size: 13px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--wc-muted);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--wc-text); }

.woocommerce div.product .woocommerce-tabs .panel {
  border: 1px solid var(--wc-border);
  border-top: none;
  padding: 32px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--wc-muted);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--wc-text);
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 400;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  color: var(--wc-primary);
}

/* Product title */
.woocommerce div.product .product_title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 400;
  color: var(--wc-text);
  line-height: 1.1;
  margin-bottom: 16px;
}

/* Add to cart button (single product) */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--wc-primary) !important;
  color: #fff !important;
  border-radius: var(--wc-radius) !important;
  font-family: 'Didact Gothic', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 16px 40px !important;
  border: none !important;
  transition: background 0.25s ease !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--wc-primary-h) !important;
}

/* Quantity input */
.woocommerce div.product form.cart .quantity input {
  border: 1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  font-family: 'Didact Gothic', sans-serif;
  font-size: 15px;
  color: var(--wc-text);
  background: var(--wc-cream);
  text-align: center;
  padding: 14px 8px;
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
  font-size: 13px;
  color: var(--wc-muted);
  background: var(--wc-bg);
  padding: 14px 0;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--wc-muted);
  text-decoration: none;
}
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--wc-primary); }

/* Related products */
.related.products > h2,
.upsells.products > h2 {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  font-weight: 400;
  color: var(--wc-text);
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--wc-border);
}

/* ─── CART ─── */
.woocommerce-cart h1 {
  font-family: 'Playfair Display', serif;
  font-size: 42px;
  font-weight: 400;
  color: var(--wc-text);
}

.woocommerce table.shop_table {
  border: 1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  border-collapse: separate;
}
.woocommerce table.shop_table th {
  font-family: 'Didact Gothic', sans-serif;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wc-muted);
  background: var(--wc-cream);
  border-bottom: 1px solid var(--wc-border);
  font-weight: 400;
}
.woocommerce table.shop_table td {
  border-top: 1px solid var(--wc-border);
  color: var(--wc-text);
  vertical-align: middle;
}
.woocommerce table.shop_table .product-name a {
  font-family: 'Playfair Display', serif;
  font-size: 17px;
  color: var(--wc-text);
  font-weight: 400;
}
.woocommerce table.shop_table .product-name a:hover { color: var(--wc-primary); }

.woocommerce .cart-collaterals .cart_totals h2 {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 400;
  color: var(--wc-text);
  margin-bottom: 24px;
}

.woocommerce .cart-collaterals .cart_totals table {
  border: 1px solid var(--wc-border);
}

.woocommerce a.button.wc-forward,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--wc-primary) !important;
  color: #fff !important;
  font-family: 'Didact Gothic', sans-serif !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  border-radius: var(--wc-radius) !important;
  padding: 16px 40px !important;
  border: none !important;
  display: inline-block !important;
  transition: background 0.25s !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--wc-primary-h) !important;
}

/* ─── CHECKOUT ─── */
.woocommerce-checkout h1,
.woocommerce-checkout h3 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  color: var(--wc-text);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  background: var(--wc-cream);
  border: 1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  color: var(--wc-text);
  font-family: 'Didact Gothic', sans-serif;
  font-size: 14px;
  padding: 13px 16px;
  transition: border-color 0.25s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--wc-primary);
  outline: none;
  box-shadow: none;
}

.woocommerce form .form-row label {
  font-family: 'Didact Gothic', sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wc-muted);
  margin-bottom: 6px;
}

.woocommerce #payment #place_order,
.woocommerce-checkout #payment #place_order {
  background: var(--wc-primary) !important;
  border: none !important;
  border-radius: var(--wc-radius) !important;
  font-family: 'Didact Gothic', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  padding: 18px 48px !important;
  transition: background 0.25s !important;
}
.woocommerce #payment #place_order:hover { background: var(--wc-primary-h) !important; }

.woocommerce #payment div.payment_box {
  background: var(--wc-cream);
  border-radius: var(--wc-radius);
}
.woocommerce #payment ul.payment_methods {
  border: 1px solid var(--wc-border);
}
.woocommerce #payment ul.payment_methods li {
  font-family: 'Didact Gothic', sans-serif;
  font-size: 14px;
  color: var(--wc-text);
}

/* ─── MY ACCOUNT ─── */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  border: 1px solid var(--wc-border);
  background: var(--wc-cream);
}
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 14px 20px;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wc-muted);
  text-decoration: none;
  border-bottom: 1px solid var(--wc-border);
  transition: color 0.25s, background 0.25s;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--wc-primary);
  background: rgba(156,78,40,0.04);
}
.woocommerce-MyAccount-navigation ul li:last-child a { border-bottom: none; }

.woocommerce-account h2 {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 400;
  color: var(--wc-text);
  margin-bottom: 24px;
}

/* ─── NOTICES ─── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--wc-radius);
  font-family: 'Didact Gothic', sans-serif;
  font-size: 14px;
}
.woocommerce-message {
  border-top-color: var(--wc-primary);
  background: var(--wc-cream);
  color: var(--wc-text);
}
.woocommerce-message a.button,
.woocommerce-info a.button {
  background: var(--wc-primary) !important;
  color: #fff !important;
}

/* ─── STAR RATINGS ─── */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--wc-primary);
}

/* ─── PAGINATION ─── */
.woocommerce nav.woocommerce-pagination ul {
  border: 1px solid var(--wc-border);
  border-radius: var(--wc-radius);
  overflow: hidden;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family: 'Didact Gothic', sans-serif;
  font-size: 14px;
  color: var(--wc-muted);
  border-right: 1px solid var(--wc-border);
  background: none;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--wc-cream);
  color: var(--wc-primary);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--wc-primary);
  color: #fff;
}

/* ─── RESPONSIVE SHOP ─── */
@media (max-width: 768px) {
  .woocommerce ul.products[class*=columns-] {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 480px) {
  .woocommerce ul.products[class*=columns-] {
    grid-template-columns: 1fr !important;
  }
}

/* ─── SHOP / ARCHIVE PAGE ─────────────────────────────────── */
.wc-archive {
    background: var(--warm-white, #FDFAF5);
    min-height: 60vh;
}

.wc-archive-header {
    background: var(--cream, #F7F3EC);
    padding: 72px var(--gutter, 32px) 56px;
    text-align: center;
    border-bottom: 1px solid rgba(156, 78, 40, 0.1);
}

.wc-archive-header .section-eyebrow {
    justify-content: center;
    margin-bottom: 16px;
}

.wc-archive-title {
    font-size: clamp(36px, 5vw, 64px);
    margin: 0;
}

.wc-archive-desc {
    margin: 20px auto 0;
    max-width: 560px;
    color: var(--text-muted, #6A5448);
    font-size: 16px;
    line-height: 1.8;
}

.wc-archive-body {
    padding-top: 60px;
    padding-bottom: 120px;
}

/* WooCommerce result count & ordering bar */
.woocommerce-result-count {
    font-family: 'Didact Gothic', sans-serif;
    font-size: 13px;
    color: var(--text-muted);
    letter-spacing: 0.05em;
    margin-bottom: 0;
}

.woocommerce-ordering {
    margin-bottom: 0;
}

.woocommerce-ordering select {
    font-family: 'Didact Gothic', sans-serif;
    font-size: 13px;
    border: 1px solid rgba(92, 64, 51, 0.25);
    background: transparent;
    color: var(--text);
    padding: 8px 12px;
    border-radius: 2px;
    cursor: pointer;
}

/* Sorting bar row */
.woocommerce-products-header + .woocommerce-result-count,
.woocommerce ul.products ~ .woocommerce-result-count {
    display: block;
}

/* No products found */
.woocommerce-info {
    background: var(--cream);
    border-top-color: var(--terracotta);
    font-family: 'Didact Gothic', sans-serif;
    color: var(--text-muted);
}

.woocommerce-info::before {
    color: var(--terracotta);
}

/* ─── SINGLE PRODUCT PAGE ─────────────────────────────────── */
.wc-single {
    background: var(--warm-white, #FDFAF5);
    min-height: 60vh;
}

.wc-single-container {
    padding-top: 48px;
    padding-bottom: 120px;
}

/* Express payment buttons — tone them down */
.wc-block-components-payment-request-button-container,
.woocommerce-product-page .wc-stripe-product-checkout-notice {
    max-width: 400px;
}

/* ─── FORMINATOR — NEWSLETTER FOOTER FORM ────────────────── */

/* Constrain the form to a sensible width and centre it */
.newsletter .forminator-ui,
.newsletter .forminator-custom-form {
    max-width: 420px !important;
    margin: 0 auto !important;
}

/* Hide Forminator's own row/column wrappers that cause full-width stretching */
.newsletter .forminator-row,
.newsletter .forminator-col {
    padding: 0 !important;
}

/* Label colour — make it visible on the dark background */
.newsletter .forminator-label,
.newsletter .forminator-field--label,
.newsletter label {
    color: rgba(247, 243, 236, 0.7) !important;
    font-family: 'Didact Gothic', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

/* Input field */
.newsletter .forminator-input,
.newsletter input[type="email"],
.newsletter input[type="text"] {
    background: rgba(247, 243, 236, 0.08) !important;
    border: 1px solid rgba(247, 243, 236, 0.25) !important;
    color: #F7F3EC !important;
    font-family: 'Didact Gothic', sans-serif !important;
    font-size: 14px !important;
    padding: 14px 18px !important;
    border-radius: 2px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.newsletter .forminator-input::placeholder,
.newsletter input[type="email"]::placeholder {
    color: rgba(247, 243, 236, 0.35) !important;
}

.newsletter .forminator-input:focus,
.newsletter input[type="email"]:focus {
    border-color: rgba(247, 243, 236, 0.6) !important;
    outline: none !important;
    background: rgba(247, 243, 236, 0.12) !important;
}

/* Submit button */
.newsletter .forminator-btn,
.newsletter button[type="submit"] {
    background: #F7F3EC !important;
    color: var(--brown-2, #3D2A1E) !important;
    border: none !important;
    font-family: 'Didact Gothic', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    border-radius: 2px !important;
    margin-top: 12px !important;
    width: 100% !important;
    transition: background 0.25s, color 0.25s !important;
}

.newsletter .forminator-btn:hover,
.newsletter button[type="submit"]:hover {
    background: #9C4E28 !important;
    color: #F7F3EC !important;
}

/* Success / error messages */
.newsletter .forminator-response-output {
    color: rgba(247, 243, 236, 0.8) !important;
    font-family: 'Didact Gothic', sans-serif !important;
    font-size: 13px !important;
    text-align: center !important;
    margin-top: 12px !important;
}
