/* ============================================================
   Foundation Aminos — My Account
   Styles the WooCommerce account area (dashboard, orders,
   addresses, account details) and the login/register forms to
   the design system. Loaded on is_account_page().
   Version 1.0.0
   ============================================================ */

body.woocommerce-account { background: #F6F9FC; }

/* Page title ("My account") */
.woocommerce-account .entry-header,
.woocommerce-account .page-title,
.woocommerce-account h1.entry-title {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 32px;
}
.woocommerce-account h1.entry-title,
.woocommerce-account .entry-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 40px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: #0A1628;
}

/* ----------------------------------------------------------
   Two-column layout: sidebar nav + content
   ---------------------------------------------------------- */
.woocommerce-account .woocommerce {
  max-width: 1120px;
  margin: 24px auto 80px;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
/* WooCommerce's clearfix ::before/::after on .woocommerce become ghost grid
   items and throw the columns onto extra rows — suppress them. */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
  display: none !important;
}
/* WooCommerce core floats the nav (35%) and content (65%); clear them so the
   grid tracks above control the two-column layout. */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

/* ----------------------------------------------------------
   Sidebar navigation
   ---------------------------------------------------------- */
.woocommerce-MyAccount-navigation {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  box-shadow: 0 1px 2px 0 rgba(10,33,72,0.06);
  padding: 8px;
  position: sticky;
  top: 88px;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 11px 14px;
  border-radius: 10px;
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #334155;
  text-decoration: none;
  transition: background-color 120ms ease, color 120ms ease;
}
.woocommerce-MyAccount-navigation li a:hover {
  background: #F6F9FC;
  color: #0A1628;
}
.woocommerce-MyAccount-navigation li.is-active a {
  background: #EAF2FE;
  color: #1954AC;
}

/* ----------------------------------------------------------
   Content panel
   ---------------------------------------------------------- */
