/*
Theme Name:     WoodMart Child
Theme URI:      
Description:    Woodmart child theme.
Author:         Titan
Author URI:     
Template:       woodmart
Version:        0.1.18
*/

/* === TITAN OVERRIDES START === */

:root {
  /* v4 tokens duplicated at :root: the TZ modal and mobile sticky CTA are
     rendered via wp_footer OUTSIDE .titan-home-v4, so they need these too. */
  --titan-v4-dark: #061b3a;
  --titan-v4-blue: #007bc4;
  --titan-v4-cyan: #00a4ff;
  --titan-v4-line: rgba(0, 123, 196, 0.16);
  --titan-bg-1: #f5fbff;
  --titan-bg-2: #eaf3ff;
  --titan-surface: #ffffff;
  --titan-surface-soft: #eef6ff;
  --titan-navy: #072a5d;
  --titan-ink: #1d3258;
  --titan-muted: #5b6e8d;
  --titan-accent: #007bc4;
  --titan-accent-2: #00a4ff;
  --titan-accent-soft: #d8eeff;
  --titan-border: 1px solid rgba(0, 123, 196, 0.18);
  --titan-border-soft: 1px solid rgba(0, 123, 196, 0.1);
  --titan-radius: 16px;
  --titan-radius-lg: 24px;
  --titan-shadow-sm: 0 8px 20px rgba(10, 26, 58, 0.06);
  --titan-shadow-md: 0 18px 40px rgba(10, 26, 58, 0.12);
  --titan-shadow-lg: 0 28px 56px rgba(10, 26, 58, 0.18);
  --titan-ease: all 0.3s cubic-bezier(.22, 1, .36, 1);
  --titan-pattern-mesh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' width='120' height='120'%3E%3Cg fill='none' stroke='%23d4eaff'%3E%3Cpath d='M0 30h120M0 90h120M30 0v120M90 0v120'/%3E%3Cpath d='M0 0L120 120M120 0L0 120' stroke-opacity='0.15'/%3E%3C/g%3E%3Ccircle cx='30' cy='30' r='2' fill='%23b9daff'/%3E%3Ccircle cx='90' cy='90' r='2' fill='%23b9daff'/%3E%3Ccircle cx='30' cy='90' r='1.7' fill='%23d9ebff'/%3E%3Ccircle cx='90' cy='30' r='1.7' fill='%23d9ebff'/%3E%3C/svg%3E");
}

.woocommerce-checkout .titan-checkout-intro {
  position: relative;
  margin: 0 0 28px;
  padding: clamp(22px, 4vw, 34px);
  overflow: hidden;
  border: var(--titan-border);
  border-radius: var(--titan-radius-lg);
  color: var(--titan-ink);
  background:
    radial-gradient(circle at 92% 12%, rgba(0, 164, 255, 0.24), transparent 34%),
    linear-gradient(135deg, rgba(245, 251, 255, 0.98), rgba(234, 243, 255, 0.88));
  box-shadow: var(--titan-shadow-sm);
}

.woocommerce-checkout .titan-checkout-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: var(--titan-pattern-mesh);
  opacity: 0.28;
}

.woocommerce-checkout .titan-checkout-intro > * {
  position: relative;
  z-index: 1;
}

.woocommerce-checkout .titan-checkout-intro__eyebrow {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 7px 11px;
  border-radius: 999px;
  color: var(--titan-navy);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.8);
  border: var(--titan-border-soft);
}

.woocommerce-checkout .titan-checkout-intro h2 {
  max-width: 760px;
  margin: 0 0 8px;
  color: var(--titan-navy);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.05;
}

.woocommerce-checkout .titan-checkout-intro p {
  max-width: 760px;
  margin: 0;
  color: var(--titan-muted);
  font-size: 17px;
  line-height: 1.6;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review {
  border: var(--titan-border-soft);
  border-radius: var(--titan-radius);
  background: var(--titan-surface);
  box-shadow: var(--titan-shadow-sm);
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  padding: clamp(18px, 3vw, 28px);
}

.woocommerce-checkout #place_order {
  min-height: 52px;
  border-radius: 999px;
  font-weight: 800;
}

@media (max-width: 768px) {
  .woocommerce-checkout .titan-checkout-intro {
    margin-bottom: 20px;
  }
}

/* Keep section rhythm clean and intentional. */
.home .wp-block-group {
  margin-top: 0;
}

/* Homepage v4: B2B request-first landing. */
.home .titan-home-v4 {
  --titan-v4-dark: #061b3a;
  --titan-v4-blue: #007bc4;
  --titan-v4-cyan: #00a4ff;
  --titan-v4-line: rgba(0, 123, 196, 0.16);
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 16px 64px;
}

.home .titan-home-v4 a {
  text-decoration: none;
}

.home .titan-home-v4 > section {
  animation: titan-v4-rise 0.75s ease both;
}

.home .titan-home-v4 > section:nth-child(2) {
  animation-delay: 0.08s;
}

.home .titan-home-v4 > section:nth-child(3) {
  animation-delay: 0.14s;
}

.home .titan-home-v4 > section:nth-child(4) {
  animation-delay: 0.2s;
}

.home .titan-home-v4 > section:nth-child(5) {
  animation-delay: 0.26s;
}

.home .titan-v4-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.24fr) minmax(300px, 0.76fr);
  gap: clamp(18px, 3vw, 32px);
  align-items: stretch;
  overflow: hidden;
  min-height: 500px;
  margin: 0 0 22px;
  padding: clamp(26px, 3.8vw, 42px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 32px;
  color: #fff;
  background:
    radial-gradient(circle at 80% 18%, rgba(0, 164, 255, 0.52), transparent 30%),
    radial-gradient(circle at 12% 12%, rgba(255, 255, 255, 0.18), transparent 26%),
    linear-gradient(135deg, #04152f 0%, #082a5c 46%, #007bc4 100%);
  box-shadow: 0 34px 72px rgba(5, 22, 48, 0.24);
}

.home .titan-v4-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, 0.72) 52%, transparent 100%);
}

.home .titan-v4-hero::after {
  content: "";
  position: absolute;
  right: -110px;
  bottom: -150px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 50%;
  box-shadow:
    0 0 0 38px rgba(255, 255, 255, 0.05),
    0 0 0 92px rgba(255, 255, 255, 0.035);
}

.home .titan-v4-hero__copy,
.home .titan-v4-hero__panel {
  position: relative;
  z-index: 1;
}

.home .titan-v4-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: clamp(2px, 1.4vw, 22px);
}

.home .titan-v4-eyebrow {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 14px;
  padding: 8px 12px;
  border: 1px solid rgba(0, 164, 255, 0.28);
  border-radius: 999px;
  color: #89dcff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.08);
}

.home .titan-v4-hero h1 {
  max-width: 780px;
  margin: 0;
  color: #fff;
  font-size: clamp(32px, 3.55vw, 45px);
  line-height: 1.01;
  letter-spacing: -0.04em;
}

.home .titan-v4-lead {
  max-width: 660px;
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(15px, 1.35vw, 16px);
  line-height: 1.45;
}

.home .titan-v4-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.home .titan-v4-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  font-weight: 900;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.home .titan-v4-btn:hover {
  transform: translateY(-2px);
}

.home .titan-v4-btn--primary {
  color: var(--titan-v4-dark);
  background: #fff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22);
}

.home .titan-v4-btn--ghost {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.46);
  background: rgba(255, 255, 255, 0.08);
}

.home .titan-v4-btn--ghost-dark {
  color: var(--titan-v4-dark);
  border: 1px solid var(--titan-v4-line);
  background: rgba(255, 255, 255, 0.78);
}

.home .titan-v4-btn--light {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.44);
  background: rgba(255, 255, 255, 0.12);
}

.home .titan-v4-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 720px;
  margin-top: 14px;
}

.home .titan-v4-proof span {
  flex: 1 1 150px;
  min-height: 0;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
}

.home .titan-v4-proof strong {
  display: block;
  color: #fff;
  font-size: 19px;
  line-height: 1.05;
}

.home .titan-v4-hero__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}

.home .titan-v4-visual {
  position: relative;
  min-height: 340px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.08)),
    radial-gradient(circle at 70% 18%, rgba(137, 220, 255, 0.34), transparent 34%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 24px 58px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(18px);
}

.home .titan-v4-visual::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 22px;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(180deg, #000, transparent 86%);
}

.home .titan-v4-visual__glow {
  position: absolute;
  inset: auto -60px -90px auto;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(137, 220, 255, 0.34);
  filter: blur(18px);
}

.home .titan-v4-visual img {
  position: absolute;
  display: block;
  object-fit: contain;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(3, 15, 34, 0.22);
}

.home .titan-v4-visual__main {
  right: 26px;
  bottom: 26px;
  width: min(68%, 280px);
  padding: 14px;
  transform: rotate(-2deg);
  animation: titan-v4-float 5.8s ease-in-out infinite;
}

.home .titan-v4-visual__float {
  padding: 10px;
}

.home .titan-v4-visual__float--device {
  top: 24px;
  left: 18px;
  width: min(46%, 172px);
  transform: rotate(3deg);
  animation: titan-v4-float 6.4s ease-in-out infinite reverse;
}

.home .titan-v4-visual__float--magnetic {
  right: 18px;
  top: 30px;
  width: min(40%, 156px);
  transform: rotate(-4deg);
  animation: titan-v4-float 7s ease-in-out infinite;
}

.home .titan-v4-visual__float--meter {
  left: 34px;
  bottom: 46px;
  width: min(39%, 150px);
  transform: rotate(-3deg);
  animation: titan-v4-float 6.8s ease-in-out infinite reverse;
}

.home .titan-v4-visual__scan {
  position: absolute;
  left: 20px;
  right: 20px;
  top: 34%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(137, 220, 255, 0.95), transparent);
  box-shadow: 0 0 22px rgba(137, 220, 255, 0.72);
  animation: titan-v4-scan 4.4s ease-in-out infinite;
}

.home .titan-v4-visual__badge {
  position: absolute;
  right: 22px;
  bottom: 22px;
  max-width: 220px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 18px;
  color: #fff;
  background: rgba(4, 21, 47, 0.74);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(14px);
}

.home .titan-v4-visual__badge span {
  display: block;
  color: #89dcff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home .titan-v4-visual__badge strong {
  display: block;
  margin-top: 4px;
  font-size: 16px;
  line-height: 1.2;
}

.home .titan-v4-process-mini {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.home .titan-v4-process-mini span {
  min-height: 56px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  color: rgba(255, 255, 255, 0.82);
  font-weight: 800;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
}

.home .titan-v4-process-mini b {
  display: block;
  margin-bottom: 4px;
  color: #89dcff;
  font-size: 13px;
}

.home .titan-v4-panel-card {
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(16px);
}

.home .titan-v4-panel-card--accent {
  background: rgba(255, 255, 255, 0.2);
}

.home .titan-v4-panel-card span {
  display: inline-flex;
  margin-bottom: 8px;
  color: #89dcff;
  font-weight: 900;
}

.home .titan-v4-panel-card strong {
  display: block;
  color: #fff;
  font-size: 18px;
}

.home .titan-v4-panel-card p {
  margin: 5px 0 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.45;
}

.home .titan-v4-directions,
.home .titan-v4-products,
.home .titan-v4-category-wall,
.home .titan-v4-final-cta,
.home .titan-v4-seo,
.home .titan-v4-assurance {
  margin-top: 22px;
}

.home .titan-v4-directions,
.home .titan-v4-products,
.home .titan-v4-category-wall,
.home .titan-v4-seo,
.home .titan-v4-final-cta {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 4vw, 40px);
  border: var(--titan-border);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 164, 255, 0.11), transparent 34%),
    linear-gradient(180deg, #fff 0%, #f5fbff 100%);
  box-shadow: var(--titan-shadow-sm);
}

