:root {
  /* Elementor's frontend.min.css defines this for the kit's `h1.entry-title{display:var(--page-title-display)}`; that sheet is dropped on pages Elementor did not build (tvstrong4k-speed.php §12), so it lives here. */
  --page-title-display: block;
  --tvs-bg: #07090d;
  --tvs-surface: #10141b;
  --tvs-surface-2: #171d27;
  --tvs-line: rgba(255, 255, 255, .12);
  --tvs-text: #f7f8fb;
  --tvs-muted: #b7c0cf;
  --tvs-accent: #ff7a00;
  --tvs-accent-2: #ff9b33;
  --tvs-success: #39d98a;
  --tvs-radius: 18px;
  --tvs-shadow: 0 20px 60px rgba(0, 0, 0, .32);
  --tvs-topbar-height: clamp(30px, 2.4vw, 36px);
}

.tvs-header-actions .trp-language-switcher.ts4k-language-inline{height:42px!important;padding:0!important;background:transparent!important;color:#fff!important}
.tvs-header-actions .ts4k-language-inline .trp-language-item__current{height:42px!important;min-height:42px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:10px!important;background:#18202b!important;color:#fff!important;padding:0 12px!important;font-size:13px!important;font-weight:850!important}
.tvs-header-actions .ts4k-language-inline .trp-language-item-name{color:#fff!important;opacity:1!important}
.tvs-header-actions .ts4k-language-inline .trp-switcher-dropdown-list,.tvs-header-actions .ts4k-language-inline .trp-switcher-dropdown-list .trp-language-item{background:#111821!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}

html {
  scroll-behavior: smooth;
  /* The header is fixed, so in-page anchors (#strong-plans from the hero CTA)
     must clear it instead of landing underneath it. */
  scroll-padding-top: clamp(116px, 10vw, 152px);
}
body {
  background: var(--tvs-bg);
  color: var(--tvs-text);
  font-family: Cairo, "Segoe UI", Tahoma, Arial, sans-serif;
  text-rendering: optimizeLegibility;
}

.tvs-skip-link {
  position: fixed;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  z-index: 100000;
  translate: 0 -180%;
  padding: 12px 18px;
  border-radius: 10px;
  background: #fff;
  color: #111 !important;
  font-weight: 800;
  transition: translate .18s ease;
}
.tvs-skip-link:focus { translate: 0; }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #ffd166 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(255, 209, 102, .22) !important;
}

::selection { background: var(--tvs-accent); color: #07090d; }

.strong-hero-content { max-width: 1240px; }
.strong-hero h1 { text-wrap: balance; letter-spacing: -.025em; }
.strong-hero p { color: #d9dee8; text-wrap: pretty; }
.strong-hero-actions a,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  min-height: 48px;
  border-radius: 12px !important;
  font-weight: 800 !important;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}
.strong-hero-actions a:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover { transform: translateY(-2px); }

:where(.elementor-section, .e-con, section) p { text-wrap: pretty; }
:where(.elementor-section, .e-con, section) h2 { text-wrap: balance; }

.pricing-card,
.tvs-smart-shop ul.products li.product,
.woocommerce div.product,
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout-review-order,
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--tvs-line) !important;
  border-radius: var(--tvs-radius) !important;
  box-shadow: var(--tvs-shadow);
}
.pricing-card:hover,
.tvs-smart-shop ul.products li.product:hover {
  border-color: rgba(255, 122, 0, .8) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .42), 0 0 0 1px rgba(255, 122, 0, .16);
}

.woocommerce form .form-row label { color: var(--tvs-text); font-weight: 700; }
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea {
  min-height: 48px;
  border: 1px solid #3b4658 !important;
  border-radius: 10px !important;
  background: #0b0f15 !important;
  color: #fff !important;
  padding: 10px 13px !important;
}
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  border-radius: 12px;
  background: var(--tvs-surface-2);
  color: var(--tvs-text);
}

.woocommerce table.shop_table { border-color: var(--tvs-line); border-radius: 14px; overflow: hidden; }
.woocommerce table.shop_table th { color: var(--tvs-text); }
.woocommerce table.shop_table td { border-color: var(--tvs-line); }

body:has(.joinchat) .whatsapp-float { display: none !important; }

@media (max-width: 767px) {
  body { font-size: 16px; }
  .strong-hero-content { padding-inline: 22px; }
  .strong-hero h1 { font-size: clamp(34px, 10vw, 44px); line-height: 1.25; }
  .strong-hero p,
  .pricing-subtitle,
  .features-list li,
  .price-details,
  .strong-hero-trust { font-size: 14px !important; }
  .nav-link { font-size: 17px; }
  .pricing-card { padding: 24px; }
  .woocommerce table.shop_table_responsive tr td { padding: 12px 10px; }
}

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

