/* Tamteer visual refinement layer — WooCommerce + Journal */
:root {
  --tamteer-container: 1440px;
  --tamteer-gutter: 40px;
  --tamteer-bg: #FAF8F4;
  --tamteer-surface: #F1EEE7;
  --tamteer-white: #FFFFFF;
  --tamteer-ink: #14171A;
  --tamteer-copy: #5C584D;
  --tamteer-muted: #8A8577;
  --tamteer-gold: #A9762F;
  --tamteer-gold-light: #C9A85E;
  --tamteer-line: #E5E1D8;
  --tamteer-line-strong: #D6D1C4;
}

/* One alignment system shared by header, footer, WooCommerce and Journal. */
.tamteer-header-main,
.tamteer-navigation,
.tamteer-footer-grid,
.tamteer-footer-bottom,
.tamteer-store-shell {
  max-width: var(--tamteer-container);
}

body.woocommerce,
body.woocommerce-page,
body.blog,
body.archive,
body.single-post {
  background: var(--tamteer-bg);
}

/* Elegant page banner */
.tamteer-page-banner {
  position: relative;
  isolation: isolate;
  min-height: 220px;
  display: flex;
  align-items: center;
  overflow: hidden;
  margin: 0 0 22px;
  padding: 44px 48px;
  border: 1px solid rgba(229,225,216,.9);
  border-radius: 20px;
  background: linear-gradient(135deg, #F1EEE7 0%, #FAF8F4 58%, #EADFC5 100%);
  box-shadow: 0 12px 32px rgba(20,23,26,.05);
}
.tamteer-page-banner__glow {
  position: absolute;
  z-index: -1;
  width: 360px;
  height: 360px;
  right: -110px;
  top: -150px;
  border: 1px solid rgba(169,118,47,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(169,118,47,.035), 0 0 0 110px rgba(169,118,47,.025);
}
.tamteer-page-banner__content { max-width: 780px; }
.tamteer-eyebrow {
  display: block;
  margin-bottom: 9px;
  color: var(--tamteer-gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.3;
  text-transform: uppercase;
}
.tamteer-page-banner h1 {
  margin: 0;
  color: var(--tamteer-ink);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.08;
}
.tamteer-page-banner p {
  max-width: 680px;
  margin: 13px 0 0;
  color: var(--tamteer-copy);
  font-size: 14px;
  line-height: 1.7;
}
.woocommerce .woocommerce-breadcrumb,
.tamteer-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 0 30px;
  color: var(--tamteer-muted);
  font-size: 12px;
  line-height: 1.5;
}
.woocommerce .woocommerce-breadcrumb a,
.tamteer-breadcrumbs a { color: var(--tamteer-copy); text-decoration: none; font-weight: 700; }
.woocommerce .woocommerce-breadcrumb a:hover,
.tamteer-breadcrumbs a:hover { color: var(--tamteer-gold); }

/* Shop controls */
.woocommerce .woocommerce-products-header { margin-bottom: 26px; }
.woocommerce .woocommerce-products-header__title,
.woocommerce .page-title {
  letter-spacing: -.025em;
}
.tamteer-product-filters {
  margin: 0 0 30px;
  padding: 22px;
  border: 1px solid var(--tamteer-line);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 25px rgba(20,23,26,.035);
}
.tamteer-filter-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.tamteer-filter-head h2 { margin: 0; color: var(--tamteer-ink); font-family: 'Plus Jakarta Sans', sans-serif; font-size: 19px; letter-spacing: -.02em; }
.tamteer-filter-head .tamteer-eyebrow { margin-bottom: 3px; }
.tamteer-filter-toggle { display: none; }
.tamteer-filter-grid { display: grid; grid-template-columns: 1.3fr 1.25fr repeat(3, 1fr); gap: 12px; align-items: end; }
.tamteer-product-filters label,
.tamteer-price-fields { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.tamteer-product-filters label > span,
.tamteer-price-fields > span { color: var(--tamteer-copy); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.tamteer-product-filters select,
.tamteer-product-filters input {
  width: 100%; min-width: 0; height: 44px; box-sizing: border-box;
  border: 1px solid var(--tamteer-line); border-radius: 9px; background: #fff;
  color: var(--tamteer-ink); font: inherit; font-size: 13px;
}
.tamteer-price-fields > div { display: grid; grid-template-columns: 1fr auto 1fr; gap: 7px; align-items: center; }
.tamteer-price-fields b { color: var(--tamteer-muted); font-weight: 500; }
.tamteer-filter-actions { display: flex; align-items: center; gap: 15px; margin-top: 15px; }
.tamteer-filter-actions .button { min-height: 42px; padding: 10px 20px; border-radius: 9px; }
.tamteer-filter-actions a { color: var(--tamteer-muted); font-size: 12px; font-weight: 700; text-decoration: none; }
.tamteer-filter-actions a:hover { color: var(--tamteer-gold); }
.woocommerce .woocommerce-result-count { margin-top: 8px; }
.woocommerce .woocommerce-ordering { margin-top: 0; }

/* Product cards: closer to the five-card best-seller treatment in the mockup. */
.woocommerce ul.products { gap: 20px; }
.woocommerce ul.products li.product { border-radius: 16px; }
.woocommerce ul.products li.product .button { border-radius: 9px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 40px; }
.woocommerce ul.products li.product .price { letter-spacing: -.015em; }

/* Variable-product swatches */
.single-product div.product table.variations { display: none; }
.tamteer-variation-options { display: grid; gap: 20px; margin: 8px 0 22px; }
.tamteer-variation-row { padding-bottom: 19px; border-bottom: 1px solid var(--tamteer-line); }
.tamteer-variation-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.tamteer-variation-label > span:first-child { color: var(--tamteer-ink); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.tamteer-selected-value { color: var(--tamteer-muted); font-size: 12px; font-weight: 600; }
.tamteer-swatch-list { display: flex; flex-wrap: wrap; gap: 9px; }
.tamteer-swatch {
  position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 54px; min-height: 42px;
  padding: 9px 14px; border: 1px solid var(--tamteer-line-strong); border-radius: 9px; background: #fff;
  color: var(--tamteer-copy); cursor: pointer; font: inherit; transition: .18s ease;
}
.tamteer-swatch strong { font-size: 12px; font-weight: 700; }
.tamteer-swatch:hover { border-color: var(--tamteer-gold); color: var(--tamteer-ink); transform: translateY(-1px); }
.tamteer-swatch.is-selected { border-color: var(--tamteer-gold); background: #EADFC5; color: var(--tamteer-ink); box-shadow: 0 0 0 2px rgba(169,118,47,.12); }
.tamteer-swatch-list.is-color .tamteer-swatch { width: 42px; min-width: 42px; height: 42px; padding: 4px; border-radius: 50%; }
.tamteer-swatch-list.is-color .tamteer-swatch strong { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tamteer-color-swatch > span { display: block; width: 28px; height: 28px; border-radius: 50%; background: var(--swatch-color, #B7B2A2); border: 1px solid rgba(20,23,26,.12); }
.tamteer-color-swatch.is-selected { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--tamteer-gold); }
.tamteer-native-variation-select { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.single-product div.product form.cart { margin-top: 10px; }

/* Cart / checkout / account cards */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation ul { box-shadow: 0 8px 24px rgba(20,23,26,.035); }
.woocommerce table.shop_table { border-color: var(--tamteer-line); border-radius: 14px; overflow: hidden; background: #fff; }
.woocommerce table.shop_table th { background: var(--tamteer-surface); color: var(--tamteer-ink); }
.woocommerce table.shop_table td { border-color: var(--tamteer-line); }
.woocommerce .cart .button,
.woocommerce .checkout-button,
.woocommerce #place_order { border-radius: 9px; }

/* Journal */
.tamteer-blog-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 0 0 24px; }
.tamteer-blog-heading h2,
.tamteer-blog-heading h1 { margin: 0; color: var(--tamteer-ink); font-family: 'Plus Jakarta Sans', sans-serif; font-size: 26px; letter-spacing: -.025em; }
.tamteer-blog-count { color: var(--tamteer-muted); font-size: 12px; font-weight: 700; }
.tamteer-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tamteer-post-card { overflow: hidden; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--tamteer-line); border-radius: 16px; background: #fff; box-shadow: 0 8px 25px rgba(20,23,26,.025); transition: transform .2s ease, box-shadow .2s ease; }
.tamteer-post-card:hover { transform: translateY(-3px); box-shadow: 0 15px 32px rgba(20,23,26,.08); }
.tamteer-post-card__image { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--tamteer-surface); text-decoration: none; }
.tamteer-post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.tamteer-post-card:hover .tamteer-post-card__image img { transform: scale(1.025); }
.tamteer-post-placeholder { display: grid; width: 100%; height: 100%; place-items: center; padding: 30px; box-sizing: border-box; color: var(--tamteer-gold); font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 800; text-align: center; }
.tamteer-post-card__body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.tamteer-post-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: var(--tamteer-muted); font-size: 11px; font-weight: 700; }
.tamteer-post-meta span:first-child { color: var(--tamteer-gold); text-transform: uppercase; letter-spacing: .05em; }
.tamteer-post-card h2 { margin: 9px 0 9px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 19px; line-height: 1.3; }
.tamteer-post-card h2 a { color: var(--tamteer-ink); text-decoration: none; }
.tamteer-post-card p { margin: 0 0 18px; color: var(--tamteer-copy); font-size: 13px; line-height: 1.7; }
.tamteer-text-link { margin-top: auto; color: var(--tamteer-gold); font-size: 12px; font-weight: 800; text-decoration: none; }
.tamteer-text-link:hover { color: var(--tamteer-ink); }
.tamteer-blog-pagination { margin-top: 32px; }
.tamteer-blog-pagination ul { display: flex; justify-content: center; gap: 7px; margin: 0; padding: 0; list-style: none; }
.tamteer-blog-pagination a,
.tamteer-blog-pagination span { display: grid; min-width: 38px; height: 38px; padding: 0 8px; place-items: center; box-sizing: border-box; border: 1px solid var(--tamteer-line); border-radius: 8px; background: #fff; color: var(--tamteer-copy); font-size: 12px; font-weight: 700; text-decoration: none; }
.tamteer-blog-pagination .current,
.tamteer-blog-pagination a:hover { border-color: var(--tamteer-gold); background: var(--tamteer-gold); color: #fff; }
.tamteer-empty { padding: 55px 25px; border: 1px solid var(--tamteer-line); border-radius: 16px; background: #fff; text-align: center; }

/* Single article */
.tamteer-article { max-width: 1040px; margin: 0 auto; }
.tamteer-article__header { max-width: 860px; margin: 0 auto 30px; text-align: center; }
.tamteer-article__header h1 { margin: 11px 0 15px; color: var(--tamteer-ink); font-family: 'Plus Jakarta Sans', sans-serif; font-size: clamp(34px, 5vw, 58px); letter-spacing: -.04em; line-height: 1.08; }
.tamteer-article__intro { margin: 0; color: var(--tamteer-copy); font-size: 15px; line-height: 1.8; }
.tamteer-article__hero { margin: 0 0 38px; overflow: hidden; border: 1px solid var(--tamteer-line); border-radius: 20px; background: var(--tamteer-surface); }
.tamteer-article__hero img { display: block; width: 100%; height: auto; }
.tamteer-article__layout { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 50px; align-items: start; max-width: 900px; margin: 0 auto; }
.tamteer-article__content { color: var(--tamteer-copy); font-size: 15px; line-height: 1.85; }
.tamteer-article__content h2,
.tamteer-article__content h3,
.tamteer-article__content h4 { margin-top: 1.8em; color: var(--tamteer-ink); font-family: 'Plus Jakarta Sans', sans-serif; line-height: 1.3; }
.tamteer-article__content a { color: var(--tamteer-gold); }
.tamteer-article__content blockquote { margin: 28px 0; padding: 18px 22px; border-left: 3px solid var(--tamteer-gold); border-radius: 0 10px 10px 0; background: var(--tamteer-surface); color: var(--tamteer-ink); font-size: 17px; }
.tamteer-article__content img { max-width: 100%; height: auto; border-radius: 12px; }
.tamteer-article__aside > div { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 5px; padding: 18px; border: 1px solid var(--tamteer-line); border-radius: 13px; background: #fff; }
.tamteer-article__aside strong { color: var(--tamteer-ink); font-size: 13px; }
.tamteer-article__aside > div > span:last-child { color: var(--tamteer-muted); font-size: 11px; }
.tamteer-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 900px; margin: 48px auto 0; padding-top: 24px; border-top: 1px solid var(--tamteer-line); }
.tamteer-post-nav > div:last-child { text-align: right; }
.tamteer-post-nav a { color: var(--tamteer-copy); font-size: 12px; font-weight: 800; text-decoration: none; }
.tamteer-post-nav a:hover { color: var(--tamteer-gold); }

@media (max-width: 1100px) {
  .tamteer-filter-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .tamteer-blog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  :root { --tamteer-gutter: 24px; }
  .tamteer-page-banner { min-height: 185px; padding: 32px 25px; border-radius: 16px; }
  .tamteer-filter-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .tamteer-filter-head { margin-bottom: 0; }
  .tamteer-filter-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 13px; border: 1px solid var(--tamteer-line); border-radius: 8px; background: #fff; color: var(--tamteer-copy); font: inherit; font-size: 12px; font-weight: 800; }
  .tamteer-product-filters.is-collapsed .tamteer-filter-grid,
  .tamteer-product-filters.is-collapsed .tamteer-filter-actions { display: none; }
  .tamteer-product-filters.is-collapsed { padding-bottom: 18px; }
  .tamteer-blog-heading { align-items: start; }
  .tamteer-article__layout { grid-template-columns: 1fr; gap: 24px; }
  .tamteer-article__aside > div { position: static; }
}
@media (max-width: 560px) {
  .tamteer-page-banner { margin-bottom: 18px; padding: 27px 20px; }
  .tamteer-filter-grid { grid-template-columns: 1fr; }
  .tamteer-blog-grid { grid-template-columns: 1fr; }
  .tamteer-post-card__body { padding: 17px; }
  .tamteer-post-nav { grid-template-columns: 1fr; }
  .tamteer-post-nav > div:last-child { text-align: left; }
  .tamteer-article__hero { border-radius: 14px; }
}
