/* ============================================================
   Thrillhouse Design Tokens v2.1.0
   (v2.1: content-table styling scoped to posts/products only)
   ============================================================ */

/* ---- Colors ---- */
:root {
  --th-navy: #122361;
  --th-navy-700: #0D1A47;
  --th-blue: #344CA3;
  --th-blue-100: #E9EDF8;
  --th-orange: #F48635;
  --th-orange-700: #D96F1F;
  --th-bg: #F7F7F5;
  --th-surface: #FFFFFF;
  --th-border: #E7E5E0;
  --th-border-strong: #D2CFC7;
  --th-text: #1C1C1E;
  --th-text-muted: #55555A;
  --th-text-on-navy: #FFFFFF;
  --th-text-on-orange: #241000;
  --th-success: #1F8A4C;
  --th-success-bg: #E8F5EC;
  --th-danger: #C23A2E;
  --th-danger-bg: #FBEAE8;
  --th-warning: #B9761F;
  --th-warning-bg: #FBF0E1;
  /* Typography */
  --th-font-display: "Jost", "Poppins", "Segoe UI", sans-serif;
  --th-font-body: "Montserrat", "Segoe UI", Arial, sans-serif;
  --th-fs-h1: 52px;
  --th-fs-h2: 36px;
  --th-lh-body: 1.55;
  /* Spacing / radius / elevation */
  --th-radius-sm: 6px; --th-radius-md: 10px; --th-radius-lg: 16px; --th-radius-pill: 999px;
  --th-shadow-card: 0 10px 30px rgba(13,26,71,0.10);
  --th-shadow-soft: 0 4px 18px rgba(13,26,71,0.06);
  --th-ease: cubic-bezier(.2,.7,.2,1);
  --th-maxw: 1280px;
}

/* ---- Baseline: fonts win everywhere ---- */
body { font-family: var(--th-font-body) !important; color: var(--th-text); }
h1, h2, h3, h4, h5, h6 { font-family: var(--th-font-display) !important; }
h1, h2, h3, h4, h5, h6 { color: var(--th-navy); }
button, input, select, textarea { font-family: var(--th-font-body); }
.elementor-heading-title { font-family: var(--th-font-display) !important; }

/* ---- Global link + selection baseline ---- */
a:not([class]) { color: var(--th-blue); text-decoration-color: var(--th-blue-100); text-underline-offset: 3px; transition: color .15s; }
a:not([class]):hover { color: var(--th-orange-700); }
::selection { background: var(--th-blue-100); color: var(--th-navy); }

/* ---- Shared responsive utilities ---- */
.th-secpad { padding: 68px 24px; }
@media (max-width: 760px) {
  .th-secpad { padding: 40px 16px !important; }
  .th-h2 { font-size: 25px !important; }
  .th-g3, .th-g5 { grid-template-columns: 1fr !important; }
  .th-g4 { grid-template-columns: 1fr 1fr !important; }
  .th-g2 { grid-template-columns: 1fr !important; }
  .th-hero { grid-template-columns: 1fr !important; gap: 26px !important; padding: 26px 16px 34px !important; }
  .th-heroh1 { font-size: 31px !important; }
}

/* ---- Content buttons (block editor / classic) ---- */
.page-content .wp-block-button__link,
.page-content .wp-element-button,
.page-content a.button:not(.add_to_cart_button):not(.checkout-button),
.entry-content .wp-block-button__link,
.entry-content .wp-element-button {
  background: var(--th-orange) !important;
  color: var(--th-text-on-orange) !important;
  font-family: var(--th-font-body) !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 13px 28px !important;
  display: inline-flex !important;
  width: auto !important;
  text-decoration: none !important;
  transition: background .15s;
}
.page-content .wp-block-button__link:hover,
.page-content .wp-element-button:hover,
.entry-content .wp-block-button__link:hover,
.entry-content .wp-element-button:hover { background: var(--th-orange-700) !important; }
.page-content .wp-block-button,
.entry-content .wp-block-button,
.page-content .wp-block-button.has-custom-width,
.page-content .wp-block-button__width-100 { width: auto !important; }
.page-content .wp-block-buttons { justify-content: center; }

/* ---- Long-form content tables ONLY (posts + product descriptions),
        never designed embeds on regular pages ---- */
.single-post .page-content table,
.single-post .entry-content table,
.single-product .woocommerce-Tabs-panel table,
.single-product .woocommerce-product-details__short-description table {
  border-collapse: separate; border-spacing: 0;
  border: 1px solid var(--th-border); border-radius: 14px; overflow: hidden;
  width: 100%; font-family: var(--th-font-body); font-size: 13.5px;
}
.single-post .page-content table th, .single-post .page-content table td,
.single-post .entry-content table th, .single-post .entry-content table td,
.single-product .woocommerce-Tabs-panel table th, .single-product .woocommerce-Tabs-panel table td {
  padding: 12px 14px; border-bottom: 1px solid var(--th-border); vertical-align: top;
}
.single-post .page-content table tr:last-child td,
.single-post .entry-content table tr:last-child td,
.single-product .woocommerce-Tabs-panel table tr:last-child td { border-bottom: none; }
.single-post .page-content table tr:nth-child(even) td,
.single-post .entry-content table tr:nth-child(even) td,
.single-product .woocommerce-Tabs-panel table tr:nth-child(even) td { background: var(--th-bg); }

/* ---- Content figures ---- */
.single-post .page-content figure, .entry-content figure { margin: 18px 0; }
.single-post .page-content figcaption, .entry-content figcaption { font-size: 12px; color: var(--th-text-muted); text-align: center; margin-top: 6px; }
