/*
 * TCS production palette v1.
 * Color overrides only: no typography, spacing, content, URL, or layout changes.
 * Semantic status colors and third-party/provider branding remain untouched.
 */

:root,
.elementor-kit-8 {
  --tcs-gradient-top: #061529;
  --tcs-gradient-bottom: #102a4f;
  --tcs-navy: #071a33;
  --tcs-card: rgba(255, 255, 255, 0.08);
  --tcs-card-border: rgba(255, 255, 255, 0.18);
  --tcs-card-shadow: rgba(0, 0, 0, 0.18);
  --tcs-text: #ffffff;
  --tcs-body: #e5e7eb;
  --tcs-muted: #dbeafe;
  --tcs-link: #bfdbfe;
  --tcs-gold: #facc15;
  --tcs-gold-foreground: #061529;
  --tcs-blue: #60a5fa;
  --tcs-blue-foreground: #061529;
  --tcs-divider: rgba(255, 255, 255, 0.16);

  /* Elementor kit 8 mapping; its semantic alert color is intentionally untouched. */
  --e-global-color-primary: var(--tcs-blue);
  --e-global-color-secondary: var(--tcs-text);
  --e-global-color-text: var(--tcs-body);
  --e-global-color-accent: var(--tcs-gold);
  --e-global-color-c637084: var(--tcs-navy);
  --e-global-color-f678763: var(--tcs-text);
  --e-global-color-56c782b: var(--tcs-link);
  --e-global-color-d19a339: var(--tcs-muted);
}

/* Page canvas */
html body.elementor-kit-8 {
  color: var(--tcs-body);
  background-color: var(--tcs-navy);
  background-image: linear-gradient(180deg, var(--tcs-gradient-top), var(--tcs-gradient-bottom));
  background-attachment: fixed;
}

/* Shared header, navigation, dropdown, mobile menu, and footer */
body.elementor-kit-8 :where(
  header.site-header,
  .elementor-location-header,
  .hfe-site-header,
  .elementor-nav-menu--dropdown,
  .hfe-nav-menu__layout-horizontal .sub-menu,
  .hfe-dropdown,
  footer.site-footer,
  .elementor-location-footer,
  .hfe-site-footer
) {
  color: var(--tcs-body);
  background-color: rgba(6, 21, 41, 0.94);
  border-color: var(--tcs-divider);
  box-shadow: 0 12px 28px var(--tcs-card-shadow);
}

body.elementor-kit-8 :where(
  .elementor-nav-menu--main .elementor-item,
  .elementor-nav-menu--dropdown .elementor-item,
  .hfe-nav-menu a.hfe-menu-item,
  .hfe-nav-menu a.hfe-sub-menu-item,
  .site-navigation a
) {
  color: var(--tcs-body);
}

body.elementor-kit-8 :where(
  .elementor-nav-menu--main .elementor-item,
  .elementor-nav-menu--dropdown .elementor-item,
  .hfe-nav-menu a.hfe-menu-item,
  .hfe-nav-menu a.hfe-sub-menu-item,
  .site-navigation a
):is(:hover, :focus-visible, .elementor-item-active) {
  color: var(--tcs-gold);
}

body.elementor-kit-8 :where(.elementor-menu-toggle, .hfe-nav-menu-icon) {
  color: var(--tcs-gold);
  background-color: var(--tcs-card);
  border-color: var(--tcs-card-border);
}

/* Headings, copy, links, and dividers */
body.elementor-kit-8 :where(h1, h2, h3, h4, h5, h6, .elementor-heading-title) {
  color: var(--tcs-text);
}

body.elementor-kit-8 :where(
  .elementor-widget-text-editor,
  .elementor-post__excerpt,
  .entry-content,
  .entry-summary,
  .site-footer,
  .woocommerce-result-count
) {
  color: var(--tcs-body);
}

body.elementor-kit-8 :where(
  main,
  .elementor-location-header,
  .elementor-location-footer,
  .hfe-site-header,
  .hfe-site-footer
) a:not(.elementor-button):not(.button):not([class*="social"]):not([class*="payment"]):not([class*="paypal"]):not([class*="stripe"]):not([class*="trustindex"]) {
  color: var(--tcs-link);
}

body.elementor-kit-8 :where(
  main,
  .elementor-location-header,
  .elementor-location-footer,
  .hfe-site-header,
  .hfe-site-footer
) a:not(.elementor-button):not(.button):not([class*="social"]):not([class*="payment"]):not([class*="paypal"]):not([class*="stripe"]):not([class*="trustindex"]):hover {
  color: var(--tcs-gold);
}

body.elementor-kit-8 :where(hr, .elementor-divider-separator) {
  border-color: var(--tcs-divider);
}

