/**
 * Synthetic Factory — Global Theme Stylesheet
 * Shared across all SF page templates.
 * Enqueued via sf_enqueue_assets() in functions.php
 */

/* ── CSS VARIABLES ── */
:root {
  --cyan: #7ea0d0;
  --cyan-dim: rgba(126, 160, 208, 0.12);
  --cyan-glow: rgba(126, 160, 208, 0.3);
  --orange: #f0b040;
  --orange-dim: rgba(240, 176, 64, 0.12);
  --orange-glow: rgba(240, 176, 64, 0.3);
  --bg: #060a10;
  --surface: #0c1420;
  --surface2: #10192a;
  --border: rgba(126, 160, 208, 0.22);
  --border-orange: rgba(240, 176, 64, 0.3);
  --text: #c0d0e2;
  --text-dim: #5f7896;
  --text-mid: #9bb3cb;
  --text-hero-p: #a8d4ff;
  --error: #e85050;
}

/* ── RESET ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

/* ── FONT OVERRIDES — beat Twenty Twenty-Four specificity ── */
body, body * { font-family: 'Rajdhani', sans-serif !important; }

/* Elements that use Share Tech Mono */
.logo, .nav-tag, .hero-tag, .hero-subtitle, .hero-badge, .breadcrumb,
.section-label, .product-type, .product-status, .step-number, .workflow-tool,
.product-price, .product-price .amount, .tier-price, .tier-price .amount,
.tier-period, .price-main, .price-note, .card-tier, .also-link,
.spec-label, .spec-value, .badge, .pro-tag, .feature-list li .mark,
.feature-list li .limit, .result-meta span,
.footer-logo, .footer-links a, .footer-copy,
.btn, .btn-primary, .btn-primary-cyan, .btn-ghost, .btn-orange, .btn-outline,
.card-cta, .nav-back, .signin-icon,
.mockup-title, .web-badge, .m-tab, .m-key, .m-val, .m-label,
.lightbox-close, .lightbox-tags,
pre, code, input, button, textarea, select {
  font-family: 'Share Tech Mono', monospace !important;
}

/* ── BODY ── */
body {
  background: var(--bg) !important;
  color: var(--text);
  font-family: 'Rajdhani', sans-serif !important;
  min-height: 100vh;
  overflow-x: hidden;
}

/* ── HIDE WP THEME CHROME ── */
.site-header, .site-footer, #masthead, #colophon,
.wp-site-blocks > header, .wp-site-blocks > footer { display: none !important; }

/* ── GRID BACKGROUND ── */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(108,142,191,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(108,142,191,0.03) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
  z-index: 0;
}

/* ── SHARED NAVBAR ── */
.sf-nav, nav.sf-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 52px;
  height: 60px;
  border-bottom: 1px solid var(--border);
  background: rgba(8,12,18,0.88);
  backdrop-filter: blur(16px);
}

/* WP Admin Bar compensation — pushes nav down when admin bar is visible */
.admin-bar .sf-nav { top: 32px; }
.admin-bar .nav-mobile-menu { top: calc(60px + 32px); }
@media screen and (max-width: 782px) {
  .admin-bar .sf-nav { top: 46px; }
  .admin-bar .nav-mobile-menu { top: calc(60px + 46px); }
}

/* page-home.php uses plain <nav> not .sf-nav */
nav:not([class]) {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 52px;
  height: 60px;
  border-bottom: 1px solid var(--border);
  background: rgba(8,12,18,0.88);
  backdrop-filter: blur(16px);
}
.admin-bar nav:not([class]) { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar nav:not([class]) { top: 46px; }
}

/* ── LOGO ── */
.logo {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 14px;
  color: var(--cyan);
  letter-spacing: 5px;
  text-shadow: 0 0 16px var(--cyan-glow);
  text-decoration: none;
}
.logo span { color: var(--text-mid); font-size: 12px; letter-spacing: 2px; }

/* ── NAV LINKS ── */
.nav-links { display: flex; gap: 36px; list-style: none; }
.nav-links a {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim);
  text-decoration: none;
  transition: color 0.2s;
}
.nav-links a:hover { color: var(--cyan); }
.nav-links a.active { color: var(--cyan); }
.nav-right { display: flex; gap: 10px; }
.nav-back {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--text-dim);
  text-decoration: none;
  transition: color 0.2s;
}
.nav-back:hover { color: var(--cyan); }

.nav-links .discord-icon {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  opacity: 0.5;
  transition: opacity 0.2s, color 0.2s;
}
.nav-links a:hover .discord-icon { opacity: 1; }

