/* ============================================================================
   STARTER THEME - STANDARDIZED CSS
   Consolidated and organized for maintainability
   ============================================================================ */

/* ============================================================================
   CSS VARIABLES
   ============================================================================ */
:root {
  /* Base Colors */
  --bg: #0b0f14;
  --panel: #0f1621;
  --text: #e7eef7;
  --muted: #a6b3c2;
  --border: rgba(255, 255, 255, 0.08);
  
  /* Primary Colors */
  --primary: #1f6feb;
  --primary-2: #1757bf;
  --on-primary: #ffffff;
  
  /* Alert Colors */
  --alert-error-bg: rgba(220, 53, 69, 0.15);
  --alert-error-border: rgba(220, 53, 69, 0.3);
  --alert-error-text: #ff6b7a;
  
  --alert-success-bg: rgba(40, 167, 69, 0.15);
  --alert-success-border: rgba(40, 167, 69, 0.3);
  --alert-success-text: #6bcf7f;
  
  --alert-info-bg: rgba(23, 162, 184, 0.15);
  --alert-info-border: rgba(23, 162, 184, 0.3);
  --alert-info-text: #5dd5e8;
  
  --alert-warning-bg: rgba(255, 193, 7, 0.15);
  --alert-warning-border: rgba(255, 193, 7, 0.3);
  --alert-warning-text: #ffc107;
  
  /* Overlay Colors */
  --overlay-light-02: rgba(255, 255, 255, 0.02);
  --overlay-light-03: rgba(255, 255, 255, 0.03);
  --overlay-light-04: rgba(255, 255, 255, 0.04);
  --overlay-light-05: rgba(255, 255, 255, 0.05);
  --overlay-light-06: rgba(255, 255, 255, 0.06);
  --overlay-light-08: rgba(255, 255, 255, 0.08);
  --overlay-light-10: rgba(255, 255, 255, 0.10);
  --overlay-light-12: rgba(255, 255, 255, 0.12);
  --overlay-light-15: rgba(255, 255, 255, 0.15);
  --overlay-light-16: rgba(255, 255, 255, 0.16);
  --overlay-light-18: rgba(255, 255, 255, 0.18);
  --overlay-light-20: rgba(255, 255, 255, 0.20);
  --overlay-light-22: rgba(255, 255, 255, 0.22);
  --overlay-light-25: rgba(255, 255, 255, 0.25);
  --overlay-light-30: rgba(255, 255, 255, 0.30);
  --overlay-light-92: rgba(255, 255, 255, 0.92);
  
  --overlay-dark-12: rgba(0, 0, 0, 0.12);
  --overlay-dark-20: rgba(0, 0, 0, 0.2);
  --overlay-dark-30: rgba(0, 0, 0, 0.3);
  
  /* Primary Color Overlays */
  --primary-overlay-15: rgba(31, 111, 235, 0.15);
  --primary-overlay-20: rgba(31, 111, 235, 0.2);
  --primary-overlay-40: rgba(31, 111, 235, 0.4);
  --primary-overlay-60: rgba(31, 111, 235, 0.6);
  --primary-overlay-80: rgba(31, 111, 235, 0.8);
  --primary-solid: rgba(31, 111, 235, 1);
  
  /* Spacing */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 20px;
  --spacing-2xl: 24px;
  --spacing-3xl: 30px;
  
  /* Border Radius */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 14px;
  --radius-full: 999px;
  
  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.2);
  --shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.3);
  --shadow-primary: 0 4px 12px rgba(31, 111, 235, 0.4);
  --shadow-primary-sm: 0 0 0 2px rgba(31, 111, 235, 0.2), 0 2px 8px rgba(31, 111, 235, 0.3);
  
  /* Typography */
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

/* ============================================================================
   BASE STYLES
   ============================================================================ */
body {
  margin: 0;
  background: var(--bg) !important;
  background-color: var(--bg) !important;
  background-image: var(--bg-image, none) !important;
  color: var(--text);
  font-family: system-ui, sans-serif;
  font-size: var(--font-size-base, 16px);
  line-height: var(--line-height-body, 1.6);
  position: relative;
}

/* Background image with opacity support */
/* When has-bg-image class is present, remove background from body to prevent double rendering */
body.has-bg-image {
  background-image: none !important;
}

body.has-bg-image::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: var(--bg-image);
  background-repeat: var(--bg-repeat, no-repeat);
  background-size: var(--bg-size, auto);
  background-position: var(--bg-position, center center);
  background-attachment: var(--bg-attachment, scroll);
  opacity: var(--bg-opacity, 1);
  z-index: -1;
  pointer-events: none;
}

a {
  color: var(--accent, var(--primary));
  text-decoration: underline;
  text-decoration-color: var(--overlay-light-20);
}

a:hover {
  color: var(--accent, var(--primary));
  text-decoration-color: var(--overlay-light-30);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--text);
  margin-top: 0;
}

label {
  color: var(--text);
  display: block;
  margin-bottom: var(--spacing-sm);
  font-size: 14px;
}

/* ============================================================================
   LAYOUT
   ============================================================================ */
.container {
  width: min(1100px, calc(100% - 32px));
  margin: 0 auto;
}

.container--full {
  width: calc(100% - 32px);
  max-width: none;
}

.page-content {
  padding: 28px 0;
}

.page {
  min-height: calc(100vh - 200px);
}

/* ============================================================================
   HEADER STYLES
   ============================================================================ */
/* CryptoPostage Header */
.cp-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: linear-gradient(180deg, var(--primary), var(--primary-2));
  border-bottom: 1px solid var(--overlay-light-18);
  backdrop-filter: none;
}

.cp-header .header-inner {
  padding: 14px 0;
}

.cp-header .brand {
  color: var(--on-primary);
  font-weight: 800;
  letter-spacing: 0.2px;
  white-space: nowrap;
}

.cp-header .nav {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  flex: 1;
  padding: 0 var(--spacing-md);
}

.cp-header .nav-link {
  color: var(--overlay-light-92);
  padding: 7px 10px;
  border-radius: var(--radius-lg);
  border: 1px solid transparent;
  text-decoration: none;
}

.cp-header .nav-link:hover {
  color: #fff;
  background: var(--overlay-light-10);
  border-color: var(--overlay-light-18);
  text-decoration: none;
}

.cp-header .header-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  min-width: 110px;
}

.cp-header .pill {
  display: inline-block;
  padding: 7px var(--spacing-md);
  border-radius: var(--radius-full);
  background: var(--overlay-light-16);
  color: #fff;
  border: 1px solid var(--overlay-light-20);
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
}

.cp-header .pill:hover {
  background: var(--overlay-light-22);
  text-decoration: none;
}

.cp-header .pill-outline {
  background: transparent;
}

/* Professional Header */
.pro-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #0e141b;
  border-bottom: 1px solid var(--border);
}

.header-pro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-lg);
  padding: 14px 0;
}

.brand-pro {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  font-weight: 800;
  letter-spacing: 0.2px;
  text-decoration: none;
  white-space: nowrap;
}

.brand-pro:hover {
  text-decoration: none;
}

.brand-logo {
  display: block;
  height: var(--brand-logo-height, 28px);
  width: var(--brand-logo-width, auto);
  max-width: 100%;
  object-fit: contain;
}

.brand-name {
  display: inline-block;
  line-height: 1;
}

.nav-pro {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: var(--header-nav-justify, flex-end);
}

.nav-item {
  color: var(--muted);
  font-size: var(--menu-link-size, 13px);
  padding: 8px 10px;
  border-radius: var(--radius-lg);
  border: 1px solid transparent;
  text-decoration: none;
}

.nav-item:hover {
  color: var(--text);
  background: var(--overlay-light-04);
  border-color: var(--border);
  text-decoration: none;
}

/* ============================================================================
   FOOTER STYLES
   ============================================================================ */
.pro-footer {
  background: var(--panel);
  border-top: 1px solid var(--border);
  padding: 26px 0 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 22px;
  padding-bottom: 22px;
}

.footer-col {
  min-width: 0;
}

.footer-brand {
  font-weight: 800;
  letter-spacing: 0.2px;
  font-size: 16px;
}

.footer-sub {
  margin-top: var(--spacing-sm);
  color: var(--muted);
  font-size: 13px;
  max-width: 46ch;
}

.footer-title {
  font-weight: 700;
  color: var(--text);
  margin-bottom: 10px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.9;
}

.footer-links {
  display: grid;
  gap: 10px;
}

.footer-links a {
  color: var(--muted);
  text-decoration: none;
}

.footer-links a:hover {
  color: var(--text);
  text-decoration: underline;
}

.tor-block {
  display: flex;
  gap: var(--spacing-md);
  align-items: flex-start;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.tor-text {
  flex: 1;
}

.tor-label,
.onion-label {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: var(--spacing-xs);
}

.tor-address,
.onion-value {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--text);
  opacity: 0.9;
  word-break: break-all;
}

.footer-bottom {
  border-top: 1px solid var(--border);
  background: var(--overlay-dark-12);
}

.footer-bottom-inner {
  display: flex;
  gap: var(--spacing-md);
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  color: var(--muted);
  font-size: 12px;
  flex-wrap: wrap;
}

.footer-note .dot,
.footer-mini .dot {
  margin: 0 var(--spacing-sm);
  opacity: 0.7;
}

