/*
Theme Name: IT-Automated Astra Child
Theme URI: https://it-automated.com/
Description: Version-controlled child theme for the IT-Automated website.
Author: IT-Automated
Template: astra
Version: 0.1.8
Text Domain: it-automated-astra-child
*/

/* Site-specific styles are loaded from assets/css/site.css. */

/* =========================================================
   CUSTOMER PORTAL — WOO COMMERCE THEME OVERRIDES
   Keep WooCommerce-generated headings aligned with the
   established IT-Automated dark navy and blue visual system.
   ========================================================= */

.ita-customer-portal-page .woocommerce table.shop_table thead,
.ita-customer-portal-page .woocommerce table.shop_table thead tr,
.ita-customer-portal-page .woocommerce table.shop_table thead th {
  color: #f8fafc !important;
  background: #102642 !important;
}

.ita-customer-portal-page .woocommerce table.shop_table thead th {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  border-bottom: 1px solid rgba(56, 189, 248, 0.32) !important;
}

.ita-customer-portal-page .woocommerce table.shop_table tbody tr {
  background: rgba(8, 20, 38, 0.72);
}

.ita-customer-portal-page .woocommerce table.shop_table tbody tr:nth-child(even) {
  background: rgba(13, 29, 51, 0.72);
}

.ita-customer-portal-page .woocommerce .woocommerce-Addresses {
  gap: 28px;
}

.ita-customer-portal-page .woocommerce .woocommerce-Address {
  overflow: hidden;
  background: rgba(8, 20, 38, 0.78);
  border: 1px solid rgba(125, 211, 252, 0.2);
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
}

.ita-customer-portal-page .woocommerce .woocommerce-Address-title,
.ita-customer-portal-page .woocommerce .woocommerce-Address-title.title {
  display: flex;
  min-height: 116px;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 24px 26px;
  color: #f8fafc !important;
  background: linear-gradient(135deg, #102642 0%, #153a60 100%) !important;
  border-bottom: 1px solid rgba(56, 189, 248, 0.3);
}

.ita-customer-portal-page .woocommerce .woocommerce-Address-title h2,
.ita-customer-portal-page .woocommerce .woocommerce-Address-title.title h2 {
  margin: 0;
  color: #f8fafc !important;
  font-size: clamp(24px, 2.7vw, 34px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.ita-customer-portal-page .woocommerce .woocommerce-Address-title a,
.ita-customer-portal-page .woocommerce .woocommerce-Address-title.title a {
  flex: 0 0 auto;
  padding: 9px 13px;
  color: #dff5ff !important;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  background: rgba(14, 165, 233, 0.18);
  border: 1px solid rgba(56, 189, 248, 0.38);
  border-radius: 8px;
}

.ita-customer-portal-page .woocommerce .woocommerce-Address-title a:hover,
.ita-customer-portal-page .woocommerce .woocommerce-Address-title a:focus-visible {
  color: #ffffff !important;
  background: rgba(14, 165, 233, 0.3);
  border-color: rgba(125, 211, 252, 0.65);
}

.ita-customer-portal-page .woocommerce .woocommerce-Address address {
  min-height: 90px;
  margin: 0;
  padding: 22px 26px 26px;
  color: #e2e8f0;
  font-size: 15px;
  line-height: 1.65;
  background: rgba(8, 20, 38, 0.82);
}

/* Password strength meter: WooCommerce defaults are too low-contrast
   against the IT-Automated dark account pages. */
.woocommerce-password-strength {
  margin-top: 8px !important;
  padding: 8px 12px !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  text-align: center !important;
  text-shadow: none !important;
}

.woocommerce-password-strength.short,
.woocommerce-password-strength.bad {
  color: #ffffff !important;
  background: #991b1b !important;
  border-color: #f87171 !important;
}

.woocommerce-password-strength.good {
  color: #ffffff !important;
  background: #92400e !important;
  border-color: #fbbf24 !important;
}

.woocommerce-password-strength.strong {
  color: #ffffff !important;
  background: #166534 !important;
  border-color: #4ade80 !important;
}

@media (max-width: 760px) {
  .ita-customer-portal-page .woocommerce .woocommerce-Address-title,
  .ita-customer-portal-page .woocommerce .woocommerce-Address-title.title {
    min-height: 0;
    align-items: flex-start;
    flex-direction: column;
    padding: 20px;
  }

  .ita-customer-portal-page .woocommerce .woocommerce-Address address {
    padding: 20px;
  }
}

/* =========================================================
   ABOUT HERO — RADAR FLOW + SYNCHRONISATION
   Preserve the original continuous CSS sweep. JavaScript reads
   the beam's real angle and derives the active capability from it.
   ========================================================= */

.ita-about-visual-centre > small[data-ita-about-radar-centre-status] {
  align-self: center;
  max-width: none;
  padding-right: 7px;
  padding-left: 7px;
  line-height: 1.2;
  letter-spacing: 0.35px;
  text-align: center;
  white-space: nowrap;
}

.ita-about-hero-visual[data-ita-about-radar] .ita-about-radar-sweep {
  will-change: transform;
}

/* Match Active Directory's centre clearance to Diagnostics. */
.ita-about-hero-visual[data-ita-about-radar] .node-ad {
  right: 7px !important;
}

.ita-about-hero-visual[data-ita-about-radar] .node-ad:hover,
.ita-about-hero-visual[data-ita-about-radar] .node-ad:focus-visible,
.ita-about-hero-visual[data-ita-about-radar] .node-ad.is-active {
  transform: translateY(-50%) !important;
}

/* =========================================================
   DESKTOP HEADER — SINGLE ROW LAYOUT
   Keep the complete primary navigation and CTA on one line.
   ========================================================= */

@media (min-width: 922px) {
  .ast-desktop .site-header-primary-section-right {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    min-width: 0;
  }

  .ast-desktop .ast-builder-menu-1 {
    flex: 1 1 auto;
    min-width: 0;
  }

  .ast-desktop .ast-builder-menu-1 .main-header-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item {
    flex: 0 0 auto;
  }

  .ast-desktop .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link {
    padding-right: clamp(8px, 1vw, 14px) !important;
    padding-left: clamp(8px, 1vw, 14px) !important;
    white-space: nowrap !important;
  }

  .ast-desktop .ast-header-button-1 {
    flex: 0 0 auto;
    min-width: 0 !important;
    margin-left: 14px;
  }

  .ast-desktop .ast-header-button-1 .ast-custom-button-link,
  .ast-desktop .ast-header-button-1 .ast-builder-button-wrap {
    display: inline-flex !important;
    width: auto !important;
    white-space: nowrap !important;
  }

  .ast-desktop .ast-header-button-1 .ast-custom-button {
    display: inline-flex !important;
    width: auto !important;
    min-width: 173px;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 0 20px !important;
    line-height: 1.1 !important;
    text-align: center;
    white-space: nowrap !important;
  }
}