/* ── BUTTONS ── */
.btn {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px;
  letter-spacing: 2px;
  padding: 8px 18px;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.btn-ghost { background: transparent; border: 1px solid var(--border); color: var(--text-mid); }
.btn-ghost:hover { border-color: var(--cyan); color: var(--cyan); }
.btn-orange { background: transparent; border: 1px solid var(--orange); color: var(--orange); }
.btn-orange:hover { background: var(--orange-dim); box-shadow: 0 0 16px var(--orange-glow); }

.btn-primary {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--bg);
  background: var(--orange);
  border: none;
  padding: 13px 30px;
  cursor: pointer;
  clip-path: polygon(7px 0%, 100% 0%, calc(100% - 7px) 100%, 0% 100%);
  transition: all 0.2s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.btn-primary:hover { box-shadow: 0 0 28px var(--orange-glow); transform: translateY(-1px); }

.btn-primary-cyan {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--bg);
  background: var(--cyan);
  border: none;
  padding: 13px 30px;
  cursor: pointer;
  clip-path: polygon(7px 0%, 100% 0%, calc(100% - 7px) 100%, 0% 100%);
  transition: all 0.2s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.btn-primary-cyan:hover { box-shadow: 0 0 28px var(--cyan-glow); transform: translateY(-1px); }

.btn-outline {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px;
  letter-spacing: 2px;
  padding: 12px 28px;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-mid);
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  text-transform: uppercase;
}
.btn-outline:hover { border-color: var(--cyan); color: var(--cyan); background: var(--cyan-dim); }

/* ── SECTION LABEL ── */
.section-label {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px;
  letter-spacing: 4px;
  color: var(--cyan);
  margin-bottom: 48px;
  display: flex;
  align-items: center;
  gap: 16px;
  text-transform: uppercase;
}
.section-label::after { content: ''; flex: 1; height: 1px; background: var(--border); }

/* ── CORNER DECORATORS ── */
.corner { position: absolute; width: 20px; height: 20px; }
.corner-tl { top: 12px; left: 12px; border-top: 1px solid rgba(108,142,191,0.25); border-left: 1px solid rgba(108,142,191,0.25); }
.corner-br { bottom: 12px; right: 12px; border-bottom: 1px solid rgba(108,142,191,0.25); border-right: 1px solid rgba(108,142,191,0.25); }

/* ── HAMBURGER / MOBILE MENU ── */
.nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px; height: 36px;
  cursor: pointer;
  background: transparent;
  border: 1px solid var(--border);
  padding: 8px;
  transition: border-color 0.2s;
  flex-shrink: 0;
}
.nav-hamburger:hover { border-color: var(--cyan); }
.nav-hamburger span { display: block; height: 1px; background: var(--cyan); transition: all 0.3s; transform-origin: center; }
.nav-hamburger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.nav-mobile-menu {
  display: none;
  position: fixed;
  top: 60px; left: 0; right: 0;
  background: rgba(8,12,18,0.99);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  z-index: 99;
  padding: 24px 28px 32px;
  flex-direction: column;
  gap: 0;
}
.nav-mobile-menu.open { display: flex; }
.nav-mobile-menu a {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-mid);
  text-decoration: none;
  padding: 14px 0;
  border-bottom: 1px solid rgba(108,142,191,0.08);
  transition: color 0.2s;
}
.nav-mobile-menu a:hover { color: var(--cyan); }
.nav-mobile-menu a.active { color: var(--orange); }
.nav-mobile-btns { display: flex; gap: 10px; margin-top: 20px; }
.nav-mobile-btns .btn { flex: 1; text-align: center; justify-content: center; }

/* ── FOOTER ── */
.sf-footer {
  position: relative;
  z-index: 1;
  border-top: 1px solid var(--border);
  padding: 28px 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer-logo { font-family: 'Share Tech Mono', monospace !important; font-size: 12px; letter-spacing: 4px; color: var(--text-dim); }
.footer-links { display: flex; gap: 28px; }
.footer-links a { font-family: 'Share Tech Mono', monospace !important; font-size: 10px; letter-spacing: 2px; color: var(--text-dim); text-decoration: none; transition: color 0.2s; }
.footer-links a:hover { color: var(--cyan); }
.footer-copy { font-family: 'Share Tech Mono', monospace !important; font-size: 10px; letter-spacing: 1px; color: var(--text-dim); }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
@keyframes pulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } }

/* ── RESPONSIVE: shared mobile nav ── */
@media (max-width: 900px) {
  .nav-links, .nav-right { display: none; }
  .nav-hamburger { display: flex; }
  .sf-nav, nav:not([class]) { padding: 0 24px; }
  .sf-footer { flex-direction: column; gap: 20px; padding: 24px; text-align: center; }
  .footer-links { flex-wrap: wrap; justify-content: center; gap: 16px; }
}


/* ══════════════════════════════════════════════════════════
   WOOCOMMERCE DARK THEME — Checkout, Cart, My Account
   ══════════════════════════════════════════════════════════ */