.footer-mini a {
  color: var(--muted);
  text-decoration: none;
}

.footer-mini a:hover {
  color: var(--text);
  text-decoration: underline;
}

/* ============================================================================
   HOME PAGE
   ============================================================================ */
.hero {
  padding: 42px 0 28px;
}

.hero-inner {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  padding: 22px;
}

.hero h1 {
  margin: 0 0 var(--spacing-sm);
  font-size: var(--h1-size, 28px);
}

.hero p {
  margin: 0 0 var(--spacing-lg);
  color: var(--muted);
}

.cta-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.btn {
  display: inline-block;
  padding: 10px var(--spacing-md);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background: var(--overlay-light-04);
  color: var(--text);
  text-decoration: none;
}

.btn:hover {
  text-decoration: none;
}

.btn-secondary {
  background: transparent;
}

/* ============================================================================
   FORM ELEMENTS
   ============================================================================ */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
textarea,
select {
  background: var(--panel);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 10px var(--spacing-md);
  border-radius: var(--radius-md);
  font-size: 14px;
  width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--overlay-light-20);
  background: var(--overlay-light-02);
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
textarea::placeholder {
  color: var(--muted);
  opacity: 0.7;
}

input[type="checkbox"],
input[type="radio"] {
  width: auto;
  margin-right: var(--spacing-sm);
  accent-color: var(--text);
}

.form-group {
  margin-bottom: var(--spacing-xl);
}

.form-group label {
  display: block;
  margin-bottom: var(--spacing-sm);
  font-weight: 500;
  color: var(--text);
}

.form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-xl);
}

/* ============================================================================
   BUTTONS
   ============================================================================ */
button:not(.btn-primary):not(.submit-btn),
input[type="submit"]:not(.btn-primary):not(.submit-btn),
.btn:not(.btn-primary) {
  background: var(--overlay-light-08);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 10px var(--spacing-lg);
  border-radius: var(--radius-md);
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}

button:not(.btn-primary):not(.submit-btn):hover,
input[type="submit"]:not(.btn-primary):not(.submit-btn):hover,
.btn:not(.btn-primary):hover {
  background: var(--overlay-light-12);
  border-color: var(--overlay-light-15);
}

button:not(.btn-primary):not(.submit-btn):active,
input[type="submit"]:not(.btn-primary):not(.submit-btn):active,
.btn:not(.btn-primary):active {
  background: var(--overlay-light-06);
}

/* Primary buttons */
.shipping-form-wrapper .btn-primary,
.shipping-form-wrapper button.btn-primary,
.shipping-form-wrapper #calculate-postage-btn,
.shipping-form-wrapper button[type="submit"].btn-primary,
.payment-selection-wrapper .submit-btn,
body .btn-primary,
body .submit-btn {
  background: var(--primary) !important;
  background-color: var(--primary) !important;
  background-image: none !important;
  color: white !important;
  border: none !important;
  padding: 15px var(--spacing-3xl) !important;
  border-radius: var(--radius-md) !important;
  font-size: 1.1em !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  width: 100% !important;
}

.shipping-form-wrapper .btn-primary:hover,
.shipping-form-wrapper button.btn-primary:hover,
.shipping-form-wrapper #calculate-postage-btn:hover,
.shipping-form-wrapper button[type="submit"].btn-primary:hover,
.payment-selection-wrapper .submit-btn:hover,
body .btn-primary:hover,
body .submit-btn:hover {
  background: var(--primary-2) !important;
  background-color: var(--primary-2) !important;
  background-image: none !important;
  transform: translateY(-2px);
  box-shadow: var(--shadow-primary) !important;
}

.shipping-form-wrapper .btn-primary:active,
.shipping-form-wrapper button.btn-primary:active,
.shipping-form-wrapper #calculate-postage-btn:active,
.shipping-form-wrapper button[type="submit"].btn-primary:active,
.payment-selection-wrapper .submit-btn:active,
body .btn-primary:active,
body .submit-btn:active {
  transform: translateY(0);
}

.shipping-form-wrapper .btn-primary:disabled,
.shipping-form-wrapper button.btn-primary:disabled,
.shipping-form-wrapper #calculate-postage-btn:disabled,
.shipping-form-wrapper button[type="submit"].btn-primary:disabled,
.payment-selection-wrapper .submit-btn:disabled,
body .btn-primary:disabled,
body .submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Edit weight button: solid style for contrast on light blue box */
.shipping-form-wrapper .btn-edit-weight {
  background: #2c5282 !important;
  color: #fff !important;
  border: 1px solid #1a365d;
}
.shipping-form-wrapper .btn-edit-weight:hover {
  background: #1a365d !important;
  color: #fff !important;
}

/* ============================================================================
   CARDS & PANELS
   ============================================================================ */
.card,
.panel {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--spacing-xl);
  margin-bottom: var(--spacing-xl);
}

.faq-quick-links {
  font-size: 0.9em;
  color: var(--muted);
  margin-top: var(--spacing-md);
  margin-bottom: 0;
}

.faq-quick-links a {
  color: var(--accent, var(--primary));
}

/* Contact / support email links — theme accent color */
a.link-accent {
  color: var(--accent, var(--primary));
}
a.link-accent:hover {
  color: var(--accent, var(--primary));
  text-decoration-color: var(--overlay-light-30);
}

/* ============================================================================
   BLOG POST
   ============================================================================ */
.blog-post-image {
  margin: 0 0 var(--spacing-xl);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--overlay-light-03);
}

/* Show full image; cap size so it doesn’t dominate the page */
.blog-post-image img {
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: contain;
  object-position: center;
  display: block;
  vertical-align: middle;
}

/* Blog index (/blog) – list with thumbnails */
.blog-list-item {
  padding: 0 !important;
  overflow: hidden;
}

.blog-list-link {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-xl);
  padding: var(--spacing-xl);
  text-decoration: none;
  color: inherit;
}

.blog-list-link:hover {
  text-decoration: none;
  color: inherit;
  background: var(--overlay-light-03);
}

.blog-list-thumb {
  flex-shrink: 0;
  width: 160px;
  height: 100px;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--overlay-light-03);
}

.blog-list-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.blog-list-body {
  flex: 1;
  min-width: 0;
}

.blog-list-body .blog-date {
  display: block;
  margin-top: var(--spacing-xs);
  font-size: 0.9em;
  color: var(--muted);
}

.blog-list-body .blog-excerpt {
  margin: var(--spacing-sm) 0 0;
  font-size: 0.95em;
  color: var(--muted);
  line-height: 1.5;
}

@media (max-width: 600px) {
  .blog-list-link {
    flex-direction: column;
  }
  .blog-list-thumb {
    width: 100%;
    height: 180px;
  }
}

/* ============================================================================
   TABLES
   ============================================================================ */
table {
  width: 100%;
  border-collapse: collapse;
  color: var(--text);
}

table th,
table td {
  padding: var(--spacing-md);
  text-align: left;
  border-bottom: 1px solid var(--border);
}

table th {
  background: var(--overlay-light-03);
  font-weight: 600;
  color: var(--text);
}

table tr:hover {
  background: var(--overlay-light-02);
}

/* ============================================================================
   ALERTS
   ============================================================================ */
.alert {
  padding: 14px 18px;
  border-radius: var(--radius-lg);
  margin-bottom: var(--spacing-xl);
  border: 1px solid;
}

.alert-error,
.alert-danger {
  background: var(--alert-error-bg);
  border-color: var(--alert-error-border);
  color: var(--alert-error-text);
}

.alert-success {
  background: var(--alert-success-bg);
  border-color: var(--alert-success-border);
  color: var(--alert-success-text);
}

.alert-info {
  background: var(--alert-info-bg);
  border-color: var(--alert-info-border);
  color: var(--alert-info-text);
}

.alert-warning {
  background: var(--alert-warning-bg);
  border-color: var(--alert-warning-border);
  color: var(--alert-warning-text);
}

/* Validation error box on shipping form: dark text on pink for contrast */
.shipping-form-wrapper .alert-error,
.shipping-form-wrapper .alert-danger,
.shipping-form-wrapper .alert[style*="background: #f8d7da"],
.shipping-form-wrapper .alert[style*="background:#f8d7da"],
.shipping-form-wrapper div[style*="background: #f8d7da"],
.shipping-form-wrapper div[style*="background:#f8d7da"] {
  background: #f8d7da !important;
  border-color: #f5c6cb !important;
  color: #721c24 !important;
}
.shipping-form-wrapper .alert-error *,
.shipping-form-wrapper .alert-danger *,
.shipping-form-wrapper .alert[style*="background: #f8d7da"] *,
.shipping-form-wrapper .alert[style*="background:#f8d7da"] *,
.shipping-form-wrapper div[style*="background: #f8d7da"] *,
.shipping-form-wrapper div[style*="background:#f8d7da"] * {
  color: #721c24 !important;
}

