/* Tamteer v3 — unified visual system */
:root {
  --tt-max: 1440px;
  --tt-gutter: 40px;
  --tt-bg: #FAF8F4;
  --tt-surface: #F1EEE7;
  --tt-white: #FFFFFF;
  --tt-ink: #14171A;
  --tt-copy: #5C584D;
  --tt-muted: #8A8577;
  --tt-gold: #A9762F;
  --tt-gold-soft: #EADFC5;
  --tt-line: #E5E1D8;
  --tt-line-dark: #D6D1C4;
  --tt-radius: 16px;
  --tt-radius-sm: 10px;
  --tt-shadow: 0 10px 30px rgba(20,23,26,.055);
}

html, body { background: var(--tt-bg); }
body, button, input, select, textarea { font-family: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif; color: var(--tt-ink); }
h1,h2,h3,h4,h5,h6,.page-title,.woocommerce-loop-product__title { font-family: 'Plus Jakarta Sans', sans-serif; color: var(--tt-ink); }

/* One exact horizontal grid: header/footer content edges = 40px inside a 1440px shell. */
.tamteer-header-main,
.tamteer-navigation,
.tamteer-footer-grid,
.tamteer-footer-bottom,
.tamteer-store-shell,
.tamteer-store-shell > .woocommerce,
.site-main > .woocommerce,
.site-main > .tamteer-store-shell {
  width: min(100%, var(--tt-max));
  max-width: var(--tt-max);
  margin-left: auto !important;
  margin-right: auto !important;
}
.tamteer-header-main, .tamteer-navigation, .tamteer-footer-grid, .tamteer-footer-bottom, .tamteer-store-shell { box-sizing: border-box; }
.tamteer-store-shell { padding: 0 var(--tt-gutter) 76px; }

/* Keep all storefront content aligned to the same inner edge. */
.woocommerce .site-main,
.woocommerce-page .site-main { background: var(--tt-bg); }
.woocommerce .woocommerce-breadcrumb { display: none !important; }

/* Banner */
.tamteer-page-banner {
  margin: 0 0 18px;
  min-height: 248px;
  padding: 38px 42px 34px;
  border: 1px solid var(--tt-line);
  border-radius: 20px;
  background: linear-gradient(135deg, #F1EEE7 0%, #FAF8F4 62%, #EADFC5 100%);
  box-shadow: var(--tt-shadow);
  overflow: hidden;
}
.tamteer-page-banner__content { max-width: 820px; }
.tamteer-page-banner h1 { margin: 0; font-size: clamp(30px, 4vw, 50px); line-height: 1.08; letter-spacing: -.04em; }
.tamteer-page-banner p { margin: 12px 0 0; max-width: 680px; color: var(--tt-copy); font-size: 14px; line-height: 1.7; }
.tamteer-page-banner .tamteer-eyebrow { margin-bottom: 10px; color: var(--tt-gold); }
.tamteer-banner-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:18px; font-size:12px; color:var(--tt-muted); }
.tamteer-banner-breadcrumb a { color:var(--tt-copy); text-decoration:none; font-weight:700; }
.tamteer-banner-breadcrumb a:hover { color:var(--tt-gold); }
.tamteer-banner-breadcrumb .current { color:var(--tt-muted); }