/* ── Page scaffold ── */
.woocommerce-page .site-main,
.woocommerce-page .wp-block-group,
.woocommerce-page .entry-content,
.woocommerce-page #primary,
.woocommerce-page #content {
  background: var(--bg) !important;
  color: var(--text) !important;
}

/* Remove WC's default white card wrapper */
.woocommerce-page .woocommerce,
.woocommerce-checkout.woocommerce-page .woocommerce {
  background: transparent !important;
}

/* ── Headings ── */
.woocommerce h2, .woocommerce h3,
.woocommerce-page h2, .woocommerce-page h3 {
  font-family: 'Rajdhani', sans-serif !important;
  font-weight: 700;
  letter-spacing: 2px;
  color: var(--text) !important;
  text-transform: uppercase;
  margin-bottom: 20px;
}

/* ── Notices ── */
.woocommerce-info,
.woocommerce-message {
  background: var(--surface) !important;
  border-top-color: var(--cyan) !important;
  color: var(--text) !important;
}
.woocommerce-error {
  background: var(--surface) !important;
  border-top-color: var(--error) !important;
  color: var(--error) !important;
}
.woocommerce-info a, .woocommerce-message a, .woocommerce-error a {
  color: var(--cyan) !important;
}

/* ── Form labels ── */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce form label,
.woocommerce-page form label {
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}
.woocommerce form .form-row label .required,
.woocommerce-page form .form-row label .required {
  color: var(--orange) !important;
}

/* ── Text inputs, email, tel, password, textarea ── */
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="number"],
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input[type="text"],
.woocommerce-page form .form-row input[type="email"],
.woocommerce-page form .form-row input[type="tel"],
.woocommerce-page form .form-row input[type="password"],
.woocommerce-page form .form-row input[type="number"],
.woocommerce-page form .form-row textarea,
#order_comments {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  border-radius: 0 !important;
  outline: none !important;
  width: 100% !important;
  transition: border-color 0.2s !important;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-page form .form-row input:focus,
.woocommerce-page form .form-row textarea:focus {
  border-color: var(--cyan) !important;
  box-shadow: 0 0 0 3px var(--cyan-dim) !important;
}

/* ── Select / Select2 dropdowns ── */
.woocommerce form .form-row select,
.woocommerce-page form .form-row select {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  border-radius: 0 !important;
  width: 100% !important;
}
/* Select2 (WooCommerce replaces <select> with Select2 widgets) */
.select2-container--default .select2-selection--single {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  height: 42px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  line-height: 42px !important;
  padding-left: 14px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-top-color: var(--text-dim) !important;
}
.select2-dropdown {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
}
.select2-container--default .select2-results__option {
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 12px !important;
  padding: 10px 14px !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--cyan-dim) !important;
  color: var(--cyan) !important;
}
.select2-search--dropdown .select2-search__field {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
}

/* ── Checkout two-column layout ── */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  background: transparent !important;
}

/* ── Order review table ── */
.woocommerce-checkout-review-order-table,
.woocommerce table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid var(--border) !important;
  background: var(--surface) !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce table.shop_table th {
  background: var(--surface2) !important;
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--border) !important;
}
.woocommerce-checkout-review-order-table td,
.woocommerce table.shop_table td {
  color: var(--text) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 15px !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid rgba(126,160,208,0.08) !important;
  background: transparent !important;
}
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce table.shop_table tfoot tr:last-child td,
.woocommerce table.shop_table tfoot tr:last-child th {
  color: var(--orange) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  border-top: 1px solid var(--border-orange) !important;
}
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .cart-subtotal th {
  color: var(--text-mid) !important;
}

/* ── Payment section ── */
#payment {
  background: var(--surface) !important;
  border-radius: 0 !important;
  border: 1px solid var(--border) !important;
}
#payment .payment_methods {
  border-bottom: 1px solid var(--border) !important;
  padding: 16px !important;
  margin: 0 !important;
  list-style: none !important;
}
#payment .payment_methods li {
  padding: 10px 0 !important;
}
#payment .payment_methods label {
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  text-transform: none !important;
  cursor: pointer !important;
}
#payment .payment_box {
  background: var(--surface2) !important;
  color: var(--text-mid) !important;
  font-size: 13px !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  margin-top: 8px !important;
}
#payment .place-order {
  padding: 20px 16px 16px !important;
  background: transparent !important;
}

/* ── Place Order button ── */
#place_order,
.woocommerce #payment #place_order {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--bg) !important;
  background: var(--orange) !important;
  border: none !important;
  padding: 16px 36px !important;
  cursor: pointer !important;
  clip-path: polygon(7px 0%, 100% 0%, calc(100% - 7px) 100%, 0% 100%) !important;
  transition: all 0.2s !important;
  width: 100% !important;
  border-radius: 0 !important;
}
#place_order:hover {
  box-shadow: 0 0 28px var(--orange-glow) !important;
  transform: translateY(-1px) !important;
}