/* Customer service / contact form validation errors: dark text on pink (good contrast) */
.customer-service-wrapper .error-message,
.customer-service-wrapper .alert-error,
.customer-service-wrapper .alert-danger,
.page-content .error-message,
.page-content .alert-error,
.page-content .alert-danger,
.page-content div[style*="background: #f8d7da"],
.page-content div[style*="background:#f8d7da"],
.page-content div[style*="background-color: #f8d7da"] {
  background: #f8d7da !important;
  background-color: #f8d7da !important;
  border-color: #f5c6cb !important;
  color: #721c24 !important;
}
.customer-service-wrapper .error-message *,
.customer-service-wrapper .alert-error *,
.customer-service-wrapper .alert-danger *,
.page-content .error-message *,
.page-content .alert-error *,
.page-content .alert-danger *,
.page-content div[style*="background: #f8d7da"] *,
.page-content div[style*="background:#f8d7da"] *,
.page-content div[style*="background-color: #f8d7da"] * {
  color: #721c24 !important;
}

/* ============================================================================
   PLUGIN COMPONENT WRAPPERS
   ============================================================================ */
.shipping-form-wrapper,
.tracking-wrapper,
.batch-import-wrapper,
.payment-selection-wrapper,
.order-recovery-wrapper,
.batch-payment-wrapper,
.crypto-payment-wrapper,
.customer-service-wrapper {
  color: var(--text);
}

/* Override purple gradient backgrounds from component inline styles */
/* These components have inline <style> tags that set body background to purple gradient */
body:has(.customer-service-wrapper),
body:has(.tracking-wrapper),
body:has(.payment-selection-wrapper),
body:has(.batch-payment-wrapper),
body:has([class*="customer-service"]),
body:has([class*="tracking"]),
body:has([class*="payment-selection"]),
body:has([class*="batch-payment"]) {
  background: var(--bg) !important;
  background-color: var(--bg) !important;
  background-image: none !important;
}

/* Override white card backgrounds in customer-service, tracking, payment-selection, and batch-payment components */
/* Component templates have inline styles setting cards to white */
body[class*="customer-service"] .card,
body[class*="tracking"] .card,
body[class*="payment-selection"] .card,
body[class*="batch-payment"] .card,
.page-content .card,
.customer-service-wrapper .card,
.tracking-wrapper .card,
.payment-selection-wrapper .card,
.batch-payment-wrapper .card,
.customer-service-wrapper .container .card,
.tracking-wrapper .container .card,
.payment-selection-wrapper .container .card,
.batch-payment-wrapper .container .card,
[class*="customer-service"] .card,
[class*="tracking"] .card,
[class*="payment-selection"] .card,
[class*="batch-payment"] .card {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Override white form inputs in customer-service and tracking components */
body[class*="customer-service"] .form-group input,
body[class*="customer-service"] .form-group textarea,
body[class*="customer-service"] .form-group select,
body[class*="tracking"] .form-group input,
body[class*="tracking"] .form-group textarea,
body[class*="tracking"] .form-group select,
.page-content .form-group input,
.page-content .form-group textarea,
.page-content .form-group select,
.customer-service-wrapper .form-group input,
.customer-service-wrapper .form-group textarea,
.customer-service-wrapper .form-group select,
.tracking-wrapper .form-group input,
.tracking-wrapper .form-group textarea,
.tracking-wrapper .form-group select,
[class*="customer-service"] input,
[class*="customer-service"] textarea,
[class*="customer-service"] select,
[class*="tracking"] input,
[class*="tracking"] textarea,
[class*="tracking"] select {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Override container styling */
body[class*="customer-service"] .container,
body[class*="tracking"] .container,
.page-content .container,
.customer-service-wrapper .container,
.tracking-wrapper .container,
[class*="customer-service"] .container,
[class*="tracking"] .container {
  color: var(--text) !important;
}

/* Keep header and footer layout intact on customer-service and similar pages (prevent component CSS from constraining them) */
.site-header .container,
.site-footer .container {
  width: min(1100px, calc(100% - 32px)) !important;
  max-width: none !important;
}
.site-header .container--full {
  width: calc(100% - 32px) !important;
}

/* ============================================================================
   SHIPPING FORM
   ============================================================================ */
.shipping-form-wrapper {
  background: transparent !important;
  padding: 0 !important;
  min-height: auto !important;
  color: var(--text);
}

.shipping-form-wrapper .shipping-form {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.shipping-form-wrapper .shipping-header-promo {
  display: none;
}

.shipping-form-container {
  margin-top: var(--spacing-3xl);
}

.form-section {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--spacing-2xl);
  margin-bottom: var(--spacing-2xl);
}

.shipping-form-wrapper .form-section {
  border-bottom: 1px solid var(--border) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

.shipping-form-wrapper .form-section:last-of-type {
  border-bottom: none !important;
}

.shipping-form-wrapper .form-section h2,
.shipping-form-wrapper .form-section h3,
.shipping-form-wrapper h2,
.shipping-form-wrapper h3,
.shipping-form-wrapper h4 {
  color: var(--text) !important;
}

.shipping-form-wrapper .form-section h2 {
  margin: 0 0 var(--spacing-lg);
  font-size: 20px;
}

.shipping-form-wrapper p,
.shipping-form-wrapper label,
.shipping-form-wrapper small,
.shipping-form-wrapper .form-group label,
.shipping-form-wrapper .form-group,
.shipping-form-wrapper div,
.shipping-form-wrapper span {
  color: var(--text) !important;
}

.shipping-form-wrapper p[style*="color: #666"],
.shipping-form-wrapper small[style*="color: #666"],
.shipping-form-wrapper *[style*="color: #666"],
.shipping-form-wrapper p[style*="color:#666"],
.shipping-form-wrapper small[style*="color:#666"] {
  color: var(--muted) !important;
}

.shipping-form-wrapper p[style*="color: #333"],
.shipping-form-wrapper *[style*="color: #333"],
.shipping-form-wrapper p[style*="color:#333"] {
  color: var(--text) !important;
}

.shipping-form-wrapper .form-section p,
.shipping-form-wrapper .form-section label,
.shipping-form-wrapper .form-section small {
  color: var(--text) !important;
}

/* Carrier Selection */
.shipping-form-wrapper .carrier-select-card {
  background: var(--panel) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.shipping-form-wrapper .carrier-select-card:hover {
  background: var(--overlay-light-05) !important;
  border-color: var(--overlay-light-15) !important;
}

.shipping-form-wrapper .carrier-select-radio:checked + .carrier-select-card {
  background: var(--primary-overlay-15) !important;
  border-color: var(--primary-overlay-40) !important;
  color: var(--text) !important;
}

.shipping-form-wrapper .carrier-select-radio:not(:checked) + .carrier-select-card {
  opacity: 0.7;
}

.shipping-form-wrapper .carrier-name,
.shipping-form-wrapper .carrier-select-label {
  color: var(--text) !important;
}

/* Radio Options */
.shipping-form-wrapper .radio-option {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: var(--spacing-md) 15px;
  border: 2px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--panel);
  margin-bottom: 10px;
  transition: all 0.2s;
  color: var(--text) !important;
}

.shipping-form-wrapper .radio-option:hover {
  border-color: var(--overlay-light-20);
  background: var(--overlay-light-05);
}

.shipping-form-wrapper .radio-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  cursor: pointer;
}

.shipping-form-wrapper .radio-option::before {
  content: '';
  width: 18px;
  height: 18px;
  border: 2px solid var(--border);
  border-radius: 50%;
  margin-right: var(--spacing-md);
  flex-shrink: 0;
  transition: all 0.2s;
  background: transparent;
}

.shipping-form-wrapper .radio-option:has(input[type="radio"]:checked),
.shipping-form-wrapper .radio-option input[type="radio"]:checked + span {
  border-color: var(--primary-solid) !important;
  background: var(--primary-overlay-40) !important;
  border-width: 3px !important;
  box-shadow: var(--shadow-primary-sm) !important;
}

.shipping-form-wrapper .radio-option:has(input[type="radio"]:checked)::before {
  border-color: var(--primary-overlay-80) !important;
  background: var(--primary-overlay-80) !important;
  box-shadow: inset 0 0 0 3px var(--panel) !important;
}

.shipping-form-wrapper .radio-option:has(input[type="radio"]:checked) span,
.shipping-form-wrapper .radio-option input[type="radio"]:checked + span {
  color: var(--text) !important;
  font-weight: 700 !important;
}

.shipping-form-wrapper .radio-option span {
  color: var(--text) !important;
  flex: 1;
}

/* Select Your Carrier + Package Type: white background, black text (all states) */
.shipping-form-wrapper select,
.shipping-form-wrapper .carrier-package-dropdown,
.shipping-form-wrapper .carrier-package-dropdown:focus,
.shipping-form-wrapper .multi-package-type-select,
.shipping-form-wrapper .multi-package-type-select:focus {
  background: #fff !important;
  color: #000 !important;
  border-color: #ddd !important;
}

.shipping-form-wrapper select:focus,
.shipping-form-wrapper .carrier-package-dropdown:focus {
  box-shadow: none !important;
}

.shipping-form-wrapper select option,
.shipping-form-wrapper .carrier-package-dropdown option,
.shipping-form-wrapper .multi-package-type-select option,
.shipping-form-wrapper .multi-package-type-select optgroup {
  background: #fff !important;
  color: #000 !important;
}

.shipping-form-wrapper .package-dropdown-label {
  color: #000 !important;
}

/* Address Section */
.shipping-form-wrapper .address-section {
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
}

.shipping-form-wrapper .address-section label,
.shipping-form-wrapper .address-column label,
.shipping-form-wrapper .address-column h2 {
  color: var(--text) !important;
  background: transparent !important;
}

/* Customs Section */
.shipping-form-wrapper .customs-item,
.shipping-form-wrapper .package-item {
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
}

.shipping-form-wrapper .package-item h4 {
  color: var(--text) !important;
}

.shipping-form-wrapper .customs-section-wrapper {
  background: var(--panel) !important;
  border-color: var(--border) !important;
}

.shipping-form-wrapper .customs-section-wrapper label,
.shipping-form-wrapper .customs-section-wrapper .form-group label,
.shipping-form-wrapper .customs-section-wrapper h3,
.shipping-form-wrapper #customs-section label,
.shipping-form-wrapper .customs-item label,
.shipping-form-wrapper #customs-items-container label {
  color: var(--text) !important;
  background: transparent !important;
}

.shipping-form-wrapper .customs-required-star {
  color: var(--alert-error-text) !important;
}

.shipping-form-wrapper .customs-section-wrapper p[style*="color: #666"],
.shipping-form-wrapper .customs-section-wrapper small[style*="color: #666"],
.shipping-form-wrapper .customs-section-wrapper p,
.shipping-form-wrapper .customs-section-wrapper small {
  color: var(--muted) !important;
}

/* Customs section: white background, black text (and keep on focus for scanability) */
.shipping-form-wrapper .customs-section-wrapper input,
.shipping-form-wrapper .customs-section-wrapper select,
.shipping-form-wrapper .customs-section-wrapper textarea,
.shipping-form-wrapper .customs-item input,
.shipping-form-wrapper .customs-item select,
.shipping-form-wrapper .customs-item textarea,
.shipping-form-wrapper #customs-items-container input,
.shipping-form-wrapper #customs-items-container select,
.shipping-form-wrapper #customs-items-container textarea {
  background: #ffffff !important;
  border-color: #ced4da !important;
  color: #000000 !important;
}