.home .titan-v4-directions::before,
.home .titan-v4-products::before,
.home .titan-v4-category-wall::before,
.home .titan-v4-seo::before,
.home .titan-v4-final-cta::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--titan-v4-blue), var(--titan-v4-cyan), transparent);
}

.home .titan-v4-section-head {
  max-width: 760px;
  margin-bottom: 24px;
}

.home .titan-v4-section-head--row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  max-width: none;
}

.home .titan-v4-section-head h2,
.home .titan-v4-request-band h2,
.home .titan-v4-final-cta h2 {
  margin: 0;
  color: var(--titan-v4-dark);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
  letter-spacing: -0.04em;
}

.home .titan-v4-section-head p,
.home .titan-v4-final-cta p {
  margin: 12px 0 0;
  color: var(--titan-muted);
  font-size: 17px;
}

.home .titan-v4-section-head--row > a {
  color: var(--titan-v4-blue);
  font-weight: 900;
}

.home .titan-v4-direction-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  font-size: 0;
}

.home .titan-v4-direction-grid > br {
  display: none;
}

.home .titan-v4-direction-card {
  position: relative;
  min-height: 245px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(0, 123, 196, 0.14);
  border-radius: 22px;
  color: var(--titan-v4-dark);
  font-size: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 164, 255, 0.18), transparent 34%),
    #fff;
  box-shadow: 0 10px 24px rgba(7, 42, 93, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.home .titan-v4-direction-card img {
  position: absolute;
  right: -10px;
  top: 10px;
  width: min(46%, 170px);
  height: 118px;
  object-fit: contain;
  padding: 10px;
  border: 1px solid rgba(0, 123, 196, 0.08);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 16px 34px rgba(7, 42, 93, 0.1);
  transform: rotate(2deg);
  transition: transform 0.25s ease;
}

.home .titan-v4-direction-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 123, 196, 0.34);
  box-shadow: var(--titan-shadow-md);
}

.home .titan-v4-direction-card:hover img {
  transform: rotate(0deg) translateY(-3px);
}

.home .titan-v4-direction-card span {
  display: inline-flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  border-radius: 15px;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg, var(--titan-v4-blue), var(--titan-v4-cyan));
}

.home .titan-v4-direction-card strong {
  display: block;
  max-width: 250px;
  font-size: 20px;
  line-height: 1.15;
}

.home .titan-v4-direction-card em {
  display: block;
  max-width: 260px;
  margin-top: 12px;
  color: var(--titan-muted);
  font-style: normal;
  font-weight: 700;
}

.home .titan-v4-direction-card small {
  display: inline-flex;
  width: fit-content;
  margin-top: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  color: var(--titan-v4-blue);
  font-size: 13px;
  font-weight: 900;
  background: rgba(0, 123, 196, 0.08);
}

.home .titan-v4-direction-card--priority {
  min-height: 265px;
  border-color: rgba(0, 123, 196, 0.28);
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 164, 255, 0.25), transparent 38%),
    linear-gradient(180deg, #fff 0%, #eef8ff 100%);
}

.home .titan-v4-direction-card--priority img {
  width: min(50%, 190px);
  height: 128px;
}

.home .titan-v4-request-band {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.75fr) auto;
  gap: 24px;
  align-items: center;
  margin-top: 22px;
  padding: clamp(24px, 4vw, 38px);
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 164, 255, 0.32), transparent 34%),
    linear-gradient(135deg, #071b3a, #123e78);
  box-shadow: var(--titan-shadow-md);
}

.home .titan-v4-request-band h2,
.home .titan-v4-request-band .titan-v4-eyebrow {
  color: #fff;
}

.home .titan-v4-request-band p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 16px;
  line-height: 1.6;
}

.home .titan-v4-assurance {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.home .titan-v4-assurance-card {
  min-height: 172px;
  padding: 22px;
  border: 1px solid rgba(0, 123, 196, 0.12);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--titan-shadow-sm);
}

.home .titan-v4-assurance-card strong {
  display: block;
  color: var(--titan-v4-dark);
  font-size: 20px;
  line-height: 1.15;
}

.home .titan-v4-assurance-card p {
  margin: 12px 0 0;
  color: var(--titan-muted);
}

.home .titan-v4-products ul.products,
.home .titan-v4-category-wall ul.products {
  margin-bottom: 0;
}

.home .titan-v4-products .product-grid-item,
.home .titan-v4-products li.product {
  position: relative;
  border-radius: 20px;
}

.titan-product-badges {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  display: flex;
  max-width: calc(100% - 20px);
  flex-wrap: wrap;
  gap: 6px;
  pointer-events: none;
}

.titan-product-badges span {
  padding: 5px 8px;
  border-radius: 999px;
  color: #06345e;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 18px rgba(7, 42, 93, 0.12);
}

.titan-product-badges span:first-child {
  color: #075b32;
  background: #dff8e9;
}

.home .titan-v4-category-wall ul.products li.product-category a {
  border-radius: 18px;
  border: 1px solid rgba(0, 123, 196, 0.12);
  background: #fff;
  box-shadow: var(--titan-shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.home .titan-v4-category-wall ul.products li.product-category a:hover {
  transform: translateY(-3px);
  box-shadow: var(--titan-shadow-md);
}

.home .titan-v4-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background:
    radial-gradient(circle at 90% 12%, rgba(0, 164, 255, 0.2), transparent 34%),
    linear-gradient(180deg, #f7fbff 0%, #eaf5ff 100%);
}

.home .titan-v4-seo h2 {
  max-width: 880px;
  margin: 0;
  color: var(--titan-v4-dark);
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.home .titan-v4-seo p {
  max-width: 980px;
  margin: 16px 0 0;
  color: var(--titan-muted);
  font-size: 17px;
  line-height: 1.65;
}

.titan-tz-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.titan-tz-open {
  overflow: hidden;
}

.titan-tz-modal[aria-hidden="false"] {
  display: flex;
}

.titan-tz-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(3, 15, 34, 0.66);
  backdrop-filter: blur(8px);
}

.titan-tz-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 560px);
  max-height: min(760px, calc(100vh - 32px));
  overflow: auto;
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 164, 255, 0.14), transparent 34%),
    #fff;
  box-shadow: 0 34px 80px rgba(3, 15, 34, 0.32);
}

.titan-tz-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  color: var(--titan-v4-dark);
  font-size: 24px;
  line-height: 1;
  background: #eef7ff;
  cursor: pointer;
}

.titan-tz-form {
  padding: clamp(24px, 5vw, 38px);
}

.titan-tz-form h2 {
  margin: 0;
  color: var(--titan-v4-dark);
  font-size: clamp(30px, 4vw, 42px);
  line-height: 1;
  letter-spacing: -0.04em;
}

.titan-tz-form p {
  margin: 12px 0 22px;
  color: var(--titan-muted);
}

.titan-tz-form label {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
  color: var(--titan-v4-dark);
  font-weight: 900;
}

.titan-tz-form input:not([type="checkbox"]),
.titan-tz-form textarea {
  width: 100%;
  border: 1px solid rgba(0, 123, 196, 0.16);
  border-radius: 16px;
  padding: 13px 14px;
  color: var(--titan-v4-dark);
  background: #f7fbff;
}

.titan-tz-form textarea {
  resize: vertical;
}

.titan-tz-form__checkbox {
  display: flex !important;
  grid-template-columns: none;
  align-items: center;
  gap: 10px !important;
}

.titan-tz-form__status {
  min-height: 22px;
  margin-top: 14px;
  color: var(--titan-muted);
  font-weight: 800;
}

.titan-tz-form__status[data-state="success"] {
  color: #087443;
}

.titan-tz-form__status[data-state="error"] {
  color: #b42318;
}

.titan-mobile-tz {
  position: fixed;
  right: 14px;
  bottom: 82px;
  z-index: 1200;
  display: none;
  padding: 13px 18px;
  border-radius: 999px;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg, var(--titan-v4-blue), var(--titan-v4-cyan));
  box-shadow: 0 14px 32px rgba(0, 123, 196, 0.32);
}

@media (max-width: 1024px) {
  .home .titan-v4-hero,
  .home .titan-v4-request-band {
    grid-template-columns: 1fr;
  }

  .home .titan-v4-visual {
    min-height: 340px;
  }

  .home .titan-v4-direction-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home .titan-v4-assurance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .home .titan-home-v4 {
    padding: 0 10px 42px;
  }

  .home .titan-v4-hero {
    min-height: auto;
    padding: 26px;
    border-radius: 24px;
  }

  .home .titan-v4-hero .titan-v4-open-tz {
    display: none;
  }

  .home .titan-v4-visual {
    min-height: 320px;
    border-radius: 22px;
  }

  .home .titan-v4-visual__float--magnetic {
    display: none !important;
  }

  .home .titan-v4-visual__main {
    width: 74%;
    right: 12px;
    bottom: 42px;
  }

  .home .titan-v4-visual__float--device {
    width: 50%;
  }

  .home .titan-v4-visual__float--meter {
    width: 42%;
    left: 18px;
  }

  .home .titan-v4-process-mini {
    grid-template-columns: 1fr;
  }

  .home .titan-v4-proof,
  .home .titan-v4-assurance {
    grid-template-columns: 1fr;
  }

  .home .titan-v4-direction-grid {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
  }

  .home .titan-v4-direction-card {
    flex: 0 0 min(82vw, 320px);
    min-width: min(82vw, 320px);
    min-height: 260px;
    scroll-snap-align: start;
  }

  .home .titan-v4-direction-card img {
    right: 8px;
    top: 14px;
    width: 42%;
    height: 104px;
  }

  .home .titan-v4-section-head--row,
  .home .titan-v4-final-cta {
    display: block;
  }

  .home .titan-v4-final-cta .titan-v4-actions {
    margin-top: 20px;
  }

  .titan-mobile-tz {
    display: inline-flex;
  }

  .titan-tz-modal {
    align-items: end;
    padding: 10px;
  }

  .titan-tz-modal__dialog {
    width: 100%;
    max-height: calc(100vh - 20px);
    border-radius: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home .titan-home-v4 > section,
  .home .titan-v4-visual__main,
  .home .titan-v4-visual__float,
  .home .titan-v4-visual__scan {
    animation: none;
  }

  .home .titan-v4-btn,
  .home .titan-v4-direction-card,
  .home .titan-v4-category-wall ul.products li.product-category a {
    transition: none;
  }
}

@keyframes titan-v4-rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes titan-v4-float {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -10px;
  }
}

@keyframes titan-v4-scan {
  0%,
  100% {
    transform: translateY(-64px);
    opacity: 0.18;
  }
  45%,
  55% {
    opacity: 0.9;
  }
  50% {
    transform: translateY(108px);
  }
}

.home .titan-benefits-strip,
.home .titan-b2b-benefits,
.home .titan-home-cta,
.home .titan-home-products,
.home .titan-home-categories,
.home .titan-category-grid {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}

/* Hero: stronger premium look with glass panel and subtle depth. */
.home .titan-home-hero {
  position: relative;
  isolation: isolate;
  border-radius: var(--titan-radius-lg);
  overflow: hidden;
  border: var(--titan-border-soft);
  box-shadow: var(--titan-shadow-lg);
  background:
    linear-gradient(120deg, rgba(0, 123, 196, 0.22), rgba(0, 123, 196, 0.06)),
    radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.85) 0%, transparent 55%),
    var(--titan-bg-1);
}

.home .titan-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--titan-pattern-mesh);
  opacity: 0.55;
}

.home .wp-block-wd-slider.wd-slider {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  box-shadow: var(--titan-shadow-md);
  border: 1px solid rgba(255, 255, 255, 0.3);
  background-image: var(--titan-pattern-mesh);
  background-size: 220px 220px;
  background-blend-mode: multiply;
  z-index: 1;
}