/* ── Inline form validation states ── */
.woocommerce form .form-row.woocommerce-invalid input,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: var(--error) !important;
}
.woocommerce form .form-row.woocommerce-validated input,
.woocommerce form .form-row.woocommerce-validated select {
  border-color: var(--cyan) !important;
}

/* ── Privacy / terms text ── */
.woocommerce-terms-and-conditions-wrapper,
.woocommerce .woocommerce-privacy-policy-text {
  color: var(--text-dim) !important;
  font-size: 12px !important;
}
.woocommerce-terms-and-conditions-wrapper a,
.woocommerce .woocommerce-privacy-policy-text a {
  color: var(--cyan) !important;
}

/* ── Coupon / promo input ── */
.woocommerce-form-coupon input[type="text"] {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  border-radius: 0 !important;
  padding: 10px 14px !important;
}
.woocommerce-form-coupon .button {
  background: transparent !important;
  border: 1px solid var(--border) !important;
  color: var(--text-mid) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 10px 20px !important;
  transition: all 0.2s !important;
}
.woocommerce-form-coupon .button:hover {
  border-color: var(--cyan) !important;
  color: var(--cyan) !important;
}

/* ── My Account page ── */
.woocommerce-MyAccount-navigation {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  padding: 0 !important;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-MyAccount-navigation ul li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 17px 20px !important;
  color: var(--text-mid) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(126,160,208,0.08) !important;
  transition: color 0.08s, background 0.08s !important;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--cyan) !important;
  background: var(--cyan-dim) !important;
}
.woocommerce-MyAccount-content {
  color: var(--text) !important;
}
.woocommerce-MyAccount-content p {
  color: var(--text-mid) !important;
  font-size: 15px !important;
}
.woocommerce-MyAccount-content p a,
.woocommerce-MyAccount-content a {
  color: var(--cyan) !important;
  text-decoration: underline !important;
}
.woocommerce-MyAccount-content p a:hover,
.woocommerce-MyAccount-content a:hover {
  color: var(--text) !important;
}
.woocommerce-MyAccount-content strong {
  color: var(--text) !important;
}
/* My Account buttons */
.woocommerce-MyAccount-content .button,
.woocommerce .button {
  background: transparent !important;
  border: 1px solid var(--border) !important;
  color: var(--text-mid) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 10px 20px !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
  display: inline-block !important;
}
.woocommerce-MyAccount-content .button:hover,
.woocommerce .button:hover {
  border-color: var(--cyan) !important;
  color: var(--cyan) !important;
  background: var(--cyan-dim) !important;
}

/* ── My Account: Addresses page ── */
.woocommerce-MyAccount-content .woocommerce-address header h2,
.woocommerce-MyAccount-content .woocommerce-address header h3,
.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3 {
  white-space: nowrap !important;
  font-size: 2.2rem !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.woocommerce-MyAccount-content .woocommerce-addresses .col-1,
.woocommerce-MyAccount-content .woocommerce-addresses .col-2 {
  padding: 0 16px !important;
}

/* ── My Account: Edit Account / Change Password ── */
.woocommerce-MyAccount-content fieldset {
  border: 1px solid var(--border) !important;
  padding: 20px 20px !important;
  margin: 20px 0 !important;
}
.woocommerce-MyAccount-content fieldset legend {
  padding: 0 8px !important;
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}
.woocommerce-MyAccount-content .woocommerce-form-row {
  padding: 0 !important;
  margin-bottom: 16px !important;
}
.woocommerce-MyAccount-content p.form-row,
.woocommerce-MyAccount-content .form-row {
  padding: 0 !important;
  margin-bottom: 16px !important;
}
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"] {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.woocommerce-MyAccount-content input:focus {
  border-color: var(--cyan) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px var(--cyan-dim) !important;
}
.woocommerce-MyAccount-content label {
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-bottom: 6px !important;
}
.woocommerce-MyAccount-content .woocommerce-Button[type="submit"],
.woocommerce-MyAccount-content button[type="submit"] {
  margin-top: 20px !important;
}

/* Keep native browser input controls/icons in dark mode on auth forms */
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="password"],
.woocommerce-page form .form-row input[type="email"],
.woocommerce-page form .form-row input[type="password"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"] {
  color-scheme: dark !important;
}

/* Chromium credentials button / autofill icon inside inputs */
input::-webkit-credentials-auto-fill-button,
input::-webkit-contacts-auto-fill-button {
  filter: invert(1) brightness(0.85) !important;
  opacity: 0.8 !important;
}

/* Edge/IE password reveal + clear controls */
input::-ms-reveal,
input::-ms-clear {
  filter: invert(1) brightness(0.85) !important;
}

