body {
  --theme-bg: #ecfeff;
  --theme-bg-soft: rgba(255, 255, 255, 0.42);
  --theme-card: rgba(255, 255, 255, 0.58);
  --theme-border: rgba(255, 255, 255, 0.78);
  --theme-text: #172033;
  --theme-muted: #475569;
  --theme-accent: #0e7490;
  --theme-accent-hover: #0f766e;
  --theme-chip: rgba(255, 255, 255, 0.54);
  --theme-input-bg: rgba(255, 255, 255, 0.68);
  --theme-input-focus-bg: rgba(255, 255, 255, 0.86);
  --theme-input-disabled-bg: rgba(255, 255, 255, 0.46);
  --theme-radius: 18px;
  --theme-shadow: 0 24px 70px rgba(31, 41, 55, 0.16);
  --text-primary: var(--theme-text);
  --text-secondary: var(--theme-muted);
  --bg-primary: var(--theme-bg);
  --bg-secondary: var(--theme-bg-soft);
  --card-bg: var(--theme-card);
  --border-color: var(--theme-border);
  --accent: var(--theme-accent);
  --accent-hover: var(--theme-accent-hover);
  background: linear-gradient(135deg, #e0f2fe, #fdf2f8 48%, #ecfeff);
  color: var(--theme-text);
}

body, h1, h2, h3, h4, h5, h6, p, label, span, strong, small, li, td, th,
.profile-name, .detail-title, .section-head h2, .checkout-main-form h1, .checkout-main-form h2,
.price-row strong, .pricing-box strong, .meta-card strong, .card-body h3 {
  color: var(--theme-text);
}

.section, .product-card, .service-card, .empty-state, .detail-panel, .purchase-card, .checkout-panel, .checkout-summary, .checkout-main-form, .listing-detail, .listing-description, .booking-details, .form-section, .listing-summary, .card {
  border: 1px solid var(--theme-border);
  border-radius: var(--theme-radius);
  background: var(--theme-card);
  color: var(--theme-text);
  box-shadow: var(--theme-shadow);
  backdrop-filter: blur(18px);
}

.profile-img, .media-main, .media-placeholder, .card-img, .main-image, .summary-image img, .checkout-summary img, .gallery-thumb, .gallery .gallery-thumb {
  border: 1px solid var(--theme-border);
  border-radius: var(--theme-radius);
  background: var(--theme-bg-soft);
}

.profile-img { border-radius: 999px; color: var(--theme-accent); }
.profile-handle, .detail-eyebrow, .card-type, .card-price, .price-display { color: var(--theme-accent); }
.profile-bio, .detail-copy, .rich-text, .card-body p, .muted, .storefront-footer { color: var(--theme-muted); }
.profile-badge, .section-count, .card-type, .social-links a, .time-slot-badge, .free-badge, .badge {
  border: 1px solid var(--theme-border);
  background: var(--theme-chip);
  color: var(--theme-accent-hover);
}

.btn, .back-link {
  border-color: rgba(14, 116, 144, 0.24);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.62);
  color: var(--theme-text);
}
.btn:hover, .back-link:hover, .btn-primary, .btn.primary { background: rgba(255, 255, 255, 0.82); color: var(--theme-text); }
input, textarea, select, .input, .form-control, .form-select {
  border-color: var(--theme-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.62);
  color: var(--theme-text);
}
textarea { border-radius: var(--theme-radius); }
.toast { border-color: rgba(16, 185, 129, 0.28); background: rgba(236, 253, 245, 0.78); color: #047857; }
.toast.error { border-color: rgba(244, 63, 94, 0.28); background: rgba(255, 241, 242, 0.78); color: #be123c; }