/* Woo page rhythm */
.woocommerce .woocommerce-products-header { margin: 0 0 22px; }
.woocommerce .woocommerce-products-header__title,
.woocommerce .page-title { margin:0; font-size:30px; line-height:1.15; letter-spacing:-.035em; }
.woocommerce .term-description { margin-top:8px; color:var(--tt-copy); font-size:14px; line-height:1.7; max-width:780px; }
.woocommerce .woocommerce-result-count { margin:10px 0 0; color:var(--tt-muted); font-size:12px; }
.woocommerce .woocommerce-ordering { margin:0; }
.woocommerce .woocommerce-ordering select { min-height:42px; border:1px solid var(--tt-line); border-radius:10px; padding:0 38px 0 13px; background:#fff; color:var(--tt-ink); font-size:12px; }

/* Filters */
.tamteer-product-filters { margin:0 0 28px; padding:20px; border:1px solid var(--tt-line); border-radius:18px; background:rgba(255,255,255,.78); box-shadow:var(--tt-shadow); }
.tamteer-filter-grid { grid-template-columns:1.2fr 1.15fr repeat(3,1fr); gap:12px; }
.tamteer-product-filters select,.tamteer-product-filters input { height:44px; border-color:var(--tt-line); border-radius:10px; padding-left:12px; padding-right:12px; outline:none; }
.tamteer-product-filters select:focus,.tamteer-product-filters input:focus { border-color:var(--tt-gold); box-shadow:0 0 0 3px rgba(169,118,47,.10); }
.tamteer-filter-actions .button { background:var(--tt-ink); color:#fff; border:0; }
.tamteer-filter-actions .button:hover { background:var(--tt-gold); color:#fff; }

/* Product grids */
.woocommerce ul.products { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; margin:0 0 36px !important; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none !important; }
.woocommerce ul.products li.product { width:auto !important; float:none !important; margin:0 !important; padding:0 0 17px; overflow:hidden; border:1px solid var(--tt-line); border-radius:16px; background:#fff; box-shadow:0 4px 14px rgba(20,23,26,.025); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-3px); border-color:#DDD6C8; box-shadow:0 16px 34px rgba(20,23,26,.085); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display:block; }
.woocommerce ul.products li.product img { width:100%; aspect-ratio:1/1; object-fit:cover; margin:0 !important; border-radius:0; background:var(--tt-surface); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin:15px 16px 6px !important; padding:0; min-height:0; font-size:14px; line-height:1.4; font-weight:800; }
.woocommerce ul.products li.product .price { margin:0 16px 11px !important; color:var(--tt-gold); font-size:15px; font-weight:800; }
.woocommerce ul.products li.product .star-rating { margin:0 16px 10px !important; font-size:11px; }
.woocommerce ul.products li.product .button { display:block; width:calc(100% - 32px); margin:12px 16px 0 !important; padding:11px 14px; border-radius:10px; background:var(--tt-ink); color:#fff; text-align:center; font-size:12px; font-weight:800; }
.woocommerce ul.products li.product .button:hover { background:var(--tt-gold); color:#fff; }
.woocommerce span.onsale { top:12px !important; left:12px !important; right:auto !important; min-width:0; min-height:0; padding:7px 10px !important; border-radius:999px; background:var(--tt-gold); color:#fff; font-size:10px; font-weight:800; line-height:1; }

/* Single product */
.single-product div.product { grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); gap:48px; align-items:start; }
.single-product div.product div.images { padding:14px; border-radius:20px; box-shadow:var(--tt-shadow); }
.single-product div.product .summary { padding:10px 0 0; }
.single-product .product_title { margin:0 0 10px; font-size:clamp(30px,4vw,44px); line-height:1.08; letter-spacing:-.04em; }
.single-product div.product .price { color:var(--tt-gold); font-size:22px; font-weight:800; margin:12px 0 18px; }
.single-product div.product .woocommerce-product-details__short-description { color:var(--tt-copy); font-size:14px; line-height:1.8; }
.single-product div.product form.cart { padding:18px 0 0; margin-top:8px; border-top:1px solid var(--tt-line); }
.single-product div.product form.cart .quantity input { min-height:48px; border:1px solid var(--tt-line); border-radius:10px; }
.single-product div.product form.cart .button { min-height:48px; border-radius:10px; background:var(--tt-ink); font-weight:800; }
.single-product div.product form.cart .button:hover { background:var(--tt-gold); }
.single-product .woocommerce-tabs { margin-top:50px; padding-top:28px; border-top:1px solid var(--tt-line); }
.single-product .woocommerce-tabs ul.tabs { padding:0; margin:0 0 24px; display:flex; gap:7px; }
.single-product .woocommerce-tabs ul.tabs::before,.single-product .woocommerce-tabs ul.tabs::after { display:none; }
.single-product .woocommerce-tabs ul.tabs li { margin:0 !important; border:1px solid var(--tt-line) !important; border-radius:999px !important; background:#fff !important; padding:0 !important; }
.single-product .woocommerce-tabs ul.tabs li.active { background:var(--tt-gold-soft) !important; border-color:#D6C49E !important; }
.single-product .woocommerce-tabs ul.tabs li a { display:block; padding:10px 15px !important; font-size:12px; font-weight:800; color:var(--tt-ink); }

/* Swatches: persistent independent selection UI. */
.single-product div.product table.variations { display:none !important; }
.tamteer-variation-options { gap:22px; margin:4px 0 24px; }
.tamteer-variation-row { padding:0 0 20px; border-bottom:1px solid var(--tt-line); }
.tamteer-swatch-list { gap:9px; }
.tamteer-swatch { min-width:52px; min-height:42px; padding:9px 14px; border:1px solid var(--tt-line-dark); border-radius:10px; background:#fff; color:var(--tt-copy); box-shadow:none; }
.tamteer-swatch:hover { border-color:var(--tt-gold); background:#FFFCF7; transform:none; }
.tamteer-swatch.is-selected { border-color:var(--tt-gold) !important; background:var(--tt-gold-soft) !important; color:var(--tt-ink); box-shadow:0 0 0 2px rgba(169,118,47,.10); }
.tamteer-color-swatch.is-selected { box-shadow:0 0 0 2px #fff,0 0 0 4px var(--tt-gold) !important; background:#fff !important; }
.tamteer-swatch:disabled { opacity:.45; cursor:not-allowed; }
.tamteer-selected-value { min-height:18px; }

/* Cart, checkout, account */
.woocommerce-cart .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout #customer_details,.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content { border:1px solid var(--tt-line); border-radius:16px; background:#fff; box-shadow:var(--tt-shadow); }
.woocommerce-account .woocommerce-MyAccount-navigation { padding:10px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { box-shadow:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { border-radius:10px; color:var(--tt-copy); font-weight:700; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background:var(--tt-gold-soft); color:var(--tt-ink); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select { min-height:46px; border:1px solid var(--tt-line); border-radius:10px; background:#fff; }
.woocommerce form .form-row input:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus { border-color:var(--tt-gold); box-shadow:0 0 0 3px rgba(169,118,47,.10); outline:none; }
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button { border-radius:10px; background:var(--tt-ink); color:#fff; font-weight:800; }
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover { background:var(--tt-gold); color:#fff; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { border:1px solid var(--tt-line); border-top:3px solid var(--tt-gold); border-radius:12px; background:#fff; color:var(--tt-copy); box-shadow:0 5px 18px rgba(20,23,26,.035); }

/* Journal */
.tamteer-blog { padding-top:0; }
.tamteer-blog-grid { gap:22px; }
.tamteer-post-card { border-radius:16px; box-shadow:0 5px 18px rgba(20,23,26,.035); }
.tamteer-post-card__body { padding:21px; }
.tamteer-post-card h2 { font-size:18px; line-height:1.35; }
.tamteer-post-card h2 a,.tamteer-article__header h1 { color:var(--tt-ink); }
.tamteer-post-card p { color:var(--tt-copy); line-height:1.7; }
.tamteer-article__layout { gap:52px; }
.tamteer-article__content { color:var(--tt-copy); font-size:15px; line-height:1.9; }
.tamteer-article__content h2,.tamteer-article__content h3,.tamteer-article__content h4 { color:var(--tt-ink); }
.tamteer-article__content a { color:var(--tt-gold); font-weight:700; }
.tamteer-article__content blockquote { margin:28px 0; padding:18px 22px; border-left:3px solid var(--tt-gold); border-radius:0 12px 12px 0; background:var(--tt-surface); color:var(--tt-ink); }

@media (max-width:1100px) {
  .woocommerce ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .tamteer-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:820px) {
  :root { --tt-gutter:24px; }
  .tamteer-page-banner { min-height:220px; padding:30px 28px; }
  .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tamteer-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .single-product div.product { grid-template-columns:1fr; gap:30px; }
}
@media (max-width:560px) {
  :root { --tt-gutter:16px; }
  .tamteer-store-shell { padding-bottom:54px; }
  .tamteer-page-banner { min-height:190px; margin-bottom:14px; padding:24px 20px; border-radius:15px; }
  .tamteer-page-banner h1 { font-size:30px; }
  .tamteer-page-banner p { font-size:13px; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { margin-left:12px !important; margin-right:12px !important; font-size:13px; }
  .woocommerce ul.products li.product .price { margin-left:12px !important; margin-right:12px !important; font-size:14px; }
  .woocommerce ul.products li.product .button { width:calc(100% - 24px); margin-left:12px !important; margin-right:12px !important; }
  .tamteer-filter-grid { grid-template-columns:1fr; }
  .tamteer-filter-head { margin-bottom:0; }
  .tamteer-filter-toggle { display:inline-flex; min-height:40px; align-items:center; padding:0 13px; border:1px solid var(--tt-line); border-radius:9px; background:#fff; color:var(--tt-ink); font-weight:800; }
  .tamteer-product-filters:not(.is-open) .tamteer-filter-grid,.tamteer-product-filters:not(.is-open) .tamteer-filter-actions { display:none; }
}
