/*
Theme Name: Jauntily Macabre
Theme URI: https://jauntilymacabre.com
Description: Child theme of Twenty Twenty-Five for the Jauntily Macabre WooCommerce shop. Matches the storefront tokens.
Author: Jauntily Macabre
Template: twentytwentyfive
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: jauntily
*/

:root {
  --jm-ink: #14100e;
  --jm-paper: #efe6d5;
  --jm-paper-2: #e7dcc7;
  --jm-cream: #f4ecdc;
  --jm-oxblood: #5e1c22;
  --jm-oxblood-2: #7a2630;
  --jm-rust: #a83a2c;
  --jm-gold: #b9985c;
  --jm-gold-2: #8f7340;
  --jm-muted: #6d6157;
  --jm-rule: rgba(20, 16, 14, .16);
  --jm-display: "Playfair Display", Georgia, serif;
  --jm-body: "Source Sans 3", "Segoe UI", Arial, sans-serif;
}

body { background: var(--jm-paper); color: var(--jm-ink); font-family: var(--jm-body); }
h1, h2, h3, h4, .wp-block-post-title, .wc-block-components-title, .wc-block-components-checkout-step__title, .woocommerce-loop-product__title {
  font-family: var(--jm-display) !important; text-transform: uppercase; letter-spacing: .04em; font-weight: 700;
}
a { color: var(--jm-oxblood); }

/* ---- Header / footer bars ---- */
.jm-header { background: var(--jm-ink); color: var(--jm-cream); padding: 14px 0 !important; }
.jm-header a { color: var(--jm-cream); text-decoration: none; }
.jm-wordmark { font-family: var(--jm-display); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; line-height: 1; font-size: 15px; margin: 0; }
.jm-nav { margin: 0; display: flex; gap: 22px; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.jm-nav a { opacity: .92; }
.jm-nav a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.jm-footer { background: var(--jm-ink); color: rgba(244,236,220,.75); padding: 22px 0 !important; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.jm-footer a { color: rgba(244,236,220,.85); text-decoration: none; }
.jm-footer a:hover { color: var(--jm-cream); text-decoration: underline; text-underline-offset: 3px; }

/* ---- Buttons ---- */
.wc-block-components-button, .wp-block-button__link, button.button, a.button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .single_add_to_cart_button {
  background: var(--jm-oxblood) !important; color: var(--jm-cream) !important; border: 1px solid #3f1015 !important; border-radius: 2px !important;
  font-family: var(--jm-body) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .16em !important; text-transform: uppercase !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.25) !important;
}
.wc-block-components-button:hover, .wp-block-button__link:hover, button.button:hover, a.button:hover { background: var(--jm-oxblood-2) !important; }

/* ---- Cart / checkout blocks ---- */
.wc-block-cart, .wc-block-checkout { font-family: var(--jm-body); }
.wc-block-components-sidebar, .wc-block-cart__sidebar, .wc-block-components-order-summary, .wc-block-checkout__sidebar {
  background: linear-gradient(180deg, var(--jm-paper-2), var(--jm-paper) 60%, var(--jm-paper-2));
  border: 1px solid rgba(20,16,14,.22); box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); padding: 18px;
}
.wc-block-cart-items__row, .wc-block-components-order-summary-item { border-color: var(--jm-rule) !important; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border: 1px solid rgba(20,16,14,.3); }
.wc-block-components-text-input input, .wc-block-components-textarea, .wc-block-components-select select, .wc-block-components-combobox-control input {
  background: var(--jm-cream) !important; border-color: rgba(20,16,14,.35) !important; border-radius: 2px !important; color: var(--jm-ink) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--jm-display); }
.wc-block-components-product-name, .wc-block-components-product-name a { color: var(--jm-ink); font-weight: 700; text-decoration: none; }
.wc-block-components-notice-banner.is-success { border-color: var(--jm-gold-2); }
.wc-block-components-notice-banner.is-error { border-color: var(--jm-rust); }

/* ---- Shop archive (rarely seen; storefront links straight to cart) ---- */
.wc-block-grid__product, .products .product { text-align: center; }
.wc-block-grid__product-image img, .products .product img { border: 1px solid rgba(20,16,14,.25); box-shadow: 0 2px 4px rgba(20,16,14,.18), 0 10px 22px -8px rgba(20,16,14,.35); }
.price, .wc-block-grid__product-price, .woocommerce-Price-amount { color: var(--jm-ink); font-weight: 600; }
.onsale { background: var(--jm-oxblood) !important; color: var(--jm-cream) !important; }

/* ---- Return-to-shop notices ---- */
.wc-block-cart__empty-cart__title { font-family: var(--jm-display); text-transform: uppercase; }