/* Professional unified header v3 — local clone only. */
.tvs-legacy-header-hidden { display: none !important; }
.tvs-image-fallback {
  object-fit: cover !important;
  background: #11161e !important;
}
.main-header.tvs-synth-header { direction: rtl; }
.main-header.tvs-synth-header .tvs-brand-play {
  width: 0;
  height: 0;
  margin-inline-start: 3px;
  border-block: 8px solid transparent;
  border-inline-start: 13px solid currentColor;
}
.main-header.tvs-synth-header .tvs-menu-lines,
.main-header.tvs-synth-header .tvs-menu-lines::before,
.main-header.tvs-synth-header .tvs-menu-lines::after {
  width: 19px;
  height: 2px;
  display: block;
  border-radius: 2px;
  background: currentColor;
  transition: transform .18s ease, opacity .18s ease;
}
.main-header.tvs-synth-header .tvs-menu-lines { position: relative; }
.main-header.tvs-synth-header .tvs-menu-lines::before,
.main-header.tvs-synth-header .tvs-menu-lines::after { content: ""; position: absolute; inset-inline-start: 0; }
.main-header.tvs-synth-header .tvs-menu-lines::before { transform: translateY(-6px); }
.main-header.tvs-synth-header .tvs-menu-lines::after { transform: translateY(6px); }
.tvs-menu-open .main-header.tvs-synth-header .tvs-menu-lines { background: transparent; }
.tvs-menu-open .main-header.tvs-synth-header .tvs-menu-lines::before { transform: rotate(45deg); }
.tvs-menu-open .main-header.tvs-synth-header .tvs-menu-lines::after { transform: rotate(-45deg); }
body.tvs-pro-header-ready {
  /* Fluid shell: one container width + one header rhythm shared by header,
     hero and trust strip so their edges line up at every viewport size. */
  --tvs-shell: min(1320px, 100% - clamp(40px, 5vw, 120px));
  --tvs-header-height: clamp(64px, 6.2vw, 92px);
  --tvs-header-margin: clamp(8px, 1.4vw, 18px);
  --tvs-header-inset: clamp(6px, 1.2vw, 24px);
  --tvs-header-radius: clamp(12px, 1.4vw, 18px);
  padding-top: calc(var(--tvs-topbar-height) + var(--tvs-header-height) + var(--tvs-header-margin) + clamp(4px, .8vw, 8px)) !important;
}

/* First paint, before the header script runs: the body class is printed
   server-side (tvstrong4k-speed.php), so the server-rendered header box takes
   the fixed geometry the script will confirm, and the theme header the script
   replaces stays out of the flow. Nothing below moves when the script lands. */
body.tvs-pro-header-ready .main-header {
  position: fixed;
  inset: calc(var(--tvs-topbar-height) + var(--tvs-header-margin)) var(--tvs-header-inset) auto;
  height: var(--tvs-header-height);
  z-index: 99990;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: var(--tvs-header-radius);
  background: rgba(9, 12, 17, .96);
}
body.tvs-pro-header-ready #site-header.site-header { display: none !important; }

.main-header.tvs-pro-header {
  position: fixed !important;
  inset: calc(var(--tvs-topbar-height) + var(--tvs-header-margin)) var(--tvs-header-inset) auto !important;
  z-index: 99990 !important;
  height: var(--tvs-header-height) !important;
  min-height: var(--tvs-header-height) !important;
  border: 1px solid rgba(255, 255, 255, .09) !important;
  border-radius: var(--tvs-header-radius) !important;
  background: rgba(9, 12, 17, .96) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .38) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.main-header.tvs-pro-header .tvs-header-top { display: none !important; }

.main-header.tvs-pro-header .header-container {
  width: min(100% - 40px, 1420px) !important;
  height: 100% !important;
  min-height: 0 !important;
  margin-inline: auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(190px, 1fr) auto auto;
  align-items: center !important;
  gap: 22px !important;
}

/* Brand: the site's own logo lockup. brand-logo.png is the original
   uploads/2026/04 site logo cut out of its studio-white background, so it sits
   on the dark header without a white plate. The old text mark stays in the DOM
   for screen readers and for anyone browsing with images off. */
.main-header.tvs-pro-header .brand-logo {
  justify-self: start;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  height: clamp(40px, 4.8vw, 66px);
  width: auto;
  aspect-ratio: 355 / 120;
  background: url('/wp-content/uploads/tvs-hero-assets/brand-logo.webp') center / contain no-repeat;
  text-decoration: none !important;
}

.main-header.tvs-pro-header .brand-icon { display: none !important; }

.main-header.tvs-pro-header .brand-text,
.main-header.tvs-pro-header .brand-sub {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%);
  white-space: nowrap;
}

