:root {
  --tp-ink: #060816;
  --tp-surface: #0f172a;
  --tp-surface-2: #172033;
  --tp-line: #334155;
  --tp-text: #f8fafc;
  --tp-muted: #a8b3c7;
  --tp-accent: #818cf8;
  --tp-violet: #c084fc;
  --tp-cyan: #22d3ee;
  --tp-shadow: 0 28px 80px rgba(0, 0, 0, .28);
}

html { scroll-behavior: smooth; }
body.techparts-pro {
  background:
    radial-gradient(circle at 15% 2%, rgba(99, 102, 241, .18), transparent 28rem),
    radial-gradient(circle at 88% 22%, rgba(34, 211, 238, .10), transparent 30rem),
    var(--tp-ink);
}

.tp-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
  background: rgba(6, 8, 22, .78);
  backdrop-filter: blur(18px) saturate(145%);
  transition: box-shadow .25s ease, background .25s ease;
}
.tp-site-header.is-scrolled { box-shadow: 0 18px 45px rgba(0, 0, 0, .25); background: rgba(6, 8, 22, .94); }
body.admin-bar .tp-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
.tp-header-inner { min-height: 76px; }
.tp-wordmark a,
.tp-footer-title a { color: var(--tp-text); text-decoration: none; font-weight: 850; letter-spacing: -.03em; }
.tp-wordmark a::first-letter { color: var(--tp-cyan); }
.tp-primary-nav { min-width: 0; max-width: min(58vw, 720px); }
.tp-primary-nav .wp-block-navigation__container,
.tp-primary-nav .wp-block-page-list { min-width: 0; flex-wrap: nowrap; overflow: hidden; }
.tp-primary-nav a { color: var(--tp-text); text-decoration: none; white-space: nowrap; }
.tp-primary-nav a:hover { color: var(--tp-cyan); }
.tp-header-actions { gap: .7rem; }
.tp-header-actions .wc-block-mini-cart__button,
.tp-header-actions .wp-block-woocommerce-customer-account a { color: var(--tp-text); }

