/*
Theme Name: JTWGCO Badger Business
Theme URI: https://www.jtwgco.com/
Author: JTW Goods Co.
Description: A professional-first, quirky-second full-site-editing theme for JTW Goods Co., WooCommerce, The Workshop, and the Honey Badger Approved brand system.
Version: 1.1.1
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: jtwgco-badger-business
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: block-patterns, full-site-editing, wide-blocks, e-commerce
*/

:root { --jtw-shadow: 0 18px 45px rgba(15,29,42,.11); }
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
a { text-underline-offset: .18em; }
.wp-site-blocks { overflow: hidden; }

.jtw-site-header { position: relative; z-index: 20; border-bottom: 1px solid rgba(255,255,255,.08); }
.jtw-main-nav .wp-block-navigation-item__content { text-decoration: none; }
.jtw-main-nav .wp-block-navigation-item__content:hover { color: #00F5D4 !important; }
.jtw-cart-link { border: 1px solid rgba(0,245,212,.5); border-radius: 999px; padding: .25rem .7rem; }

.jtw-pill { display:inline-flex; align-items:center; gap:.45rem; width:fit-content; padding:.45rem .78rem; border:1px solid rgba(0,245,212,.38); border-radius:999px; background:rgba(0,245,212,.08); font-size:.8rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.jtw-kicker, .jtw-card-label { font-size:.78rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.jtw-card-label { color:#65717c; }
.jtw-card p:not(.jtw-card-label) { color:#34414D !important; }
.jtw-card h2, .jtw-card h3, .jtw-card h4 { color:#0F1D2A !important; }

.jtw-card { transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; box-shadow:0 10px 30px rgba(15,29,42,.055); }
.jtw-card:hover { transform:translateY(-4px); box-shadow:var(--jtw-shadow); border-color:rgba(0,245,212,.78) !important; }
.jtw-category-card { min-height: 260px; }

.jtw-button .wp-block-button__link, .wp-element-button { transition:transform .15s ease, box-shadow .15s ease, background .15s ease; }
.jtw-button .wp-block-button__link:hover, .wp-element-button:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(0,245,212,.18); }

.jtw-hero { position:relative; isolation:isolate; }
.jtw-hero:before { content:""; position:absolute; z-index:-1; width:680px; height:680px; right:-260px; top:-110px; border-radius:50%; background:radial-gradient(circle,rgba(0,245,212,.14),rgba(0,245,212,0) 68%); pointer-events:none; }
.jtw-badge-panel { box-shadow:0 30px 70px rgba(0,0,0,.22); }
.jtw-logo-frame img { filter:drop-shadow(0 10px 24px rgba(0,245,212,.10)); }
.jtw-trust-strip { font-size:.88rem; }
.jtw-quote-panel { background:rgba(255,255,255,.035); }

.jtw-footer a { color:#fff; text-decoration:none; }
.jtw-footer a:hover { color:#00F5D4; }
.jtw-footer-list { list-style:none; padding-left:0; margin-left:0; line-height:1.9; font-size:.94rem; }

.woocommerce ul.products, .wc-block-product-template { gap: 22px; }
.woocommerce ul.products li.product, .wc-block-grid__product, .wc-block-product { border:1px solid #D9E0E5; border-radius:18px; padding:16px; background:#fff; box-shadow:0 8px 24px rgba(15,29,42,.045); }
.woocommerce ul.products li.product img { border-radius:12px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius:999px; background:#0F1D2A; color:#fff; font-weight:800; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background:#00F5D4; color:#0F1D2A; }
.woocommerce span.onsale { background:#00F5D4; color:#0F1D2A; min-height:auto; min-width:auto; padding:.35rem .7rem; border-radius:999px; line-height:1.2; }

@media (max-width: 900px) { .jtw-trust-strip { font-size:.78rem; } }
@media (max-width: 781px) {
  .jtw-hero { padding-top:52px !important; padding-bottom:54px !important; }
  .jtw-category-card { min-height:0; }
  .jtw-site-header .wp-block-site-title { font-size:1.1rem !important; }
}


/* Editorial sections: Watch Box + Workshop */
.jtw-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:28px; }
.jtw-post-card { overflow:hidden; border:1px solid #D9E0E5; border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(15,29,42,.05); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.jtw-post-card:hover { transform:translateY(-4px); box-shadow:var(--jtw-shadow); border-color:rgba(0,245,212,.78); }
.jtw-post-card__image { display:block; aspect-ratio:4/3; overflow:hidden; background:#F4F7F8; }
.jtw-post-card__image img { width:100%; height:100%; object-fit:cover; display:block; }
.jtw-post-card__body { padding:22px; }
.jtw-post-card__body h3 { margin:.35rem 0 .65rem; font-size:1.25rem; }
.jtw-post-card__body h3 a, .jtw-read-link { color:#0F1D2A; text-decoration:none; }
.jtw-post-card__body h3 a:hover, .jtw-read-link:hover { color:#087f73; }
.jtw-empty-state { margin-top:28px; padding:24px; border:1px dashed #AEB8C0; border-radius:18px; background:#fff; }
.jtw-review-verdict { border-left:5px solid #00F5D4; padding:18px 22px; background:#F4F7F8; border-radius:0 14px 14px 0; }
.jtw-badger-explainer { position:relative; overflow:hidden; }
.jtw-badger-explainer:after { content:""; position:absolute; width:480px; height:480px; border-radius:50%; right:-220px; bottom:-300px; background:radial-gradient(circle,rgba(0,245,212,.13),rgba(0,245,212,0) 70%); pointer-events:none; }
.jtw-products-section { display:none; }
@media (max-width: 781px) { .jtw-post-grid { grid-template-columns:1fr; } }

/* Resale Badger V1 */
.rb-shell {
  --rb-petrol:#0F1D2A;
  --rb-graphite:#2E3842;
  --rb-mint:#00F5D4;
  --rb-mist:#F4F7F8;
  --rb-border:#D9E0E5;
  --rb-ink:#17222D;
  max-width:1240px;
  margin:0 auto;
  padding:48px 24px 80px;
  color:var(--rb-ink);
}
.rb-shell * { box-sizing:border-box; }
.rb-masthead {
  display:flex;
  justify-content:space-between;
  gap:32px;
  align-items:flex-end;
  margin-bottom:28px;
  padding:34px 36px;
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 0%,rgba(0,245,212,.15),rgba(0,245,212,0) 34%),
    var(--rb-petrol);
  color:#fff;
  box-shadow:0 18px 50px rgba(15,29,42,.16);
}
.rb-masthead h1 { margin:.15rem 0 .65rem; color:#fff; font-size:clamp(2.6rem,6vw,5.4rem); line-height:.95; letter-spacing:-.045em; }
.rb-eyebrow { margin:0; color:var(--rb-mint); font-size:.76rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.rb-lead { max-width:760px; margin:0; color:#E9EFF2; font-size:1.08rem; line-height:1.65; }
.rb-usage-card {
  min-width:260px;
  padding:18px 20px;
  border:1px solid rgba(0,245,212,.32);
  border-radius:16px;
  background:rgba(255,255,255,.045);
}
.rb-usage-card span { display:block; margin-bottom:5px; color:#9CADB8; font-size:.72rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.rb-usage-card strong { display:block; color:#fff; font-size:.9rem; line-height:1.45; }

.rb-grid { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr); gap:24px; align-items:start; }
.rb-panel { border:1px solid var(--rb-border); border-radius:22px; background:#fff; box-shadow:0 10px 34px rgba(15,29,42,.07); }
.rb-form { padding:30px; }
.rb-sidecar { position:sticky; top:24px; padding:28px; background:var(--rb-petrol); color:#fff; }
.rb-sidecar h2 { margin:.45rem 0 1rem; color:#fff; font-size:1.65rem; }
.rb-sidecar ul { margin:0; padding-left:1.1rem; color:#D9E1E6; line-height:1.65; }
.rb-sidecar li + li { margin-top:.52rem; }
.rb-warning { margin-top:24px; padding:16px 17px; border-left:4px solid var(--rb-mint); border-radius:0 12px 12px 0; background:rgba(255,255,255,.055); color:#DCE5E9; font-size:.9rem; line-height:1.55; }
.rb-warning strong { color:var(--rb-mint); }

.rb-panel-heading { display:flex; gap:16px; align-items:flex-start; margin-bottom:24px; }
.rb-panel-heading h2 { margin:0 0 5px; color:var(--rb-petrol); font-size:1.6rem; }
.rb-panel-heading p { margin:0; color:#62717C; line-height:1.5; }
.rb-step {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  background:var(--rb-mint);
  color:var(--rb-petrol);
  font-weight:900;
  font-size:.82rem;
}

.rb-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rb-field { display:block; margin-bottom:18px; }
.rb-field > span { display:block; margin-bottom:7px; color:#46545F; font-size:.78rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase; }
.rb-field input,
.rb-field select,
.rb-field textarea {
  width:100%;
  min-height:48px;
  border:1px solid #BCC7CE;
  border-radius:11px;
  background:#fff;
  color:var(--rb-petrol);
  font:inherit;
  padding:11px 13px;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.rb-field textarea { resize:vertical; min-height:104px; }
.rb-field input:focus,
.rb-field select:focus,
.rb-field textarea:focus { border-color:#0AAE9B; box-shadow:0 0 0 3px rgba(0,245,212,.14); }
.rb-money-input,
.rb-percent-input { display:flex; align-items:center; border:1px solid #BCC7CE; border-radius:11px; overflow:hidden; background:#fff; }
.rb-money-input:focus-within,
.rb-percent-input:focus-within { border-color:#0AAE9B; box-shadow:0 0 0 3px rgba(0,245,212,.14); }
.rb-money-input > span,
.rb-percent-input > span { padding:0 12px; color:#596872; font-weight:800; }
.rb-money-input input,
.rb-percent-input input { border:0; border-radius:0; box-shadow:none!important; }
.rb-percent-input input { padding-right:0; }

.rb-submit-row { display:flex; gap:18px; align-items:center; margin-top:4px; }
.rb-primary-button {
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  padding:14px 24px;
  background:var(--rb-mint);
  color:var(--rb-petrol);
  font:inherit;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 9px 20px rgba(0,245,212,.22);
  transition:transform .15s ease, opacity .15s ease;
}
.rb-primary-button:hover { transform:translateY(-1px); }
.rb-primary-button:disabled { cursor:not-allowed; opacity:.45; transform:none; }
.rb-helper { margin:0; color:#6A7882; font-size:.84rem; line-height:1.45; }
.rb-status { min-height:24px; margin-top:18px; padding:0; font-size:.9rem; font-weight:700; }
.rb-status--working { color:#53636E; }
.rb-status--success { color:#087F73; }
.rb-status--error { color:#A03434; }

.rb-results { margin-top:30px; padding:32px; border-radius:24px; background:var(--rb-mist); border:1px solid #DCE3E7; }
.rb-results[hidden] { display:none!important; }
.rb-results-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:22px; }
.rb-results-head h2 { margin:.35rem 0 0; color:var(--rb-petrol); font-size:2rem; }
.rb-verdict { display:inline-flex; align-items:center; justify-content:center; min-width:130px; padding:9px 14px; border-radius:999px; background:#E5EBEE; color:#52616B; font-size:.75rem; font-weight:900; letter-spacing:.085em; }
.rb-verdict--buy { background:var(--rb-mint); color:var(--rb-petrol); }
.rb-verdict--consider { background:#F5E8A8; color:#5E4E08; }
.rb-verdict--pass { background:#F3CCCC; color:#7E2929; }
.rb-verdict--research_more { background:#DDE5E9; color:#4F606B; }

.rb-stat-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.rb-stat { padding:18px 15px; border:1px solid #D8E0E4; border-radius:15px; background:#fff; }
.rb-stat span { display:block; margin-bottom:7px; color:#71808A; font-size:.7rem; font-weight:850; letter-spacing:.065em; text-transform:uppercase; }
.rb-stat strong { display:block; color:var(--rb-petrol); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:1.15rem; }
.rb-stat--featured { border-color:rgba(0,245,212,.75); box-shadow:inset 0 3px 0 var(--rb-mint); }

.rb-signal-row { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:10px 0 22px; }
.rb-signal-row > div { display:flex; justify-content:space-between; gap:12px; padding:12px 15px; border-radius:11px; background:var(--rb-petrol); color:#fff; }
.rb-signal-row span { color:#9FAFB9; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.rb-signal-row strong { color:var(--rb-mint); font-size:.78rem; }

.rb-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.rb-result-card { padding:22px; border:1px solid #D9E1E5; border-radius:16px; background:#fff; }
.rb-result-card--wide { grid-column:1 / -1; }
.rb-card-label { margin:0 0 12px; color:#71808A; font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.rb-card-header { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.rb-card-header .rb-card-label { margin:0; }
.rb-copy { border:1px solid #BCC7CE; border-radius:999px; padding:5px 10px; background:#fff; color:#3F4D57; font-size:.72rem; font-weight:800; cursor:pointer; }
.rb-copy:hover { border-color:#00BFA7; color:#087F73; }
.rb-summary,
.rb-research-notes,
.rb-description-output { margin:0; white-space:pre-wrap; color:#34414D; line-height:1.65; }
.rb-research-notes { margin-top:12px; color:#667681; font-size:.92rem; }
.rb-title-output { margin:12px 0 0; color:var(--rb-petrol); font-weight:800; line-height:1.5; }
.rb-chips { display:flex; flex-wrap:wrap; gap:7px; }
.rb-chip { display:inline-flex; padding:6px 9px; border-radius:999px; background:#E9F1F2; color:#31434A; font-size:.78rem; font-weight:700; }
.rb-clean-list { margin:0; padding-left:1.1rem; color:#44535D; line-height:1.55; }
.rb-clean-list li + li { margin-top:.5rem; }
.rb-source-list { word-break:break-word; }
.rb-source-list a { color:#087F73; }
.rb-access-denied { max-width:720px; margin:60px auto; padding:28px; border:1px solid #D9E0E5; border-radius:18px; background:#fff; }

@media (max-width:1100px) {
  .rb-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .rb-masthead { align-items:flex-start; flex-direction:column; }
  .rb-usage-card { width:100%; min-width:0; }
  .rb-grid { grid-template-columns:1fr; }
  .rb-sidecar { position:static; }
}
@media (max-width:680px) {
  .rb-shell { padding:28px 16px 56px; }
  .rb-masthead { padding:26px 22px; border-radius:18px; }
  .rb-form { padding:22px; }
  .rb-form-grid { grid-template-columns:1fr; gap:0; }
  .rb-submit-row { align-items:flex-start; flex-direction:column; }
  .rb-primary-button { width:100%; }
  .rb-results { padding:20px; }
  .rb-results-head { align-items:flex-start; flex-direction:column; }
  .rb-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rb-signal-row { grid-template-columns:1fr; }
  .rb-result-grid { grid-template-columns:1fr; }
  .rb-result-card--wide { grid-column:auto; }
}