.home .wp-block-wd-slider.wd-slider .wd-slide-container {
  max-width: 660px;
  padding: 28px 30px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  background: linear-gradient(
    96deg,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(255, 255, 255, 0.86) 60%,
    rgba(255, 255, 255, 0.04) 100%
  );
  box-shadow: 0 14px 34px rgba(10, 26, 58, 0.16);
  backdrop-filter: blur(6px);
}

.home .wp-block-wd-slider.wd-slider .wp-block-wd-title {
  color: var(--titan-navy) !important;
  font-size: clamp(32px, 4.1vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  max-width: 560px;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.home .wp-block-wd-slider.wd-slider .wp-block-wd-paragraph {
  color: var(--titan-ink) !important;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.home .wp-block-wd-slider.wd-slider .wp-block-wd-button.btn {
  min-height: 46px;
  border-radius: 999px;
  padding: 12px 24px;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 22px rgba(47, 107, 255, 0.25);
  transition: var(--titan-ease);
}

.home .wp-block-wd-slider.wd-slider .wp-block-wd-button.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(47, 107, 255, 0.32);
}

/* Benefits strip. */
.home .titan-benefits-strip {
  background:
    radial-gradient(circle at 12% 10%, rgba(31, 155, 255, 0.16), transparent 42%),
    radial-gradient(circle at 88% 15%, rgba(47, 107, 255, 0.1), transparent 46%),
    linear-gradient(180deg, var(--titan-bg-1) 0%, var(--titan-bg-2) 100%);
  border: var(--titan-border);
  border-radius: var(--titan-radius-lg);
  box-shadow: var(--titan-shadow-sm);
}

.home .titan-benefits-strip .wp-block-column {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 14px;
  padding: 18px 14px;
  transition: var(--titan-ease);
}

.home .titan-benefits-strip .wp-block-column:hover {
  transform: translateY(-4px);
  box-shadow: var(--titan-shadow-md);
}

.home .titan-benefits-strip .titan-benefit-title {
  color: var(--titan-navy);
  font-size: 17px;
  margin-bottom: 8px;
}

.home .titan-benefits-strip p {
  color: var(--titan-muted);
  font-size: 14px;
  margin: 0;
}

/* Trust block. */
.home .titan-b2b-benefits {
  border: var(--titan-border);
  border-radius: var(--titan-radius-lg);
  box-shadow: var(--titan-shadow-sm);
  background: linear-gradient(180deg, #f9fbff 0%, #f1f6ff 100%);
}

.home .titan-b2b-benefits > h2 {
  font-size: clamp(28px, 3.1vw, 40px);
  line-height: 1.1;
  color: var(--titan-navy);
  letter-spacing: -0.02em;
}

.home .titan-b2b-benefits .titan-lead {
  color: var(--titan-ink);
  font-size: 17px;
  max-width: 860px;
}

.home .titan-b2b-benefits .titan-card {
  border: 1px solid rgba(47, 107, 255, 0.1);
  box-shadow: var(--titan-shadow-sm);
  transition: var(--titan-ease);
}

.home .titan-b2b-benefits .titan-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--titan-shadow-md);
}

.home .titan-b2b-benefits .titan-card h3 {
  color: var(--titan-navy);
}

.home .titan-b2b-benefits .titan-card p {
  color: var(--titan-muted);
}

/* CTA block. */
.home .titan-home-cta {
  position: relative;
  overflow: hidden;
  border-radius: var(--titan-radius-lg);
  box-shadow: var(--titan-shadow-lg);
  background:
    radial-gradient(circle at 18% 20%, rgba(47, 107, 255, 0.35), transparent 45%),
    radial-gradient(circle at 90% 80%, rgba(31, 155, 255, 0.24), transparent 40%),
    linear-gradient(135deg, #0d234f 0%, #12316c 52%, #124489 100%);
}

.home .titan-home-cta h3 {
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.home .titan-home-cta p {
  font-size: 16px;
}

.home .titan-home-cta .wp-block-button__link {
  border-radius: 999px !important;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 10px 22px !important;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: var(--titan-ease);
}

.home .titan-home-cta .titan-cta-primary .wp-block-button__link {
  background: #fff;
  color: #11326d;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2);
}

.home .titan-home-cta .titan-cta-secondary .wp-block-button__link {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.55);
  color: #fff;
}

.home .titan-home-cta .wp-block-button__link:hover {
  transform: translateY(-2px);
}

/* Product section. */
.home .titan-home-products {
  border-radius: var(--titan-radius-lg);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border: var(--titan-border);
  box-shadow: var(--titan-shadow-sm);
}

.home .titan-home-products > h2 {
  text-align: center;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 26px;
}

.home .titan-home-products ul.products {
  margin-top: 0;
}

.home .titan-home-products ul.products li.product {
  border-radius: inherit;
  border: none;
  background: transparent;
  box-shadow: none;
  transition: none;
}

.home .titan-home-products ul.products li.product:hover {
  transform: none;
  box-shadow: none;
}

.home .titan-home-products .product-element-top {
  min-height: auto;
  max-height: none;
  background: transparent;
  border-radius: 0;
}

.home .titan-home-products .wd-entities-title a {
  color: var(--titan-ink);
}

.home .titan-home-products .price {
  color: var(--titan-navy);
  font-weight: 700;
}

.home .titan-home-products .button,
.home .titan-home-products .add_to_cart_button {
  border-radius: inherit !important;
  min-height: auto;
  font-weight: inherit;
}

/* Categories section. */
.home .titan-home-categories,
.home .titan-category-grid {
  border-radius: var(--titan-radius-lg);
  background:
    radial-gradient(circle at 10% 4%, rgba(31, 155, 255, 0.12), transparent 40%),
    linear-gradient(180deg, #f7faff 0%, #f1f7ff 100%);
  border: var(--titan-border);
  box-shadow: var(--titan-shadow-sm);
}

.home .titan-home-categories > h2,
.home .titan-category-grid > h2 {
  font-size: clamp(28px, 3vw, 38px);
  letter-spacing: -0.02em;
  margin-bottom: 24px;
}

.home .titan-home-categories ul.products li.product-category a,
.home .titan-category-grid ul.products li.product-category a {
  border-radius: 16px;
  border: 1px solid rgba(47, 107, 255, 0.12);
  background: #fff;
  box-shadow: var(--titan-shadow-sm);
  transition: var(--titan-ease);
}

.home .titan-home-categories ul.products li.product-category a:hover,
.home .titan-category-grid ul.products li.product-category a:hover {
  transform: translateY(-3px);
  box-shadow: var(--titan-shadow-md);
}

.home .titan-home-categories .woocommerce-loop-category__title,
.home .titan-category-grid .woocommerce-loop-category__title {
  color: var(--titan-navy);
  font-weight: 700;
}

.home .titan-home-products,
.home .titan-home-categories,
.home .titan-category-grid {
  background:
    radial-gradient(circle at 16% 4%, rgba(0, 123, 196, 0.06), transparent 42%),
    radial-gradient(circle at 84% 0%, rgba(0, 164, 255, 0.08), transparent 45%),
    var(--titan-pattern-mesh),
    linear-gradient(180deg, #f7fbff 0%, #f2f8ff 100%);
}

.home .titan-home-hero .titan-hero-categories-strip {
  position: relative;
  z-index: 1;
  border-radius: 12px;
  border: var(--titan-border-soft);
  margin-top: 18px;
  padding: 10px 10px;
  background-color: #ffffff;
  box-shadow: var(--titan-shadow-sm);
}

.home .titan-home-hero .titan-hero-categories-strip .wp-block-shortcode {
  margin: 0;
}

/* Homepage should use the hero/category strip, not the floating header category dropdown. */
.home .wd-header-cats,
.home .wd-nav-vertical,
.home .wd-header-cats + .wd-nav-vertical,
.home .categories-menu-dropdown {
  display: none !important;
}

.home .titan-home-hero + .titan-hero-categories-strip {
  position: relative;
  z-index: 5;
}

.home .titan-hero-categories-strip ul.products,
.home .titan-category-grid ul.products {
  gap: 14px;
}

.home .titan-hero-categories-strip ul.products li.product-category .product-category-inner,
.home .titan-category-grid ul.products li.product-category .product-category-inner {
  padding: 12px;
}

.home .titan-hero-categories-strip .woocommerce-loop-category__title,
.home .titan-category-grid .woocommerce-loop-category__title {
  font-size: 14px;
  line-height: 1.3;
}

/* Shop archives: keep category navigation compact and make products feel curated. */
.woodmart-archive-shop .wd-page-title,
.tax-product_cat .wd-page-title {
  overflow: hidden;
  min-height: 0;
  padding: 36px 0 30px;
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 164, 255, 0.24), transparent 38%),
    radial-gradient(circle at 90% 12%, rgba(0, 123, 196, 0.18), transparent 42%),
    linear-gradient(135deg, #0d234f 0%, #113a78 100%);
}

.woodmart-archive-shop .wd-page-title .container,
.tax-product_cat .wd-page-title .container {
  height: auto !important;
  padding-top: 0;
  padding-bottom: 0;
}

.woodmart-archive-shop .wd-page-title .entry-title,
.tax-product_cat .wd-page-title .entry-title {
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.woodmart-archive-shop .wd-nav-product-cat,
.tax-product_cat .wd-nav-product-cat {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: stretch;
  justify-content: flex-start !important;
  width: 100%;
  margin-top: 24px;
  padding: 2px 2px 12px;
  max-height: 96px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.woodmart-archive-shop .wd-nav-product-cat > li,
.tax-product_cat .wd-nav-product-cat > li {
  flex: 0 0 auto;
  width: min(260px, 72vw);
}

.woodmart-archive-shop .wd-nav-product-cat .category-nav-link,
.tax-product_cat .wd-nav-product-cat .category-nav-link {
  min-height: 72px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(6px);
  transition: var(--titan-ease);
}

.woodmart-archive-shop .wd-nav-product-cat .category-nav-link:hover,
.tax-product_cat .wd-nav-product-cat .category-nav-link:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.2);
}

.woodmart-archive-shop .wd-nav-product-cat .nav-link-text,
.tax-product_cat .wd-nav-product-cat .nav-link-text {
  color: #fff;
  font-size: 13px;
  line-height: 1.25;
  letter-spacing: 0.02em;
}

.woodmart-archive-shop .wd-nav-product-cat .nav-link-count,
.tax-product_cat .wd-nav-product-cat .nav-link-count {
  margin-top: 5px;
  color: rgba(232, 244, 255, 0.78);
  font-size: 12px;
}

.woodmart-archive-shop .wd-nav-product-cat .children,
.tax-product_cat .wd-nav-product-cat .children {
  display: none !important;
}

.woodmart-archive-shop .wd-content-layout,
.tax-product_cat .wd-content-layout {
  margin-top: 34px;
}

.woodmart-archive-shop .shop-loop-head,
.tax-product_cat .shop-loop-head {
  min-height: 54px;
  margin-bottom: 24px;
  padding: 14px 16px;
  border: var(--titan-border-soft);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--titan-shadow-sm);
}

.woodmart-archive-shop .sidebar-container .widget-area,
.tax-product_cat .sidebar-container .widget-area {
  position: sticky;
  top: 22px;
}

.woodmart-archive-shop .sidebar-widget,
.tax-product_cat .sidebar-widget {
  padding: 18px;
  border: var(--titan-border-soft);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--titan-shadow-sm);
}

.woodmart-archive-shop .wd-product .product-wrapper,
.tax-product_cat .wd-product .product-wrapper,
.single-product .related-products .wd-product .product-wrapper,
.single-product .upsells-products .wd-product .product-wrapper {
  height: 100%;
  padding: 12px;
  border: var(--titan-border-soft);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 251, 255, 0.96) 100%);
  box-shadow: var(--titan-shadow-sm);
  transition: var(--titan-ease);
}