/* Cards and panels reviewed on the homepage, blog, shop, and WooCommerce surfaces */
body.elementor-kit-8 :where(
  .elementor-26 .elementor-element-45dc53b,
  .elementor-26 .elementor-element-efd4b39,
  .elementor-26 .elementor-element-ca9e18c,
  .elementor-post__card,
  .woocommerce ul.products li.product,
  .woocommerce div.product .summary,
  .woocommerce-cart-form,
  .cart_totals,
  .woocommerce-checkout-review-order,
  .woocommerce-MyAccount-navigation,
  .woocommerce-MyAccount-content,
  .wpforms-container,
  .elementor-widget-form .elementor-widget-container
) {
  color: var(--tcs-body);
  background-color: var(--tcs-card);
  border-color: var(--tcs-card-border);
  box-shadow: inset 0 0 0 1px var(--tcs-card-border), 0 14px 32px var(--tcs-card-shadow);
}

/* Replace reviewed black image treatments with navy tint; source images remain unchanged. */
body.elementor-kit-8 :where(
  .elementor-32 .elementor-element-8c98335,
  .elementor-101 .elementor-element-883efd5,
  .elementor-101 .elementor-element-2112ff0,
  .elementor-101 .elementor-element-8cfee32,
  .elementor-101 .elementor-element-a25d05c,
  .elementor-101 .elementor-element-4c2fdc0,
  .elementor-101 .elementor-element-38f96ce,
  .elementor-101 .elementor-element-1b4c60d,
  .elementor-101 .elementor-element-ee4e2e0
) {
  background-color: rgba(6, 21, 41, 0.74);
}

body.elementor-kit-8 .elementor-32 .elementor-element-8c98335::before {
  background-color: rgba(6, 21, 41, 0.74);
}

body.elementor-kit-8 .elementor-26 .elementor-element-622f5e5 {
  background-image: linear-gradient(180deg, var(--tcs-gradient-top), var(--tcs-gradient-bottom));
}

/* Primary and secondary actions. Disabled and provider-branded controls are excluded. */
body.elementor-kit-8 :where(
  a.elementor-button:not(.disabled),
  button.elementor-button:not(:disabled),
  .wpforms-submit:not(:disabled),
  .woocommerce a.add_to_cart_button:not(.disabled),
  .woocommerce a.product_type_simple:not(.disabled),
  .woocommerce button.single_add_to_cart_button:not(:disabled),
  .woocommerce #place_order:not(:disabled)
) {
  color: var(--tcs-gold-foreground);
  background-color: var(--tcs-gold);
  border-color: var(--tcs-gold);
}

body.elementor-kit-8 :where(
  a.elementor-button:not(.disabled),
  button.elementor-button:not(:disabled),
  .wpforms-submit:not(:disabled),
  .woocommerce a.add_to_cart_button:not(.disabled),
  .woocommerce a.product_type_simple:not(.disabled),
  .woocommerce button.single_add_to_cart_button:not(:disabled),
  .woocommerce #place_order:not(:disabled)
):hover {
  color: var(--tcs-gold-foreground);
  background-color: color-mix(in srgb, var(--tcs-gold), white 14%);
  border-color: color-mix(in srgb, var(--tcs-gold), white 14%);
}

body.elementor-kit-8 :where(
  .tcs-secondary-action,
  .woocommerce a.button.view,
  .woocommerce a.button.wc-forward:not(.checkout-button)
) {
  color: var(--tcs-blue-foreground);
  background-color: var(--tcs-blue);
  border-color: var(--tcs-blue);
}

/* Forms only. Payment boxes, express-payment, and provider widgets are untouched. */
body.elementor-kit-8 :where(
  .elementor-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
  .elementor-form textarea,
  .elementor-form select,
  .wpforms-container input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
  .wpforms-container textarea,
  .wpforms-container select,
  .woocommerce .form-row > input.input-text,
  .woocommerce .form-row > textarea,
  .woocommerce .form-row > select
) {
  color: var(--tcs-text);
  background-color: rgba(6, 21, 41, 0.7);
  border-color: var(--tcs-card-border);
  caret-color: var(--tcs-gold);
}

body.elementor-kit-8 :where(
  .elementor-form input,
  .elementor-form textarea,
  .wpforms-container input,
  .wpforms-container textarea,
  .woocommerce .form-row > input.input-text,
  .woocommerce .form-row > textarea
)::placeholder {
  color: var(--tcs-muted);
  opacity: 0.78;
}

/* Blog and shop presentation */
body.elementor-kit-8 :where(.elementor-post__title a, .woocommerce-loop-product__title) {
  color: var(--tcs-text);
}

body.elementor-kit-8 :where(.elementor-post__meta-data, .posted-on, .woocommerce .price, .woocommerce .price .amount) {
  color: var(--tcs-muted);
}

body.elementor-kit-8 :where(.woocommerce span.onsale, .elementor-post__badge) {
  color: var(--tcs-gold-foreground);
  background-color: var(--tcs-gold);
}