/* Licenses endpoint: keep key column compact + prevent table squeeze */
.woocommerce-MyAccount-content table.my_account_orders {
  table-layout: fixed !important;
}
.woocommerce-MyAccount-content table.my_account_orders td[data-title="License"],
.woocommerce-MyAccount-content table.my_account_orders th:nth-child(2) {
  width: 20ch !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-family: 'Share Tech Mono', monospace !important;
}

/* ── Order confirmation / thank you page ── */
.woocommerce-order-received h2,
.woocommerce-order-received h3 {
  color: var(--text) !important;
}
.woocommerce-order-overview {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  padding: 20px 24px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  list-style: none !important;
  margin: 0 0 36px !important;
}
.woocommerce-order-overview li {
  color: var(--text-mid) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 12px 24px 12px 0 !important;
  margin-right: 24px !important;
  border-right: 1px solid var(--border) !important;
}
.woocommerce-order-overview li:last-child {
  border-right: none !important;
}
.woocommerce-order-overview li strong {
  display: block !important;
  color: var(--orange) !important;
  font-size: 16px !important;
  margin-top: 4px !important;
}
.woocommerce-notice--success {
  background: var(--surface) !important;
  border-left: 3px solid var(--cyan) !important;
  color: var(--text) !important;
  padding: 16px 20px !important;
}

/* ── Checkout responsive ── */
@media (max-width: 760px) {
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review {
    float: none !important;
    width: 100% !important;
  }
}


/* ══════════════════════════════════════════════════════════
   WOOCOMMERCE BLOCK CHECKOUT — .wc-block-components-*
   Targets the Gutenberg / block-based checkout introduced
   in WooCommerce 8+. Separate from classic checkout above.
   ══════════════════════════════════════════════════════════ */

/* ── Block page wrapper ── */
.wp-block-woocommerce-checkout,
.wc-block-checkout,
.wc-block-cart {
  background: var(--bg) !important;
  color: var(--text) !important;
}

/* Nuke the default white content area the theme injects */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-fields-block,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  background: transparent !important;
}

/* ── Step headings ── */
.wc-block-components-checkout-step__heading,
.wc-block-components-checkout-step__title {
  font-family: 'Rajdhani', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
}
.wc-block-components-checkout-step__heading-content {
  color: var(--text) !important;
}
.wc-block-components-checkout-step__index {
  background: var(--cyan-dim) !important;
  border: 1px solid var(--border) !important;
  color: var(--cyan) !important;
  font-family: 'Share Tech Mono', monospace !important;
}

/* ── Form labels ── */
.wc-block-components-form .wc-block-components-label,
.wc-block-components-label {
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}
.wc-block-components-label .required {
  color: var(--orange) !important;
}

/* ── Universal input / select override ── */
/* One rule catches every text-like input in the checkout.
   Excludes checkbox, radio, submit, button, hidden — those are handled separately. */
.wp-block-woocommerce-checkout input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
.wp-block-woocommerce-checkout select,
.wc-block-cart input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
.wc-block-cart select {
  background-color: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  height: 56px !important;
  padding: 22px 14px 6px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.wp-block-woocommerce-checkout input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):focus,
.wp-block-woocommerce-checkout select:focus,
.wc-block-cart input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):focus,
.wc-block-cart select:focus {
  border-color: var(--cyan) !important;
  box-shadow: 0 0 0 3px var(--cyan-dim) !important;
  outline: none !important;
}
/* Floating label: highlight when field is active */
.wc-block-components-text-input.is-active .wc-block-components-label,
.wc-block-components-text-input:focus-within .wc-block-components-label,
.wc-block-components-combobox:focus-within .wc-block-components-label {
  color: var(--cyan) !important;
}