.shipping-form-wrapper .customs-section-wrapper input:focus,
.shipping-form-wrapper .customs-section-wrapper select:focus,
.shipping-form-wrapper .customs-section-wrapper textarea:focus,
.shipping-form-wrapper .customs-item input:focus,
.shipping-form-wrapper .customs-item select:focus,
.shipping-form-wrapper .customs-item textarea:focus,
.shipping-form-wrapper #customs-items-container input:focus,
.shipping-form-wrapper #customs-items-container select:focus,
.shipping-form-wrapper #customs-items-container textarea:focus {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: var(--primary, #1f6feb) !important;
}

/* Customs Declaration fields - white for scanability */
.shipping-form-wrapper #customs_contents_type,
.shipping-form-wrapper #customs_contents_explanation,
.shipping-form-wrapper #customs_non_delivery_option {
  background: #ffffff !important;
  color: #000000 !important;
}

.shipping-form-wrapper #customs_contents_type:focus,
.shipping-form-wrapper #customs_contents_explanation:focus,
.shipping-form-wrapper #customs_non_delivery_option:focus {
  background: #ffffff !important;
  color: #000000 !important;
}

.shipping-form-wrapper #customs_contents_type option,
.shipping-form-wrapper #customs_non_delivery_option option {
  background: #ffffff !important;
  color: #000000 !important;
}

/* International Section */
.shipping-form-wrapper .international-toggle-section {
  background: var(--panel) !important;
  border-color: var(--border) !important;
}

.shipping-form-wrapper .international-toggle-section label,
.shipping-form-wrapper .international-toggle-label,
.shipping-form-wrapper .international-toggle-label .toggle-text,
.shipping-form-wrapper .toggle-text {
  color: var(--text) !important;
  background: transparent !important;
}

.shipping-form-wrapper .international-toggle-wrapper p[style*="color: #666"],
.shipping-form-wrapper .international-toggle-wrapper p {
  color: var(--muted) !important;
}

/* International Shipment - Customs Declaration notice: dark text on yellow for contrast */
.shipping-form-wrapper .international-shipment-notice,
.shipping-form-wrapper .international-shipment-notice * {
  background: #fff3cd !important;
  border-color: #ffc107 !important;
  color: #856404 !important;
}

.shipping-form-wrapper .international-checkbox,
.shipping-form-wrapper input[type="checkbox"] {
  accent-color: var(--primary-overlay-80);
  width: 18px;
  height: 18px;
  cursor: pointer;
  filter: brightness(1.2);
}

.shipping-form-wrapper .international-checkbox {
  width: 20px;
  height: 20px;
}

/* ============================================================================
   SHIPPING HEADER PROMO
   ============================================================================ */
.page-content > .shipping-header-promo,
.shipping-header-promo:not(.shipping-form-wrapper .shipping-header-promo) {
  background: var(--panel) !important;
  background-image: none !important;
  background-color: var(--panel) !important;
  color: white !important;
  padding: 40px var(--spacing-xl) !important;
  border-radius: var(--radius-lg) !important;
  margin-bottom: var(--spacing-3xl) !important;
  text-align: center !important;
  box-shadow: var(--shadow-lg) !important;
  border: 1px solid var(--border) !important;
}

.shipping-header-promo[style*="background"],
.shipping-header-promo[style*="gradient"],
.shipping-header-promo[style*="linear-gradient"],
.shipping-header-promo[style*="667eea"],
.shipping-header-promo[style*="764ba2"] {
  background: var(--panel) !important;
  background-image: none !important;
  background-color: var(--panel) !important;
}

.promo-content {
  max-width: 800px;
  margin: 0 auto;
}

.promo-title {
  font-size: 2.5em;
  font-weight: 700;
  margin-bottom: var(--spacing-xl);
  text-shadow: 2px 2px 4px var(--overlay-dark-20);
  color: white;
}

.promo-text {
  font-size: 1.2em;
  line-height: 1.8;
  opacity: 0.95;
  color: white;
}

.promo-text p {
  margin: 10px 0;
  color: white;
}

/* ============================================================================
   PAYMENT SELECTION
   ============================================================================ */
/* Override purple gradient backgrounds from component inline styles */
/* Catches inline style attributes and component-generated inline styles */
body[style*="background: linear-gradient(135deg, #667eea"],
body[style*="background:linear-gradient(135deg, #667eea"],
body[style*="background: linear-gradient(135deg, #667eea 0%"],
body[style*="background:linear-gradient(135deg, #667eea 0%"],
body[style*="background: linear-gradient(135deg, #667eea 0%, #764ba2"],
body[style*="background:linear-gradient(135deg, #667eea 0%, #764ba2"],
body[style*="667eea"],
body[style*="764ba2"] {
  background: var(--bg) !important;
  background-color: var(--bg) !important;
  background-image: var(--bg-image, none) !important;
}

.payment-selection-wrapper,
.payment-selection-wrapper * {
  color: var(--text) !important;
}

.payment-selection-wrapper .card,
.batch-payment-wrapper .card {
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  box-shadow: var(--shadow-md) !important;
}

.payment-selection-wrapper .order-info h2,
.payment-selection-wrapper .rates-section h2,
.page-content .order-info h2,
.page-content .rates-section h2,
.card.order-info h2,
.card.rates-section h2,
.order-info h2,
.rates-section h2,
.order-info h2[style*="color"],
.rates-section h2[style*="color"],
.card.order-info h2[style*="color"],
.card.rates-section h2[style*="color"] {
  color: white !important;
  color: #ffffff !important;
  border-bottom-color: var(--border) !important;
}

.payment-selection-wrapper .token-section {
  background: var(--overlay-light-03) !important;
  border: 1px solid var(--border) !important;
}

.payment-selection-wrapper .token-section h3 {
  color: var(--text) !important;
}

