/* ==========================================================================
   TunerSuite ts2 — MOBILE AESTHETIC v2 (premium polish, not band-aid)
   Replaces v1 (band-aid fixes) with proper mobile-first design system
   Priority: aesthetics + breathing room > brute-force collapses
   ========================================================================== */

/* ====== 0. GLOBAL HORIZONTAL-SCROLL GUARDS (safe, non-invasive) ====== */
html,body{overflow-x:hidden}
.ts2 img,.ts2 svg:not(.ts2-glow):not([class*="ts2-feature-card-icon"] svg),.ts2 video,.ts2 iframe{max-width:100%;height:auto}

/* ====== 1. iOS AUTO-ZOOM PREVENTION ====== */
.ts2 input[type="text"],.ts2 input[type="email"],.ts2 input[type="tel"],
.ts2 input[type="search"],.ts2 input[type="password"],.ts2 input[type="number"],
.ts2 input[type="url"],.ts2 select,.ts2 textarea{font-size:16px !important}

/* ====== 2. TABLET — 769-1024px (graceful collapse) ====== */
@media(min-width:769px) and (max-width:1024px){
  .ts2-section{padding:80px 0}
  .ts2-hero{padding:96px 24px 72px}
  .ts2-h1{font-size:42px !important}
  .ts2-h2{font-size:32px !important}
  .ts2-pricing{grid-template-columns:1fr !important;max-width:520px;margin:0 auto;gap:18px}
  .ts2-feature-grid.ts2-cols-3,.ts2-service-grid.ts2-cols-3{grid-template-columns:repeat(2,1fr) !important}
  .ts2-feature-grid.ts2-cols-4,.ts2-service-grid.ts2-cols-4{grid-template-columns:repeat(2,1fr) !important}
  .ts2-step-flow.ts2-cols-4,.ts2-step-flow.ts2-cols-5{grid-template-columns:repeat(2,1fr) !important}
  .ts2-step::after{display:none}
}