body.elementor-kit-8 :where(
  .elementor-pagination a.page-numbers,
  .woocommerce nav.woocommerce-pagination a.page-numbers,
  .woocommerce nav.woocommerce-pagination span.page-numbers
) {
  color: var(--tcs-link);
  background-color: var(--tcs-card);
  border-color: var(--tcs-card-border);
}

body.elementor-kit-8 :where(
  .elementor-pagination .page-numbers.current,
  .woocommerce nav.woocommerce-pagination span.page-numbers.current
) {
  color: var(--tcs-gold-foreground);
  background-color: var(--tcs-gold);
}

/* Neutral informational notice only; success, error, and warning colors remain plugin-owned. */
body.elementor-kit-8 .woocommerce-info {
  color: var(--tcs-body);
  background-color: var(--tcs-card);
  border-color: var(--tcs-blue);
}

/* Preserve source imagery and third-party/provider branding. */
body.elementor-kit-8 :where(
  img,
  picture,
  video,
  iframe,
  .elementor-social-icon,
  [class*="payment_method"],
  [class*="paypal"],
  [class*="stripe"],
  [class*="wcpay"],
  [class*="trustindex"],
  [class*="ti-widget"]
) {
  filter: none;
}

/* Deliberate keyboard focus indicator. */
body.elementor-kit-8 :where(
  a,
  button,
  input,
  select,
  textarea,
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline: 3px solid var(--tcs-gold);
  outline-offset: 3px;
}

/*
 * Header template 32: modern navy/glass treatment.
 * This is deliberately scoped to the existing header and navigation
 * structure. Logos and social-network brand colors are not changed.
 */
body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-8c98335:not(.elementor-motion-effects-element-type-background) {
  background-color: rgba(6, 21, 41, 0.96);
  background-image: linear-gradient(135deg, rgba(6, 21, 41, 0.98), rgba(16, 42, 79, 0.94));
  border-bottom: 1px solid var(--tcs-card-border);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-8c98335::before {
  background: linear-gradient(110deg, rgba(96, 165, 250, 0.08), rgba(250, 204, 21, 0.04));
  opacity: 1;
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-004e92b .elementor-heading-title {
  color: var(--tcs-text);
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.22);
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-f35f3e6 {
  color: var(--tcs-muted);
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 .hfe-nav-menu__layout-horizontal {
  background: var(--tcs-card);
  border: 1px solid var(--tcs-card-border);
  border-radius: 14px;
  box-shadow: 0 12px 30px var(--tcs-card-shadow);
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 .menu-item > a.hfe-menu-item,
body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 .menu-item > .hfe-has-submenu-container > a.hfe-menu-item {
  color: var(--tcs-body);
  background-color: transparent;
  border-radius: 10px;
  transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 .menu-item > a.hfe-menu-item:is(:hover, :focus-visible),
body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 .menu-item > .hfe-has-submenu-container > a.hfe-menu-item:is(:hover, :focus-visible) {
  color: var(--tcs-text);
  background-color: rgba(96, 165, 250, 0.16);
  box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.26);
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 .current-menu-item > a.hfe-menu-item,
body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 .current-menu-ancestor > .hfe-has-submenu-container > a.hfe-menu-item {
  color: var(--tcs-gold);
  background-color: rgba(250, 204, 21, 0.12);
  box-shadow: inset 0 0 0 1px rgba(250, 204, 21, 0.28);
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 :where(
  .sub-menu,
  nav.hfe-dropdown,
  nav.hfe-dropdown-expandible
) {
  background-color: rgba(7, 26, 51, 0.98);
  border: 1px solid var(--tcs-card-border);
  border-radius: 12px;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 :where(
  .sub-menu,
  nav.hfe-dropdown,
  nav.hfe-dropdown-expandible
) .menu-item > a.hfe-menu-item,
body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 .sub-menu a.hfe-sub-menu-item {
  color: var(--tcs-body);
  background-color: transparent;
  border-radius: 0;
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 :where(
  .sub-menu,
  nav.hfe-dropdown,
  nav.hfe-dropdown-expandible
) li.menu-item:not(:last-child) {
  border-bottom-color: var(--tcs-divider);
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 .hfe-nav-menu-icon {
  color: var(--tcs-gold);
  background-color: var(--tcs-card);
  border: 1px solid var(--tcs-card-border);
  border-radius: 12px;
  box-shadow: 0 10px 24px var(--tcs-card-shadow);
}

body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 .hfe-nav-menu-icon svg {
  fill: currentColor;
}

@media (max-width: 1024px) {
  body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 :where(
    nav.hfe-dropdown,
    nav.hfe-dropdown-expandible
  ) {
    margin-top: 10px;
  }

  body.elementor-kit-8 .elementor-32 .elementor-element.elementor-element-7691609 :where(
    nav.hfe-dropdown,
    nav.hfe-dropdown-expandible
  ) .menu-item > a.hfe-menu-item {
    border-bottom: 1px solid var(--tcs-divider);
  }
}