.payment-selection-wrapper .token-display {
  background: var(--panel) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

/* Rate Cards */
.payment-selection-wrapper .rate-card {
  background: var(--panel) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.payment-selection-wrapper .rate-card:not(.selected),
.payment-selection-wrapper .rate-option input[type="radio"]:not(:checked) + .rate-card {
  border-color: var(--overlay-light-25) !important;
  background: var(--panel) !important;
}

.payment-selection-wrapper .rate-card:hover {
  border-color: var(--overlay-light-30) !important;
  box-shadow: var(--shadow-md) !important;
  opacity: 1 !important;
}

.payment-selection-wrapper .rate-card.selected,
.payment-selection-wrapper .rate-option input[type="radio"]:checked + .rate-card {
  border-color: var(--primary-overlay-80) !important;
  border-width: 3px !important;
  background: var(--primary-overlay-15) !important;
  opacity: 1 !important;
}

.payment-selection-wrapper .carrier-name,
.payment-selection-wrapper .service-name,
.payment-selection-wrapper .rate-card:not(.selected) .carrier-name,
.payment-selection-wrapper .rate-card:not(.selected) .service-name {
  color: var(--text) !important;
}

.payment-selection-wrapper .rate-price,
.payment-selection-wrapper .rate-card:not(.selected) .rate-price {
  color: var(--text) !important;
}

.payment-selection-wrapper .original-price,
.payment-selection-wrapper .original-price .amount {
  color: var(--muted) !important;
}

.payment-selection-wrapper .final-price {
  color: var(--alert-success-text) !important;
}

.payment-selection-wrapper .discount-badge {
  background: var(--alert-success-bg) !important;
  color: var(--alert-success-text) !important;
  border: 1px solid var(--alert-success-border) !important;
}

/* Payment Method Cards */
.payment-selection-wrapper .payment-method-card,
body .payment-method-card {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.payment-selection-wrapper .payment-method-card *,
.payment-selection-wrapper .payment-method-card div,
.payment-selection-wrapper .payment-method-card span,
.payment-selection-wrapper .payment-method-card label,
.payment-selection-wrapper .payment-method-card p,
body .payment-method-card *,
body .payment-method-card div,
body .payment-method-card span,
body .payment-method-card label {
  color: var(--text) !important;
  background: transparent !important;
  background-color: transparent !important;
}

.payment-selection-wrapper .payment-method-card:hover,
body .payment-method-card:hover {
  border-color: var(--overlay-light-20) !important;
  box-shadow: var(--shadow-md) !important;
  background: var(--overlay-light-03) !important;
  background-color: var(--overlay-light-03) !important;
}

.payment-selection-wrapper .payment-method-card:hover *,
body .payment-method-card:hover * {
  color: var(--text) !important;
}

.payment-selection-wrapper .payment-method-card.selected,
body .payment-method-card.selected {
  border-color: var(--primary-overlay-60) !important;
  background: var(--primary-overlay-15) !important;
  background-color: var(--primary-overlay-15) !important;
}

.payment-selection-wrapper .payment-method-card.selected *,
body .payment-method-card.selected * {
  color: var(--text) !important;
}

.payment-selection-wrapper .payment-method-card[style*="background"],
.payment-selection-wrapper .payment-method-card[style*="color"],
body .payment-method-card[style*="background"],
body .payment-method-card[style*="color"] {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  color: var(--text) !important;
}

.payment-selection-wrapper .payment-name,
body .payment-name {
  color: var(--text) !important;
}

.payment-selection-wrapper .payment-desc,
body .payment-desc {
  color: var(--muted) !important;
}

.payment-selection-wrapper .payment-icon,
body .payment-icon {
  color: var(--text) !important;
}

/* Label Delivery Method */
.payment-selection-wrapper .label-delivery-section,
.payment-selection-wrapper div.label-delivery-section,
.payment-selection-wrapper div[style*="background: #f8f9fa"],
body .label-delivery-section {
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--spacing-3xl) !important;
  box-shadow: var(--shadow-md) !important;
  margin-top: 25px !important;
  margin-bottom: var(--spacing-xl) !important;
}

.payment-selection-wrapper .label-delivery-section span,
.payment-selection-wrapper div[style*="Label Delivery Method"] span,
body .label-delivery-section span {
  display: block;
  margin-bottom: var(--spacing-xl);
  font-weight: 600;
  font-size: 1.1em;
  color: var(--text) !important;
}

.payment-selection-wrapper .label-delivery-section *,
.payment-selection-wrapper span[style*="color: #333"],
.payment-selection-wrapper span[style*="color:#333"] {
  color: var(--text) !important;
}

.payment-selection-wrapper .delivery-option,
.payment-selection-wrapper label.delivery-option,
.payment-selection-wrapper label[for^="delivery_"],
.payment-selection-wrapper label[for="delivery_download"],
.payment-selection-wrapper label[for="delivery_email"],
.payment-selection-wrapper label[for="delivery_both"],
body .delivery-option,
body label.delivery-option,
body label[for^="delivery_"] {
  color: var(--text) !important;
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border-color: var(--border) !important;
}

.payment-selection-wrapper .delivery-option *,
.payment-selection-wrapper .delivery-option strong,
body .delivery-option *,
body .delivery-option strong {
  color: var(--text) !important;
  background: transparent !important;
  background-color: transparent !important;
}

.payment-selection-wrapper .delivery-option:hover,
body .delivery-option:hover {
  color: var(--text) !important;
  background: var(--overlay-light-05) !important;
  background-color: var(--overlay-light-05) !important;
  border-color: var(--overlay-light-20) !important;
}

.payment-selection-wrapper .delivery-option:hover *,
body .delivery-option:hover * {
  color: var(--text) !important;
}

.payment-selection-wrapper .delivery-radio:checked + .delivery-option,
body .delivery-radio:checked + .delivery-option {
  color: var(--text) !important;
  background: var(--primary-overlay-40) !important;
  background-color: var(--primary-overlay-40) !important;
  border-color: var(--primary-solid) !important;
  border-width: 3px !important;
  box-shadow: var(--shadow-primary-sm) !important;
}

.payment-selection-wrapper .delivery-radio:checked + .delivery-option *,
body .delivery-radio:checked + .delivery-option *,
.payment-selection-wrapper .delivery-radio:checked + .delivery-option strong,
body .delivery-radio:checked + .delivery-option strong {
  color: var(--text) !important;
  font-weight: 700 !important;
}

.payment-selection-wrapper .delivery-option::before,
body .delivery-option::before {
  border-color: var(--border) !important;
  background: transparent !important;
  background-color: transparent !important;
}

.payment-selection-wrapper .delivery-radio:checked + .delivery-option::before,
body .delivery-radio:checked + .delivery-option::before {
  border-color: var(--primary-overlay-80) !important;
  background: var(--primary-overlay-80) !important;
  background-color: var(--primary-overlay-80) !important;
  box-shadow: inset 0 0 0 3px var(--panel) !important;
}

.payment-selection-wrapper .delivery-option[style*="background"],
.payment-selection-wrapper label[style*="background"],
body .delivery-option[style*="background"],
body label[style*="background"] {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
}

.payment-selection-wrapper .delivery-option[style*="color"],
.payment-selection-wrapper label[style*="color"],
body .delivery-option[style*="color"],
body label[style*="color"] {
  color: var(--text) !important;
}

.payment-selection-wrapper .email-field-wrapper label {
  color: var(--text) !important;
}

.payment-selection-wrapper .email-field-wrapper input {
  background: var(--panel) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.payment-selection-wrapper .email-field-wrapper small {
  color: var(--muted) !important;
}

/* Crypto Selector */
.payment-selection-wrapper .crypto-selector,
body .crypto-selector,
.payment-selection-wrapper div[style*="background: #f8f9fa"][class*="crypto"],
body div[style*="background: #f8f9fa"][class*="crypto"] {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid var(--border) !important;
}

.payment-selection-wrapper .crypto-selector label,
body .crypto-selector label,
.payment-selection-wrapper div[style*="background: #f8f9fa"] label[style*="font-weight: 500"],
body div[style*="background: #f8f9fa"] label[style*="font-weight: 500"] {
  color: var(--text) !important;
  background: transparent !important;
}

.payment-selection-wrapper .crypto-selector select,
body .crypto-selector select,
.payment-selection-wrapper select[name="crypto_currency"],
.payment-selection-wrapper select[id="crypto_currency_select"],
body select[name="crypto_currency"],
body select[id="crypto_currency_select"],
.payment-selection-wrapper select[style*="background: white"],
body select[style*="background: white"] {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.payment-selection-wrapper .crypto-selector select option,
body .crypto-selector select option,
.payment-selection-wrapper select[name="crypto_currency"] option,
body select[name="crypto_currency"] option {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  color: var(--text) !important;
}

.payment-selection-wrapper .crypto-selector small,
body .crypto-selector small,
.payment-selection-wrapper div[style*="background: #f8f9fa"] small[style*="color: #6c757d"],
body div[style*="background: #f8f9fa"] small[style*="color: #6c757d"] {
  color: var(--muted) !important;
}

.payment-selection-wrapper .crypto-selector small strong,
body .crypto-selector small strong {
  color: var(--text) !important;
}

.payment-selection-wrapper .crypto-discount {
  background: var(--alert-success-bg) !important;
  border-color: var(--alert-success-border) !important;
  color: var(--alert-success-text) !important;
}

/* Stripe Section */
.payment-selection-wrapper .stripe-section,
body .stripe-section {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--spacing-3xl) !important;
  box-shadow: var(--shadow-md) !important;
  margin-top: var(--spacing-xl) !important;
  margin-bottom: var(--spacing-xl) !important;
}

.payment-selection-wrapper .stripe-section label,
body .stripe-section label {
  display: block;
  margin-bottom: var(--spacing-sm);
  font-weight: 500;
  color: var(--text) !important;
}

.payment-selection-wrapper #stripe-card-element,
body #stripe-card-element {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid var(--border) !important;
  border-color: var(--border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 15px !important;
  color: var(--text) !important;
}

.payment-selection-wrapper #stripe-card-errors,
body #stripe-card-errors {
  color: var(--alert-error-text) !important;
}

.payment-selection-wrapper .stripe-section .form-group,
body .stripe-section .form-group {
  margin-bottom: var(--spacing-xl);
}

/* Payment Section */
.payment-selection-wrapper .payment-section {
  border-top-color: var(--border) !important;
}

.payment-selection-wrapper .payment-section h3,
.page-content .payment-section h3,
.payment-section h3,
.payment-section h3[style*="color"] {
  color: white !important;
  color: #ffffff !important;
}

/* Form Groups */
.payment-selection-wrapper .form-group label {
  color: var(--text) !important;
}

.payment-selection-wrapper .form-group input,
.payment-selection-wrapper .form-group select {
  background: var(--panel) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.payment-selection-wrapper select,
.payment-selection-wrapper select option,
body select,
body select option {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  color: var(--text) !important;
}

.payment-selection-wrapper #rate_priority,
.payment-selection-wrapper select[name="rate_priority"],
.payment-selection-wrapper .form-control,
.payment-selection-wrapper select[name="cryptocurrency"],
.payment-selection-wrapper select[id*="crypto"],
body select {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.payment-selection-wrapper select:focus,
body select:focus {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  color: var(--text) !important;
}

/* ============================================================================
   CRYPTO PAYMENT
   ============================================================================ */
.crypto-payment-wrapper,
.crypto-payment-wrapper * {
  color: var(--text) !important;
}

.crypto-payment-wrapper h1 {
  color: var(--text) !important;
}

.crypto-payment-wrapper .payment-container,
.crypto-payment-wrapper div[style*="background: #fff"],
.crypto-payment-wrapper div[style*="background:#fff"] {
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-md) !important;
}

.crypto-payment-wrapper .order-summary,
.crypto-payment-wrapper div[style*="background: #f8f9fa"],
.crypto-payment-wrapper div[style*="background:#f8f9fa"] {
  background: var(--overlay-light-03) !important;
  border: 1px solid var(--border) !important;
}

.crypto-payment-wrapper .order-summary h3,
.crypto-payment-wrapper div[style*="color: #333"] h3,
.crypto-payment-wrapper div[style*="color:#333"] h3 {
  color: var(--text) !important;
}

.crypto-payment-wrapper .order-summary span,
.crypto-payment-wrapper .order-summary strong {
  color: var(--text) !important;
}

.crypto-payment-wrapper .crypto-details h2 {
  color: var(--text) !important;
}

.crypto-payment-wrapper div[style*="color: #666"],
.crypto-payment-wrapper div[style*="color:#666"],
.crypto-payment-wrapper p[style*="color: #666"],
.crypto-payment-wrapper p[style*="color:#666"] {
  color: var(--muted) !important;
}

.crypto-payment-wrapper .amount-box,
.crypto-payment-wrapper div[style*="background: #1a1a2e"] {
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

.crypto-payment-wrapper .address-box,
.crypto-payment-wrapper div[style*="background: #f8f9fa"][style*="border: 2px dashed"] {
  background: var(--panel) !important;
  border: 2px dashed var(--border) !important;
}

.crypto-payment-wrapper .address-box div[style*="background: #fff"],
.crypto-payment-wrapper div[style*="background: #fff"][style*="font-family: monospace"] {
  background: var(--overlay-light-05) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.crypto-payment-wrapper div[style*="background: #e7f3ff"],
.crypto-payment-wrapper div[style*="background:#e7f3ff"] {
  background: var(--alert-info-bg) !important;
  border-color: var(--alert-info-border) !important;
}

.crypto-payment-wrapper div[style*="color: #084298"],
.crypto-payment-wrapper div[style*="color:#084298"],
.crypto-payment-wrapper strong[style*="color: #084298"],
.crypto-payment-wrapper strong[style*="color:#084298"] {
  color: var(--alert-info-text) !important;
}

.crypto-payment-wrapper .alert-error,
.crypto-payment-wrapper div[style*="background: #f8d7da"] {
  background: var(--alert-error-bg) !important;
  border-color: var(--alert-error-border) !important;
  color: var(--alert-error-text) !important;
}

.crypto-payment-wrapper .alert-info,
.crypto-payment-wrapper div[style*="background: #d1ecf1"] {
  background: var(--alert-info-bg) !important;
  border-color: var(--alert-info-border) !important;
  color: var(--alert-info-text) !important;
}

.crypto-payment-wrapper .qr-code img {
  border-color: var(--border) !important;
  box-shadow: var(--shadow-md) !important;
}

.crypto-payment-wrapper div[style*="color: #999"],
.crypto-payment-wrapper p[style*="color: #999"] {
  color: var(--muted) !important;
}

/* ============================================================================
   PAYMENT METHODS FOOTER
   ============================================================================ */
.payment-methods-footer {
  background: var(--panel) !important;
  border-top: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--spacing-3xl) var(--spacing-xl) !important;
  margin-top: 40px !important;
}

.payment-methods-content {
  max-width: 800px;
  margin: 0 auto;
}

.payment-methods-title {
  color: var(--text) !important;
  font-size: 1.3em;
  font-weight: 600;
  margin-bottom: 15px;
}

.payment-trust-badge {
  margin-bottom: var(--spacing-lg);
  display: flex;
  justify-content: center;
  align-items: center;
}

.payment-trust-badge .trust-badge-img {
  height: 64px;
  width: auto;
  min-width: 200px;
  max-width: 300px;
  object-fit: contain;
  opacity: 1;
}

.payment-methods-list {
  margin-bottom: var(--spacing-xl);
}

.payment-row {
  color: var(--text) !important;
}

.payment-row span {
  color: var(--text) !important;
}

.payment-features {
  border-top: 1px solid var(--border) !important;
  margin-top: var(--spacing-xl);
  padding-top: var(--spacing-xl);
}

.payment-features p {
  color: var(--muted) !important;
  margin: var(--spacing-sm) 0;
  font-size: 0.95em;
}

.crypto-icon svg {
  filter: brightness(1.1);
  display: inline-block !important;
  vertical-align: middle;
}

/* Ensure inline SVGs render in strict browsers (Tor, NoScript) */
.inline-svg {
  display: inline-block !important;
  vertical-align: middle;
}

.tor-logo-svg {
  display: inline-block !important;
  vertical-align: middle;
  flex-shrink: 0;
}

.crypto-svg {
  display: inline-block !important;
  vertical-align: middle;
}

/* ============================================================================
   BATCH IMPORT
   ============================================================================ */
.batch-import,
.batch-import * {
  color: var(--text) !important;
}

/* Links in meta and nav use theme accent (Bulk Paste, Single shipment) */
.batch-import a.link-accent {
  color: var(--accent, var(--primary)) !important;
}
.batch-import a.link-accent:hover {
  color: var(--accent, var(--primary)) !important;
  text-decoration: underline;
  text-decoration-color: var(--overlay-light-30);
}

.batch-import h1,
.batch-import h3,
.batch-import h4 {
  color: var(--text) !important;
}

.batch-import p,
.batch-import li {
  color: var(--text) !important;
}

.batch-import .info-box,
.batch-import .result-box {
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

.batch-import .info-box[style*="background-color: #fff3cd"],
.batch-import .result-box[style*="background-color: #fff3cd"] {
  background: var(--alert-warning-bg) !important;
  border-color: var(--alert-warning-border) !important;
  color: var(--alert-warning-text) !important;
}

.batch-import .result-box[style*="background-color: #f8d7da"] {
  background: var(--alert-error-bg) !important;
  border-color: var(--alert-error-border) !important;
  color: var(--alert-error-text) !important;
}

.batch-import .result-box[style*="background-color: #d4edda"] {
  background: var(--alert-success-bg) !important;
  border-color: var(--alert-success-border) !important;
  color: var(--alert-success-text) !important;
}

.batch-import table th {
  background: var(--overlay-light-05) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}

.batch-import table td {
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

.batch-import code {
  background: var(--overlay-light-05) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--spacing-xs);
}

.batch-import ul {
  margin: 10px 0;
  padding-left: var(--spacing-xl);
}

/* ============================================================================
   ORDER RECOVERY
   ============================================================================ */
.order-recovery,
.order-recovery *,
body .order-recovery,
body .order-recovery * {
  color: var(--text) !important;
}

.order-recovery [style*="color"],
.order-recovery [style*="background"],
body .order-recovery [style*="color"],
body .order-recovery [style*="background"] {
  color: var(--text) !important;
}

.order-recovery h1,
.order-recovery h2,
.order-recovery h3,
.order-recovery h4,
.order-recovery p,
.order-recovery li,
.order-recovery div,
.order-recovery span,
.order-recovery strong {
  color: var(--text) !important;
}

.order-recovery .order-display-nojs,
.order-recovery #order-details-nojs,
.order-recovery #batch-orders-nojs,
.order-recovery div[style*="background: #fff"],
.order-recovery div[style*="background-color: #fff"],
.order-recovery div[style*="background:#fff"],
body .order-recovery div[style*="background"],
body .order-recovery div[style*="background-color"] {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid var(--border) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.order-recovery div[style*="background: #fff"] *,
.order-recovery div[style*="background-color: #fff"] *,
.order-recovery div[style*="background:#fff"] *,
body .order-recovery div[style*="background: #fff"] * {
  color: var(--text) !important;
}

.order-recovery div[style*="background: #f8f9fa"],
.order-recovery div[style*="background-color: #f8f9fa"],
.order-recovery div[style*="background:#f8f9fa"] {
  background: var(--overlay-light-03) !important;
  background-color: var(--overlay-light-03) !important;
  border: 1px solid var(--border) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

.order-recovery div[style*="background: #e7f3ff"],
.order-recovery div[style*="background-color: #e7f3ff"],
.order-recovery div[style*="background:#e7f3ff"] {
  background: var(--primary-overlay-15) !important;
  background-color: var(--primary-overlay-15) !important;
  border-color: var(--primary-overlay-30) !important;
  color: var(--text) !important;
}

.order-recovery div[style*="color: #333"],
.order-recovery div[style*="color:#333"],
.order-recovery h2[style*="color: #333"],
.order-recovery h4[style*="color: #333"] {
  color: var(--text) !important;
}

.order-recovery div[style*="color: #666"],
.order-recovery div[style*="color:#666"],
.order-recovery span[style*="color: #666"] {
  color: var(--muted) !important;
}

.order-recovery code,
.order-recovery code[style*="background: #e9ecef"] {
  background: var(--overlay-light-05) !important;
  background-color: var(--overlay-light-05) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}

.order-recovery .alert,
.order-recovery .alert[style*="background: #f8d7da"],
.order-recovery div[style*="background: #f8d7da"] {
  background: var(--alert-error-bg) !important;
  background-color: var(--alert-error-bg) !important;
  border-color: var(--alert-error-border) !important;
  color: var(--alert-error-text) !important;
}

.order-recovery .alert[style*="background: #d4edda"],
.order-recovery div[style*="background: #d4edda"] {
  background: var(--alert-success-bg) !important;
  background-color: var(--alert-success-bg) !important;
  border-color: var(--alert-success-border) !important;
  color: var(--alert-success-text) !important;
}

.order-recovery .alert[style*="background: #d1ecf1"],
.order-recovery div[style*="background: #d1ecf1"] {
  background: var(--alert-info-bg) !important;
  background-color: var(--alert-info-bg) !important;
  border-color: var(--alert-info-border) !important;
  color: var(--alert-info-text) !important;
}

.order-recovery a[style*="background-color: #667eea"],
.order-recovery a[style*="background-color:#667eea"],
.order-recovery button[style*="background-color: #667eea"] {
  background-color: var(--primary-overlay-80) !important;
  color: white !important;
}

.order-recovery a[style*="background-color: #28a745"],
.order-recovery a[style*="background-color:#28a745"],
.order-recovery button[style*="background-color: #28a745"] {
  background-color: rgba(40, 167, 69, 0.8) !important;
  color: white !important;
}

.order-recovery a[style*="background-color: #dc3545"],
.order-recovery a[style*="background-color:#dc3545"],
.order-recovery button[style*="background-color: #dc3545"] {
  background-color: rgba(220, 53, 69, 0.8) !important;
  color: white !important;
}

.order-recovery a[style*="background-color: #17a2b8"],
.order-recovery button[style*="background-color: #17a2b8"] {
  background-color: rgba(23, 162, 184, 0.8) !important;
  color: white !important;
}

.order-recovery a:hover {
  opacity: 0.9;
}

.order-recovery .form-group,
.order-recovery form,
.order-recovery form * {
  color: var(--text) !important;
}

.order-recovery .form-group label,
.order-recovery form label,
.order-recovery label,
.order-recovery .form-group > label {
  color: var(--text) !important;
  background: transparent !important;
  background-color: transparent !important;
  display: block !important;
}

.order-recovery .form-group input,
.order-recovery .form-group textarea,
.order-recovery .form-group select,
.order-recovery form input,
.order-recovery form textarea,
.order-recovery form select,
.order-recovery input[type="text"],
.order-recovery input[type="email"],
.order-recovery input[type="password"],
.order-recovery input {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  border: 1px solid var(--border) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
  padding: 10px var(--spacing-md) !important;
  border-radius: var(--radius-sm) !important;
}

.order-recovery input::placeholder,
.order-recovery textarea::placeholder {
  color: var(--muted) !important;
  opacity: 0.7;
}

.order-recovery .form-group small,
.order-recovery form small,
.order-recovery small {
  color: var(--muted) !important;
  display: block !important;
  margin-top: 5px !important;
}

.order-recovery .form-group button,
.order-recovery form button,
.order-recovery button[type="submit"],
.order-recovery button {
  background: var(--overlay-light-08) !important;
  background-color: var(--overlay-light-08) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  padding: 10px var(--spacing-lg) !important;
  border-radius: var(--radius-sm) !important;
  cursor: pointer !important;
}

.order-recovery button:hover {
  background: var(--overlay-light-12) !important;
  background-color: var(--overlay-light-12) !important;
}

/* Primary buttons (Load Order / Load Orders) - match Calculate Postage */
.order-recovery .btn-primary,
.order-recovery form button.btn-primary,
.order-recovery .form-group button.btn-primary,
.order-recovery button.btn-primary {
  background: var(--primary) !important;
  background-color: var(--primary) !important;
  background-image: none !important;
  color: white !important;
  border: none !important;
  padding: 15px var(--spacing-3xl) !important;
  border-radius: var(--radius-md) !important;
  font-size: 1.1em !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  width: 100% !important;
}

.order-recovery .btn-primary:hover,
.order-recovery form button.btn-primary:hover,
.order-recovery .form-group button.btn-primary:hover,
.order-recovery button.btn-primary:hover {
  background: var(--primary-2) !important;
  background-color: var(--primary-2) !important;
  background-image: none !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-primary) !important;
}

.order-recovery .btn-primary:active,
.order-recovery form button.btn-primary:active,
.order-recovery button.btn-primary:active {
  transform: translateY(0) !important;
}

.order-recovery .btn-primary:disabled,
.order-recovery form button.btn-primary:disabled,
.order-recovery button.btn-primary:disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

.order-recovery input:focus,
.order-recovery select:focus,
.order-recovery textarea:focus {
  border-color: var(--overlay-light-20) !important;
  background: var(--overlay-light-02) !important;
  background-color: var(--overlay-light-02) !important;
}

/* Recovery Token, Recovery Code, Master Token, Wallet Address, Recipient Postal Code: white fields for scannability */
.order-recovery input[name="token"],
.order-recovery input[name="code"],
.order-recovery input[name="master_token"],
.order-recovery input[name="wallet_address"],
.order-recovery input[name="postal_code"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #ced4da !important;
}

.order-recovery input[name="token"]:focus,
.order-recovery input[name="code"]:focus,
.order-recovery input[name="master_token"]:focus,
.order-recovery input[name="wallet_address"]:focus,
.order-recovery input[name="postal_code"]:focus {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #667eea !important;
}

.order-recovery input[name="token"]::placeholder,
.order-recovery input[name="code"]::placeholder,
.order-recovery input[name="master_token"]::placeholder,
.order-recovery input[name="wallet_address"]::placeholder,
.order-recovery input[name="postal_code"]::placeholder {
  color: #6c757d !important;
}

/* Tracking page: white background for tracking number field */
.tracking-wrapper textarea[name="tracking_number"],
body[class*="tracking"] textarea[name="tracking_number"],
[class*="tracking"] textarea[name="tracking_number"],
.page-content textarea[name="tracking_number"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #ced4da !important;
}

.tracking-wrapper textarea[name="tracking_number"]:focus,
body[class*="tracking"] textarea[name="tracking_number"]:focus,
[class*="tracking"] textarea[name="tracking_number"]:focus,
.page-content textarea[name="tracking_number"]:focus {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #667eea !important;
}

.tracking-wrapper textarea[name="tracking_number"]::placeholder,
body[class*="tracking"] textarea[name="tracking_number"]::placeholder,
[class*="tracking"] textarea[name="tracking_number"]::placeholder,
.page-content textarea[name="tracking_number"]::placeholder {
  color: #6c757d !important;
}

/* Customer Service page: white background for all form fields */
.customer-service-wrapper input[name="name"],
.customer-service-wrapper input[name="email"],
.customer-service-wrapper input[name="subject"],
.customer-service-wrapper textarea[name="message"],
.customer-service-wrapper input[name="recovery_token"],
.customer-service-wrapper input[name="recovery_code"],
.customer-service-wrapper input[name="tracking_number"],
body[class*="customer-service"] input[name="name"],
body[class*="customer-service"] input[name="email"],
body[class*="customer-service"] input[name="subject"],
body[class*="customer-service"] textarea[name="message"],
body[class*="customer-service"] input[name="recovery_token"],
body[class*="customer-service"] input[name="recovery_code"],
body[class*="customer-service"] input[name="tracking_number"],
.customer-service-component input[name="name"],
.customer-service-component input[name="email"],
.customer-service-component input[name="subject"],
.customer-service-component textarea[name="message"],
.customer-service-component input[name="recovery_token"],
.customer-service-component input[name="recovery_code"],
.customer-service-component input[name="tracking_number"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #ced4da !important;
}

.customer-service-wrapper input[name="name"]:focus,
.customer-service-wrapper input[name="email"]:focus,
.customer-service-wrapper input[name="subject"]:focus,
.customer-service-wrapper textarea[name="message"]:focus,
.customer-service-wrapper input[name="recovery_token"]:focus,
.customer-service-wrapper input[name="recovery_code"]:focus,
.customer-service-wrapper input[name="tracking_number"]:focus,
body[class*="customer-service"] input[name="name"]:focus,
body[class*="customer-service"] input[name="email"]:focus,
body[class*="customer-service"] input[name="subject"]:focus,
body[class*="customer-service"] textarea[name="message"]:focus,
body[class*="customer-service"] input[name="recovery_token"]:focus,
body[class*="customer-service"] input[name="recovery_code"]:focus,
body[class*="customer-service"] input[name="tracking_number"]:focus,
.customer-service-component input[name="name"]:focus,
.customer-service-component input[name="email"]:focus,
.customer-service-component input[name="subject"]:focus,
.customer-service-component textarea[name="message"]:focus,
.customer-service-component input[name="recovery_token"]:focus,
.customer-service-component input[name="recovery_code"]:focus,
.customer-service-component input[name="tracking_number"]:focus {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #667eea !important;
}

.customer-service-wrapper input[name="name"]::placeholder,
.customer-service-wrapper input[name="email"]::placeholder,
.customer-service-wrapper input[name="subject"]::placeholder,
.customer-service-wrapper textarea[name="message"]::placeholder,
.customer-service-wrapper input[name="recovery_token"]::placeholder,
.customer-service-wrapper input[name="recovery_code"]::placeholder,
.customer-service-wrapper input[name="tracking_number"]::placeholder,
body[class*="customer-service"] input[name="name"]::placeholder,
body[class*="customer-service"] input[name="email"]::placeholder,
body[class*="customer-service"] input[name="subject"]::placeholder,
body[class*="customer-service"] textarea[name="message"]::placeholder,
body[class*="customer-service"] input[name="recovery_token"]::placeholder,
body[class*="customer-service"] input[name="recovery_code"]::placeholder,
body[class*="customer-service"] input[name="tracking_number"]::placeholder,
.customer-service-component input[name="name"]::placeholder,
.customer-service-component input[name="email"]::placeholder,
.customer-service-component input[name="subject"]::placeholder,
.customer-service-component textarea[name="message"]::placeholder,
.customer-service-component input[name="recovery_token"]::placeholder,
.customer-service-component input[name="recovery_code"]::placeholder,
.customer-service-component input[name="tracking_number"]::placeholder {
  color: #6c757d !important;
}

.order-recovery select option {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  color: var(--text) !important;
}

/* Tab container: one box so tabs are not floating */
.order-recovery .recovery-tab-container {
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: var(--panel) !important;
}

.order-recovery .recovery-tabs {
  margin: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  background: var(--overlay-light-03) !important;
  padding: 0 12px 0 0 !important;
}

.order-recovery .tab-button {
  color: var(--text) !important;
  background: transparent !important;
}

.order-recovery .tab-button:hover {
  color: var(--text) !important;
  background: var(--overlay-light-04) !important;
}

.order-recovery .tab-button.active {
  color: var(--text) !important;
  background: var(--panel) !important;
  border-bottom-color: var(--primary) !important;
}

.order-recovery .recovery-tab {
  color: var(--text) !important;
  background: var(--panel) !important;
  border: none !important;
  margin: 0 !important;
}

.order-recovery .recovery-tab h2,
.order-recovery .recovery-tab p {
  color: var(--text) !important;
}

/* ============================================================================
   USPS ALERTS
   ============================================================================ */
.shipping-form-wrapper .usps-alerts,
.usps-alerts {
  background: #fff3cd !important;
  border-color: #ffc107 !important;
  border-width: 2px !important;
  border-style: solid !important;
  color: #000000 !important;
  margin-bottom: var(--spacing-3xl) !important;
  padding: var(--spacing-xl) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-sm) !important;
}

.shipping-form-wrapper .usps-alerts__header,
.usps-alerts__header {
  margin-bottom: var(--spacing-md) !important;
}

.shipping-form-wrapper .usps-alerts__title,
.usps-alerts__title {
  color: #000000 !important;
  font-weight: 700 !important;
  font-size: 1.1em !important;
  margin: 0 !important;
}

.shipping-form-wrapper .usps-alerts__empty,
.usps-alerts__empty {
  padding: 15px !important;
  text-align: center !important;
  color: #000000 !important;
  font-style: italic !important;
}

.shipping-form-wrapper .usps-alerts__item,
.usps-alerts__item {
  color: #000000 !important;
  margin: var(--spacing-md) 0 !important;
  padding: var(--spacing-md) !important;
  background: rgba(255, 255, 255, 0.3) !important;
  border-radius: var(--radius-sm) !important;
}

.shipping-form-wrapper .usps-alerts__item-title,
.usps-alerts__item-title {
  margin-bottom: var(--spacing-sm) !important;
  color: #000000 !important;
  font-weight: 600 !important;
  font-size: 1.05em !important;
}

.shipping-form-wrapper .usps-alerts__item-desc,
.usps-alerts__item-desc {
  margin-top: var(--spacing-sm);
}

.shipping-form-wrapper .usps-alerts__summary,
.usps-alerts__summary {
  margin: 0 !important;
  font-size: 0.95em !important;
  line-height: 1.5 !important;
  color: #000000 !important;
  opacity: 0.9 !important;
}

.shipping-form-wrapper .usps-alerts__meta,
.usps-alerts__meta {
  display: block !important;
  margin-top: var(--spacing-sm) !important;
  color: #000000 !important;
  opacity: 0.8 !important;
  font-size: 0.85em !important;
  font-style: italic !important;
}

.shipping-form-wrapper .usps-alerts__source,
.usps-alerts__source {
  color: #000000 !important;
  border-top-color: rgba(133, 100, 4, 0.2) !important;
}

/* ============================================================================
   GRID LAYOUTS
   ============================================================================ */
.carrier-selection-grid,
.rates-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-2xl);
}

/* ============================================================================
   UTILITY CLASSES
   ============================================================================ */
.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--panel);
  color: var(--text);
  padding: var(--spacing-sm);
  text-decoration: none;
  z-index: 100;
}

.skip-link:focus {
  top: 0;
}

.loading {
  opacity: 0.6;
  pointer-events: none;
}

input:disabled,
select:disabled,
textarea:disabled,
button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (max-width: 900px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }
  
  .tor-block {
    border-top: 0;
    padding-top: 0;
  }
}