.main-header.tvs-pro-header .nav-list {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.main-header.tvs-pro-header .nav-item { position: relative; }
.main-header.tvs-pro-header .nav-link {
  min-height: 44px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  color: #cbd2dd !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease !important;
}
.main-header.tvs-pro-header .nav-link i:not(.dropdown-arrow) { display: none !important; }
.main-header.tvs-pro-header .nav-link:hover,
.main-header.tvs-pro-header .nav-link:focus-visible {
  color: #fff !important;
  background: rgba(255, 255, 255, .055) !important;
  border-color: rgba(255, 255, 255, .08) !important;
}
.main-header.tvs-pro-header .nav-link.active {
  color: #fff !important;
  background: rgba(255, 122, 0, .1) !important;
  border-color: rgba(255, 122, 0, .28) !important;
}
.main-header.tvs-pro-header .nav-link.active::after {
  content: "";
  position: absolute;
  inset: auto 14px -1px;
  height: 2px;
  border-radius: 2px;
  background: var(--tvs-accent);
}
.main-header.tvs-pro-header .tvs-nav-cart,
.main-header.tvs-pro-header .tvs-nav-contact,
.main-header.tvs-pro-header .tvs-mobile-menu-cta { display: none !important; }

.main-header.tvs-pro-header .sub-menu {
  position: absolute !important;
  inset-block-start: calc(100% + 10px) !important;
  inset-inline-start: 50% !important;
  z-index: 20;
  width: 220px !important;
  margin: 0 !important;
  padding: 8px !important;
  border: 1px solid rgba(255, 255, 255, .1) !important;
  border-radius: 14px !important;
  background: #11161e !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .42) !important;
  transform: translateX(50%) translateY(-5px) !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform .18s ease, opacity .18s ease, visibility .18s ease !important;
}
.main-header.tvs-pro-header .has-dropdown:hover > .sub-menu,
.main-header.tvs-pro-header .has-dropdown:focus-within > .sub-menu,
.main-header.tvs-pro-header .has-dropdown.dropdown-open > .sub-menu {
  transform: translateX(50%) translateY(0) !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.main-header.tvs-pro-header .sub-menu a {
  min-height: 42px;
  padding: 9px 11px !important;
  display: flex;
  align-items: center;
  border-radius: 9px;
  color: #d9dee7 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 700;
}
.main-header.tvs-pro-header .sub-menu a:hover,
.main-header.tvs-pro-header .sub-menu a:focus-visible {
  color: #fff !important;
  background: rgba(255, 122, 0, .12) !important;
}

.tvs-header-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  direction: ltr;
}
.tvs-header-actions .ts4k-currency {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  min-width: 104px !important;
  height: 44px;
  margin: 0 !important;
  padding: 0 8px !important;
  display: flex !important;
  align-items: center;
  gap: 4px !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  border-radius: 11px !important;
  background: #121720 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.tvs-header-actions .ts4k-currency-icon { font-size: 14px !important; }
.tvs-header-actions #ts4k-currency-select {
  width: 76px !important;
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 4px 18px 4px 2px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background-color: transparent !important;
  color: #fff !important;
  font-family: inherit;
  font-size: 12px !important;
  font-weight: 800 !important;
  cursor: pointer;
}
.tvs-header-actions #ts4k-currency-select option { background: #11161e; color: #fff; }

.tvs-header-cart,
.tvs-header-cta {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  text-decoration: none !important;
  font-family: inherit;
  font-weight: 800;
  white-space: nowrap;
}
.tvs-header-cart {
  position: relative;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .13);
  background: #121720;
  color: #fff !important;
  direction: rtl;
}
.tvs-header-cart:hover { background: #181f2a; }
.tvs-header-cart-count {
  min-width: 20px;
  height: 20px;
  padding-inline: 5px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--tvs-accent);
  color: #14100b;
  font-size: 11px;
  line-height: 1;
}
.tvs-header-cta {
  min-width: 112px;
  padding: 0 17px;
  border: 1px solid #ff8617;
  background: var(--tvs-accent) !important;
  color: #140d06 !important;
  box-shadow: 0 8px 18px rgba(255, 122, 0, .16);
}
.tvs-header-cta:hover { background: #ff8d22 !important; transform: translateY(-1px); }
.tvs-header-cta { gap: 7px; }
.tvs-header-cta i { font-size: 11px; }
.main-header.tvs-pro-header .mobile-toggle-btn { display: none !important; }
.main-header.tvs-pro-header .nav-overlay { display: none !important; }

@media (max-width: 1230px) and (min-width: 1081px) {
  .main-header.tvs-pro-header .header-container {
    width: min(100% - 24px, 1210px) !important;
    grid-template-columns: 165px auto 350px;
    gap: 12px !important;
  }
  .main-header.tvs-pro-header .brand-icon { width: 38px !important; height: 38px !important; min-width: 38px; }
  .main-header.tvs-pro-header .brand-text { font-size: 15px !important; }
  .main-header.tvs-pro-header .nav-link { padding-inline: 8px !important; font-size: 12px !important; }
  .tvs-header-cart-label { display: none; }
  .tvs-header-cta { min-width: 96px; padding-inline: 12px; font-size: 13px; }
}

@media (max-width: 1080px) {
  .main-header.tvs-pro-header .header-container {
    width: calc(100% - 24px) !important;
    grid-template-columns: minmax(108px, 1fr) auto auto auto;
    gap: 7px !important;
  }
  .main-header.tvs-pro-header .brand-logo { grid-column: 1; }
  .main-header.tvs-pro-header .brand-icon { width: 36px !important; height: 36px !important; min-width: 36px; border-radius: 10px !important; }
  .main-header.tvs-pro-header .brand-text { font-size: 14px !important; }
  .main-header.tvs-pro-header .brand-sub { display: none !important; }

  .tvs-header-actions { display: contents; }
  .tvs-header-actions .ts4k-currency { grid-column: 2; min-width: 78px !important; width: 78px; height: 40px; padding-inline: 5px !important; }
  .tvs-header-actions .ts4k-currency-icon { display: none; }
  .tvs-header-actions #ts4k-currency-select { width: 68px !important; min-height: 36px !important; padding-inline: 14px 0 !important; font-size: 11px !important; }
  .tvs-header-cart { grid-column: 3; width: 40px; height: 40px; min-height: 40px; padding: 0; border-radius: 10px; }
  .tvs-header-cart-label { display: none; }
  .tvs-header-cart-count {
    position: absolute;
    inset-block-start: -6px;
    inset-inline-end: -5px;
    min-width: 18px;
    height: 18px;
    font-size: 10px;
  }
  .tvs-header-cta { display: none !important; }
  .main-header.tvs-pro-header .mobile-toggle-btn {
    grid-column: 4;
    position: static !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 10px !important;
    background: #121720 !important;
    color: #fff !important;
  }
  .main-header.tvs-pro-header .nav-list {
    position: fixed !important;
    inset-block-start: calc(var(--tvs-header-height) + var(--tvs-header-margin) + 8px) !important;
    inset-inline: var(--tvs-header-inset) !important;
    width: auto !important;
    max-height: calc(100dvh - var(--tvs-header-height) - var(--tvs-header-margin) - 22px);
    overflow-y: auto;
    margin: 0 !important;
    padding: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    border: 1px solid rgba(255, 255, 255, .11) !important;
    border-radius: var(--tvs-header-radius) !important;
    background: #0d1118 !important;
    box-shadow: 0 28px 60px rgba(0, 0, 0, .56) !important;
    transform: none !important;
    translate: 0 -12px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: translate .2s ease, opacity .2s ease, visibility .2s ease !important;
  }
  .main-header.tvs-pro-header .nav-list.active {
    translate: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .main-header.tvs-pro-header .nav-item { width: 100%; }
  .main-header.tvs-pro-header .nav-link {
    width: 100%;
    min-height: 48px !important;
    padding-inline: 13px !important;
    justify-content: space-between !important;
    font-size: 15px !important;
  }
  .main-header.tvs-pro-header .nav-link i:not(.dropdown-arrow) { display: inline-block !important; }
  .main-header.tvs-pro-header .nav-link.active::after { inset: 9px auto 9px 0; width: 3px; height: auto; }
  .main-header.tvs-pro-header .sub-menu {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-height: 0;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .035) !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .main-header.tvs-pro-header .has-dropdown.dropdown-open > .sub-menu {
    max-height: 220px;
    margin-top: 4px !important;
    padding-block: 6px !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .main-header.tvs-pro-header .tvs-mobile-menu-cta {
    display: block !important;
    width: 100%;
    margin-top: 8px;
  }
  .main-header.tvs-pro-header .tvs-mobile-menu-cta a {
    min-height: 48px;
    padding-inline: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: var(--tvs-accent);
    color: #140d06 !important;
    font-weight: 900;
    text-decoration: none !important;
  }
  body.tvs-menu-open { overflow: hidden !important; }
  body.tvs-menu-open .main-header.tvs-pro-header .nav-overlay {
    position: fixed !important;
    inset: calc(var(--tvs-header-height) + var(--tvs-header-margin)) 0 0 !important;
    z-index: -1;
    display: block !important;
    background: rgba(0, 0, 0, .62) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

@media (max-width: 420px) {
  .main-header.tvs-pro-header .header-container {
    width: calc(100% - 16px) !important;
    grid-template-columns: minmax(94px, 1fr) 72px 38px 38px;
    gap: 5px !important;
  }
  .main-header.tvs-pro-header .brand-logo { gap: 6px; }
  .main-header.tvs-pro-header .brand-icon { width: 32px !important; height: 32px !important; min-width: 32px; }
  .main-header.tvs-pro-header .brand-text { font-size: 12px !important; }
  .tvs-header-actions .ts4k-currency { width: 72px; min-width: 72px !important; }
  .tvs-header-actions #ts4k-currency-select { width: 62px !important; font-size: 10px !important; }
  .tvs-header-cart,
  .main-header.tvs-pro-header .mobile-toggle-btn { width: 38px !important; height: 38px !important; min-width: 38px; }
}

@media (min-width:1081px){.main-header.tvs-pro-header .header-container{width:var(--tvs-shell)!important;grid-template-columns:minmax(205px,1fr) auto auto!important;gap:18px!important}.main-header.tvs-pro-header .brand-text{font-size:20px!important}.main-header.tvs-pro-header .nav-link{color:#f1f4f8!important;font-size:15.5px!important;font-weight:850!important;text-shadow:0 1px 10px rgba(255,255,255,.08)}}
.tvs-header-actions .trp-language-switcher.ts4k-language-inline{height:42px!important;padding:0!important;background:transparent!important;color:#fff!important}.tvs-header-actions .ts4k-language-inline .trp-language-item__current{height:42px!important;min-height:42px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:10px!important;background:#18202b!important;color:#fff!important;padding:0 12px!important;font-size:13px!important;font-weight:850!important}.tvs-header-actions .ts4k-language-inline .trp-language-item-name{color:#fff!important;opacity:1!important}.tvs-header-actions .ts4k-language-inline .trp-switcher-dropdown-list,.tvs-header-actions .ts4k-language-inline .trp-switcher-dropdown-list .trp-language-item{background:#111821!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}

@media (max-width:1080px){.main-header.tvs-pro-header .header-container{width:100%!important;padding-inline:clamp(10px,2vw,18px)!important;grid-template-columns:minmax(96px,1fr) auto 40px 40px!important;gap:6px!important}.tvs-header-actions .ts4k-currency{grid-column:2!important;width:auto!important;min-width:112px!important;height:40px!important;padding:0 4px!important;gap:3px!important;overflow:visible!important}.tvs-header-actions #ts4k-currency-select{width:68px!important;min-width:68px!important;padding:0 5px!important;font-size:11px!important}.tvs-header-actions .trp-language-switcher.ts4k-language-inline{display:block!important;width:34px!important;min-width:34px!important;height:36px!important;overflow:visible!important}.tvs-header-actions .ts4k-language-inline .trp-language-item__current{width:34px!important;min-width:34px!important;height:36px!important;min-height:36px!important;padding:0!important;justify-content:center!important}.tvs-header-actions .ts4k-language-inline .trp-language-item-name{display:none!important}.tvs-header-actions .ts4k-language-inline .trp-switcher-dropdown-list{inset-inline-end:0!important;inset-inline-start:auto!important;min-width:145px!important}}
@media (max-width:420px){.main-header.tvs-pro-header .header-container{width:100%!important;padding-inline:10px!important;grid-template-columns:minmax(92px,1fr) 112px 38px 38px!important;gap:5px!important}.main-header.tvs-pro-header .brand-text{font-size:13px!important}.tvs-header-actions .ts4k-currency{width:112px!important;min-width:112px!important}}

/* Premium dark header refinements — Phase 2 (Header + Hero) */
.main-header.tvs-pro-header {
  background: linear-gradient(180deg, rgba(10, 13, 19, .98), rgba(9, 12, 17, .94)) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 14px 34px rgba(0, 0, 0, .34) !important;
}
/* The logo is the widest fixed item in the header grid on small phones. */
@media (max-width: 640px) { .main-header.tvs-pro-header .brand-logo { height: 34px; } }
@media (max-width: 420px) { .main-header.tvs-pro-header .brand-logo { height: 28px; } }

/* ============================================================
   UTILITY STRIP — the thin bar above the fixed header.
   It is fixed at the very top, so the header and the body padding
   both reserve --tvs-topbar-height for it.
   ============================================================ */
.tvs-topbar {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--tvs-topbar-height);
  background: linear-gradient(180deg, #0a0e14 0%, #06090d 100%);
  border-block-end: 1px solid rgba(255, 255, 255, .055);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .02) inset;
}
.tvs-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 2.6vw, 44px);
  width: var(--tvs-shell, min(1320px, 100% - 40px));
}
.tvs-topbar-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(233, 238, 247, .60);
  font: 600 clamp(11px, .92vw, 12.5px)/1.2 Cairo, system-ui, sans-serif;
  white-space: nowrap;
}
.tvs-topbar-item i { color: var(--tvs-accent); font-size: 1.02em; }
.tvs-topbar-item + .tvs-topbar-item::before {
  content: "";
  position: absolute;
  inset-inline-start: calc(clamp(16px, 2.6vw, 44px) / -2);
  inset-block: 3px;
  width: 1px;
  background: rgba(255, 255, 255, .09);
}

/* Narrow phones only have room for the first claim. */
@media (max-width: 700px) { .tvs-topbar-item:nth-child(3) { display: none; } }
@media (max-width: 470px) { .tvs-topbar-item:nth-child(2) { display: none; } }


/* ============================================================
   CURRENCY LISTBOX — flag, code and currency name, the way a
   store switcher should read. tvs-professional-header.js builds
   it from #ts4k-currency-select and hides the native control;
   without JS the select stays visible and fully usable.
   ============================================================ */
.tvs-cur-flag {
  flex: 0 0 auto;
  width: 20px;
  height: 14px;
  border-radius: 2px;
  background: center / cover no-repeat;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .18);
}
.tvs-cur-flag[data-cur="USD"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 13'%3E%3Crect width='18' height='13' fill='%23fff'/%3E%3Cg fill='%23b22234'%3E%3Crect width='18' height='2'/%3E%3Crect y='4' width='18' height='2'/%3E%3Crect y='8' width='18' height='2'/%3E%3Crect y='12' width='18' height='1'/%3E%3C/g%3E%3Crect width='8' height='7' fill='%233c3b6e'/%3E%3C/svg%3E"); }
.tvs-cur-flag[data-cur="EUR"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 13'%3E%3Crect width='18' height='13' fill='%23039'/%3E%3Cg fill='%23fc0'%3E%3Ccircle cx='9' cy='3.6' r='.8'/%3E%3Ccircle cx='11.7' cy='4.4' r='.8'/%3E%3Ccircle cx='13.4' cy='6.5' r='.8'/%3E%3Ccircle cx='11.7' cy='8.6' r='.8'/%3E%3Ccircle cx='9' cy='9.4' r='.8'/%3E%3Ccircle cx='6.3' cy='8.6' r='.8'/%3E%3Ccircle cx='4.6' cy='6.5' r='.8'/%3E%3Ccircle cx='6.3' cy='4.4' r='.8'/%3E%3C/g%3E%3C/svg%3E"); }
.tvs-cur-flag[data-cur="GBP"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 13'%3E%3Crect width='18' height='13' fill='%23012169'/%3E%3Cpath d='M0 0l18 13M18 0L0 13' stroke='%23fff' stroke-width='2.6'/%3E%3Cpath d='M0 0l18 13M18 0L0 13' stroke='%23c8102e' stroke-width='1.2'/%3E%3Cpath d='M9 0v13M0 6.5h18' stroke='%23fff' stroke-width='4'/%3E%3Cpath d='M9 0v13M0 6.5h18' stroke='%23c8102e' stroke-width='2.2'/%3E%3C/svg%3E"); }
.tvs-cur-flag[data-cur="CAD"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 13'%3E%3Crect width='18' height='13' fill='%23fff'/%3E%3Crect width='4.5' height='13' fill='%23d52b1e'/%3E%3Crect x='13.5' width='4.5' height='13' fill='%23d52b1e'/%3E%3Cpath d='M9 3l.8 2.1 2-.6-1.2 1.8 1.4.9-2 .3.2 1.6L9 8.1 7.8 9.1 8 7.5l-2-.3 1.4-.9L6.2 4.5l2 .6z' fill='%23d52b1e'/%3E%3C/svg%3E"); }
.tvs-cur-flag[data-cur="SAR"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 13'%3E%3Crect width='18' height='13' fill='%23165d31'/%3E%3Crect x='3' y='5.4' width='12' height='1.2' rx='.6' fill='%23fff'/%3E%3Crect x='3.6' y='8.1' width='10.8' height='1' rx='.5' fill='%23fff'/%3E%3C/svg%3E"); }
.tvs-cur-flag[data-cur="AED"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 13'%3E%3Crect width='18' height='4.34' fill='%2300732f'/%3E%3Crect y='4.34' width='18' height='4.33' fill='%23fff'/%3E%3Crect y='8.67' width='18' height='4.33'/%3E%3Crect width='4.6' height='13' fill='%23f00'/%3E%3C/svg%3E"); }

.tvs-header-actions .ts4k-currency-icon { display: none !important; }
.tvs-header-actions .ts4k-currency { gap: 8px !important; }

.tvs-cur { position: relative; flex: 0 0 auto; }
.tvs-cur-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 44px;
  padding-inline: 13px 11px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 12px;
  background: rgba(255, 255, 255, .045);
  color: #fff;
  font: 800 13.5px/1 Cairo, system-ui, sans-serif;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease;
}
.tvs-cur-btn:hover { border-color: rgba(255, 255, 255, .30); background: rgba(255, 255, 255, .08); }
.tvs-cur-btn:focus-visible { outline: 2px solid var(--tvs-accent); outline-offset: 2px; }
.tvs-cur-caret {
  width: 11px;
  height: 7px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23aab4c4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  transition: transform .18s ease;
}
.tvs-cur-btn[aria-expanded="true"] .tvs-cur-caret { transform: rotate(180deg); }

.tvs-cur-list {
  position: absolute;
  inset-block-start: calc(100% + 8px);
  inset-inline-end: 0;
  z-index: 1200;
  min-width: 232px;
  margin: 0;
  padding: 6px;
  list-style: none;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 14px;
  background: #0e131b;
  box-shadow: 0 26px 60px rgba(0, 0, 0, .55);
}
.tvs-cur-list li {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 11px;
  border-radius: 10px;
  color: rgba(233, 238, 247, .82);
  font-size: 13.5px;
  cursor: pointer;
  transition: background-color .14s ease, color .14s ease;
}
.tvs-cur-list .tvs-cur-code { min-width: 38px; font-weight: 800; color: #fff; }
.tvs-cur-list .tvs-cur-name { color: rgba(233, 238, 247, .58); font-weight: 600; }
.tvs-cur-list li:hover { background: rgba(255, 255, 255, .06); }
/* The site sets a loud global focus ring; keep keyboard focus visible but on-brand. */
.tvs-cur-list li:focus { outline: none !important; background: rgba(255, 255, 255, .06); }
.tvs-cur-list li:focus-visible { outline: 2px solid var(--tvs-accent) !important; outline-offset: -2px !important; }
.tvs-cur-list li[aria-selected="true"] { background: rgba(255, 122, 0, .13); }
.tvs-cur-list li[aria-selected="true"] .tvs-cur-code,
.tvs-cur-list li[aria-selected="true"] .tvs-cur-name { color: var(--tvs-accent-2); }

/* Once the listbox exists the native select is only for assistive tech. */
.tvs-header-actions select.tvs-cur-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden;
  clip-path: inset(50%);
}

/* Language pill matches the currency button. */
.tvs-header-actions .trp-language-switcher.ts4k-language-inline { height: 44px !important; }
.tvs-header-actions .ts4k-language-inline .trp-language-item__current {
  height: 44px !important;
  min-height: 44px !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .045) !important;
  padding-inline: 12px !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  transition: border-color .18s ease, background-color .18s ease;
}
.tvs-header-actions .ts4k-language-inline .trp-language-item__current:hover {
  border-color: rgba(255, 255, 255, .30) !important;
  background: rgba(255, 255, 255, .08) !important;
}

@media (max-width: 1080px) {
  .tvs-cur-btn { height: 40px; gap: 7px; padding-inline: 10px 8px; font-size: 12px; }
  .tvs-cur-btn .tvs-cur-flag { width: 18px; height: 13px; }
  .tvs-cur-list { min-width: 210px; }
  .tvs-header-actions .trp-language-switcher.ts4k-language-inline,
  .tvs-header-actions .ts4k-language-inline .trp-language-item__current { height: 40px !important; min-height: 40px !important; }
}

/* On phones the button sits near the edge, so anchoring the panel to it pushes
   the panel off-screen. Pin it to the viewport instead. */
@media (max-width: 560px) {
  .tvs-cur-list {
    position: fixed;
    inset-block-start: calc(var(--tvs-topbar-height) + var(--tvs-header-margin) + var(--tvs-header-height) + 6px);
    inset-inline: 12px;
    width: auto;
    min-width: 0;
  }
}

/* Currency symbols sit on either side depending on the currency. A leading
   symbol ($, EUR, GBP, CA$) reads well small and raised; a trailing Arabic one
   (ر.س, د.إ) is a word, so it stays on the baseline at a readable size. */
.page-id-20 .tvs-plan-card .price bdi > .woocommerce-Price-currencySymbol:last-child {
  margin-inline: 8px 0;
  font-size: .40em;
  font-weight: 700;
  vertical-align: baseline;
}
.page-id-20 .tvs-plan-card .price-details .woocommerce-Price-currencySymbol {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  vertical-align: baseline;
  margin: 0;
}

/* Prices now read "SAR 37.50" — the leading token is a three-letter code, not a
   glyph, so it sits on the baseline at readable size instead of being tucked up
   like a "$". Overrides the earlier symbol rules for both positions. */
.page-id-20 .tvs-plan-card .price bdi > .woocommerce-Price-currencySymbol,
.page-id-20 .tvs-plan-card .price bdi > .woocommerce-Price-currencySymbol:last-child {
  margin-inline: 0 10px;
  font-size: .46em;
  font-weight: 800;
  letter-spacing: .01em;
  vertical-align: baseline;
}

/* ============================================================
   NAV LIST MARKERS — the nav is a <ul>, and nothing reset its
   bullets, so every item carried a 2px dot at its end.
   ============================================================ */
.main-header.tvs-pro-header .nav-list,
.main-header.tvs-pro-header .nav-item,
.main-header.tvs-pro-header .sub-menu,
.main-header.tvs-pro-header .sub-menu li { list-style: none !important; }
.main-header.tvs-pro-header .nav-item::marker,
.main-header.tvs-pro-header .sub-menu li::marker { content: none !important; }

/* ============================================================
   BRAND TYPE — Cairo, self-hosted. The kit and every block above
   ask for Cairo, but the Google Fonts link was dropped in the speed
   pass, so headings fell back to whatever the phone had. The two
   variable subsets (arabic + latin, ~65KB) live in tvs-hero-assets/
   fonts (not preloaded — see tvstrong4k-icons.php). `optional` keeps
   first paint and layout steady: the font is used when it is ready
   in time (preloaded, or cached from the last visit), never swapped
   in afterwards.
   ============================================================ */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 200 1000;
  font-display: optional;
  src: url('/wp-content/uploads/tvs-hero-assets/fonts/cairo-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 200 1000;
  font-display: optional;
  src: url('/wp-content/uploads/tvs-hero-assets/fonts/cairo-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   PHONE HEADER v4 (≤1080px) — one tidy bar and a side drawer.
   Bar: the logo at the start; at the end one 40px row of controls:
   currency (flag + code), language (flag + code) and the menu
   button. Drawer: slides in from the menu-button side, full height,
   brand + close at the top, links with leading icons, the articles
   group as an accordion, WhatsApp + cart as quick actions, and the
   plan CTA pinned to the bottom. Later in the file than every older
   phone rule, so equal-specificity declarations here win.
   ============================================================ */
@media (max-width: 1080px) {
  body.tvs-pro-header-ready {
    --tvs-topbar-height: 28px;
    --tvs-header-height: 60px;
    --tvs-header-margin: 8px;
    --tvs-header-inset: 8px;
    --tvs-header-radius: 14px;
    /* a little more air under the bar: page titles were touching its edge */
    padding-top: calc(var(--tvs-topbar-height) + var(--tvs-header-height) + var(--tvs-header-margin) + 16px) !important;
  }
  .tvs-topbar-item { font-size: 12px; }
  .main-header.tvs-pro-header .header-container {
    width: 100% !important;
    padding-inline: 10px !important;
    grid-template-columns: minmax(0, 1fr) auto 42px !important;
    gap: 8px !important;
  }
  .main-header.tvs-pro-header .brand-logo { grid-column: 1; height: 36px; }

  /* controls cell: currency + language sit together in .ts4k-currency */
  .tvs-header-actions .ts4k-currency {
    grid-column: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 40px !important;
    padding: 0 !important;
    gap: 6px !important;
    overflow: visible !important;
  }
  .tvs-cur-btn { height: 40px; padding-inline: 9px 8px; gap: 6px; border-radius: 11px; font-size: 12.5px; }
  .tvs-cur-flag { width: 18px; height: 13px; }
  .tvs-cur-caret { width: 9px; height: 6px; }
  .tvs-header-actions .trp-language-switcher.ts4k-language-inline { display: block !important; width: auto !important; min-width: 0 !important; height: 40px !important; }
  .tvs-header-actions .ts4k-language-inline .trp-language-item__current {
    width: auto !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    gap: 6px !important;
    justify-content: center !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, .045) !important;
    font-size: 12.5px !important;
  }
  .tvs-header-actions .ts4k-language-inline .trp-flag-image { width: 18px !important; height: 13px !important; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .18); }
  .tvs-header-actions .ts4k-language-inline .trp-language-item-name { display: none !important; }
  .tvs-header-actions .ts4k-language-inline .tvs-lang-code { display: inline !important; color: #fff; font-weight: 800; letter-spacing: .04em; }
  .tvs-header-actions .ts4k-language-inline .trp-switcher-dropdown-list { inset-block-start: calc(100% + 8px) !important; min-width: 160px !important; border-radius: 12px !important; overflow: hidden; }
  .tvs-header-actions .ts4k-language-inline .trp-switcher-dropdown-list .trp-language-item { min-height: 44px; padding-inline: 12px !important; }

  .main-header.tvs-pro-header .mobile-toggle-btn {
    grid-column: 3 !important;
    width: 42px !important;
    height: 40px !important;
    min-width: 42px !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, .045) !important;
    font-size: 17px;
  }

  /* --- drawer ------------------------------------------------ */
  /* The legacy header rule paints the bar with translate3d (and tablets keep
     its backdrop blur); either makes the bar the containing block for fixed
     descendants, which would pin the drawer inside the 60px bar. */
  .main-header.tvs-pro-header { transform: none !important; backface-visibility: visible !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  .main-header.tvs-pro-header .nav-list {
    inset-block: 0 !important;
    inset-inline: auto 0 !important;
    z-index: 100010; /* grid items in the bar carry z-index 10000+ */
    width: min(84vw, 360px) !important;
    height: 100dvh;
    max-height: none !important;
    padding: 0 !important;
    border: 0 !important;
    border-inline-start: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 0 !important;
    background: #0b0f16 !important;
    box-shadow: 0 0 80px rgba(0, 0, 0, .6) !important;
    gap: 0 !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    opacity: 1 !important;
    transition: none !important;
  }
  /* English pages get a left-to-right bar (logo left, menu right) and a drawer
     that reads left-to-right; the synthesized header is otherwise RTL. */
  html[dir="ltr"] .main-header.tvs-pro-header,
  html[dir="ltr"] .main-header.tvs-pro-header .header-container,
  html[dir="ltr"] .main-header.tvs-pro-header .nav-list { direction: ltr !important; }
  .main-header.tvs-pro-header .nav-overlay { outline: none !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; }
  html[dir="rtl"] .main-header.tvs-pro-header .nav-list:not(.active) { translate: -100% 0 !important; }
  /* The slide is enabled a frame after the script has set the header up;
     otherwise the jump from the legacy position animates across the screen
     on every page load (a visible panel sliding out = layout shift). */
  .main-header.tvs-pro-header.tvs-drawer-ready .nav-list { transition: translate .28s cubic-bezier(.2, .7, .2, 1), visibility .28s !important; }
  html:not([dir="rtl"]) .main-header.tvs-pro-header .nav-list:not(.active) { translate: 100% 0 !important; }
  .main-header.tvs-pro-header .nav-list.active { translate: 0 !important; }

  .main-header.tvs-pro-header .tvs-drawer-head {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 14px 16px 12px;
    border-block-end: 1px solid rgba(255, 255, 255, .08);
  }
  .main-header.tvs-pro-header .tvs-drawer-brand { display: block; width: 104px; height: 35px; background: url('/wp-content/uploads/tvs-hero-assets/brand-logo.webp') center / contain no-repeat; }
  .main-header.tvs-pro-header .tvs-drawer-close {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 11px;
    background: rgba(255, 255, 255, .045);
    color: #fff;
    font-size: 16px;
    cursor: pointer;
  }

  .main-header.tvs-pro-header .nav-item { width: 100%; padding-inline: 10px; }
  .main-header.tvs-pro-header .tvs-drawer-head + .nav-item { padding-block-start: 8px; }
  .main-header.tvs-pro-header .nav-link {
    min-height: 52px !important;
    padding-inline: 10px 12px !important;
    border-radius: 12px !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    font-size: 15.5px !important;
    font-weight: 800 !important;
  }
  .main-header.tvs-pro-header .nav-link i:not(.dropdown-arrow) {
    order: -1;
    display: grid !important;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(255, 122, 0, .12);
    color: var(--tvs-accent-2, #ff9b33) !important;
    font-size: 15px;
  }
  .main-header.tvs-pro-header .nav-link > div { display: contents; }
  .main-header.tvs-pro-header .nav-link .dropdown-arrow {
    order: 1;
    margin-inline-start: auto;
    color: rgba(233, 238, 247, .55) !important;
    font-size: 12px;
    transition: transform .2s ease;
  }
  .main-header.tvs-pro-header .has-dropdown.dropdown-open > .nav-link .dropdown-arrow { transform: rotate(180deg); }
  .main-header.tvs-pro-header .nav-link.active { background: rgba(255, 122, 0, .1) !important; }
  .main-header.tvs-pro-header .nav-link.active::after { display: none; }

  .main-header.tvs-pro-header .sub-menu { padding: 0 !important; background: transparent !important; }
  .main-header.tvs-pro-header .has-dropdown.dropdown-open > .sub-menu { max-height: 320px; padding: 2px 0 6px !important; transform: none !important; translate: none !important; }
  .main-header.tvs-pro-header .nav-link { border: 0 !important; box-shadow: none !important; }
  .main-header.tvs-pro-header .nav-link::after, .main-header.tvs-pro-header .nav-link::before { display: none !important; }
  .main-header.tvs-pro-header .sub-menu li a {
    display: flex !important;
    align-items: center;
    min-height: 44px;
    margin-inline-start: 48px;
    padding: 0 12px !important;
    border-inline-start: 2px solid rgba(255, 122, 0, .35);
    color: rgba(233, 238, 247, .85) !important;
    font-size: 14px !important;
    font-weight: 700;
  }

  /* quick actions: WhatsApp + cart, built by tvs-professional-header.js */
  .main-header.tvs-pro-header .tvs-drawer-quick {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
    margin-block-start: 10px;
    padding-inline: 10px;
    list-style: none;
  }
  .main-header.tvs-pro-header .tvs-drawer-quick a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    background: rgba(255, 255, 255, .035);
    color: #fff !important;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
  }
  .main-header.tvs-pro-header .tvs-drawer-quick a i { font-size: 17px; color: var(--tvs-accent-2, #ff9b33); }
  .main-header.tvs-pro-header .tvs-drawer-quick a.is-wa { border-color: rgba(37, 211, 102, .4); }
  .main-header.tvs-pro-header .tvs-drawer-quick a.is-wa i { color: #25d366; }
  .main-header.tvs-pro-header .tvs-drawer-quick b {
    display: grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding-inline: 5px;
    border-radius: 999px;
    background: var(--tvs-accent, #ff7a00);
    color: #140d06;
    font-size: 11px;
    font-weight: 900;
  }

  .main-header.tvs-pro-header .tvs-mobile-menu-cta {
    position: sticky;
    bottom: 0;
    width: 100%;
    margin: auto 0 0 !important;
    padding: 12px 10px calc(12px + env(safe-area-inset-bottom));
    background: linear-gradient(180deg, rgba(11, 15, 22, 0), #0b0f16 30%);
  }
  .main-header.tvs-pro-header .tvs-mobile-menu-cta a { min-height: 50px; border-radius: 12px; font-size: 15.5px; box-shadow: 0 10px 26px rgba(255, 122, 0, .25); }

  body.tvs-menu-open .main-header.tvs-pro-header .nav-overlay {
    inset: 0 !important;
    z-index: 100005;
    background: rgba(3, 5, 8, .7) !important;
    backdrop-filter: blur(2px);
  }
}

/* The language list is positioned by inset but was never taken out of flow, so
   its 145px min-width stretched the switcher pill on every width. */
.tvs-header-actions .ts4k-language-inline .trp-switcher-dropdown-list { position: absolute !important; z-index: 30; }

/* The drawer head and quick actions only exist for the phone drawer. */
.main-header.tvs-pro-header .tvs-drawer-head, .main-header.tvs-pro-header .tvs-drawer-quick { display: none; list-style: none; }
.tvs-header-actions .ts4k-language-inline .tvs-lang-code { display: none; } /* the short code is for the phone bar; desktop shows the full name */

/* ============================================================
   REVIEWER COUNTRY — flag + country name chip on every review
   (tvstrong4k-review-country.php): the home reviews block, the
   product-page review list, and the select in the review form.
   ============================================================ */
.tvs-rc {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  padding: 3px 10px 3px 6px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .045);
  color: rgba(233, 238, 247, .88);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.5;
  vertical-align: middle;
  white-space: nowrap;
}
.tvs-rc > span { overflow: hidden; text-overflow: ellipsis; }
.tvs-rc-flag { flex: 0 0 auto; width: 20px; height: 15px; border-radius: 3px; object-fit: cover; box-shadow: 0 0 0 1px rgba(255, 255, 255, .18); }
.page-id-20 .tvs-review-meta .tvs-rc { justify-self: start; margin-block: 2px 4px; }
.woocommerce div.product .tvs-pr .comment-text .tvs-rc { margin: 0 0 10px; }
.woocommerce div.product .tvs-pr .comment-form-tvs-country { margin: 0 0 16px; }
.woocommerce div.product .tvs-pr .comment-form-tvs-country label { display: block; margin-block-end: 6px; color: var(--tvs-text, #f7f8fb); font-weight: 700; }
.woocommerce div.product .tvs-pr .comment-form-tvs-country select {
  width: 100%;
  min-height: 48px;
  padding: 10px 13px;
  border: 1px solid #3b4658;
  border-radius: 10px;
  background: #0b0f15;
  color: #fff;
  font: inherit;
}

/* --- Follow-us bar under the theme footer (every page but the home page;
   printed by tvstrong4k-seo-social.php) --- */
.tvs-social-bar {
  background: var(--tvs-bg, #07090d);
  border-top: 1px solid rgba(255, 255, 255, .06);
  padding: 18px 16px 26px;
  text-align: center;
}
.tvs-social-bar a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  color: #fff;
  font: 700 14px/1 Cairo, system-ui, sans-serif;
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease;
}
.tvs-social-bar a:hover { border-color: rgba(255, 122, 0, .55); background: rgba(255, 122, 0, .1); color: #fff; }
.tvs-social-bar svg { flex: 0 0 auto; }
.tvs-social-bar .tvs-social-handle { color: rgba(233, 238, 247, .55); font-weight: 600; }