.woocommerce-MyAccount-content {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  box-shadow: 0 1px 2px 0 rgba(10,33,72,0.06);
  padding: 32px;
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #334155;
}
.woocommerce-MyAccount-content p { margin: 0 0 16px; }
.woocommerce-MyAccount-content p:last-child { margin-bottom: 0; }
.woocommerce-MyAccount-content a { color: #1954AC; text-decoration: underline; text-underline-offset: 2px; }
.woocommerce-MyAccount-content a:hover { color: #133F84; }
.woocommerce-MyAccount-content strong { color: #0A1628; font-weight: 600; }
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  color: #0A1628;
  letter-spacing: -0.01em;
  margin: 0 0 16px;
}
.woocommerce-MyAccount-content h2 { font-size: 20px; }
.woocommerce-MyAccount-content h3 { font-size: 17px; }

/* ----------------------------------------------------------
   Orders / tables
   ---------------------------------------------------------- */
.woocommerce-account .shop_table,
.woocommerce-account .woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  overflow: hidden;
  font-size: 14px;
}
.woocommerce-account .shop_table th {
  background: #EEF2F7;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748B;
  text-align: left;
  padding: 12px 14px;
}
.woocommerce-account .shop_table td {
  padding: 14px;
  border-top: 1px solid #E2E8F0;
  color: #334155;
  vertical-align: middle;
}
.woocommerce-account .shop_table tr:first-child td { border-top: none; }

/* Order status pill */
.woocommerce-account .order-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  background: #EEF2F7;
  color: #64748B;
}
.woocommerce-account .order-status.status-on-hold { background: #FEF3C7; color: #B45309; }
.woocommerce-account .order-status.status-processing { background: #CFF3FA; color: #157A8E; }
.woocommerce-account .order-status.status-completed { background: #D1FAE5; color: #047857; }
.woocommerce-account .order-status.status-pending { background: #FEF3C7; color: #B45309; }
.woocommerce-account .order-status.status-cancelled,
.woocommerce-account .order-status.status-failed { background: #FEE2E2; color: #B91C1C; }

/* ----------------------------------------------------------
   Addresses
   ---------------------------------------------------------- */
.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 8px;
}

/* WC clearfix pseudos would otherwise become grid items and shift the cards */
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after { display: none; }

/* Out-specify WC's .col2-set .col-1/.col-2 width:48% */
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2 { width: 100%; float: none; }
.woocommerce-account .woocommerce-Address {
  width: 100%;
  float: none;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 20px;
}
.woocommerce-account .woocommerce-Address-title h3 {
  font-size: 16px;
  margin: 0 0 10px;
}
.woocommerce-account address {
  font-style: normal;
  font-size: 14px;
  color: #64748B;
  line-height: 1.6;
}

/* ----------------------------------------------------------
   Forms (account details, addresses, login, register)
   ---------------------------------------------------------- */
.woocommerce-account form .form-row,
.woocommerce-account .woocommerce-form-row { margin: 0 0 16px; }
.woocommerce-account label {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #64748B;
  letter-spacing: 0.02em;
  margin-bottom: 6px;
}
.woocommerce-account .woocommerce input.input-text,
.woocommerce-account .woocommerce input[type="text"],
.woocommerce-account .woocommerce input[type="email"],
.woocommerce-account .woocommerce input[type="password"],
.woocommerce-account .woocommerce input[type="tel"],
.woocommerce-account .woocommerce form .form-row input.input-text,
.woocommerce-account .woocommerce select {
  width: 100% !important;
  box-sizing: border-box !important;
  height: 44px !important;
  padding: 0 14px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #0A1628 !important;
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 10px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 180ms, box-shadow 180ms !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.woocommerce-account .woocommerce input:focus,
.woocommerce-account .woocommerce form .form-row input.input-text:focus,
.woocommerce-account .woocommerce select:focus {
  border-color: #1954AC !important;
  box-shadow: 0 0 0 3px rgba(25,84,172,0.24) !important;
}
.woocommerce-account .woocommerce-password-hint,
.woocommerce-account .description { font-size: 12px; color: #94A3B8; }

/* Primary buttons */
.woocommerce-account .woocommerce-button,
.woocommerce-account .button,
.woocommerce-account button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 46px;
  padding: 0 22px;
  background: #1954AC !important;
  color: #FFFFFF !important;
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  font-weight: 600;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  text-decoration: none !important;
  transition: background-color 120ms ease, box-shadow 180ms cubic-bezier(0.16,1,0.3,1);
}
.woocommerce-account .woocommerce-button:hover,
.woocommerce-account .button:hover,
.woocommerce-account button[type="submit"]:hover {
  background: #133F84 !important;
  box-shadow: 0 4px 12px -2px rgba(10,33,72,0.14);
}
/* View / secondary action buttons in the orders table */
.woocommerce-account .shop_table .button {
  height: 36px;
  padding: 0 14px;
  font-size: 13px;
}

/* Beat WC core's element-qualified a.button chrome (it loads after this
   sheet and overrides the rules above on these properties). */
.woocommerce-account a.woocommerce-button,
.woocommerce-account a.button,
.woocommerce-account .woocommerce-button,
.woocommerce-account .button,
.woocommerce-account button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  text-align: center !important;
}

/* ----------------------------------------------------------
   Login / Register (also the basis for the gate)
   ---------------------------------------------------------- */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 28px;
  background: #FFFFFF;
}
.woocommerce-account .woocommerce-form-login__rememberme,
.woocommerce-account .woocommerce-form-register label.checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  color: #334155;
  font-size: 14px;
}
.woocommerce-account .woocommerce-form-login__rememberme input,
.woocommerce-account .woocommerce-form-register input[type="checkbox"] {
  width: 18px; height: 18px; margin: 0; accent-color: #1954AC;
}
.woocommerce-account .woocommerce-LostPassword a { font-size: 13px; }

/* Registration compliance acknowledgments (18+ / research-use-only) */
.fa-reg-ack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 4px 0 18px;
}
.fa-reg-ack-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #0A1628;
  line-height: 1.5;
  cursor: pointer;
}
.fa-reg-ack-row input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  margin: 2px 0 0 !important;
  accent-color: #1954AC;
  flex-shrink: 0;
}
.fa-reg-ack-row a { color: #1954AC; text-decoration: underline; text-underline-offset: 2px; }
.fa-reg-ack-row a:hover { color: #133F84; }

/* ----------------------------------------------------------
   WooCommerce notices
   ---------------------------------------------------------- */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info {
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  border-radius: 10px;
  margin-bottom: 20px;
}

/* ----------------------------------------------------------
   Responsive
   ---------------------------------------------------------- */
@media (max-width: 880px) {
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation { position: static; }
  @media (max-width: 767px) {
  .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
}
}
@media (max-width: 600px) {
  .woocommerce-account h1.entry-title { font-size: 30px; }
  .woocommerce-MyAccount-content { padding: 22px 18px; }
}


/* ---- Order tracking banner (view-order page) ---- */
.fa-tracking-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  padding: 14px 18px;
  background: #EAF2FE;
  border: 1px solid #CFE1FC;
  border-radius: 12px;
}
.fa-tracking-note-label {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1954AC;
}
.fa-tracking-note-link {
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #1954AC;
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-all;
}
.fa-tracking-note-link:hover { color: #133F84; }
.fa-tracking-note-value {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 500;
  color: #0A1628;
  word-break: break-all;
}

/* ============================================================
   GATE / LOGIN LANDING (logged-out My Account) — design "00"
   Full-viewport dark disclaimer + tabbed login/register.
   Scoped to .fa-gate so it never touches the logged-in account.
   ============================================================ */
.fa-gate {
  position: fixed; inset: 0; z-index: 100000;
  overflow-y: auto; -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 56px 24px 72px;
  background: #051226;
  color: #fff;
  font-family: 'Manrope', sans-serif;
}
/* pointer-events:none is load-bearing: a position:fixed child is outside the
   gate's scroll chain, so wheel events over it would scroll the document
   instead of .fa-gate. Making it transparent to hit-testing lets scrolling
   work anywhere on the page, not just over the centre column. */
.fa-gate-bg { position: fixed; inset: 0; z-index: -1; pointer-events: none; }
.fa-gate-svg { width: 100%; height: 100%; display: block; }
.fa-gate-vignette {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(60% 50% at 50% 50%, rgba(5,18,38,0) 0%, rgba(5,18,38,0.45) 75%, rgba(5,18,38,0.80) 100%);
}
.fa-gate-stack {
  position: relative; width: 100%; max-width: 480px;
  display: flex; flex-direction: column; align-items: center; gap: 26px;
}
.fa-gate-logo img { width: 300px; max-width: 78vw; height: auto; display: block; filter: drop-shadow(0 12px 32px rgba(50,184,209,0.28)); }
.fa-gate-disclaimer {
  margin: 0; text-align: center; font-size: 15px; line-height: 1.6;
  color: rgba(225,236,248,0.86); max-width: 42ch;
}

/* tabs */
.fa-gate-tabs { position: relative; display: flex; align-items: baseline; gap: 36px; padding-bottom: 8px; }
.fa-gate-tab {
  background: none; border: none; padding: 0 2px 10px; cursor: pointer;
  font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 26px; letter-spacing: -0.01em;
  color: rgba(255,255,255,0.45); transition: color 180ms cubic-bezier(0.16,1,0.3,1);
  -webkit-appearance: none; appearance: none;
}
.fa-gate-tab:hover { color: rgba(255,255,255,0.75); }
.fa-gate[data-tab="login"]    .fa-gate-tab[data-tab="login"],
.fa-gate[data-tab="register"] .fa-gate-tab[data-tab="register"] { color: #fff; }
.fa-gate-rail {
  position: absolute; bottom: 4px; height: 2px; width: 56px;
  background: linear-gradient(90deg, #32B8D1, #5E97EE); border-radius: 2px;
  transition: transform 320ms cubic-bezier(0.16,1,0.3,1), width 320ms cubic-bezier(0.16,1,0.3,1);
}
.fa-gate[data-tab="login"]    .fa-gate-rail { transform: translateX(0);    width: 56px; }
.fa-gate[data-tab="register"] .fa-gate-rail { transform: translateX(92px); width: 90px; }

/* panels */
.fa-gate-panel {
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(167,213,241,0.16);
  border-radius: 16px; padding: 28px;
  box-shadow: 0 24px 48px -12px rgba(5,18,38,0.6);
  animation: fa-gate-fade 320ms cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes fa-gate-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.fa-gate[data-tab="login"]    .fa-gate-panel[data-panel="register"],
.fa-gate[data-tab="register"] .fa-gate-panel[data-panel="login"] { display: none; }

/* forms */
.fa-gate .fa-form { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.fa-gate .fa-reg-fields { display: flex; flex-direction: column; gap: 16px; }
.fa-gate .fa-reg-row { display: flex; gap: 12px; }
.fa-gate .fa-field, .fa-gate .fa-reg-field { display: flex; flex-direction: column; gap: 6px; width: 100%; margin: 0; }
.fa-gate .fa-reg-half { width: 50%; }
.fa-gate .fa-field label, .fa-gate .fa-reg-field label {
  font-size: 13px; font-weight: 500; color: rgba(225,236,248,0.84); letter-spacing: 0.01em; margin: 0;
}
.fa-gate .required, .fa-gate .fa-ack-req { color: #6DD5E9; font-style: normal; }

/* inputs */
.fa-gate .fa-input, .fa-gate .fa-reg-input, .fa-gate .fa-reg-select select {
  width: 100%; height: 44px; border-radius: 10px;
  border: 1px solid rgba(167,213,241,0.24); background: rgba(255,255,255,0.96);
  color: #0A1628; font-family: 'Manrope', sans-serif; font-size: 15px; font-weight: 500;
  padding: 0 14px; outline: none;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.fa-gate .fa-input::placeholder { color: #94A3B8; }
.fa-gate .fa-input:focus, .fa-gate .fa-reg-input:focus, .fa-gate .fa-reg-select select:focus {
  border-color: #32B8D1; box-shadow: 0 0 0 3px rgba(50,184,209,0.28); background: #fff;
}
.fa-gate input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(28%) sepia(15%) saturate(700%) hue-rotate(180deg); cursor: pointer; }

/* password eye */
.fa-gate .fa-pw { position: relative; display: block; }
.fa-gate .fa-pw .fa-input { padding-right: 44px; }
.fa-gate .fa-pw-eye {
  position: absolute; right: 6px; top: 6px; width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  background: none; border: none; cursor: pointer; color: #64748B; border-radius: 6px;
  -webkit-appearance: none; appearance: none;
}
.fa-gate .fa-pw-eye:hover { color: #1954AC; background: #EEF2F7; }
.fa-gate .fa-pw-eye i, .fa-gate .fa-pw-eye svg { width: 18px; height: 18px; }

/* select */
.fa-gate .fa-reg-select-wrap { position: relative; display: block; }
.fa-gate .fa-reg-select select { appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer; }
.fa-gate .fa-reg-select-wrap i, .fa-gate .fa-reg-select-wrap svg {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  pointer-events: none; color: #64748B; width: 18px; height: 18px;
}

/* checkboxes */
.fa-gate .fa-reg-ack { display: flex; flex-direction: column; gap: 12px; margin-top: 4px; }
.fa-gate .fa-reg-ack-row {
  display: flex; align-items: flex-start; gap: 10px; cursor: pointer;
  font-size: 13.5px; line-height: 1.5; color: rgba(225,236,248,0.86); margin: 0;
}
.fa-gate .fa-reg-ack-row input { position: absolute; opacity: 0; pointer-events: none; }
.fa-gate .fa-ack-box {
  flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; border-radius: 4px;
  border: 1.5px solid rgba(167,213,241,0.45); background: rgba(255,255,255,0.04);
  display: inline-flex; align-items: center; justify-content: center; color: transparent;
  transition: all 120ms cubic-bezier(0.16,1,0.3,1);
}
.fa-gate .fa-ack-box i, .fa-gate .fa-ack-box svg { width: 12px; height: 12px; stroke-width: 3; }
.fa-gate .fa-reg-ack-row input:checked + .fa-ack-box { background: #32B8D1; border-color: #32B8D1; color: #051226; }
.fa-gate .fa-reg-ack-row:hover .fa-ack-box { border-color: #6DD5E9; }
.fa-gate .fa-ack-text strong { color: #fff; font-weight: 600; }
.fa-gate .fa-ack-text a, .fa-gate .fa-reg-legal a { color: #6DD5E9; font-weight: 600; border-bottom: 1px solid rgba(50,184,209,0.4); text-decoration: none; }
.fa-gate .fa-ack-text a:hover, .fa-gate .fa-reg-legal a:hover { color: #fff; border-bottom-color: #fff; }
.fa-gate .fa-reg-legal { font-size: 12.5px; line-height: 1.55; color: rgba(167,213,241,0.72); margin: 0; }
.fa-gate .fa-reg-note { font-size: 13px; color: rgba(225,236,248,0.7); margin: 0; }

/* primary CTA */
.fa-gate .fa-primary-btn {
  margin-top: 4px; width: 100%; height: 52px; border: none; border-radius: 12px;
  background: linear-gradient(180deg, #2D72DE 0%, #1954AC 60%, #133F84 100%);
  color: #fff; font-family: 'Manrope', sans-serif; font-weight: 700; font-size: 15px; letter-spacing: 0.01em;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer;
  box-shadow: 0 8px 24px -8px rgba(25,84,172,0.7), inset 0 1px 0 rgba(255,255,255,0.22);
  transition: transform 120ms cubic-bezier(0.16,1,0.3,1), box-shadow 180ms ease, filter 180ms ease;
}
.fa-gate .fa-primary-btn:hover { filter: brightness(1.08); box-shadow: 0 12px 32px -10px rgba(25,84,172,0.9), inset 0 1px 0 rgba(255,255,255,0.28); }
.fa-gate .fa-primary-btn:active { transform: translateY(1px); }
.fa-gate .fa-primary-btn i, .fa-gate .fa-primary-btn svg { width: 18px; height: 18px; }

.fa-gate .fa-under-cta { margin: 4px 0 0; text-align: center; }
.fa-gate .fa-under-cta a { color: rgba(255,255,255,0.75); font-size: 13.5px; font-weight: 500; border-bottom: 1px solid transparent; text-decoration: none; }
.fa-gate .fa-under-cta a:hover { color: #fff; border-bottom-color: rgba(255,255,255,0.6); }

/* help + legal footers */
.fa-gate-help {
  display: inline-flex; align-items: center; gap: 14px; padding: 10px 16px; border-radius: 999px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(167,213,241,0.16);
  font-size: 13px; color: rgba(225,236,248,0.78); flex-wrap: wrap; justify-content: center;
}
.fa-gate-help a { display: inline-flex; align-items: center; gap: 6px; color: #6DD5E9; font-weight: 600; text-decoration: none; }
.fa-gate-help a:hover { color: #fff; }
.fa-gate-help a i, .fa-gate-help a svg { width: 14px; height: 14px; }
.fa-gate-legal-row { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; font-size: 12px; color: rgba(167,213,241,0.55); }
.fa-gate-legal-row a { color: rgba(167,213,241,0.7); text-decoration: none; border-bottom: 1px solid transparent; }
.fa-gate-legal-row a:hover { color: #fff; border-bottom-color: rgba(255,255,255,0.5); }
.fa-gate-copy { color: rgba(167,213,241,0.45); }

/* WooCommerce notices inside the gate */
.fa-gate .woocommerce-error, .fa-gate .woocommerce-message, .fa-gate .woocommerce-info {
  width: 100%; max-width: 480px; list-style: none; margin: 0 0 4px; padding: 12px 16px;
  border-radius: 12px; font-size: 13.5px; background: rgba(239,68,68,0.14); border: 1px solid rgba(239,68,68,0.4); color: #FECACA;
}
.fa-gate .woocommerce-message { background: rgba(16,185,129,0.14); border-color: rgba(16,185,129,0.4); color: #A7F3D0; }

@media (max-width: 640px) {
  .fa-gate { padding: 40px 18px 56px; }
  .fa-gate-stack { gap: 20px; }
  .fa-gate .fa-reg-row { flex-direction: column; }
  .fa-gate .fa-reg-half { width: 100%; }
  .fa-gate-tab { font-size: 22px; }
  .fa-gate[data-tab="register"] .fa-gate-rail { transform: translateX(78px); width: 80px; }
  .fa-gate-panel { padding: 22px; }
}

/* ============================================================
   GATE HARDENING — beat WooCommerce core + the logged-in
   account button/form styles that bleed onto .fa-gate.
   ============================================================ */
body.woocommerce-account .fa-gate .fa-gate-tab {
  background: transparent !important; box-shadow: none !important;
  border: none !important; border-radius: 0 !important;
  -webkit-appearance: none !important; appearance: none !important;
  height: auto !important; padding: 0 2px 10px !important;
  color: rgba(255,255,255,0.45) !important;
}
body.woocommerce-account .fa-gate .fa-gate-tab:hover { background: transparent !important; color: rgba(255,255,255,0.75) !important; }
body.woocommerce-account .fa-gate[data-tab="login"]    .fa-gate-tab[data-tab="login"],
body.woocommerce-account .fa-gate[data-tab="register"] .fa-gate-tab[data-tab="register"] { color: #fff !important; }

/* kill WC/theme card fill + border on the forms + structural wrappers */
body.woocommerce-account .fa-gate .fa-form,
body.woocommerce-account .fa-gate form.login,
body.woocommerce-account .fa-gate form.register,
body.woocommerce-account .fa-gate .woocommerce,
body.woocommerce-account .fa-gate .u-columns,
body.woocommerce-account .fa-gate #customer_login {
  background: transparent !important; border: none !important;
  padding: 0 !important; margin: 0 !important;
  box-shadow: none !important; border-radius: 0 !important;
}
body.woocommerce-account .fa-gate .fa-gate-panel {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(167,213,241,0.16) !important;
  padding: 28px !important; border-radius: 16px !important;
}

/* asterisks + labels readable on the dark panel */
body.woocommerce-account .fa-gate .required,
body.woocommerce-account .fa-gate .fa-ack-req {
  color: #6DD5E9 !important; visibility: visible !important; font-weight: 600 !important;
}
body.woocommerce-account .fa-gate .fa-field label,
body.woocommerce-account .fa-gate .fa-reg-field label { color: rgba(225,236,248,0.9) !important; }
body.woocommerce-account .fa-gate .fa-input,
body.woocommerce-account .fa-gate .fa-reg-select select { color: #0A1628 !important; background: rgba(255,255,255,0.96) !important; }

/* preserve the primary CTA gradient over the account button fill */
body.woocommerce-account .fa-gate .fa-primary-btn {
  background: linear-gradient(180deg, #2D72DE 0%, #1954AC 60%, #133F84 100%) !important;
  color: #fff !important; height: 52px !important; border-radius: 12px !important; border: none !important;
}
body.woocommerce-account .fa-gate .fa-primary-btn:hover { background: linear-gradient(180deg, #2D72DE 0%, #1954AC 60%, #133F84 100%) !important; filter: brightness(1.08); }