@media (max-width: 768px) {
  .promo-title {
    font-size: 2em;
  }
  
  .promo-text {
    font-size: 1em;
  }
  
  .payment-methods-footer {
    padding: var(--spacing-xl) 15px !important;
  }
  
  .payment-methods-title {
    font-size: 1.1em;
  }
  
  .payment-row {
    font-size: 0.9em;
  }
  
  .carrier-selection-grid,
  .rates-grid {
    grid-template-columns: 1fr;
  }
  
  .form-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .cp-header .header-inner {
    flex-wrap: wrap;
    gap: 10px;
  }
  
  .cp-header .nav {
    justify-content: flex-start;
    padding: 0;
    width: 100%;
    order: 3;
  }
  
  .cp-header .header-actions {
    min-width: auto;
  }
  
  .header-pro {
    flex-wrap: wrap;
    gap: 10px;
  }
  
  .nav-pro {
    width: 100%;
    justify-content: flex-start;
  }
}

/* ============================================================================
   FINAL OVERRIDES - Must come last to override component inline styles
   ============================================================================ */
/* Override purple gradient backgrounds from component templates */
/* Component templates have inline <style> tags that set body background */
/* This override must be at the end to ensure it takes precedence */
html body,
body[class]:not(.has-bg-image),
body[id]:not(.has-bg-image),
body:not(.has-bg-image) {
  background: var(--bg) !important;
  background-color: var(--bg) !important;
  background-image: var(--bg-image, none) !important;
}