.woodmart-archive-shop .wd-product .product-wrapper:hover,
.tax-product_cat .wd-product .product-wrapper:hover,
.single-product .related-products .wd-product .product-wrapper:hover,
.single-product .upsells-products .wd-product .product-wrapper:hover {
  transform: translateY(-4px);
  box-shadow: var(--titan-shadow-md);
}

.woodmart-archive-shop .wd-product .product-element-top,
.tax-product_cat .wd-product .product-element-top,
.single-product .related-products .wd-product .product-element-top,
.single-product .upsells-products .wd-product .product-element-top {
  overflow: hidden;
  border-radius: 14px;
  background:
    radial-gradient(circle at 30% 12%, rgba(0, 164, 255, 0.08), transparent 35%),
    #f4f8fd;
}

.woodmart-archive-shop .wd-product img.woocommerce-placeholder,
.tax-product_cat .wd-product img.woocommerce-placeholder,
.single-product img.woocommerce-placeholder {
  object-fit: cover;
  padding: 0;
  background: #f4f8fd;
}

.woodmart-archive-shop .wd-product .wd-entities-title,
.tax-product_cat .wd-product .wd-entities-title,
.single-product .related-products .wd-product .wd-entities-title,
.single-product .upsells-products .wd-product .wd-entities-title {
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.35;
}

.woodmart-archive-shop .wd-product .wd-entities-title a,
.tax-product_cat .wd-product .wd-entities-title a,
.single-product .related-products .wd-product .wd-entities-title a,
.single-product .upsells-products .wd-product .wd-entities-title a {
  color: var(--titan-ink);
}

.woodmart-archive-shop .wd-product .price,
.tax-product_cat .wd-product .price,
.single-product .related-products .wd-product .price,
.single-product .upsells-products .wd-product .price {
  color: var(--titan-navy);
  font-size: 15px;
  font-weight: 800;
}

.woodmart-archive-shop .wd-product .button,
.tax-product_cat .wd-product .button,
.single-product .related-products .wd-product .button,
.single-product .upsells-products .wd-product .button {
  border-radius: 999px !important;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.titan-price-on-request {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 11px;
  border: 1px solid rgba(0, 123, 196, 0.18);
  border-radius: 999px;
  background: var(--titan-accent-soft);
  color: var(--titan-navy);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.woodmart-archive-shop .product-labels .out-of-stock,
.tax-product_cat .product-labels .out-of-stock,
.single-product .product-labels .out-of-stock,
.wd-label.wd-label-outofstock {
  background: #eaf6ff;
  color: var(--titan-navy);
}

/* Single product: frame the commercial information like a proper offer page. */
.single-product .product-image-summary {
  gap: 30px;
}

.single-product .product-images,
.single-product div.woocommerce-product-gallery,
.single-product .summary.entry-summary,
.single-product .summary.entry-summary .summary-inner {
  border: var(--titan-border-soft) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: var(--titan-shadow-sm) !important;
}

.single-product .product-images,
.single-product .summary.entry-summary .summary-inner {
  padding: 24px !important;
}

.single-product div.woocommerce-product-gallery,
.single-product .woocommerce-product-gallery {
  background:
    radial-gradient(circle at 18% 8%, rgba(0, 164, 255, 0.08), transparent 38%),
    #fff !important;
}

.single-product .summary-inner .product_title {
  color: var(--titan-navy);
  font-size: clamp(30px, 3.1vw, 44px);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.single-product .summary-inner .price {
  color: var(--titan-navy);
  font-size: 25px;
  font-weight: 800;
}

.single-product .summary-inner .stock,
.single-product .summary-inner .out-of-stock {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff4e5;
  color: #8a4a00;
  font-weight: 800;
}

.single-product .woocommerce-tabs {
  margin-top: 38px;
  padding: 26px;
  border: var(--titan-border-soft);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--titan-shadow-sm);
}

.single-product .woocommerce-tabs .tabs {
  border-bottom: var(--titan-border-soft);
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  color: var(--titan-ink);
  font-size: 16px;
  line-height: 1.7;
}

.single-product .titan-product-request-card {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(0, 123, 196, 0.18);
  border-radius: 18px;
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 164, 255, 0.14), transparent 42%),
    linear-gradient(180deg, #f8fcff 0%, #eef7ff 100%);
}

.single-product .titan-product-request-card strong,
.single-product .titan-product-request-card span {
  display: block;
}

.single-product .titan-product-request-card strong {
  color: var(--titan-navy);
  font-size: 18px;
  line-height: 1.2;
}

.single-product .titan-product-request-card span {
  margin-top: 6px;
  color: var(--titan-muted);
  line-height: 1.45;
}

.single-product .titan-product-request-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 14px;
}

.single-product .titan-product-request-primary {
  border-radius: 999px !important;
  font-weight: 800;
}

.single-product .titan-product-request-phone {
  color: var(--titan-navy);
  font-weight: 800;
  text-decoration: none;
}

/* Footer: modern clean layout that matches homepage style. */
.wd-footer.footer-container {
  position: relative;
  margin-top: 30px;
  border-top: 1px solid rgba(47, 107, 255, 0.12);
  background:
    radial-gradient(circle at 12% -20%, rgba(47, 107, 255, 0.2), transparent 45%),
    radial-gradient(circle at 92% -15%, rgba(31, 155, 255, 0.18), transparent 40%),
    linear-gradient(180deg, #0f2248 0%, #0b1a38 100%);
}

.wd-footer .main-footer {
  color: rgba(238, 244, 255, 0.92);
  padding-top: 42px;
  padding-bottom: 26px;
}

.wd-footer .main-footer .wp-block-group {
  max-width: 1240px;
}

.wd-footer .main-footer .wp-block-heading {
  color: #ffffff;
  letter-spacing: -0.01em;
}

.wd-footer .main-footer h4.wp-block-heading {
  font-size: clamp(24px, 2.3vw, 30px);
  margin-bottom: 10px;
}

.wd-footer .main-footer h5.wp-block-heading {
  margin-bottom: 12px;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.wd-footer .main-footer p,
.wd-footer .main-footer li,
.wd-footer .main-footer a {
  color: rgba(231, 240, 255, 0.86);
}

.wd-footer .main-footer a {
  transition: var(--titan-ease);
}

.wd-footer .main-footer a:hover {
  color: #ffffff;
  text-decoration: none;
}

.wd-footer .main-footer ul {
  margin: 0;
  padding-left: 16px;
}

.wd-footer .main-footer li {
  margin-bottom: 6px;
}

.wd-footer .main-footer .wp-block-separator {
  border-color: rgba(255, 255, 255, 0.2);
  margin-top: 20px;
  margin-bottom: 18px;
}

.wd-footer .main-footer .has-small-font-size {
  color: rgba(226, 236, 255, 0.78);
}

/* Loading reveal motion. */
@keyframes titanRise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.home .titan-benefits-strip,
.home .titan-b2b-benefits,
.home .titan-home-cta,
.home .titan-home-products,
.home .titan-home-categories,
.home .titan-category-grid {
  animation: titanRise 0.65s cubic-bezier(.22, 1, .36, 1) both;
}

.home .titan-b2b-benefits { animation-delay: 0.07s; }
.home .titan-home-cta { animation-delay: 0.12s; }
.home .titan-home-products { animation-delay: 0.18s; }
.home .titan-home-categories,
.home .titan-category-grid { animation-delay: 0.23s; }

/* Global small utility: out-of-stock badge should not wrap. */
.wd-product .product-labels .out-of-stock,
.wd-products .product-labels .out-of-stock,
.product-labels .out-of-stock,
.wd-label.wd-label-outofstock {
  white-space: nowrap;
  font-size: 11px;
  line-height: 1.25;
  padding: 4px 10px;
  border-radius: 5px;
}

@media (max-width: 1024px) {
  .home .wp-block-wd-slider.wd-slider .wd-slide-container {
    max-width: 590px;
    padding: 20px 20px;
  }

  .home .titan-home-products .product-element-top {
    min-height: auto;
    max-height: none;
  }
}

@media (max-width: 768px) {
  .woodmart-archive-shop .wd-page-title,
  .tax-product_cat .wd-page-title {
    padding: 28px 0 22px;
  }

  .woodmart-archive-shop .wd-page-title .entry-title,
  .tax-product_cat .wd-page-title .entry-title {
    text-align: left;
  }

  .woodmart-archive-shop .wd-nav-product-cat,
  .tax-product_cat .wd-nav-product-cat {
    margin-top: 18px;
    max-height: 86px;
  }

  .woodmart-archive-shop .shop-loop-head,
  .tax-product_cat .shop-loop-head {
    gap: 10px;
  }

  .single-product .woocommerce-product-gallery,
  .single-product .summary-inner,
  .single-product .woocommerce-tabs {
    padding: 18px;
    border-radius: 18px;
  }

  .home .wp-block-wd-slider.wd-slider {
    border-radius: 16px;
  }

  .home .wp-block-wd-slider.wd-slider .wd-slide-container {
    max-width: calc(100% - 20px);
    padding: 14px 14px;
    border-radius: 12px;
    backdrop-filter: none;
  }

  .home .wp-block-wd-slider.wd-slider .wp-block-wd-title {
    font-size: clamp(26px, 8.4vw, 36px);
  }

  .home .titan-benefits-strip .wp-block-columns,
  .home .titan-b2b-benefits .wp-block-columns {
    gap: 12px !important;
  }

  .home .titan-home-cta .wp-block-columns {
    gap: 14px !important;
  }

  .home .titan-home-cta .wp-block-buttons {
    justify-content: flex-start !important;
  }

  .home .titan-home-products > h2,
  .home .titan-home-categories > h2,
  .home .titan-category-grid > h2 {
    text-align: left !important;
  }

  .home .titan-home-products .product-element-top {
    min-height: auto;
    max-height: none;
  }

  .wd-footer .main-footer {
    padding-top: 30px;
    padding-bottom: 18px;
  }

  .wd-footer .main-footer .wp-block-columns {
    gap: 18px !important;
  }

  .wd-footer .main-footer h4.wp-block-heading {
    font-size: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home .titan-benefits-strip,
  .home .titan-b2b-benefits,
  .home .titan-home-cta,
  .home .titan-home-products,
  .home .titan-home-categories,
  .home .titan-category-grid {
    animation: none !important;
  }

  .home .titan-benefits-strip .wp-block-column,
  .home .titan-b2b-benefits .titan-card,
  .home .titan-home-products ul.products li.product,
  .home .titan-home-categories ul.products li.product-category a,
  .home .titan-category-grid ul.products li.product-category a,
  .home .titan-home-cta .wp-block-button__link,
  .home .wp-block-wd-slider.wd-slider .wp-block-wd-button.btn {
    transition: none !important;
  }
}

/* === TITAN OVERRIDES END === */

/* === TITAN HOMEPAGE V5 === */

/* --- Hero: contact line under CTAs --- */
.home .titan-v5-hero-contact {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 16px;
  margin-top: 18px;
}

.home .titan-v5-hero-contact a {
  color: #fff;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -0.02em;
  text-decoration: none;
}

.home .titan-v5-hero-contact a:hover {
  color: #9fd9ff;
}

.home .titan-v5-hero-contact a[href^="mailto"] {
  font-size: 16px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  text-decoration: underline;
}

.home .titan-v5-hero-contact span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
}

/* --- Hero visual: background fill while images load --- */
.home .titan-v4-visual__main,
.home .titan-v4-visual__float {
  background: linear-gradient(160deg, #eef6ff 0%, #dcecfb 100%);
}

/* --- Facts band --- */
.home .titan-v5-facts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 26px;
}

.home .titan-v5-fact {
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  border: var(--titan-border-soft);
  border-radius: var(--titan-radius);
  background: var(--titan-surface);
  box-shadow: var(--titan-shadow-sm);
}

.home .titan-v5-fact strong {
  color: var(--titan-navy);
  font-size: 18px;
  letter-spacing: -0.02em;
}

.home .titan-v5-fact span {
  color: var(--titan-muted);
  font-size: 13px;
  line-height: 1.35;
}

/* --- Process section --- */
.home .titan-v5-process {
  margin: 0 0 26px;
  padding: clamp(24px, 3.4vw, 40px);
  border: var(--titan-border);
  border-radius: var(--titan-radius-lg);
  background: var(--titan-surface);
  box-shadow: var(--titan-shadow-sm);
}

.home .titan-v5-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 22px 0 24px;
}

.home .titan-v5-process-step {
  position: relative;
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 18px;
  border: var(--titan-border-soft);
  border-radius: var(--titan-radius);
  background: var(--titan-surface-soft);
}

.home .titan-v5-process-step b {
  color: var(--titan-accent);
  font-size: 14px;
  letter-spacing: 0.08em;
}

.home .titan-v5-process-step strong {
  color: var(--titan-navy);
  font-size: 17px;
  letter-spacing: -0.01em;
}

.home .titan-v5-process-step p {
  margin: 0;
  color: var(--titan-muted);
  font-size: 14px;
  line-height: 1.5;
}

/* --- FAQ --- */
.home .titan-v5-faq {
  margin: 0 0 26px;
  padding: clamp(24px, 3.4vw, 40px);
  border: var(--titan-border);
  border-radius: var(--titan-radius-lg);
  background: var(--titan-surface);
  box-shadow: var(--titan-shadow-sm);
}

.home .titan-v5-faq-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.home .titan-v5-faq-item {
  border: var(--titan-border-soft);
  border-radius: var(--titan-radius);
  background: var(--titan-surface-soft);
  overflow: hidden;
}

.home .titan-v5-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  color: var(--titan-navy);
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.home .titan-v5-faq-item summary::-webkit-details-marker {
  display: none;
}

.home .titan-v5-faq-item summary::after {
  content: "+";
  flex: 0 0 auto;
  color: var(--titan-accent);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  transition: var(--titan-ease);
}

.home .titan-v5-faq-item[open] summary::after {
  transform: rotate(45deg);
}

.home .titan-v5-faq-item p {
  margin: 0;
  padding: 0 18px 16px;
  color: var(--titan-muted);
  line-height: 1.55;
}

/* --- TZ modal hardening --- */
.titan-tz-form input[type="hidden"],
.titan-tz-form__hp {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.titan-tz-modal__close {
  left: auto !important;
  right: 14px !important;
  top: 14px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.titan-tz-modal__dialog {
  display: flex;
  flex-direction: column;
}

.titan-tz-form h2 {
  font-size: clamp(26px, 3vw, 34px);
}

.titan-tz-form__consent {
  align-items: flex-start !important;
  font-weight: 500 !important;
  font-size: 13px;
  color: var(--titan-muted) !important;
  line-height: 1.4;
}

.titan-tz-form__consent input {
  margin-top: 2px;
}

.titan-tz-form__consent a {
  color: var(--titan-accent);
  text-decoration: underline;
}

/* --- Performance: stop decorative animations for reduced motion,
       and cheapen the scan effect --- */
@media (prefers-reduced-motion: reduce) {
  .home .titan-v4-visual__scan,
  .home .titan-v4-visual__glow {
    display: none !important;
  }

  .home .titan-home-v4 *,
  .home .titan-home-v4 *::before,
  .home .titan-home-v4 *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* --- Responsive --- */
@media (max-width: 1024px) {
  .home .titan-v5-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home .titan-v5-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .home .titan-v5-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home .titan-v5-process-grid {
    grid-template-columns: 1fr;
  }

  .home .titan-v5-hero-contact a {
    font-size: 19px;
  }
}

/* === TITAN HOMEPAGE V5 END === */

/* Close button: WoodMart forces position:relative on buttons — restore absolute */
.titan-tz-modal .titan-tz-modal__close {
  position: absolute !important;
}

/* === TITAN V5.1: INSTRUMENT-STYLE SECTION DECOR === */

/* --- Eyebrows: crosshair target marker --- */
.home .titan-home-v4 .titan-v4-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.home .titan-home-v4 .titan-v4-eyebrow::before {
  content: "";
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  background:
    linear-gradient(currentColor, currentColor) center/8px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) center/1.5px 8px no-repeat;
  opacity: 0.75;
}

/* --- Facts band: ruler scale + measured values --- */
.home .titan-v5-fact {
  position: relative;
  overflow: hidden;
  transition: var(--titan-ease);
}

.home .titan-v5-fact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 7px;
  background:
    repeating-linear-gradient(90deg,
      rgba(0, 123, 196, 0.35) 0 1.5px,
      transparent 1.5px 10px,
      rgba(0, 123, 196, 0.35) 10px 11.5px,
      transparent 11.5px 20px),
    linear-gradient(180deg, rgba(0, 123, 196, 0.08), transparent);
  background-size: 40px 100%, 100% 100%;
}

.home .titan-v5-fact::after {
  content: "";
  position: absolute;
  top: 0;
  left: 18px;
  width: 2px;
  height: 11px;
  background: var(--titan-accent-2);
  box-shadow: 0 0 8px rgba(0, 164, 255, 0.65);
}

.home .titan-v5-fact:hover {
  transform: translateY(-3px);
  box-shadow: var(--titan-shadow-md);
}

.home .titan-v5-fact strong {
  font-variant-numeric: tabular-nums;
}

/* --- Direction cards: scan sweep + corner brackets on hover --- */
.home .titan-v4-direction-card {
  position: relative;
  overflow: hidden;
}

.home .titan-v4-direction-card::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: -6px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(0, 164, 255, 0.85), transparent);
  box-shadow: 0 0 18px rgba(0, 164, 255, 0.55);
  opacity: 0;
  pointer-events: none;
}