/* ====== 3. MOBILE — <=768px (PREMIUM DESIGN) ====== */
@media(max-width:768px){

  /* ── A. CONTAINERS + SECTIONS — generous spacing ── */
  .ts2-wrap{padding:0 20px !important;box-sizing:border-box}
  .ts2-wrap-narrow{padding:0 20px !important;max-width:100% !important}
  .ts2-section{padding:72px 0 !important}
  .ts2-section-sm{padding:48px 0 !important}
  .ts2-section-lg{padding:96px 0 !important}
  .ts2-section-head{margin-bottom:36px !important;text-align:center}
  .ts2-section-head .ts2-h2{margin-bottom:14px !important}
  .ts2-section-sub{font-size:15.5px !important;line-height:1.7 !important;max-width:95%;margin:0 auto}

  /* ── B. HERO — dramatic, premium ── */
  .ts2-hero{padding:84px 20px 64px !important;text-align:center}
  .ts2-page-header{padding:64px 20px 40px !important;text-align:center}
  .ts2-hero-compact{padding:64px 20px 48px !important}
  .ts2-hero-split{padding:56px 20px !important}

  /* keep glow orbs but smaller + softer on mobile */
  .ts2-glow{filter:blur(60px) !important;opacity:.5}
  .ts2-glow-a{width:280px !important;height:280px !important}
  .ts2-glow-b{width:320px !important;height:320px !important}

  /* ── C. TYPOGRAPHY — LARGER, more impactful ── */
  .ts2-h1{font-size:38px !important;line-height:1.08 !important;letter-spacing:-.03em !important;font-weight:800 !important;margin:0 0 18px !important}
  .ts2-page-header h1,.ts2-hero-compact h1,.ts2-hero-split-left h1{font-size:34px !important;line-height:1.1 !important;letter-spacing:-.025em !important;font-weight:800 !important}
  .ts2-h2{font-size:28px !important;line-height:1.18 !important;letter-spacing:-.02em !important;font-weight:800 !important}
  .ts2-h1-grad{display:inline-block;background:linear-gradient(120deg,var(--accent),var(--blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
  .ts2-lede{font-size:16.5px !important;line-height:1.7 !important;color:var(--text-2) !important;margin:0 auto 28px !important;max-width:95%}
  .ts2-page-header-sub,.ts2-hero-compact-sub,.ts2-hero-split-sub{font-size:16px !important;line-height:1.7 !important;max-width:95%;margin:0 auto 24px}
  .ts2-eyebrow,.ts2-mini-eyebrow{font-size:11px !important;letter-spacing:.18em !important;margin-bottom:18px !important}

  /* ── D. ANNOUNCEMENT BAR — multi-line wrap properly ── */
  .ts2-announce{flex-direction:column !important;gap:8px !important;padding:14px 20px !important;text-align:center;line-height:1.55}
  .ts2-announce-text{font-size:12.5px !important;line-height:1.5 !important;display:block;word-break:normal}
  .ts2-announce-cta{font-size:13px !important;font-weight:700;padding:6px 14px;border-radius:99px;background:color-mix(in srgb, var(--tdb-success) 12%, transparent);border:1px solid color-mix(in srgb, var(--tdb-success) 32%, transparent);color:var(--accent) !important;display:inline-flex;align-items:center;gap:4px;text-decoration:none}
  .ts2-pulse{display:none}

  /* ── E. META ROW (One-time · Self-hosted · Lifetime) ── */
  .ts2-meta-row{flex-direction:column !important;align-items:center !important;gap:12px !important;text-align:center;margin-top:28px !important}
  .ts2-meta-dot{display:none}
  .ts2-meta-item{font-size:14px !important;color:var(--text-2);padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:99px}
  .ts2-meta-item strong{color:var(--text)}

  /* ── F. CTAs — premium ── */
  .ts2-cta-row{flex-direction:column !important;gap:12px !important;width:100% !important;align-items:stretch !important;margin-top:28px}
  .ts2-cta-row .ts2-btn{width:100% !important;justify-content:center !important}
  .ts2-btn{min-height:52px !important;padding:14px 22px !important;font-size:15px !important;font-weight:700 !important;border-radius:12px !important;letter-spacing:.01em}
  .ts2-btn-primary{box-shadow:0 8px 24px -8px rgba(52,211,153,.5) !important}
  .ts2-btn-primary:active{transform:translateY(1px);box-shadow:0 4px 12px -4px rgba(52,211,153,.4) !important}
  .ts2-btn-sm{min-height:42px !important;padding:10px 16px !important;font-size:13.5px !important}
  .ts2-btn-lg{min-height:56px !important;padding:16px 24px !important}

  /* ── G. STATS — premium 2-col grid ── */
  .ts2-stats,.ts2-stat-strip-alt{grid-template-columns:repeat(2,1fr) !important;gap:18px !important;padding:8px 0}
  .ts2-stat{text-align:center;padding:14px 8px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
  .ts2-stat-num{font-size:28px !important;font-weight:800 !important;letter-spacing:-.02em !important;color:var(--tdb-text) !important;display:block !important;line-height:1 !important}
  .ts2-stat-lbl{font-size:11px !important;letter-spacing:.12em !important;text-transform:uppercase;color:var(--tdb-body) !important;margin-top:8px !important;display:block}
  .ts2-trust{padding:36px 0 !important}
  .ts2-trust-label{font-size:11px !important;letter-spacing:.18em !important;text-transform:uppercase;color:var(--text-3);margin-bottom:18px}
  .ts2-flags{gap:10px !important;font-size:24px !important;margin-bottom:28px;flex-wrap:wrap;justify-content:center}

  /* ── H. ALL MULTI-COL GRIDS → 1 col ── */
  .ts2-feature-grid,
  .ts2-feature-grid.ts2-cols-2,
  .ts2-feature-grid.ts2-cols-3,
  .ts2-feature-grid.ts2-cols-4,
  .ts2-service-grid,
  .ts2-service-grid.ts2-cols-2,
  .ts2-service-grid.ts2-cols-3,
  .ts2-service-grid.ts2-cols-4,
  .ts2-testimonial-grid,
  .ts2-step-flow,
  .ts2-step-flow.ts2-cols-3,
  .ts2-step-flow.ts2-cols-4,
  .ts2-step-flow.ts2-cols-5,
  .ts2-pricing{grid-template-columns:1fr !important;gap:16px !important}
  .ts2-step::after{display:none}

  /* Override inline grid styles */
  [style*="grid-template-columns:repeat(2,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(5,1fr)"],
  [style*="grid-template-columns: repeat(2, 1fr)"],
  [style*="grid-template-columns: repeat(3, 1fr)"],
  [style*="grid-template-columns: repeat(4, 1fr)"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:1fr 1.2fr"],
  [style*="grid-template-columns:1fr 1fr 1fr"],
  [style*="grid-template-columns:1fr 360px"],
  [style*="grid-template-columns:240px 1fr"]{grid-template-columns:1fr !important}

  /* ── I. CARDS — premium aesthetic (gradient + accent + shadow) ── */
  .ts2-feature-card,
  .ts2-service-card,
  .ts2-mp-card,
  .ts2-plan,
  .ts2-plan-mini,
  .ts2-testimonial,
  .ts2-dyno-card{
    padding:24px 22px !important;
    border-radius:18px !important;
    background:linear-gradient(160deg,var(--surface) 0%,var(--surface-2) 100%) !important;
    border:1px solid var(--border) !important;
    box-shadow:0 6px 24px -10px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.04) inset !important;
    transition:transform .25s ease,border-color .25s ease !important
  }
  .ts2-feature-card-icon{width:48px !important;height:48px !important;border-radius:14px !important;margin-bottom:18px !important;box-shadow:0 4px 12px -4px rgba(52,211,153,.3) !important}
  .ts2-feature-card-icon.ts2-icon-blue{box-shadow:0 4px 12px -4px rgba(96,165,250,.35) !important}
  .ts2-feature-card-icon.ts2-icon-violet{box-shadow:0 4px 12px -4px rgba(167,139,250,.35) !important}
  .ts2-feature-card-icon.ts2-icon-amber{box-shadow:0 4px 12px -4px rgba(251,191,36,.35) !important}
  .ts2-feature-card-icon.ts2-icon-cyan{box-shadow:0 4px 12px -4px rgba(34,211,238,.35) !important}
  .ts2-feature-card-icon.ts2-icon-rose{box-shadow:0 4px 12px -4px rgba(251,113,133,.35) !important}
  .ts2-feature-card h3,.ts2-service-card h3{font-size:18px !important;line-height:1.25 !important;font-weight:700 !important;color:var(--tdb-text) !important;margin:0 0 10px !important}
  .ts2-feature-card p,.ts2-service-card p{font-size:14.5px !important;line-height:1.65 !important;color:var(--text-2) !important;margin:0 0 14px}
  .ts2-feature-card-link{font-size:14px !important;font-weight:700 !important;padding:6px 0}

  /* ── J. PRICING PLAN — featured first ── */
  .ts2-pricing{max-width:100% !important}
  .ts2-plan{padding:28px 22px !important;border-radius:20px !important}
  .ts2-plan-featured{order:-1;border-color:color-mix(in srgb, var(--tdb-success) 45%, transparent) !important;background:linear-gradient(160deg,color-mix(in srgb, var(--tdb-success) 5%, transparent),var(--surface-2)) !important;box-shadow:0 16px 48px -16px rgba(52,211,153,.3),0 1px 0 rgba(255,255,255,.06) inset !important}
  .ts2-plan-badge{font-size:10.5px !important;padding:5px 12px !important;top:-13px !important;letter-spacing:.16em !important}
  .ts2-plan-icon{width:48px !important;height:48px !important;margin-bottom:18px}
  .ts2-plan-name{font-size:20px !important;font-weight:700 !important;margin-bottom:6px !important}
  .ts2-plan-tag{font-size:14px !important;margin-bottom:18px !important}
  .ts2-plan-price{margin:18px 0 22px !important}
  .ts2-price-num{font-size:40px !important;font-weight:800 !important;letter-spacing:-.025em !important;line-height:1 !important}
  .ts2-price-old{font-size:18px !important}
  .ts2-price-per{font-size:14px !important;margin-left:4px !important}
  .ts2-price-from{font-size:13px !important;margin-bottom:4px !important}
  .ts2-features{margin-top:18px !important;gap:10px !important}
  .ts2-features li{font-size:14px !important;line-height:1.55 !important;padding-left:26px !important;position:relative}

  /* ── K. SECTION ALT bg subtle ── */
  .ts2-section-alt{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%) !important}

  /* ── L. TCO Calculator ── */
  .ts2-tco{padding:24px 20px !important;border-radius:18px !important}
  .ts2-tco-controls,.ts2-tco-results{grid-template-columns:1fr !important;gap:14px !important}
  .ts2-tco-card{padding:18px 16px !important;border-radius:14px !important;text-align:center}
  .ts2-tco-price{font-size:26px !important;font-weight:800 !important;margin-top:6px}
  .ts2-tco-label{font-size:12px !important;letter-spacing:.1em !important;text-transform:uppercase;color:var(--text-3)}
  .ts2-tco-us{background:linear-gradient(135deg,color-mix(in srgb, var(--tdb-success) 12%, transparent),color-mix(in srgb, var(--tdb-accent) 6%, transparent)) !important;border-color:color-mix(in srgb, var(--tdb-success) 35%, transparent) !important}
  .ts2-tco-foot{flex-direction:column !important;gap:14px !important;padding-top:18px !important;text-align:center}

  /* ── M. COMPARE TABLE — proper mobile scroll ── */
  .ts2-compare-table-wrap{margin:0 -20px !important;border-radius:0 !important;overflow-x:auto !important;-webkit-overflow-scrolling:touch}
  .ts2-compare-table{min-width:600px !important;font-size:13px !important}
  .ts2-compare-table thead th{font-size:10px !important;padding:12px 10px !important;letter-spacing:.08em !important}
  .ts2-compare-table tbody td{padding:12px 10px !important;font-size:13px !important}
  .ts2-compare-table-wrap::after{content:"← swipe →";display:block;text-align:center;font-size:11px;color:var(--text-3);padding:10px;letter-spacing:.1em;background:var(--bg)}

  /* ── N. FAQ ACCORDION — generous touch ── */
  .ts2-faq summary,.ts2-faq-grid summary{padding:18px 20px !important;font-size:15.5px !important;min-height:56px !important;line-height:1.4 !important}
  .ts2-faq details p,.ts2-faq-grid details p,.ts2-faq details ul,.ts2-faq-grid details ul{padding:0 20px 20px !important;font-size:14.5px !important;line-height:1.7 !important}
  .ts2-faq-grid summary::after{font-size:24px !important;width:28px !important;height:28px !important}
  .ts2-faq-grid{gap:12px !important}

  /* ── O. SERVICES LAYOUT — stack with breathing ── */
  .ts2-host-services .ts2-services-layout{grid-template-columns:1fr !important;gap:36px !important}
  .ts2-host-services .ts2-services-sidebar{position:static !important;top:auto !important}
  .ts2-host-services #services-grid{grid-template-columns:1fr !important;gap:10px}
  .ts2-host-services .ts2-cat-filter{margin-bottom:18px !important;gap:8px;justify-content:center}
  .ts2-host-services .ts2-cat-pill{padding:8px 14px !important;font-size:13px !important;min-height:38px}
  .ts2-host-services .ts2-service-mini{padding:14px 16px !important}

  /* ── P. FORM FIELDS — premium ── */
  .ts2-form-row{grid-template-columns:1fr !important;gap:14px !important}
  .ts2-form-field{margin-bottom:18px !important}
  .ts2-form label{font-size:11px !important;letter-spacing:.14em !important;margin-bottom:8px !important}
  .ts2-form input,.ts2-form select,.ts2-form textarea{padding:14px 16px !important;border-radius:12px !important;font-size:16px !important}
  .ts2-host-services .ts2-file-upload{padding:22px 16px !important;border-radius:14px !important;font-size:13.5px}

  /* ── Q. FAQ LAYOUT (sidebar+main) → stack ── */
  .ts2-host-faq .ts2-faq-layout{grid-template-columns:1fr !important;gap:24px !important}
  .ts2-host-faq .ts2-faq-sidebar{position:static !important;padding-left:0 !important;border-left:none !important;border-top:1px solid var(--border);padding-top:24px !important;display:flex !important;flex-wrap:wrap;gap:8px}
  .ts2-host-faq .ts2-faq-sidebar a{padding:8px 14px !important;border:1px solid var(--border) !important;border-radius:99px !important;font-size:13px !important;border-left:1px solid var(--border) !important;margin-left:0 !important}
  .ts2-host-faq .ts2-faq-sidebar-h{width:100%;margin:0 0 6px}
  .ts2-host-faq .ts2-faq-cat-name{font-size:18px !important}

  /* ── R. TOC wrap ── */
  .ts2-toc-wrap{grid-template-columns:1fr !important;gap:24px !important}
  .ts2-toc-sticky{display:none !important}

  /* ── S. SPLIT HERO ── */
  .ts2-hero-split-grid{grid-template-columns:1fr !important;gap:28px !important}
  .ts2-hero-split-right{order:2}

  /* ── T. DYNO CARD ── */
  .ts2-dyno-card{padding:20px !important}
  .ts2-dyno-vehicle{margin-bottom:16px !important}
  .ts2-dyno-name{font-size:15.5px !important}
  .ts2-dyno-platform{font-size:11.5px !important;margin-top:4px}
  .ts2-dyno-stage{font-size:10.5px !important;padding:5px 11px !important}
  .ts2-dyno-gains{grid-template-columns:1fr 1fr !important;gap:14px !important;padding-top:16px !important}
  .ts2-dyno-gain-lbl{font-size:11px !important}
  .ts2-dyno-gain-val{font-size:16px !important}
  .ts2-dyno-gain-delta{font-size:14px !important;margin-top:4px}

  /* ── U. LOGO STRIP ── */
  .ts2-logo-strip{gap:16px 20px !important;padding:24px 0 !important;flex-direction:column;align-items:center}
  .ts2-logo-strip-text{font-size:14px !important;padding:6px 14px;background:var(--surface);border:1px solid var(--border);border-radius:99px;color:var(--text-2)}

  /* ── V. CTA BANNER — premium ── */
  .ts2-cta-banner{padding:48px 24px !important;border-radius:24px !important;margin:48px 0 0 !important}
  .ts2-cta-banner h2{font-size:26px !important;line-height:1.2 !important;margin-bottom:14px !important}
  .ts2-cta-banner p{font-size:15.5px !important;line-height:1.65 !important;margin-bottom:28px !important}

  /* ── W. FINAL section ── */
  .ts2-final{padding:72px 24px !important;border-radius:24px;margin:0 20px}
  .ts2-final-h{font-size:28px !important;line-height:1.2 !important}
  .ts2-final-sub{font-size:15.5px !important;line-height:1.65}

  /* ── X. X-SELL row ── */
  .ts2-xsell{padding:48px 0 !important}
  .ts2-xsell-grid{grid-template-columns:1fr !important;gap:24px !important;text-align:center}
  .ts2-xsell-h{font-size:22px !important;line-height:1.25 !important;margin-bottom:8px}
  .ts2-xsell-sub{font-size:14.5px !important;line-height:1.65 !important}
  .ts2-xsell-cta{align-items:stretch}
  .ts2-xsell-cta .ts2-btn{width:100%}

  /* ── Y. MARKETPLACE plugin cards ── */
  .ts2-host-mp .ts2-mp-card{padding:24px 22px !important}
  .ts2-host-mp .ts2-mp-card-title{font-size:17px !important}
  .ts2-host-mp .ts2-mp-price{font-size:24px !important}
  .ts2-host-mp .ts2-mp-card-foot{flex-direction:column !important;align-items:stretch !important;gap:8px}
  .ts2-host-mp .ts2-mp-card-foot .ts2-btn{width:100%}

  /* ── Z. SERVICE-LANDING content ── */
  .ts2-host-service-landing .ts2-feature-card{padding:26px 22px !important}
  .ts2-host-service-landing .ts2-content h2{font-size:22px !important;margin:28px 0 12px !important}
  .ts2-host-service-landing .ts2-content h3{font-size:18px !important}
  .ts2-host-service-landing .ts2-content{font-size:15px !important;line-height:1.75}
  .ts2-host-service-landing .ts2-content p{margin-bottom:16px}

  /* ── AA. BREADCRUMBS ── */
  .ts2-breadcrumb{font-size:12.5px !important;gap:6px !important;flex-wrap:wrap;justify-content:center;margin-bottom:24px !important}

  /* ── AB. TABS ── */
  .ts2-tabs{flex-wrap:wrap;gap:6px}
  .ts2-tab{padding:10px 14px !important;font-size:13px !important;min-height:40px}

  /* ── AC. SLIDER ── */
  .ts2-slider label{font-size:14px !important;margin-bottom:10px;display:flex;justify-content:space-between}
  .ts2-slider input[type="range"]{height:6px}
  .ts2-slider-marks{font-size:10.5px !important;margin-top:6px}

  /* ── AD. CONTACT FORM grid ── */
  .ts2-host-contact .ts2-contact-grid{grid-template-columns:1fr !important;gap:28px !important}

  /* ── AE. About page timeline grid ── */
  .ts2-host-about [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;gap:28px !important}
}

/* ====== 4. SMALL MOBILE (<=480px) — fine tuning ====== */
@media(max-width:480px){
  .ts2-wrap{padding:0 16px !important}
  .ts2-h1{font-size:32px !important;line-height:1.1 !important}
  .ts2-page-header h1{font-size:30px !important}
  .ts2-hero-compact h1{font-size:28px !important}
  .ts2-h2{font-size:24px !important}
  .ts2-section-head .ts2-h2{font-size:24px !important}
  .ts2-lede{font-size:15.5px !important}
  .ts2-stat-num{font-size:24px !important}
  .ts2-stat-lbl{font-size:10px !important}
  .ts2-section{padding:60px 0 !important}
  .ts2-section-head{margin-bottom:28px !important}
  .ts2-cta-banner h2{font-size:22px !important}
  .ts2-cta-banner{padding:40px 20px !important}
  .ts2-feature-card,.ts2-service-card,.ts2-plan{padding:22px 18px !important}
  .ts2-feature-card h3{font-size:17px !important}
  .ts2-price-num{font-size:36px !important}
  .ts2-compare-table{min-width:540px;font-size:12px}
  .ts2-final{padding:60px 20px !important;margin:0 16px}
}

/* ====== 5. EXTRA SMALL (<=380px) ====== */
@media(max-width:380px){
  .ts2-wrap{padding:0 14px !important}
  .ts2-h1{font-size:28px !important}
  .ts2-page-header h1{font-size:26px !important}
  .ts2-h2{font-size:22px !important}
  .ts2-stat-num{font-size:22px !important}
  .ts2-btn{font-size:14px !important;padding:13px 18px !important}
  .ts2-feature-card,.ts2-service-card{padding:20px 16px !important}
}

/* ====== 6. NAVBAR mobile collapse styling ====== */
@media(max-width:991.98px){
  .navbar .container{padding:0 16px}
  .navbar-brand{font-size:1.05rem !important}
  .navbar-toggler{padding:8px 12px;min-width:44px;min-height:44px}
  .navbar-collapse{margin-top:10px;padding:18px;background:color-mix(in srgb, var(--tdb-ground) 95%, transparent);border:1px solid rgba(255,255,255,.08);border-radius:14px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .navbar-nav .nav-link{padding:12px 14px !important;font-size:15px !important;min-height:48px;display:flex;align-items:center;border-radius:8px;margin-bottom:2px}
  .navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{background:color-mix(in srgb, var(--tdb-success) 8%, transparent);color:var(--accent) !important}
  body.light-mode .navbar-collapse{background:rgba(255,255,255,.96);border-color:rgba(0,0,0,.08)}
}

/* ====== 7. FOOTER mobile ====== */
@media(max-width:768px){
  .site-footer .container{padding:0 20px}
  .tdb-footer__cta{flex-direction:column !important;text-align:center;gap:14px !important;padding:18px 20px}
  .tdb-footer__cta .btn{width:100%;margin:0 !important;padding:12px 18px;font-size:14px}
  .tdb-footer__cta p{font-size:14px;margin-bottom:6px !important}
  .site-footer .row.g-4{row-gap:36px !important}
  .site-footer h2.h5,.site-footer .h5{font-size:1.05rem;margin-bottom:14px}
  .footer-text{font-size:13.5px;line-height:1.65}
  .tdb-news{flex-direction:column !important;gap:8px !important}
  .tdb-news input{width:100% !important;padding:12px 14px !important;font-size:16px !important}
  .tdb-news .btn{width:100%;padding:12px 14px}
}

/* ====== 8. ACCESSIBILITY ====== */
.ts2 a:focus-visible,.ts2 button:focus-visible,.ts2 input:focus-visible,
.ts2 select:focus-visible,.ts2 textarea:focus-visible,
.ts2 summary:focus-visible,.ts2 .ts2-btn:focus-visible{
  outline:2px solid var(--accent);outline-offset:3px;border-radius:6px
}

@media(prefers-reduced-motion:reduce){
  .ts2 *,.ts2 *::before,.ts2 *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* ====== 9. PRINT ====== */
@media print{
  .ts2-announce,.ts2-cta-banner,.ts2-xsell,.ts2-final,.ts2-glow,.navbar,.site-footer{display:none !important}
  .ts2{color:#000;background:#fff}
  .ts2 a{color:#0066cc;text-decoration:underline}
}

/* ====== 10. ADMIN BAR + NAVBAR layout compensation (logged-in fix) ====== */
/* WP admin bar (32px desktop / 46px mobile) covers navbar without body offset */
body.admin-bar{padding-top:calc(var(--tdb-navbar-height,80px) + 32px) !important}
@media screen and (max-width:782px){
  body.admin-bar{padding-top:calc(var(--tdb-navbar-height,76px) + 46px) !important}
}
@media screen and (max-width:600px){
  body.admin-bar #wpadminbar{position:fixed !important;top:0 !important}
  body.admin-bar header .navbar{top:46px !important}
}
/* Bulletproof admin-bar offset on navbar (override anything else) */
body.admin-bar header .navbar,
body.admin-bar header > nav.navbar{top:32px !important}
@media screen and (max-width:782px){
  body.admin-bar header .navbar,
  body.admin-bar header > nav.navbar{top:46px !important}
}
/* Hide ts-promo (early-adopter promo for prospects) when user is logged in */
body.logged-in #ts-promo-bar{display:none !important}

/* ====== 11. LEGACY PRODUCT PAGE EMERALDIFIER ======
   14 WooCommerce products have inline orange #2563eb styling in post_content
   (tdb-api-*, tdb-real-stats-band, etc.). Reskin them to emerald + mobile-responsive
   without DB edits. Applies on .single-product (WC product page body class). */

/* --- A. Color: all orange var(--tdb-accent) → emerald --- */
.single-product .tdb-api-crowd-num,
.single-product .tdb-api-eyebrow,
.single-product .tdb-api-card__tag,
.single-product .tdb-api-card--mono .tdb-api-card__title,
.single-product .tdb-api-codeblock__method,
.single-product .tdb-api-codeblock__dot--g,
.single-product .tdb-api-engine-tag,
.single-product .tdb-api-i18n-lang,
.single-product .tdb-api-fakekey-note,
.single-product .tdb-api-howto,
.single-product .tdb-api-faq__a,
.single-product .tdb-real-stats-band [style*="color:var(--tdb-accent)"],
.single-product .tdb-real-stats-band [style*="color: var(--tdb-accent)"],
.single-product .tdb-real-stats-band [style*="color:var(--tdb-accent)"],
.single-product [class*="tdb-api-"] [style*="var(--tdb-accent)"],
.single-product [class*="tdb-api-"] [style*="var(--tdb-accent)"]{color:var(--tdb-success) !important}

/* Attribute-based override on inline style colors */
.single-product [style*="color:var(--tdb-accent)"],
.single-product [style*="color: var(--tdb-accent)"],
.single-product [style*="color:var(--tdb-accent)"],
.single-product [style*="color: var(--tdb-accent)"]{color:var(--tdb-success) !important}

/* Border/background orange → emerald */
.single-product [style*="border:1px solid rgba(37, 99, 235"],
.single-product [style*="border: 1px solid rgba(37, 99, 235"],
.single-product [style*="border-color:rgba(37, 99, 235"],
.single-product [style*="border-color: rgba(37, 99, 235"]{border-color:color-mix(in srgb, var(--tdb-success) 30%, transparent) !important}

.single-product [style*="background:rgba(37, 99, 235"],
.single-product [style*="background: rgba(37, 99, 235"],
.single-product [style*="background-color:rgba(37, 99, 235"]{background:color-mix(in srgb, var(--tdb-success) 8%, transparent) !important}

/* Gradient orange → emerald */
.single-product [style*="linear-gradient(135deg,#2563eb"],
.single-product [style*="linear-gradient(135deg, #2563eb"]{background:linear-gradient(135deg,var(--tdb-success),var(--tdb-success)) !important}

/* --- B. Mobile responsiveness on legacy product layouts --- */
@media(max-width:768px){
  .single-product .tdb-real-stats-band,
  .single-product .tdb-api-crowd-counters,
  .single-product .tdb-api-grid,
  .single-product .tdb-api-howto,
  .single-product .tdb-api-faq,
  .single-product .tdb-api-engine-row,
  .single-product .tdb-api-dyno-layout{
    grid-template-columns:1fr 1fr !important;
    display:grid !important;
    gap:14px !important;
    padding:16px !important;
  }
  .single-product .tdb-api-crowd-counter{padding:12px 8px !important;text-align:center}
  .single-product .tdb-api-crowd-num{font-size:24px !important;font-weight:800 !important}
  .single-product .tdb-api-crowd-text{font-size:10.5px !important;letter-spacing:.1em !important;text-transform:uppercase}
  .single-product .tdb-api-card{padding:18px !important;border-radius:14px !important}
  .single-product .tdb-api-card__title{font-size:17px !important}
  .single-product .tdb-api-card__body{font-size:14px !important;line-height:1.65}
  .single-product .tdb-api-eyebrow{font-size:11px !important;letter-spacing:.16em !important}
  .single-product .tdb-real-stats-band{margin:0 -8px 24px !important;padding:14px !important;border-radius:14px !important}

  /* Container break-out fix */
  .single-product .container{padding:0 16px !important}
  .single-product .woocommerce-Tabs-panel--description{padding:0 !important}
  .single-product .product-description,
  .single-product .summary{padding:0 16px}

  /* WC summary stack on mobile */
  .single-product .product .summary{padding:0 16px !important}
  .single-product .product .images,.single-product .product .summary{width:100% !important;float:none !important;margin:0 0 24px !important}
}

@media(max-width:480px){
  .single-product .tdb-real-stats-band,
  .single-product .tdb-api-crowd-counters,
  .single-product .tdb-api-grid{grid-template-columns:1fr !important;gap:12px !important}
  .single-product .tdb-api-crowd-num{font-size:22px !important}
  .single-product .tdb-api-grid .tdb-api-card{padding:16px !important}
}

/* --- C. WC product layout — generally improve mobile UX --- */
@media(max-width:768px){
  .single-product div.product .summary{padding:0 !important;margin-top:24px !important}
  .single-product div.product .product_title{font-size:24px !important;line-height:1.2 !important;letter-spacing:-.02em}
  .single-product div.product .price{font-size:28px !important;font-weight:800 !important}
  .single-product .single_add_to_cart_button,
  .single-product .button{min-height:50px !important;font-size:15px !important;padding:14px 22px !important;border-radius:12px !important}
  .single-product .quantity input.qty{font-size:16px !important;padding:12px 8px !important;min-width:60px;min-height:48px}
  .single-product .woocommerce-tabs ul.tabs li{padding:10px 14px !important;font-size:13px !important}
}

/* --- D. Honor the orange brand sparingly: keep WC "add to cart" button orange (CTA visibility) --- */
/* Override above broad-strokes if needed. Leave the actual price + ATC button styling alone for conversion. */