/* Prevent double background rendering on TOR - if has-bg-image class exists, only use ::before pseudo-element */
/* This ensures only the ::before pseudo-element shows the background, not the body itself */
body.has-bg-image,
html body.has-bg-image,
body[class].has-bg-image,
body[id].has-bg-image {
  background: var(--bg) !important;
  background-color: var(--bg) !important;
  background-image: none !important;
}

/* Specific overrides for customer-service, tracking, payment-selection, and batch-payment pages */
.page-content:has(.customer-service-wrapper) ~ body:not(.has-bg-image),
.page-content:has(.tracking-wrapper) ~ body:not(.has-bg-image),
.page-content:has(.payment-selection-wrapper) ~ body:not(.has-bg-image),
.page-content:has(.batch-payment-wrapper) ~ body:not(.has-bg-image),
body:has(.customer-service-wrapper):not(.has-bg-image),
body:has(.tracking-wrapper):not(.has-bg-image),
body:has(.payment-selection-wrapper):not(.has-bg-image),
body:has(.batch-payment-wrapper):not(.has-bg-image) {
  background: var(--bg) !important;
  background-color: var(--bg) !important;
  background-image: var(--bg-image, none) !important;
}

/* Ensure has-bg-image pages don't get double backgrounds even on these specific pages */
body.has-bg-image:has(.customer-service-wrapper),
body.has-bg-image:has(.tracking-wrapper),
body.has-bg-image:has(.payment-selection-wrapper),
body.has-bg-image:has(.batch-payment-wrapper) {
  background-image: none !important;
}

/* Additional card and input overrides for customer-service and tracking pages */
/* Target cards and inputs that have white backgrounds from component inline styles */
body .page-content .card[style*="background: white"],
body .page-content .card[style*="background:white"],
body .page-content .card[style*="background-color: white"],
body .page-content .card[style*="background-color:white"],
body .page-content input[style*="background: #ffffff"],
body .page-content input[style*="background:#ffffff"],
body .page-content textarea[style*="background: #ffffff"],
body .page-content textarea[style*="background:#ffffff"] {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  color: var(--text) !important;
}