.home .titan-v4-direction-card:hover::after {
  animation: titan-v51-cardscan 1.1s ease-in-out 1;
}

@keyframes titan-v51-cardscan {
  0% { opacity: 0; transform: translateY(0); }
  12% { opacity: 1; }
  88% { opacity: 1; }
  100% { opacity: 0; transform: translateY(230px); }
}

.home .titan-v4-direction-card::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 12px;
  background:
    linear-gradient(var(--titan-accent-2), var(--titan-accent-2)) top left/14px 2px,
    linear-gradient(var(--titan-accent-2), var(--titan-accent-2)) top left/2px 14px,
    linear-gradient(var(--titan-accent-2), var(--titan-accent-2)) bottom right/14px 2px,
    linear-gradient(var(--titan-accent-2), var(--titan-accent-2)) bottom right/2px 14px;
  background-repeat: no-repeat;
  opacity: 0;
  transition: var(--titan-ease);
  pointer-events: none;
  z-index: 1;
}

.home .titan-v4-direction-card:hover::before {
  opacity: 0.85;
}

/* --- Process: dial-style step numbers + connector line --- */
.home .titan-v5-process-grid {
  position: relative;
}

.home .titan-v5-process-step b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, var(--titan-surface) 58%, transparent 59%),
    conic-gradient(from 0deg,
      rgba(0, 123, 196, 0.55) 0deg 6deg, transparent 6deg 30deg,
      rgba(0, 123, 196, 0.55) 30deg 36deg, transparent 36deg 60deg,
      rgba(0, 123, 196, 0.55) 60deg 66deg, transparent 66deg 90deg,
      rgba(0, 123, 196, 0.55) 90deg 96deg, transparent 96deg 120deg,
      rgba(0, 123, 196, 0.55) 120deg 126deg, transparent 126deg 150deg,
      rgba(0, 123, 196, 0.55) 150deg 156deg, transparent 156deg 180deg,
      rgba(0, 123, 196, 0.55) 180deg 186deg, transparent 186deg 210deg,
      rgba(0, 123, 196, 0.55) 210deg 216deg, transparent 216deg 240deg,
      rgba(0, 123, 196, 0.55) 240deg 246deg, transparent 246deg 270deg,
      rgba(0, 123, 196, 0.55) 270deg 276deg, transparent 276deg 300deg,
      rgba(0, 123, 196, 0.55) 300deg 306deg, transparent 306deg 330deg,
      rgba(0, 123, 196, 0.55) 330deg 336deg, transparent 336deg 360deg);
  border: 1.5px solid rgba(0, 123, 196, 0.35);
  font-size: 15px;
}

.home .titan-v5-process-step {
  transition: var(--titan-ease);
}

.home .titan-v5-process-step:hover {
  transform: translateY(-3px);
  box-shadow: var(--titan-shadow-sm);
}

@media (min-width: 1025px) {
  .home .titan-v5-process-grid::before {
    content: "";
    position: absolute;
    top: 40px;
    left: 4%;
    right: 4%;
    height: 0;
    border-top: 2px dashed rgba(0, 123, 196, 0.28);
  }

  .home .titan-v5-process-grid::after {
    content: "";
    position: absolute;
    top: 36px;
    left: 4%;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--titan-accent-2);
    box-shadow: 0 0 12px rgba(0, 164, 255, 0.8);
    animation: titan-v51-signal 7s linear infinite;
  }

  .home .titan-v5-process-step {
    position: relative;
    z-index: 1;
  }
}

@keyframes titan-v51-signal {
  0% { transform: translateX(0); opacity: 0; }
  6% { opacity: 1; }
  94% { opacity: 1; }
  100% { transform: translateX(min(84vw, 1080px)); opacity: 0; }
}

/* --- Assurance cards: NDT-style line icons --- */
.home .titan-v4-assurance-card {
  position: relative;
  transition: var(--titan-ease);
}

.home .titan-v4-assurance-card::before {
  content: "";
  display: block;
  width: 42px;
  height: 42px;
  margin-bottom: 12px;
  background-color: var(--titan-accent);
  -webkit-mask: var(--titan-icon) center / contain no-repeat;
  mask: var(--titan-icon) center / contain no-repeat;
}

.home .titan-v4-assurance-card:nth-child(1) {
  --titan-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h8l4 4v14H7z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M10 13.5l2 2 4-4.5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.home .titan-v4-assurance-card:nth-child(2) {
  --titan-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='9' width='19' height='8' rx='1.2' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3Cpath d='M6.5 9v3.4M10.5 9v3.4M14.5 9v3.4M18.5 9v3.4' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

.home .titan-v4-assurance-card:nth-child(3) {
  --titan-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8.6' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3Cpath d='M12 7.4v4.8l3.6 1.9' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.home .titan-v4-assurance-card:nth-child(4) {
  --titan-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 13.5a7.5 7.5 0 0 1 15 0' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3Crect x='3' y='13' width='4' height='6.4' rx='1.8' fill='%23000'/%3E%3Crect x='17' y='13' width='4' height='6.4' rx='1.8' fill='%23000'/%3E%3Cpath d='M19.5 19.8a4.4 4.4 0 0 1-4.3 3' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

.home .titan-v4-assurance-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--titan-shadow-md);
}

/* --- Request band: blueprint mesh + travelling scan line + brackets --- */
.home .titan-v4-request-band {
  position: relative;
  overflow: hidden;
}

.home .titan-v4-request-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--titan-pattern-mesh);
  background-size: 120px 120px;
  opacity: 0.1;
  pointer-events: none;
}


.home .titan-v4-request-band::after {
  content: "";
  position: absolute;
  top: 10%;
  bottom: 10%;
  left: -3px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(137, 220, 255, 0.9), transparent);
  box-shadow: 0 0 20px rgba(137, 220, 255, 0.65);
  animation: titan-v51-bandscan 8s ease-in-out infinite;
  pointer-events: none;
}

@keyframes titan-v51-bandscan {
  0%, 100% { transform: translateX(0); opacity: 0; }
  8% { opacity: 0.85; }
  92% { opacity: 0.85; }
  50% { transform: translateX(min(88vw, 1150px)); }
}