/* ── Combobox / country / state selects ── */
/* Raise stacking context on the container so the suggestion list overlays other fields */
.wc-block-components-combobox,
.wc-block-components-country-input,
.wc-block-components-state-input {
  position: relative !important;
  z-index: 500 !important;
}
/* Country first: visual order only (Woo still controls DOM internally) */
.wc-block-components-address-form .wc-block-components-address-form__country,
.wc-block-components-address-form .wc-block-components-country-input {
  order: -10 !important;
}
/* Normalize spacing at container level so city/town and state align consistently. */
.wc-block-components-address-form {
  row-gap: 12px !important;
}
.wc-block-components-address-form .wc-block-components-text-input,
.wc-block-components-address-form .wc-block-components-country-input,
.wc-block-components-address-form .wc-block-components-state-input,
.wc-block-components-address-form .wc-block-components-combobox {
  margin-top: 0 !important;
}
/* Province/state dropdown: no extra top offset */
.wc-block-components-address-form .wc-block-components-state-input .wc-blocks-components-select,
.wc-block-components-address-form .wc-block-components-address-form__state .wc-blocks-components-select,
.wc-block-components-address-form .wc-block-components-state-input .wc-blocks-components-select__container,
.wc-block-components-address-form .wc-block-components-address-form__state .wc-blocks-components-select__container {
  margin-top: 0 !important;
}
/* Fallback: some locales render a different wrapper but keep select name="state" */
.wc-block-components-address-form .wc-blocks-components-select:has(select[name="state"]),
.wc-block-components-address-form .wc-blocks-components-select:has(select[name="shipping_state"]),
.wc-block-components-address-form .wc-block-components-state-input .wc-blocks-components-select,
.wc-block-components-address-form .wc-block-components-address-form__state .wc-blocks-components-select {
  margin-top: 0 !important;
}
/* Some regions reserve validation/error space under province even when valid. */
.wc-block-components-address-form .wc-block-components-state-input .wc-block-components-validation-error,
.wc-block-components-address-form .wc-block-components-address-form__state .wc-block-components-validation-error {
  margin: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
/* Input styling is handled by the universal override above */
/* Combobox dropdown suggestions */
.wc-block-components-combobox .components-combobox-control__suggestions-container,
.components-form-token-field__suggestions-list {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-top: none !important;
  z-index: 9999 !important;
}
.components-form-token-field__suggestion {
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 12px !important;
  padding: 10px 14px !important;
}
.components-form-token-field__suggestion:hover,
.components-form-token-field__suggestion.is-selected {
  background: var(--cyan-dim) !important;
  color: var(--cyan) !important;
}

/* ── Checkbox — fully custom (accent-color alone leaves box white) ── */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.wc-block-components-form input[type="checkbox"],
.wp-block-woocommerce-checkout input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  position: relative !important;
  transition: background 0.15s, border-color 0.15s !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked,
.wc-block-components-form input[type="checkbox"]:checked,
.wp-block-woocommerce-checkout input[type="checkbox"]:checked {
  background: var(--cyan) !important;
  border-color: var(--cyan) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='%23060a10' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 10px 8px !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus,
.wc-block-components-form input[type="checkbox"]:focus,
.wp-block-woocommerce-checkout input[type="checkbox"]:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px var(--cyan-dim) !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__label {
  color: var(--text-mid) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 12px !important;
}
/* Checkbox wrapper — add breathing room so it doesn't touch section borders */
.wc-block-components-checkbox {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
/* Hide WC's own rendered SVG mark — we use background-image instead */
.wc-block-components-checkbox .wc-block-components-checkbox__mark {
  display: none !important;
}

/* ── Input & textarea placeholder color ── */
.wc-block-components-form input::placeholder,
.wc-block-components-form textarea::placeholder,
.wp-block-woocommerce-checkout input::placeholder,
.wp-block-woocommerce-checkout textarea::placeholder {
  color: var(--text-dim) !important;
  opacity: 1 !important;
}

/* ── Order summary sidebar ── */
.wc-block-components-order-summary,
.wc-block-order-summary {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
}
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__individual-prices {
  color: var(--text-mid) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 14px !important;
}
.wc-block-components-order-summary-item__quantity {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
}
.wc-block-components-order-summary-heading {
  color: var(--text) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* ── Totals (subtotal, tax, total rows) ── */
.wc-block-components-totals-wrapper {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-top: none !important;
}
.wc-block-components-totals-item {
  border-bottom: 1px solid rgba(126,160,208,0.08) !important;
  padding: 12px 16px !important;
}
.wc-block-components-totals-item__label {
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}
.wc-block-components-totals-item__value {
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 14px !important;
}
/* Total row — highlighted orange */
.wc-block-components-totals-footer-item {
  border-top: 1px solid var(--border-orange) !important;
  padding: 14px 16px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  color: var(--orange) !important;
  font-size: 13px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--orange) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

/* ── Coupon block ── */
.wc-block-components-totals-coupon__form input[type="text"] {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  height: 44px !important;
}
.wc-block-components-totals-coupon__button.wc-block-components-button {
  background: transparent !important;
  border: 1px solid var(--border) !important;
  color: var(--text-mid) !important;
  border-radius: 0 !important;
}
.wc-block-components-totals-coupon__button.wc-block-components-button:hover {
  border-color: var(--cyan) !important;
  color: var(--cyan) !important;
  background: var(--cyan-dim) !important;
}
/* Coupon expander toggle ("Add a coupon") */
.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
.wc-block-components-totals-coupon .wc-block-components-panel__button:focus,
.wc-block-components-totals-coupon .wc-block-components-panel__button:focus-visible,
.wc-block-components-totals-coupon .wc-block-components-panel__button[aria-expanded="true"] {
  background: transparent !important;
  border-color: var(--border) !important;
  outline: none !important;
  box-shadow: none !important;
}
.wc-block-components-totals-coupon .wc-block-components-panel,
.wc-block-components-totals-coupon .wc-block-components-panel:focus-within,
.wc-block-components-totals-coupon .wc-block-components-panel__content,
.wc-block-components-totals-coupon .wc-block-components-panel__content:focus-within {
  border-color: var(--border) !important;
  outline: none !important;
  box-shadow: none !important;
}
.wc-block-components-chip {
  background: var(--cyan-dim) !important;
  color: var(--cyan) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
}

/* ── Payment methods ── */
.wc-block-components-payment-methods,
.wc-block-components-radio-control-options {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
}
.wc-block-components-payment-method-label,
.wc-block-components-radio-control__option-layout {
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
}
.wc-block-components-payment-method-description,
.wc-block-components-payment-method-help-text {
  color: var(--text-mid) !important;
  font-size: 12px !important;
}
.wc-block-components-radio-control__input[type="radio"] {
  accent-color: var(--cyan) !important;
}

/* ── Place Order button ── */
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-button {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--bg) !important;
  background: var(--orange) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 36px !important;
  width: 100% !important;
  cursor: pointer !important;
  clip-path: polygon(7px 0%, 100% 0%, calc(100% - 7px) 100%, 0% 100%) !important;
  transition: all 0.2s !important;
}
.wc-block-components-checkout-place-order-button:hover {
  box-shadow: 0 0 28px var(--orange-glow) !important;
  transform: translateY(-1px) !important;
}
.wc-block-components-checkout-place-order-button .wc-block-components-button__text {
  color: var(--bg) !important;
  font-family: 'Share Tech Mono', monospace !important;
}

/* ── Spinner / loading overlay ── */
.wc-block-components-loading-mask__indicator .wc-block-components-spinner {
  border-top-color: var(--cyan) !important;
}

/* ── Notices / errors ── */
.wc-block-components-notice-banner,
.wc-block-components-validation-error {
  background: var(--surface) !important;
  border-color: var(--cyan) !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 12px !important;
  border-radius: 0 !important;
  padding: 8px 0 5px 0 !important;
}
.wc-block-components-notice-banner.is-error,
.wc-block-components-validation-error {
  border-color: var(--error) !important;
  color: var(--error) !important;
}
.wc-block-components-validation-error p {
  color: var(--error) !important;
  font-size: 11px !important;
  margin-top: 4px !important;
}
.wc-block-components-validation-error span {
  padding-top: 2px !important;
}

/* ── Privacy / terms block ── */
.wc-block-checkout__privacy-policy-text,
.wc-block-checkout__terms-and-conditions-link {
  color: var(--text-dim) !important;
  font-size: 12px !important;
}
.wc-block-checkout__privacy-policy-text a,
.wc-block-checkout__terms-and-conditions-link a {
  color: var(--cyan) !important;
}

/* ── Return to cart link ── */
.wc-block-checkout__return-to-cart-link,
.wc-block-components-checkout-return-to-cart-button {
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.wc-block-checkout__return-to-cart-link:hover,
.wc-block-components-checkout-return-to-cart-button:hover {
  color: var(--cyan) !important;
}

/* ── Block cart page ── */
.wc-block-cart-items__header,
.wc-block-cart__main {
  background: transparent !important;
}
.wc-block-cart-items th {
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--border) !important;
  background: var(--surface2) !important;
  padding: 12px 16px !important;
}
.wc-block-cart-items td {
  color: var(--text) !important;
  border-bottom: 1px solid rgba(126,160,208,0.08) !important;
  padding: 16px !important;
  background: transparent !important;
}
.wc-block-components-quantity-selector {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
}
.wc-block-components-quantity-selector input {
  background: transparent !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  /* Re-narrow after the universal input override */
  height: 36px !important;
  padding: 4px 8px !important;
  width: auto !important;
}
.wc-block-components-quantity-selector button {
  background: transparent !important;
  color: var(--text-dim) !important;
  border: none !important;
}
.wc-block-components-quantity-selector button:hover {
  color: var(--cyan) !important;
}

/* ── wc-blocks-components-select (plural namespace — country/state dropdowns) ── */
.wc-blocks-components-select .wc-blocks-components-select__container,
.wc-blocks-components-select__container {
  background: var(--surface2) !important;
  background-color: var(--surface2) !important;
  border-radius: 0 !important;
  border: 1px solid var(--border) !important;
}
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-blocks-components-select__select {
  background: var(--surface2) !important;
  background-color: var(--surface2) !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 22px 14px 6px !important;
  height: 56px !important;
  width: 100% !important;
}
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-blocks-components-select__select:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px var(--cyan-dim) !important;
}
/* Label inside the select container */
.wc-blocks-components-select .wc-block-components-label,
.wc-blocks-components-select label {
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* ── Payment method inner fields (card number, expiry, CVC etc.) ── */
/* These appear inside the payment options panel — Stripe, WC Payments, etc. */
.wc-block-components-payment-methods .wc-block-components-payment-method-options,
.wc-block-components-payment-method-options {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
}
.wc-block-components-payment-method-options__option {
  border-bottom: 1px solid rgba(126,160,208,0.08) !important;
  background: transparent !important;
}
.wc-block-components-payment-method-options__option:last-child {
  border-bottom: none !important;
}
/* The inner form area that expands when you select a payment method */
.wc-block-components-payment-method-options__option .wc-block-components-payment-method-options__option-content {
  background: var(--surface2) !important;
  border-top: 1px solid var(--border) !important;
  padding: 16px !important;
}
/* All inputs inside payment forms (card fields, etc.) */
.wc-block-components-payment-method-options input[type="text"],
.wc-block-components-payment-method-options input[type="tel"],
.wc-block-components-payment-method-options input[type="number"],
.wc-block-components-payment-method-options input[type="email"],
.wc-block-components-payment-method-options input[type="password"],
.wc-block-components-payment-method-options .wc-block-components-text-input input,
.wc-block-components-payment-form input[type="text"],
.wc-block-components-payment-form input[type="tel"],
.wc-block-components-payment-form input[type="number"] {
  background: var(--surface2) !important;
  background-color: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  height: 46px !important;
  padding: 12px 14px !important;
}
.wc-block-components-payment-method-options input:focus,
.wc-block-components-payment-form input:focus {
  border-color: var(--cyan) !important;
  box-shadow: 0 0 0 3px var(--cyan-dim) !important;
  outline: none !important;
}
/* Stripe / WC Payments hosted iframe container — can't style the iframe itself,
   but we can ensure the wrapper matches */
.wc-block-gateway-container,
.wc-block-gateway-container > div,
.wcpay-payment-request-wrapper,
.stripe-payment-request-button-element {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  padding: 12px !important;
}
/* Payment method select labels (radio option labels) */
.wc-block-components-payment-method-options__option label,
.wc-block-components-payment-method-options__option .wc-block-components-payment-method-label__primary {
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
}
.wc-block-components-payment-method-options__option .wc-block-components-payment-method-label__secondary {
  color: var(--text-dim) !important;
  font-size: 11px !important;
}
/* Saved card / token list */
.wc-block-components-payment-methods__save-card-info,
.wc-block-components-payment-methods .wc-block-components-payment-methods__save-card-info {
  color: var(--text-dim) !important;
  font-size: 12px !important;
}

/* ── Add notes / Order notes textarea ── */
.wc-block-checkout__add-note textarea,
.wc-block-components-order-notes textarea,
.wc-block-components-order-notes__textarea,
.wp-block-woocommerce-checkout textarea,
.wc-block-components-form textarea {
  background: var(--surface2) !important;
  background-color: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  color: var(--text) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 13px !important;
  padding: 12px 14px !important;
  min-height: 100px !important;
  resize: vertical !important;
  width: 100% !important;
}
.wc-block-checkout__add-note textarea:focus,
.wc-block-components-form textarea:focus,
.wp-block-woocommerce-checkout textarea:focus {
  border-color: var(--cyan) !important;
  box-shadow: 0 0 0 3px var(--cyan-dim) !important;
  outline: none !important;
}
/* "Add order notes" toggle link/button */
.wc-block-checkout__add-note .wc-block-checkout__add-note-toggle {
  background: transparent !important;
  border: none !important;
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  cursor: pointer !important;
  padding: 8px 0 !important;
  text-decoration: underline !important;
}
.wc-block-checkout__add-note .wc-block-checkout__add-note-toggle:hover {
  color: var(--cyan) !important;
}

/* ── Dropdown option backgrounds (not reachable via the universal input rule) ── */
.wp-block-woocommerce-checkout option,
.wc-block-checkout option,
.wc-block-components-form option {
  background: var(--surface2) !important;
  color: var(--text) !important;
}

/* ── Block checkout: responsive ── */
@media (max-width: 760px) {
  .wp-block-woocommerce-checkout .wc-block-checkout__main,
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
    width: 100% !important;
    float: none !important;
  }
}


/* ══════════════════════════════════════════════════════════
   WOOCOMMERCE PASSWORD STRENGTH METER
   ══════════════════════════════════════════════════════════ */

/* ── Strength bar ── */
.woocommerce-password-strength {
  background: var(--surface2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-mid) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  padding: 6px 10px !important;
  margin-top: 6px !important;
  text-align: center !important;
}
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad    { border-color: var(--error) !important; color: var(--error) !important; }
.woocommerce-password-strength.good   { border-color: var(--orange) !important; color: var(--orange) !important; }
.woocommerce-password-strength.strong { border-color: var(--cyan) !important; color: var(--cyan) !important; }

/* ── Hint text below the meter ── */
.woocommerce-password-hint {
  color: var(--text-dim) !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 11px !important;
  display: block !important;
  margin-top: 4px !important;
}