.tp-main { min-height: 54vh; }
.wp-block-query-title,
.wp-block-search__input { min-width: 0; overflow-wrap: anywhere; }
.tp-section,
.tp-hero { padding-top: clamp(4rem, 9vw, 8rem); padding-bottom: clamp(4rem, 9vw, 8rem); }
.tp-section-compact { padding-top: clamp(2.5rem, 5vw, 4rem); padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.tp-hero {
  position: relative;
  isolation: isolate;
  min-height: min(840px, 88vh);
  display: grid;
  align-content: center;
  background:
    linear-gradient(120deg, rgba(6, 8, 22, .96), rgba(15, 23, 42, .78)),
    var(--tp-hero-image, none) center/cover no-repeat;
}
.tp-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .62;
  background-image:
    linear-gradient(rgba(129, 140, 248, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(129, 140, 248, .08) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}
.tp-gradient-text {
  color: transparent !important;
  background: linear-gradient(105deg, #fff 0%, #b8c0ff 38%, #c084fc 67%, #22d3ee 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.tp-kicker {
  color: var(--tp-cyan);
  font-family: var(--wp--preset--font-family--mono);
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.tp-lead { max-width: 720px; color: var(--tp-muted); }

.tp-card,
.tp-glass,
.wc-block-grid__product,
.wp-block-woocommerce-product-template > li {
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(23, 32, 51, .92), rgba(15, 23, 42, .72));
  box-shadow: 0 16px 40px rgba(0, 0, 0, .16);
}
.tp-card { padding: clamp(1.25rem, 2.5vw, 2rem); height: 100%; }
.tp-card:hover { border-color: rgba(129, 140, 248, .45); }
.tp-glass { padding: clamp(1.5rem, 3vw, 3rem); backdrop-filter: blur(18px); }
.tp-number {
  font-family: var(--wp--preset--font-family--mono);
  color: var(--tp-accent);
  font-size: .9rem;
  font-weight: 750;
}
.tp-icon-disc {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  color: var(--tp-ink);
  background: linear-gradient(135deg, var(--tp-accent), var(--tp-cyan));
  font-weight: 900;
}
.tp-image-card img,
.tp-image-card video,
.wp-block-post-featured-image.tp-image-card img { border-radius: 24px; box-shadow: var(--tp-shadow); }
.tp-image-card img { width: 100%; object-fit: cover; }
.tp-category-card { position: relative; overflow: hidden; min-height: 210px; }
.tp-category-card::after {
  content: "↗";
  position: absolute;
  right: 1.25rem;
  bottom: 1rem;
  color: var(--tp-cyan);
  font-size: 1.4rem;
  transition: transform .2s ease;
}
.tp-category-card:hover::after { transform: translate(4px, -4px); }
.tp-category-card h3 a { position: static; color: inherit; text-decoration: none; padding: 0; }
.tp-category-card h3 a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.tp-stat strong { display: block; color: var(--tp-text); font-size: clamp(2.1rem, 4vw, 4rem); line-height: 1; }

.tp-ticker { position: relative; overflow: hidden; border-block: 1px solid rgba(129, 140, 248, .18); background: rgba(15, 23, 42, .82); }
.tp-ticker-track { width: max-content; animation: tp-marquee 26s linear infinite; white-space: nowrap; }
.tp-ticker.is-paused .tp-ticker-track { animation-play-state: paused; }
.tp-ticker-toggle {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: .75rem;
  z-index: 1;
  min-height: 2.5rem;
  padding: .45rem .8rem;
  transform: translateY(-50%);
  border: 1px solid rgba(248, 250, 252, .45);
  border-radius: 999px;
  color: var(--tp-text);
  background: rgba(6, 8, 22, .92);
  cursor: pointer;
  font: inherit;
  font-size: .8rem;
  font-weight: 750;
}
.tp-ticker-toggle:hover { border-color: var(--tp-cyan); color: var(--tp-cyan); }
.tp-ticker-toggle:focus-visible { outline: 3px solid var(--tp-cyan); outline-offset: 3px; }
@keyframes tp-marquee { to { transform: translateX(-50%); } }

.tp-scroll-row { display: grid !important; grid-auto-flow: column; grid-auto-columns: min(84vw, 520px); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; padding-bottom: 1rem; }
.tp-scroll-row > * { scroll-snap-align: start; }
.tp-compare-table { overflow-x: auto; }
.tp-compare-table table { min-width: 700px; }

.tp-reveal { opacity: 1; transform: none; transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); }
html.tp-reveal-ready .tp-reveal { opacity: 0; transform: translateY(22px); }
html.tp-reveal-ready .tp-reveal.is-visible { opacity: 1; transform: none; }
.tp-card,
.wp-block-button__link,
.wp-block-post-featured-image img { transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease; }
.tp-card:hover { transform: translateY(-5px); box-shadow: 0 24px 60px rgba(0, 0, 0, .25); }

.wp-block-details {
  border: 1px solid var(--tp-line);
  border-radius: 18px;
  padding: 1rem 1.25rem;
  background: rgba(15, 23, 42, .72);
}
.wp-block-details summary { cursor: pointer; color: var(--tp-text); font-weight: 750; }
.wp-block-details[open] { border-color: var(--tp-accent); }
table { width: 100%; border-collapse: collapse; }
th, td { border-color: var(--tp-line) !important; padding: .9rem 1rem; }
th { color: var(--tp-text); background: rgba(129, 140, 248, .12); text-align: left; }

.tp-site-footer { margin-top: 0; padding-top: clamp(4rem, 7vw, 7rem); padding-bottom: 2rem; border-top: 1px solid rgba(148, 163, 184, .16); background: #050711; }
.tp-site-footer .wp-block-navigation { gap: .55rem; }
.tp-site-footer a { color: var(--tp-muted); }
.tp-site-footer a:hover { color: var(--tp-cyan); }
.tp-404-home .wp-block-navigation-item__content {
  display: inline-flex;
  border-radius: 999px;
  padding: .75rem 1.35rem;
  color: var(--tp-ink);
  background: linear-gradient(135deg, var(--tp-accent), var(--tp-violet));
  font-weight: 700;
  text-decoration: none;
}

.woocommerce .price,
.wc-block-components-product-price { color: var(--tp-cyan); font-weight: 800; }
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  border-radius: 999px !important;
  color: var(--tp-ink) !important;
  background: linear-gradient(135deg, var(--tp-accent), var(--tp-violet)) !important;
  font-weight: 800 !important;
}
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce input,
.woocommerce select,
.woocommerce textarea {
  color: var(--tp-text) !important;
  border-color: var(--tp-line) !important;
  border-radius: 12px !important;
  background: var(--tp-surface) !important;
}
.woocommerce-message,
.woocommerce-info { color: var(--tp-text); border-top-color: var(--tp-accent); background: var(--tp-surface-2); }

.tp-dashboard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1rem; }
.tp-dashboard-grid > * {
  min-width: 0;
  width: 100%;
  max-width: none !important;
  margin-inline: 0 !important;
  box-sizing: border-box;
  justify-self: stretch;
}
.tp-dashboard-item { border: 1px solid var(--tp-line); border-radius: 18px; padding: 1rem; background: var(--tp-surface); }
.tp-dashboard-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 12px; }
.tp-product-tools { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; }
.tp-tool-button { appearance: none; border: 1px solid var(--tp-line); border-radius: 999px; padding: .65rem 1rem; color: var(--tp-text); background: var(--tp-surface); cursor: pointer; font: inherit; font-weight: 700; }
.tp-tool-button:hover,
.tp-tool-button[aria-pressed="true"] { border-color: var(--tp-accent); color: var(--tp-ink); background: var(--tp-accent); }
.tp-status { border-left: 4px solid var(--tp-cyan); padding: 1rem 1.25rem; background: rgba(34, 211, 238, .08); }
.tp-status.is-error { border-left-color: #fb7185; background: rgba(251, 113, 133, .08); }
.tp-contact-form { display: grid; gap: 1rem; }
.tp-contact-form label { display: grid; gap: .45rem; font-weight: 700; }
.tp-contact-form input,
.tp-contact-form textarea,
.tp-contact-form select { width: 100%; box-sizing: border-box; padding: .85rem 1rem; color: var(--tp-text); border: 1px solid var(--tp-line); border-radius: 12px; background: var(--tp-surface); font: inherit; }
.tp-contact-form button { justify-self: start; border: 0; border-radius: 999px; padding: .85rem 1.5rem; color: var(--tp-ink); background: linear-gradient(135deg, var(--tp-accent), var(--tp-violet)); font: inherit; font-weight: 800; cursor: pointer; }
.tp-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 980px) {
  .tp-header-inner { min-height: 66px; flex-wrap: wrap !important; }
  .tp-primary-nav { order: 3; flex-basis: 100%; width: 100%; max-width: none; margin-inline: 0; }
  .tp-primary-nav .wp-block-navigation__responsive-container,
  .tp-primary-nav .wp-block-navigation__container,
  .tp-primary-nav .wp-block-page-list { width: 100%; max-width: none; }
  .tp-primary-nav .wp-block-navigation__container,
  .tp-primary-nav .wp-block-page-list { display: flex; flex-wrap: wrap; overflow: visible; }
  .tp-header-actions { margin-left: auto; }
}
@media (max-width: 782px) {
  body.admin-bar .tp-site-header { top: var(--wp-admin--admin-bar--height, 46px); }
}
@media (max-width: 600px) {
  .tp-hero { min-height: 700px; }
  .tp-card { border-radius: 18px; }
  .tp-site-footer .wp-block-column { flex-basis: 100% !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .tp-ticker-track { animation: none !important; transform: none; }
  .tp-reveal { opacity: 1; transform: none; }
}