.home .titan-v4-request-band > div,
.home .titan-v4-request-band > p,
.home .titan-v4-request-band > a {
  position: relative;
  z-index: 1;
}

/* --- Final CTA: subtle mesh, consistent with hero --- */
.home .titan-v4-final-cta {
  position: relative;
  overflow: hidden;
}

.home .titan-v4-final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--titan-pattern-mesh);
  background-size: 120px 120px;
  opacity: 0.35;
  pointer-events: none;
}

.home .titan-v4-final-cta > div {
  position: relative;
  z-index: 1;
}

/* === TITAN V5.1 END === */

/* Titan badges (top-left) vs WoodMart sale labels: stack, don't overlap.
   Push the -N% / sale circles below our stock badges in product loops. */
.wd-product .product-labels,
ul.products li.product .product-labels {
  top: 46px !important;
}

/* === TITAN SHARE BUTTONS (product page) === */
.titan-product-share {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
}

.titan-share-label {
  color: var(--titan-muted, #5b6e8d);
  font-size: 14px;
}

.titan-share-messengers {
  display: flex;
  align-items: center;
  gap: 8px;
}

.titan-share-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.titan-share-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(10, 26, 58, 0.22);
}

.titan-share-tg   { background: #229ed9; }
.titan-share-vk   { background: #0077ff; }
.titan-share-ok   { background: #ee8208; }
.titan-share-copy { background: #5b6e8d; }

/* Icon = white silhouette via mask */
.titan-share-icon {
  display: block;
  width: 18px;
  height: 18px;
  background: #fff;
  -webkit-mask: var(--titan-share-svg) center / contain no-repeat;
  mask: var(--titan-share-svg) center / contain no-repeat;
}

.titan-share-tg .titan-share-icon {
  --titan-share-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.6 3.3 2.9 10.6c-1 .4-1 1.5 0 1.8l4.6 1.5 1.8 5.6c.3.9 1.3 1 1.9.4l2.6-2.5 4.7 3.5c.7.5 1.6.1 1.8-.7l3-15.4c.2-1-.7-1.8-1.7-1.5zM8.5 13.5l9.5-6.2c.3-.2.6.2.4.4l-7.8 7.3-.3 3-1.8-4.5z'/%3E%3C/svg%3E");
}

.titan-share-vk .titan-share-icon {
  --titan-share-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctext x='12' y='16.6' text-anchor='middle' font-family='Arial, sans-serif' font-weight='bold' font-size='11'%3EVK%3C/text%3E%3C/svg%3E");
}

.titan-share-ok .titan-share-icon {
  --titan-share-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7.4' r='3.2' fill='none' stroke='%23000' stroke-width='2.1'/%3E%3Cpath d='M7.2 13.2c1.4 1 3 1.6 4.8 1.6s3.4-.6 4.8-1.6M9.4 19l2.6-3 2.6 3' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.titan-share-copy .titan-share-icon {
  --titan-share-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.5 13.5 13.5 10.5M8.2 12.2l-2.4 2.4a3.4 3.4 0 0 0 4.8 4.8l2.4-2.4M15.8 11.8l2.4-2.4a3.4 3.4 0 0 0-4.8-4.8l-2.4 2.4' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Text labels are for screen readers / tooltips only */
.titan-share-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
/* === TITAN SHARE BUTTONS END === */

/* Cart/checkout: request-only price and totals note */
.titan-totals-note {
  display: block;
  color: var(--titan-muted, #5b6e8d);
  font-size: 12px;
  font-weight: 400;
}

td .titan-price-on-request,
.order-total .titan-price-on-request {
  color: var(--titan-accent, #007bc4);
  font-weight: 700;
}

/* === TITAN V5.2: LIVE PHOTOS + OSCILLOSCOPE === */

/* --- Hero: running oscilloscope trace along the bottom edge --- */
.home .titan-v4-hero {
  position: relative;
}

.home .titan-v4-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  height: 46px;
  pointer-events: none;
  opacity: 0.5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 46' width='400' height='46'%3E%3Cpath d='M0 30 L28 30 L34 30 L40 8 L46 42 L52 16 L58 30 L96 30 L104 24 L112 36 L120 30 L180 30 L188 30 L194 4 L200 44 L206 12 L212 30 L262 30 L272 26 L282 34 L292 30 L400 30' fill='none' stroke='%2389dcff' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: 400px 46px;
  animation: titan-v52-trace 9s linear infinite;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

@keyframes titan-v52-trace {
  from { background-position-x: 0; }
  to   { background-position-x: -400px; }
}

/* --- Process section: TECHNOSKAN photo bleeding in from the right --- */
.home .titan-v5-process {
  position: relative;
  overflow: hidden;
}

.home .titan-v5-process::after {
  content: "";
  position: absolute;
  top: -20px;
  right: -40px;
  width: 380px;
  height: 390px;
  pointer-events: none;
  background: url("assets/img/home/titan-technoscan.jpg") center / contain no-repeat;
  opacity: 0.16;
  transform: rotate(8deg);
  -webkit-mask-image: radial-gradient(closest-side, #000 55%, transparent);
  mask-image: radial-gradient(closest-side, #000 55%, transparent);
}

.home .titan-v5-process > * {
  position: relative;
  z-index: 1;
}

/* --- Request band: DIASCAN device photo on the right (cut-out, glow) --- */
.home .titan-v4-request-band {
  background-image:
    radial-gradient(circle at 86% 50%, rgba(0, 164, 255, 0.25), transparent 34%),
    radial-gradient(circle at 80% 18%, rgba(0, 164, 255, 0.52), transparent 30%),
    linear-gradient(135deg, #04152f 0%, #082a5c 46%, #007bc4 100%);
}

@media (min-width: 1025px) {
  .home .titan-v4-request-band {
    padding-right: 300px;
  }

  .home .titan-v4-request-band::before {
    /* device photo only; the faint mesh lives on the band background */
    background-image: url("assets/img/home/titan-diascan.webp");
    background-repeat: no-repeat;
    background-position: right 36px center;
    background-size: auto 86%;
    opacity: 1;
    filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.45));
  }
}

/* Faint blueprint mesh directly on the band (subtle, behind everything) */
.home .titan-v4-request-band {
  background-blend-mode: normal;
}

@media (max-width: 1024px) {
  .home .titan-v4-request-band::before {
    background-image: var(--titan-pattern-mesh);
    background-size: 120px 120px;
    opacity: 0.1;
  }
}

/* Visible blueprint grid on the dark band (the subtle one got lost) */
.home .titan-v4-request-band {
  background-image:
    linear-gradient(rgba(137, 200, 255, 0.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(137, 200, 255, 0.16) 1px, transparent 1px),
    radial-gradient(circle at 86% 50%, rgba(0, 164, 255, 0.25), transparent 34%),
    radial-gradient(circle at 80% 18%, rgba(0, 164, 255, 0.52), transparent 30%),
    linear-gradient(135deg, #04152f 0%, #082a5c 46%, #007bc4 100%);
  background-size: 72px 72px, 72px 72px, auto, auto, auto;
}

/* --- FAQ: soft blueprint corner + light diagonal sheen --- */
.home .titan-v5-faq {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 164, 255, 0.07), transparent 42%),
    var(--titan-surface);
}

/* --- Facts band: give the cards a faint blueprint wash --- */
.home .titan-v5-fact {
  background:
    linear-gradient(180deg, rgba(238, 246, 255, 0.55), transparent 55%),
    var(--titan-surface);
}

@media (prefers-reduced-motion: reduce) {
  .home .titan-v4-hero::after {
    animation: none !important;
  }
}

@media (max-width: 768px) {
  .home .titan-v4-hero::after {
    height: 30px;
    background-size: 300px 30px;
    opacity: 0.35;
  }

  .home .titan-v5-process::after {
    width: 240px;
    height: 250px;
    opacity: 0.1;
  }
}

/* === TITAN V5.2 END === */

/* === TITAN V5.3: DIRECTION CARDS REDESIGN === */

.home .titan-v4-direction-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0 0 22px;
}

/* Photo zone: full-width, edge-to-edge on top of the card */
.home .titan-v4-direction-card img {
  position: static;
  width: 100%;
  height: 195px;
  padding: 18px;
  margin: 0;
  border: 0;
  border-bottom: 1px solid rgba(0, 123, 196, 0.1);
  border-radius: 21px 21px 0 0;
  object-fit: contain;
  box-shadow: none;
  transform: none;
  background:
    radial-gradient(circle at 82% 18%, rgba(0, 164, 255, 0.12), transparent 42%),
    linear-gradient(180deg, #f2f9ff 0%, #ffffff 100%);
}

.home .titan-v4-direction-card:hover img {
  transform: scale(1.045);
}

/* White product-photo backgrounds dissolve into the tinted zone */
.home .titan-v4-direction-card img {
  mix-blend-mode: multiply;
}

/* Category badge floats over the photo */
.home .titan-v4-direction-card span {
  position: absolute;
  top: 14px;
  left: 16px;
  z-index: 2;
  margin: 0;
  box-shadow: 0 8px 18px rgba(0, 123, 196, 0.35);
}

.home .titan-v4-direction-card strong {
  margin: 18px 22px 0;
}

.home .titan-v4-direction-card em {
  margin: 8px 22px 0;
}

/* Button pinned to the bottom => all six line up */
.home .titan-v4-direction-card small {
  margin: 18px 22px 0;
  margin-top: auto;
  align-self: flex-start;
}

.home .titan-v4-direction-card small {
  padding-top: 18px;
}

@media (max-width: 768px) {
  .home .titan-v4-direction-card img {
    height: 150px;
  }
}

/* === TITAN V5.3 END === */

/* wpautop inserts <br> between card children; in flex they become gaps */
.home .titan-v4-direction-card br {
  display: none;
}

/* === TITAN V5.4: CATALOG CATS STRIP + SCOPE WIDGET === */

/* --- Shop page title: modern category strip --- */
.wd-page-title ul.wd-nav-product-cat {
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  cursor: grab;
}

.wd-page-title ul.wd-nav-product-cat::-webkit-scrollbar {
  display: none;
  height: 0;
}

.wd-page-title ul.wd-nav-product-cat > li {
  scroll-snap-align: start;
}

.titan-cats-wrap {
  position: relative;
}

.titan-cats-wrap ul.wd-nav-product-cat {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 36px, #000 calc(100% - 36px), transparent);
  mask-image: linear-gradient(90deg, transparent, #000 36px, #000 calc(100% - 36px), transparent);
}

.titan-cats-wrap .titan-cats-arrow {
  /* WoodMart button resets are aggressive — pin the essentials */
  position: absolute !important;
  top: 50% !important;
  z-index: 5;
  width: 38px !important;
  height: 38px !important;
  margin: -19px 0 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 50% !important;
  color: #fff !important;
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(6, 27, 58, 0.65) !important;
  backdrop-filter: blur(6px);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.titan-cats-wrap .titan-cats-arrow:hover {
  background: var(--titan-accent, #007bc4) !important;
  transform: scale(1.08);
}

.titan-cats-wrap .titan-cats-arrow--prev { left: -8px !important; right: auto !important; }
.titan-cats-wrap .titan-cats-arrow--next { right: -8px !important; left: auto !important; }

.titan-cats-wrap .titan-cats-arrow.is-hidden {
  opacity: 0;
  pointer-events: none;
}

/* --- SEO block: subtle blueprint corner --- */
.home .titan-v4-seo {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(rgba(0, 123, 196, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 123, 196, 0.05) 1px, transparent 1px),
    radial-gradient(circle at 0% 100%, rgba(0, 164, 255, 0.06), transparent 40%),
    var(--titan-surface);
  background-size: 72px 72px, 72px 72px, auto, auto;
}

/* --- Final CTA: interactive scope panel --- */
.home .titan-v4-final-cta {
  position: relative;
}

/* Final CTA = dark instrument body */
.home .titan-v4-final-cta {
  color: #fff;
  border: 1px solid rgba(0, 164, 255, 0.28);
  background-image:
    linear-gradient(rgba(137, 200, 255, 0.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(137, 200, 255, 0.13) 1px, transparent 1px),
    radial-gradient(circle at 12% 0%, rgba(0, 164, 255, 0.3), transparent 34%),
    linear-gradient(150deg, #04152f 0%, #0a2c5e 55%, #0d3f7d 100%);
  background-size: 72px 72px, 72px 72px, auto, auto;
  box-shadow: 0 30px 60px rgba(5, 22, 48, 0.28);
}

/* corner screws */
.home .titan-v4-final-cta::after {
  content: "";
  position: absolute;
  inset: 12px;
  pointer-events: none;
  background:
    radial-gradient(circle 5px at 5px 5px, #2c4a76 55%, transparent 60%),
    radial-gradient(circle 5px at calc(100% - 5px) 5px, #2c4a76 55%, transparent 60%),
    radial-gradient(circle 5px at 5px calc(100% - 5px), #2c4a76 55%, transparent 60%),
    radial-gradient(circle 5px at calc(100% - 5px) calc(100% - 5px), #2c4a76 55%, transparent 60%);
}

.home .titan-v4-final-cta h2 {
  color: #fff;
}

.home .titan-v4-final-cta p {
  color: rgba(214, 233, 250, 0.85);
}

.home .titan-v4-final-cta .titan-v4-eyebrow {
  color: #9fd9ff;
  border-color: rgba(159, 217, 255, 0.35);
}

.home .titan-v4-final-cta .titan-v4-btn--ghost-dark {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.45);
}

@media (min-width: 1280px) {
  .home .titan-v4-final-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 440px;
    gap: 18px 44px;
    align-items: center;
  }

  .home .titan-v4-final-cta > div:first-of-type {
    grid-column: 1;
    grid-row: 1;
  }

  .home .titan-v4-final-cta > .titan-v4-actions {
    grid-column: 1;
    grid-row: 2;
  }

  .home .titan-v4-final-cta > .titan-scope {
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-self: end;
    align-self: center;
  }
}

.home .titan-v4-final-cta > .titan-scope {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(0, 164, 255, 0.35);
  border-radius: 18px;
  background: linear-gradient(160deg, #050f22, #0a2148);
  box-shadow:
    inset 0 1px 0 rgba(137, 220, 255, 0.15),
    0 18px 40px rgba(3, 12, 28, 0.5);
}

.titan-scope__side {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.titan-scope__side em {
  color: rgba(137, 220, 255, 0.55);
  font-size: 9px;
  font-style: normal;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.titan-scope__readout {
  position: absolute;
  top: 6px;
  left: 9px;
  right: 9px;
  color: #35e08f;
  font-family: "Consolas", "SF Mono", monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-shadow: 0 0 6px rgba(53, 224, 143, 0.7);
  white-space: nowrap;
  overflow: hidden;
}

.titan-scope__readout.is-flash {
  animation: titan-scope-flash 0.5s steps(2) 2;
}

@keyframes titan-scope-flash {
  50% { opacity: 0.25; }
}

.titan-scope__screen {
  position: relative;
  width: 300px;
  height: 110px;
  border-radius: 8px;
  overflow: hidden;
  background: #04101f;
  border: 1px solid rgba(0, 164, 255, 0.35);
}

.titan-scope__screen svg {
  width: 100%;
  height: 100%;
  display: block;
}

.titan-scope__grid line {
  stroke: rgba(0, 164, 255, 0.14);
  stroke-width: 0.6;
}

.titan-scope__wave {
  stroke: #35e08f;
  filter: drop-shadow(0 0 4px rgba(53, 224, 143, 0.8));
}

.titan-scope__screen span {
  position: absolute;
  right: 7px;
  bottom: 4px;
  color: rgba(137, 220, 255, 0.55);
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.titan-scope__knob {
  width: 54px;
  height: 54px;
  flex: 0 0 auto;
  border-radius: 50%;
  position: relative;
  cursor: grab;
  touch-action: none;
  background:
    radial-gradient(circle at 34% 30%, #4a5f83, #16294d 68%);
  border: 2px solid rgba(0, 164, 255, 0.4);
  box-shadow:
    inset 0 2px 6px rgba(255, 255, 255, 0.18),
    inset 0 -4px 8px rgba(0, 0, 0, 0.45),
    0 6px 14px rgba(4, 16, 31, 0.5);
}

.titan-scope__knob:active {
  cursor: grabbing;
}

.titan-scope__knob i {
  position: absolute;
  top: 5px;
  left: 50%;
  width: 3px;
  height: 14px;
  margin-left: -1.5px;
  border-radius: 2px;
  background: #35e08f;
  box-shadow: 0 0 6px rgba(53, 224, 143, 0.9);
}

@media (max-width: 1279px) {
  .titan-scope {
    display: none;
  }
}

/* === TITAN V5.4 END === */

/* Wrap must not stretch inside the flex container */
.titan-cats-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  flex: 1 1 auto;
}

/* === TITAN V5.5: TZ MODAL AS DEVICE PANEL === */

.titan-tz-modal__dialog--device {
  padding: 0;
  border: 1px solid rgba(0, 123, 196, 0.3);
  border-radius: 22px;
  background:
    linear-gradient(rgba(0, 123, 196, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 123, 196, 0.045) 1px, transparent 1px),
    #fff;
  background-size: 56px 56px, 56px 56px, auto;
}

/* Dark instrument header */
.titan-tz-modal__head {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  border-radius: 21px 21px 0 0;
  border-bottom: 1px solid rgba(0, 164, 255, 0.35);
  background:
    linear-gradient(rgba(137, 200, 255, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(137, 200, 255, 0.1) 1px, transparent 1px),
    linear-gradient(150deg, #04152f, #0a2c5e);
  background-size: 48px 48px, 48px 48px, auto;
}

.titan-tz-modal__head h2 {
  margin: 0;
  color: #fff;
  font-size: 22px;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.titan-tz-modal__led {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #35e08f;
  box-shadow: 0 0 10px rgba(53, 224, 143, 0.9);
  animation: titan-led 2.2s ease-in-out infinite;
}

@keyframes titan-led {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}

.titan-tz-modal__unit {
  margin-left: auto;
  margin-right: 42px;
  color: rgba(137, 220, 255, 0.55);
  font-size: 10px;
  letter-spacing: 0.18em;
}

.titan-tz-modal__dialog--device .titan-tz-modal__close {
  top: 12px !important;
  right: 12px !important;
  width: 34px;
  height: 34px;
  color: #fff;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 50% !important;
  transition: background 0.2s ease;
}

.titan-tz-modal__dialog--device .titan-tz-modal__close:hover {
  background: rgba(255, 82, 82, 0.55) !important;
}

/* Form body */
.titan-tz-modal__dialog--device .titan-tz-form {
  padding: 22px 26px 26px;
}

.titan-tz-form__hint {
  margin: 0 0 18px !important;
}

.titan-tz-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 14px;
}

@media (max-width: 560px) {
  .titan-tz-form__grid {
    grid-template-columns: 1fr;
  }
}

.titan-tz-modal__dialog--device .titan-tz-form input:not([type="checkbox"]):not([type="file"]),
.titan-tz-modal__dialog--device .titan-tz-form textarea {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.titan-tz-modal__dialog--device .titan-tz-form input:focus,
.titan-tz-modal__dialog--device .titan-tz-form textarea:focus {
  outline: none;
  border-color: rgba(0, 164, 255, 0.65);
  box-shadow: 0 0 0 3px rgba(0, 164, 255, 0.16);
}

.titan-tz-modal__dialog--device .titan-tz-form ::placeholder {
  color: rgba(91, 110, 141, 0.55);
  font-weight: 400;
}

/* File slot */
.titan-tz-file {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 14px;
  margin: 4px 0 16px;
  padding: 14px 16px;
  border: 1.6px dashed rgba(0, 123, 196, 0.45);
  border-radius: 14px;
  background: rgba(238, 246, 255, 0.55);
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.titan-tz-file:hover {
  border-color: var(--titan-accent);
  background: rgba(238, 246, 255, 0.95);
}

.titan-tz-file input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.titan-tz-file__icon {
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  background-color: var(--titan-accent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 12.5 15 5.6a3.4 3.4 0 0 1 4.8 4.8l-8.3 8.2a5.4 5.4 0 0 1-7.7-7.6L11.4 3.5' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 12.5 15 5.6a3.4 3.4 0 0 1 4.8 4.8l-8.3 8.2a5.4 5.4 0 0 1-7.7-7.6L11.4 3.5' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.titan-tz-file__text {
  display: grid;
  gap: 2px;
}

.titan-tz-file__text b {
  color: var(--titan-v4-dark);
  font-size: 15px;
}

.titan-tz-file__text small {
  color: var(--titan-muted);
  font-size: 12px;
  font-weight: 400;
}

.titan-tz-file.has-file {
  border-style: solid;
  border-color: rgba(53, 190, 120, 0.65);
  background: rgba(53, 224, 143, 0.08);
}

/* Toggle switch for calibration */
.titan-tz-form__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
  margin: 2px 0 16px;
}

.titan-tz-switch {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
  cursor: pointer;
  font-weight: 700 !important;
  color: var(--titan-v4-dark);
}

.titan-tz-switch input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.titan-tz-switch i {
  position: relative;
  width: 44px;
  height: 24px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #cdd9e8;
  transition: background 0.2s ease;
}

.titan-tz-switch i::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(7, 42, 93, 0.3);
  transition: transform 0.2s ease;
}

.titan-tz-switch input:checked + i {
  background: #35be78;
}

.titan-tz-switch input:checked + i::after {
  transform: translateX(20px);
}

.titan-tz-switch input:focus-visible + i {
  box-shadow: 0 0 0 3px rgba(0, 164, 255, 0.3);
}

/* Consent stays a classic checkbox, just neater */
.titan-tz-form__consent input {
  width: 17px;
  height: 17px;
  accent-color: var(--titan-accent);
}

/* Submit: full width with glow */
.titan-tz-form__submit {
  width: 100%;
  justify-content: center;
  box-shadow: 0 10px 26px rgba(0, 123, 196, 0.35);
}

/* Status like a device readout */
.titan-tz-form__status[data-state="success"] {
  color: #1e9e63;
  font-weight: 700;
}

.titan-tz-form__status[data-state="error"] {
  color: #d4453b;
  font-weight: 700;
}

.titan-tz-form__status[data-state="loading"] {
  color: var(--titan-muted);
}

/* === TITAN V5.5 END === */

/* === TITAN V5.6: INSTRUMENT CATEGORY TILES (shop page title) === */

.wd-page-title ul.wd-nav-product-cat > li.cat-item > a {
  border: 1px solid rgba(0, 164, 255, 0.28) !important;
  border-radius: 14px !important;
  background: linear-gradient(160deg, rgba(6, 27, 58, 0.85), rgba(10, 44, 94, 0.72)) !important;
  backdrop-filter: blur(4px);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.wd-page-title ul.wd-nav-product-cat > li.cat-item > a:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 164, 255, 0.75) !important;
  box-shadow: 0 12px 28px rgba(0, 26, 58, 0.45), 0 0 14px rgba(0, 164, 255, 0.3);
}

/* Product count as a small LED readout */
.wd-page-title ul.wd-nav-product-cat .count,
.wd-page-title ul.wd-nav-product-cat .nav-link-count {
  text-transform: lowercase;
  font-family: "Consolas", "SF Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
  color: #7fe8b6 !important;
  text-shadow: 0 0 6px rgba(53, 224, 143, 0.55);
}

/* Active category: glowing marker instead of plain underline */
.wd-page-title ul.wd-nav-product-cat > li.current-cat > a,
.wd-page-title ul.wd-nav-product-cat > li.wd-active > a {
  border-color: rgba(53, 224, 143, 0.6) !important;
  box-shadow: inset 0 0 0 1px rgba(53, 224, 143, 0.35), 0 0 16px rgba(53, 224, 143, 0.2);
}

/* === TITAN V5.6 END === */

/* Footer requisites line */
.titan-footer-requisites {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(214, 233, 250, 0.6);
  font-size: 12.5px;
  line-height: 1.6;
}

/* === TITAN V5.7: DIRECTION CARDS AS INSTRUMENT BODIES === */

.home .titan-v4-direction-card {
  border: 1px solid rgba(0, 164, 255, 0.3);
  color: #fff;
  background-image:
    linear-gradient(rgba(137, 200, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(137, 200, 255, 0.08) 1px, transparent 1px),
    linear-gradient(160deg, #061b3a 0%, #0a2c5e 60%, #0d3f7d 100%);
  background-size: 56px 56px, 56px 56px, auto;
  box-shadow: 0 16px 34px rgba(5, 22, 48, 0.25);
}

.home .titan-v4-direction-card:hover {
  border-color: rgba(0, 164, 255, 0.7);
  box-shadow: 0 22px 44px rgba(5, 22, 48, 0.4), 0 0 18px rgba(0, 164, 255, 0.25);
}

/* Photo zone = the instrument "screen": light panel inside dark body */
.home .titan-v4-direction-card img {
  mix-blend-mode: normal; /* multiply would sink photos into the dark body */
  border: 1px solid rgba(0, 164, 255, 0.35);
  border-radius: 21px 21px 0 0;
  box-shadow: inset 0 0 24px rgba(4, 21, 47, 0.12);
  background:
    radial-gradient(circle at 82% 18%, rgba(0, 164, 255, 0.1), transparent 42%),
    linear-gradient(180deg, #f4faff 0%, #ffffff 100%);
}

.home .titan-v4-direction-card strong {
  color: #fff;
}

.home .titan-v4-direction-card em {
  color: rgba(214, 233, 250, 0.75);
}

.home .titan-v4-direction-card small {
  color: #9fd9ff;
  background: rgba(0, 123, 196, 0.22);
  border: 1px solid rgba(0, 164, 255, 0.35);
}

.home .titan-v4-direction-card:hover small {
  background: var(--titan-accent);
  color: #fff;
}

/* Badge becomes a glowing instrument label */
.home .titan-v4-direction-card span {
  box-shadow: 0 0 14px rgba(0, 164, 255, 0.5);
  border: 1px solid rgba(159, 217, 255, 0.4);
}

/* === TITAN V5.7 END === */

/* === TITAN V5.8: SHOP SIDEBAR INSTRUMENT STYLE === */

/* Widget titles with crosshair marker */
.woodmart-archive-shop .widget-title,
.tax-product_cat .sidebar-container .widget-title,
.post-type-archive-product .sidebar-container .widget-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.woodmart-archive-shop .sidebar-container .widget-title::before,
.post-type-archive-product .sidebar-container .widget-title::before {
  content: "";
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 1.5px solid var(--titan-accent, #007bc4);
  background:
    linear-gradient(var(--titan-accent, #007bc4), var(--titan-accent, #007bc4)) center/7px 1.5px no-repeat,
    linear-gradient(var(--titan-accent, #007bc4), var(--titan-accent, #007bc4)) center/1.5px 7px no-repeat;
  opacity: 0.8;
}

/* Category list: counts as LED readouts */
.sidebar-container .widget_product_categories ul li {
  padding: 3px 0;
}

.sidebar-container .widget_product_categories .count {
  font-family: "Consolas", "SF Mono", monospace;
  font-size: 11px;
  color: var(--titan-accent, #007bc4);
  background: rgba(0, 123, 196, 0.08);
  border: 1px solid rgba(0, 123, 196, 0.18);
  border-radius: 8px;
  padding: 1px 7px;
  margin-left: 6px;
}

.sidebar-container .widget_product_categories a:hover {
  color: var(--titan-accent, #007bc4);
}

/* Current category highlighted like an active channel */
.sidebar-container .widget_product_categories .current-cat > a {
  color: var(--titan-accent, #007bc4);
  font-weight: 700;
}

/* === TITAN V5.8 END === */

/* === TITAN V5.9: ONE NAVIGATION PER JOB === */

/* Category pages: hide the all-categories strip (root /shop/ keeps it).
   Navigation there is the sidebar tree + header mega-menu, like major
   equipment catalogs do. */
.tax-product_cat .wd-page-title .titan-cats-wrap,
.tax-product_cat .wd-page-title ul.wd-nav-product-cat {
  display: none !important;
}

/* Tighter page title without the strip */
.tax-product_cat .wd-page-title .container {
  min-height: 0;
}

/* === TITAN V5.9 END === */

/* === TITAN V6.0: PRODUCT PAGE TRUST ROWS + BRAND FILTER STYLE === */

.titan-trust-rows {
  display: grid;
  gap: 8px;
  margin: 18px 0 6px;
  padding: 14px 16px;
  border: 1px solid rgba(0, 123, 196, 0.16);
  border-radius: 14px;
  background:
    linear-gradient(rgba(0, 123, 196, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 123, 196, 0.035) 1px, transparent 1px),
    #fbfdff;
  background-size: 44px 44px, 44px 44px, auto;
}

.titan-trust-row {
  display: grid;
  grid-template-columns: 26px 1fr;
  grid-template-areas: "icon title" "icon sub";
  column-gap: 10px;
  align-items: center;
}

.titan-trust-row::before {
  content: "";
  grid-area: icon;
  width: 22px;
  height: 22px;
  background-color: var(--titan-accent, #007bc4);
  -webkit-mask: var(--trust-icon) center / contain no-repeat;
  mask: var(--trust-icon) center / contain no-repeat;
}

.titan-trust-row--docs { --trust-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h8l4 4v14H7z' fill='none' stroke='%23000' stroke-width='1.9' stroke-linejoin='round'/%3E%3Cpath d='M10 13.5l2 2 4-4.5' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.titan-trust-row--truck { --trust-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5 6.5h11v10h-11zM13.5 10h4.2l3 3.2v3.3h-7.2' fill='none' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'/%3E%3Ccircle cx='7' cy='17.5' r='1.8' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Ccircle cx='17.5' cy='17.5' r='1.8' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E"); }
.titan-trust-row--invoice { --trust-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3Cpath d='M3 9.5h18M7 14.5h5' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); }

.titan-trust-row b {
  grid-area: title;
  color: var(--titan-v4-dark, #061b3a);
  font-size: 13.5px;
  line-height: 1.25;
}

.titan-trust-row span {
  grid-area: sub;
  color: var(--titan-muted, #5b6e8d);
  font-size: 12px;
  line-height: 1.3;
}

/* Brand filter: LED counts like the categories widget */
.sidebar-container .woocommerce-widget-layered-nav .count {
  font-family: "Consolas", "SF Mono", monospace;
  font-size: 11px;
  color: var(--titan-accent, #007bc4);
  background: rgba(0, 123, 196, 0.08);
  border: 1px solid rgba(0, 123, 196, 0.18);
  border-radius: 8px;
  padding: 1px 7px;
  margin-left: 6px;
}

.sidebar-container .woocommerce-widget-layered-nav .chosen a {
  color: var(--titan-accent, #007bc4);
  font-weight: 700;
}

/* === TITAN V6.0 END === */

/* === TITAN V6.1: MOBILE MODAL — полноэкранный лист, крестик всегда виден === */
@media (max-width: 768px) {
  /* Полноэкранный лист вместо центрированного окна: на мобиле 100vh
     выше видимой области (адресная строка), из-за чего sticky-шапка с
     крестиком уезжала под тулбар браузера. dvh лечит это. */
  .titan-tz-modal {
    align-items: stretch;
    padding: 0;
  }

  .titan-tz-modal__dialog,
  .titan-tz-modal__dialog--device {
    width: 100%;
    max-width: 100%;
    max-height: 100vh;
    max-height: 100dvh;
    height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  /* Шапка компактнее, служебная метка «ТИТАН • ПОДБОР» не теснит крестик */
  .titan-tz-modal__head {
    padding: 12px 16px;
    border-radius: 0;
  }

  .titan-tz-modal__head h2 {
    font-size: 18px;
  }

  .titan-tz-modal__unit {
    display: none;
  }

  /* Крупный тап-таргет крестика (>=44px по гайдлайнам), всегда в шапке */
  .titan-tz-modal .titan-tz-modal__close,
  .titan-tz-modal__dialog--device .titan-tz-modal__close {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 44px;
    height: 44px;
    font-size: 26px;
  }

  /* Кнопка отправки не прилипает к самому краю на длинных экранах */
  .titan-tz-modal__dialog--device .titan-tz-form {
    padding-bottom: 32px;
  }
}
/* === TITAN V6.1 END === */

/* === TITAN V6.2: мобильные фиксы — крестик модалки + переполнение описаний === */
@media (max-width: 768px) {
  /* Крестик модалки: fixed к экрану, а не sticky внутри прокрутки —
     не зависит от адресной строки браузера и экранной клавиатуры.
     Модалка на мобиле полноэкранная, поэтому угол экрана = угол окна. */
  .titan-tz-modal[aria-hidden="false"] .titan-tz-modal__close,
  .titan-tz-modal__dialog--device .titan-tz-modal__close {
    position: fixed !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 20 !important;
    width: 44px;
    height: 44px;
    font-size: 26px;
    background: rgba(4, 21, 47, 0.72) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    color: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  }

  /* Шапка не перекрывает fixed-крестик по клику */
  .titan-tz-modal__head {
    padding-right: 62px;
  }

  /* Описания товаров: длинные таблицы из старого каталога делаем
     прокручиваемыми, картинки и текст не вылезают за экран */
  .single-product .woocommerce-Tabs-panel,
  .single-product .wc-tab,
  .single-product .wd-single-tabs,
  .single-product .wd-tab-content,
  .single-product .woocommerce-product-details__short-description {
    overflow-x: hidden;
  }

  /* Таблицу НЕ сплющиваем в ширину экрана (иначе заголовки рвутся по буквам):
     сохраняем естественные колонки и даём прокрутку вбок внутри блока. */
  .single-product .woocommerce-Tabs-panel table,
  .single-product .wc-tab table,
  .single-product .wd-tab-content table,
  .single-product .woocommerce-product-details__short-description table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .single-product .woocommerce-Tabs-panel table td,
  .single-product .woocommerce-Tabs-panel table th,
  .single-product .wc-tab table td,
  .single-product .wc-tab table th,
  .single-product .wd-tab-content table td,
  .single-product .wd-tab-content table th,
  .single-product .woocommerce-product-details__short-description table td,
  .single-product .woocommerce-product-details__short-description table th {
    word-break: normal;
    overflow-wrap: normal;
    white-space: normal;
    min-width: 84px;
  }

  .single-product .woocommerce-Tabs-panel img,
  .single-product .wc-tab img,
  .single-product .wd-tab-content img,
  .single-product .woocommerce-product-details__short-description img {
    max-width: 100%;
    height: auto;
  }

  .single-product .woocommerce-Tabs-panel p,
  .single-product .woocommerce-Tabs-panel li,
  .single-product .wc-tab p,
  .single-product .wc-tab li,
  .single-product .wd-tab-content p,
  .single-product .wd-tab-content li,
  .single-product .woocommerce-product-details__short-description p,
  .single-product .woocommerce-product-details__short-description li {
    overflow-wrap: break-word;
    word-break: break-word;
  }
}
/* === TITAN V6.2 END === */
