/**
 * Site-wide dark theme — overrides for main.css hardcoded light surfaces.
 * Activated via html[data-theme="dark"] (see assets/js/theme.js).
 */

[data-theme="dark"] {
  color-scheme: dark;

  --background-color: #0b0f17;
  --default-color: #c5ced9;
  --heading-color: #eef2f7;
  --accent-color: #7b9cff;
  --surface-color: #141b26;
  --contrast-color: #ffffff;

  --nav-color: #e2e8f0;
  --nav-hover-color: #9eb4ff;
  --nav-mobile-background-color: #111720;
  --nav-dropdown-background-color: #1a2230;
  --nav-dropdown-color: #e2e8f0;
  --nav-dropdown-hover-color: #9eb4ff;

  --dm-border: rgba(255, 255, 255, 0.09);
  --dm-border-strong: rgba(255, 255, 255, 0.14);
  --dm-glass-bg: rgba(18, 24, 34, 0.78);
  --dm-glass-border: rgba(255, 255, 255, 0.1);
  --dm-card-bg: #161d28;
  --dm-elevated: #1c2433;
  --dm-input-bg: #10161f;
  --dm-muted: #8b95a8;
  --dm-shadow: rgba(0, 0, 0, 0.42);
  --dm-grid-line: rgba(123, 156, 255, 0.08);
}

[data-theme="dark"] body {
  background-color: var(--background-color);
  color: var(--default-color);
}

/* Header */
[data-theme="dark"] .header,
[data-theme="dark"] body.has-page-breadcrumb .header,
[data-theme="dark"] body.has-page-breadcrumb.scrolled .header,
[data-theme="dark"] body.has-page-breadcrumb.index-page .header {
  --background-color: #0f141d;
}

[data-theme="dark"] .index-page .header {
  --background-color: rgba(11, 15, 23, 0.35);
}

[data-theme="dark"] .index-page.scrolled .header {
  --background-color: #0f141d;
}

[data-theme="dark"] body.featured-app-page .header,
[data-theme="dark"] body.starter-page-page .header {
  --background-color: rgba(11, 15, 23, 0.35);
  background-color: var(--background-color);
  border-bottom: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-theme="dark"] body.featured-app-page.scrolled .header,
[data-theme="dark"] body.starter-page-page.scrolled .header {
  --background-color: #0f141d;
}

[data-theme="dark"] .scrolled .header {
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.45);
}

/* Breadcrumb bar */
[data-theme="dark"] .page-title.page-title--breadcrumb-only,
[data-theme="dark"] .page-title--breadcrumb-only nav {
  background: #0f141d;
  border-bottom-color: var(--dm-border);
}

[data-theme="dark"] .header__actions .theme-toggle {
  background: color-mix(in srgb, var(--dm-elevated), transparent 20%);
  border-color: var(--dm-border);
  color: var(--heading-color);
}

[data-theme="dark"] .header__actions .theme-toggle:hover {
  border-color: color-mix(in srgb, var(--accent-color), transparent 50%);
  background: color-mix(in srgb, var(--accent-color), transparent 88%);
  color: var(--accent-color);
}

[data-theme="dark"] .mobile-nav-sheet {
  background: var(--nav-mobile-background-color);
}

[data-theme="dark"] .mobile-nav-head,
[data-theme="dark"] .mobile-nav-foot {
  border-color: var(--dm-border);
}

[data-theme="dark"] .mobile-nav-menu a {
  color: var(--nav-color);
}

[data-theme="dark"] .mobile-nav-menu a:hover,
[data-theme="dark"] .mobile-nav-menu a.active {
  color: var(--nav-hover-color);
  background: color-mix(in srgb, var(--accent-color), transparent 90%);
}

/* Hero & sections */
[data-theme="dark"] .hero {
  background-image:
    linear-gradient(rgba(11, 15, 23, 0.72), rgba(11, 15, 23, 0.82)),
    url(../img/hero-bg.webp);
}

[data-theme="dark"] .light-background {
  --background-color: #10161f;
  --surface-color: #161d28;
}

[data-theme="dark"] .section {
  background-color: transparent;
}

/* Cards & catalog surfaces */
[data-theme="dark"] .vendor-card,
[data-theme="dark"] .featured-block,
[data-theme="dark"] .enmarket-search,
[data-theme="dark"] body.featured-app-page .enmarket-search,
[data-theme="dark"] .featured-more-tile__icon,
[data-theme="dark"] .featured-block__nav-btn,
[data-theme="dark"] .list-sidebar-panel,
[data-theme="dark"] .list-sidebar-card,
[data-theme="dark"] .app-pagination__btn,
[data-theme="dark"] .search-form__input-wrap,
[data-theme="dark"] .contact .php-email-form,
[data-theme="dark"] .blog-posts article.product-card {
  background: var(--dm-card-bg);
  border-color: var(--dm-border);
}

/* Vendor logo-tile cards (search + featured) */
[data-theme="dark"] .vendor-logo-tile__link {
  background: var(--dm-card-bg);
  border-color: var(--dm-border);
  box-shadow: 0 4px 16px var(--dm-shadow);
}

[data-theme="dark"] .vendor-logo-tile__link:hover {
  box-shadow: 0 8px 22px var(--dm-shadow);
}

[data-theme="dark"] .testimonials-vendors-home .swiper-slide-active .vendor-logo-tile__link,
[data-theme="dark"] .clients-orgs-home .swiper-slide-active .vendor-logo-tile__link {
  border-color: color-mix(in srgb, var(--accent-color), transparent 45%);
  box-shadow: 0 10px 26px color-mix(in srgb, var(--accent-color), transparent 62%);
}

/* keep logo chip light so transparent logos stay visible */
[data-theme="dark"] .vendor-logo-tile__media {
  background: #f1f5f9;
  border: 1px solid var(--dm-border);
}

[data-theme="dark"] .vendor-logo-tile__title {
  color: var(--heading-color);
}

[data-theme="dark"] .vendor-logo-tile__badge--online {
  color: #5eead4;
  background: color-mix(in srgb, #14b8a6, transparent 80%);
}

[data-theme="dark"] .vendor-logo-tile__badge--instore {
  color: #fcd34d;
  background: color-mix(in srgb, #f59e0b, transparent 80%);
}

[data-theme="dark"] .vendor-logo-tile__badge--province {
  color: #a5b4fc;
  background: color-mix(in srgb, #6366f1, transparent 80%);
}

[data-theme="dark"] .vendor-logo-tile__badge--website {
  color: #93c5fd;
  background: color-mix(in srgb, #3b82f6, transparent 80%);
}

[data-theme="dark"] .vendor-logo-tile--skeleton .vendor-logo-tile__media.skeleton-box,
[data-theme="dark"] .vendor-logo-tile--skeleton .skeleton-line {
  background: linear-gradient(90deg, var(--dm-elevated), var(--dm-card-bg), var(--dm-elevated));
  background-size: 200px 100%;
}

[data-theme="dark"] .widgets-container {
  box-shadow: 0 4px 16px var(--dm-shadow);
}

[data-theme="dark"] .vendor-card.vendor-card--featured {
  background: var(--dm-card-bg);
}

[data-theme="dark"] .vendor-card-banner {
  background: #1a2230;
}

[data-theme="dark"] .page-search-hero .search-form-wrap input[type=text] {
  background: var(--dm-input-bg);
  border-color: var(--dm-border-strong);
  color: var(--default-color);
}

[data-theme="dark"] .product-card {
  background: var(--surface-color);
  border-color: var(--dm-border);
  box-shadow: 0 2px 10px var(--dm-shadow);
}

[data-theme="dark"] .product-card:hover {
  border-color: color-mix(in srgb, var(--accent-color), transparent 62%);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--accent-color), transparent 82%);
}

/* Lighter translucent catalog cards over the galaxy backdrop. */
[data-theme="dark"] .product-card,
[data-theme="dark"] .blog-posts article.product-card,
[data-theme="dark"] .vendor-card,
[data-theme="dark"] .vendor-card.vendor-card--featured,
[data-theme="dark"] .vendor-logo-tile__link,
[data-theme="dark"] .featured-more-tile__icon {
  background: linear-gradient(135deg, rgba(49, 63, 85, 0.74), rgba(29, 40, 58, 0.78));
  border-color: rgba(203, 213, 225, 0.22);
  /* -webkit-backdrop-filter: blur(14px) saturate(1.15);
  backdrop-filter: blur(14px) saturate(1.15); */
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 4px 14px rgba(0, 0, 0, 0.16);
}

[data-theme="dark"] .product-image,
[data-theme="dark"] .vendor-placeholder-image,
[data-theme="dark"] .featured-product-swiper .product-card--compact .product-image {
  background: #1a2230;
}

[data-theme="dark"] .category-chip-bar {
  background: color-mix(in srgb, var(--surface-color), transparent 8%);
  border-bottom-color: var(--dm-border);
  box-shadow: 0 4px 24px -6px var(--dm-shadow);
}

[data-theme="dark"] .category-chip {
  border-color: var(--dm-border);
  background: color-mix(in srgb, var(--surface-color), transparent 10%);
  color: var(--heading-color);
}

[data-theme="dark"] .category-chip.is-selected {
  background: color-mix(in srgb, var(--surface-color), transparent 8%);
  color: var(--heading-color);
  border-color: color-mix(in srgb, var(--accent-color), transparent 45%);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
}

[data-theme="dark"] .category-chip--clear {
  background: color-mix(in srgb, var(--surface-color), transparent 20%);
  border-color: var(--dm-border-strong);
  color: color-mix(in srgb, var(--default-color), transparent 15%);
}

[data-theme="dark"] .featured-category-card.is-selected {
  border-color: color-mix(in srgb, var(--accent-color), transparent 45%);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-color), transparent 82%);
}

[data-theme="dark"] .glass-torn-section--categories .featured-category-card.is-selected,
[data-theme="dark"] .featured-block--categories .featured-category-card.is-selected {
  background: color-mix(in srgb, var(--surface-color), transparent 6%);
  border-color: color-mix(in srgb, var(--accent-color), transparent 58%);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .product-category-breadcrumb__chip.is-selected,
[data-theme="dark"] .product-category-breadcrumb__chip.is-current {
  background: color-mix(in srgb, var(--surface-color), transparent 6%);
  color: var(--heading-color);
  border-color: color-mix(in srgb, var(--accent-color), transparent 50%);
}

[data-theme="dark"] .skeleton,
[data-theme="dark"] .skeleton-block,
[data-theme="dark"] .skeleton-box,
[data-theme="dark"] .skeleton-line,
[data-theme="dark"] .skeleton-btn,
[data-theme="dark"] .skeleton-image,
[data-theme="dark"] .vendor-card--skeleton .vendor-image,
[data-theme="dark"] .product-card--skeleton .product-image {
  background: #1a2230;
}

[data-theme="dark"] .skeleton-box::after,
[data-theme="dark"] .skeleton-line::after,
[data-theme="dark"] .skeleton-btn::after,
[data-theme="dark"] .skeleton-image::after {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.06), transparent);
}

[data-theme="dark"] .vendor-placeholder-image {
  background: #2a3444;
}

/* Featured / glass catalog */
[data-theme="dark"] .catalog-fixed-background::after {
  opacity: 0.22;
  background-image:
    linear-gradient(to right, var(--dm-grid-line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--dm-grid-line) 1px, transparent 1px);
}

[data-theme="dark"] .catalog-bg--vendors {
  background:
    radial-gradient(ellipse 32rem 32rem at 12% 6%, rgba(59, 130, 246, 0.22), transparent 72%),
    radial-gradient(ellipse 28rem 28rem at 88% 12%, rgba(56, 189, 248, 0.18), transparent 72%),
    radial-gradient(ellipse 36rem 36rem at 50% 42%, rgba(99, 102, 241, 0.14), transparent 74%),
    radial-gradient(ellipse 26rem 26rem at 8% 78%, rgba(244, 63, 94, 0.12), transparent 72%),
    radial-gradient(ellipse 24rem 24rem at 92% 82%, rgba(251, 191, 36, 0.1), transparent 72%),
    linear-gradient(180deg, #0b0f17 0%, #101827 45%, #0d1320 100%);
}

[data-theme="dark"] .catalog-bg--products {
  background:
    radial-gradient(ellipse 32rem 32rem at 10% 8%, rgba(99, 102, 241, 0.22), transparent 72%),
    radial-gradient(ellipse 28rem 28rem at 90% 14%, rgba(56, 189, 248, 0.16), transparent 72%),
    radial-gradient(ellipse 36rem 36rem at 52% 40%, rgba(167, 139, 250, 0.12), transparent 74%),
    radial-gradient(ellipse 26rem 26rem at 14% 80%, rgba(52, 211, 153, 0.12), transparent 72%),
    radial-gradient(ellipse 24rem 24rem at 86% 78%, rgba(244, 114, 182, 0.1), transparent 72%),
    linear-gradient(180deg, #0b0f17 0%, #111827 45%, #0f1524 100%);
}

[data-theme="dark"] .glass-torn-section {
  background: var(--dm-glass-bg);
  border: 1px solid var(--dm-glass-border);
  filter: drop-shadow(0 10px 24px var(--dm-shadow));
}

[data-theme="dark"] .app-state {
  background: var(--dm-elevated, #1c2433);
  border-color: #45536b;
  color: #e2e8f0;
}

[data-theme="dark"] .app-state--error {
  background: #30232c;
  border-color: #754352;
}

[data-theme="dark"] .app-state-title {
  color: #f1f5f9;
}

[data-theme="dark"] .app-state-desc {
  color: #cbd5e1;
}

[data-theme="dark"] .app-state--error .app-state-icon {
  color: #fda4af;
}

[data-theme="dark"] .app-state--empty .app-state-icon {
  color: #a5b4fc;
}

[data-theme="dark"] .app-state [data-retry-action] {
  background: #202d49;
  border-color: #8399e8;
  color: #dbeafe;
}

[data-theme="dark"] .app-state [data-retry-action]:hover,
[data-theme="dark"] .app-state [data-retry-action]:focus-visible {
  background: #334779;
  border-color: #a5b4fc;
  color: #fff;
}

/* Shared galaxy backdrop for glass sections across the site. */
[data-theme="dark"] body[data-page="products-search"] .catalog-fixed-background.catalog-bg--products,
[data-theme="dark"] .glass-torn-section,
[data-theme="dark"] .home-page .glass-torn-section.home-panel,
[data-theme="dark"] .home-page section.home-open-section,
[data-theme="dark"] .home-page section.home-features-section,
[data-theme="dark"] .home-page section.stats,
[data-theme="dark"] .home-page section.testimonials,
[data-theme="dark"] .home-page section.clients {
  background-image:
    url("../img/bg/form-constellations.svg"),
    radial-gradient(ellipse at var(--galaxy-glow-x, 15%) var(--galaxy-glow-y, 25%), rgba(99, 102, 241, .22), transparent 48%),
    radial-gradient(ellipse at var(--galaxy-x, 88%) var(--galaxy-y, 70%), rgba(56, 189, 248, .16), transparent 45%),
    linear-gradient(var(--galaxy-angle, 125deg), transparent 24%, rgba(167, 139, 250, .08) 38%, rgba(219, 234, 254, .12) 44%, rgba(129, 140, 248, .08) 50%, transparent 65%);
  background-color: #182235;
  background-size: var(--galaxy-size, cover), cover, cover, cover;
  background-position: var(--galaxy-x, 50%) var(--galaxy-y, 50%), center, center, center;
  background-repeat: no-repeat;
}

[data-theme="dark"] .featured-banner-swiper {
  -webkit-mask-image: linear-gradient(to right,
      transparent 0%,
      rgba(0, 0, 0, 0.2) 3%,
      rgba(0, 0, 0, 0.55) 7%,
      #000 11%,
      #000 89%,
      rgba(0, 0, 0, 0.55) 93%,
      rgba(0, 0, 0, 0.2) 97%,
      transparent 100%);
  mask-image: linear-gradient(to right,
      transparent 0%,
      rgba(0, 0, 0, 0.2) 3%,
      rgba(0, 0, 0, 0.55) 7%,
      #000 11%,
      #000 89%,
      rgba(0, 0, 0, 0.55) 93%,
      rgba(0, 0, 0, 0.2) 97%,
      transparent 100%);
}

@media (min-width: 1200px) {
  [data-theme="dark"] .featured-banner-swiper {
    -webkit-mask-image: linear-gradient(to right,
        transparent 0%,
        rgba(0, 0, 0, 0.1) 2%,
        rgba(0, 0, 0, 0.32) 6%,
        rgba(0, 0, 0, 0.62) 10%,
        #000 14%,
        #000 86%,
        rgba(0, 0, 0, 0.62) 90%,
        rgba(0, 0, 0, 0.32) 94%,
        rgba(0, 0, 0, 0.1) 98%,
        transparent 100%);
    mask-image: linear-gradient(to right,
        transparent 0%,
        rgba(0, 0, 0, 0.1) 2%,
        rgba(0, 0, 0, 0.32) 6%,
        rgba(0, 0, 0, 0.62) 10%,
        #000 14%,
        #000 86%,
        rgba(0, 0, 0, 0.62) 90%,
        rgba(0, 0, 0, 0.32) 94%,
        rgba(0, 0, 0, 0.1) 98%,
        transparent 100%);
  }
}

[data-theme="dark"] .catalog-banner-card {
  box-shadow: 0 8px 28px var(--dm-shadow);
}

[data-theme="dark"] .catalog-banner-card__cta {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] .catalog-banner-card__cta:hover {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.35);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .catalog-banner-card--photo {
  background-color: #0b1220;
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.45),
    0 2px 10px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] .catalog-banner-card--photo::before {
  background:
    linear-gradient(105deg,
      rgba(2, 6, 23, 0.72) 0%,
      rgba(2, 6, 23, 0.42) 42%,
      rgba(2, 6, 23, 0.12) 70%,
      transparent 100%);
}

[data-theme="dark"] .catalog-banner-card--photo .catalog-banner-card__content {
  max-width: min(58%, 18rem);
  margin-inline: 1rem;
  margin-block: 0;
  padding: 1rem 1.15rem;
  color: #f8fafc;
  background:
    linear-gradient(160deg,
      rgba(15, 23, 42, 0.58) 0%,
      rgba(15, 23, 42, 0.28) 100%);
  backdrop-filter: blur(22px) saturate(1.3);
  -webkit-backdrop-filter: blur(22px) saturate(1.3);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
  border-radius: 1.05rem;
}

[data-theme="dark"] .catalog-banner-card--photo .catalog-banner-card__eyebrow {
  color: #c7d2fe;
  background: rgba(99, 102, 241, 0.18);
  border-color: rgba(165, 180, 252, 0.28);
  text-shadow: none;
  opacity: 1;
}

[data-theme="dark"] .catalog-banner-card--photo .catalog-banner-card__title {
  color: #fff;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .catalog-banner-card--photo .catalog-banner-card__desc {
  color: rgba(226, 232, 240, 0.82);
  opacity: 1;
  text-shadow: none;
}

[data-theme="dark"] .catalog-banner-card--photo .catalog-banner-card__badge {
  box-shadow: 0 4px 14px rgba(239, 68, 68, 0.4);
}

[data-theme="dark"] .catalog-banner-card--photo .catalog-banner-card__cta {
  color: #0f172a;
  background: linear-gradient(135deg, #ffffff 0%, #eef2ff 100%);
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

[data-theme="dark"] .catalog-banner-card--photo .catalog-banner-card__cta:hover {
  color: #fff;
  background: linear-gradient(135deg, #5b6cf5 0%, #4154f1 100%);
  border-color: transparent;
  box-shadow: 0 12px 26px rgba(65, 84, 241, 0.4);
}

@media (min-width: 768px) {
  [data-theme="dark"] .catalog-banner-card--photo .catalog-banner-card__content {
    max-width: min(52%, 20.5rem);
    padding: 1.15rem 1.3rem;
    margin-inline: 1.25rem;
  }
}

[data-theme="dark"] .featured-banner-swiper .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.35);
}

[data-theme="dark"] .featured-banner-swiper .swiper-pagination-bullet-active {
  background: rgba(255, 255, 255, 0.9);
}

/* List / search pages */
[data-theme="dark"] body[data-page="vendors"] .list-search-panel,
[data-theme="dark"] body[data-page="vendors-search"] .list-search-panel,
[data-theme="dark"] body[data-page="products"] .list-search-panel,
[data-theme="dark"] body[data-page="products-search"] .list-search-panel {
  --list-glass-bg: rgba(20, 27, 38, 0.88);
  --list-glass-border: rgba(255, 255, 255, 0.1);
  --list-glass-highlight: rgba(255, 255, 255, 0.06);
  border-color: var(--dm-border);
  box-shadow:
    0 8px 32px var(--dm-shadow),
    0 2px 8px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 var(--list-glass-highlight);
}

[data-theme="dark"] body[data-page="vendors"] .list-search-panel__badge,
[data-theme="dark"] body[data-page="vendors-search"] .list-search-panel__badge,
[data-theme="dark"] body[data-page="products"] .list-search-panel__badge,
[data-theme="dark"] body[data-page="products-search"] .list-search-panel__badge {
  border-color: var(--dm-border);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 4px 14px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] body[data-page="vendors"] .sidebar .widgets-container,
[data-theme="dark"] body[data-page="vendors-search"] .sidebar .widgets-container,
[data-theme="dark"] body[data-page="products"] .sidebar .widgets-container,
[data-theme="dark"] body[data-page="products-search"] .sidebar .widgets-container {
  background: var(--dm-card-bg);
  border: 1px solid var(--dm-border);
  box-shadow: 0 2px 12px var(--dm-shadow);
}

[data-theme="dark"] .list-sidebar-backdrop {
  background: rgba(0, 0, 0, 0.62);
}

[data-theme="dark"] .featured-category-drawer__backdrop {
  background: rgba(0, 0, 0, 0.62);
}

[data-theme="dark"] .featured-category-drawer__panel {
  background: var(--background-color);
  box-shadow: -8px 0 32px var(--dm-shadow);
}

[data-theme="dark"] #featured-drawer-categories a {
  color: var(--default-color);
}

[data-theme="dark"] #featured-drawer-categories a:hover,
[data-theme="dark"] #featured-drawer-categories a.active {
  background: color-mix(in srgb, var(--accent-color), transparent 88%);
  color: var(--accent-color);
}

/* Organizations */
[data-theme="dark"] #organizations-grid .organization-card {
  background: var(--dm-card-bg);
  border-color: var(--dm-border);
  box-shadow: 0 4px 18px var(--dm-shadow);
}

[data-theme="dark"] .clients .swiper-slide .media-fallback--organization,
[data-theme="dark"] #organizations-grid .organization-card .media-fallback--organization {
  background: #1a2230;
  color: var(--dm-muted);
}

/* Forms & Bootstrap */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] textarea.form-control {
  background-color: var(--dm-input-bg);
  border-color: var(--dm-border-strong);
  color: var(--default-color);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus,
[data-theme="dark"] textarea.form-control:focus {
  background-color: var(--dm-input-bg);
  border-color: color-mix(in srgb, var(--accent-color), transparent 40%);
  color: var(--heading-color);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--accent-color), transparent 78%);
}

[data-theme="dark"] .form-control::placeholder {
  color: var(--dm-muted);
}

[data-theme="dark"] .card {
  background-color: var(--dm-card-bg);
  border-color: var(--dm-border);
  color: var(--default-color);
}

[data-theme="dark"] .dropdown-menu {
  background-color: var(--dm-elevated);
  border-color: var(--dm-border);
}

[data-theme="dark"] .dropdown-item {
  color: var(--default-color);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
  background-color: color-mix(in srgb, var(--accent-color), transparent 88%);
  color: var(--heading-color);
}

[data-theme="dark"] .modal-content {
  background-color: var(--dm-elevated);
  border-color: var(--dm-border);
  color: var(--default-color);
}

[data-theme="dark"] .product-preview-modal {
  background: var(--dm-elevated, #151b25);
  border-color: var(--dm-border, #2b3545);
  color: var(--default-color, #e5e7eb);
}

[data-theme="dark"] .product-preview-modal__head {
  border-bottom-color: var(--dm-border, #2b3545);
}

[data-theme="dark"] .product-preview-modal__head h2,
[data-theme="dark"] .product-preview-modal__price {
  color: #f1f5f9;
}

[data-theme="dark"] .product-preview-modal__close {
  background: #202938;
  border-color: #344155;
  color: #cbd5e1;
}

[data-theme="dark"] .product-preview-modal__image-wrap {
  background: #0d131d;
}

[data-theme="dark"] .product-preview-modal__price {
  background: var(--dm-elevated, #151b25);
}

[data-theme="dark"] .product-preview-modal__description {
  color: #aab6c5;
}

[data-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

/* Footer */
[data-theme="dark"] .footer {
  background-color: #090d14;
  border-top: 1px solid var(--dm-border);
}

[data-theme="dark"] .footer .footer-top {
  border-top-color: var(--dm-border);
}

[data-theme="dark"] .footer .social-links a {
  background: var(--dm-elevated);
  border: 1px solid var(--dm-border);
}

/* Misc UI */
[data-theme="dark"] .testimonials-vendors-home .testimonial-item.vendor-card {
  background: var(--dm-card-bg);
  border: 1px solid var(--dm-border);
}

[data-theme="dark"] .testimonials .testimonial-item {
  background: var(--dm-card-bg);
  box-shadow: 0 2px 16px var(--dm-shadow);
}

[data-theme="dark"] .faq .faq-container .faq-item {
  background: var(--dm-card-bg);
  border-color: var(--dm-border);
}

[data-theme="dark"] .pricing .pricing-item {
  background: var(--dm-card-bg);
  border-color: var(--dm-border);
  box-shadow: 0 2px 16px var(--dm-shadow);
}

[data-theme="dark"] .portfolio-info,
[data-theme="dark"] .blog .blog-details,
[data-theme="dark"] .blog .sidebar {
  background: var(--dm-card-bg);
  border-color: var(--dm-border);
}

[data-theme="dark"] .recent-posts article,
[data-theme="dark"] .blog-posts article {
  background: var(--dm-card-bg);
  box-shadow: 0 2px 14px var(--dm-shadow);
}

[data-theme="dark"] .page-title {
  background-color: transparent;
}

[data-theme="dark"] .media-fallback,
[data-theme="dark"] .media-fallback--product,
[data-theme="dark"] .media-fallback--vendor {
  background: #1a2230;
  color: var(--dm-muted);
}

[data-theme="dark"] .vendor-details-hero,
[data-theme="dark"] .vendor-details-banner {
  background: linear-gradient(135deg, #1a2230, #141b26);
}

[data-theme="dark"] .vendor-details-logo-wrap {
  background: var(--dm-card-bg);
  border-color: var(--dm-border);
}

[data-theme="dark"] .app-pagination__btn.is-active {
  background: var(--accent-color);
  color: #fff;
}

[data-theme="dark"] .app-pagination__btn:not(.is-active):hover {
  background: color-mix(in srgb, var(--accent-color), transparent 88%);
}

[data-theme="dark"] .scroll-top {
  box-shadow: 0 4px 16px var(--dm-shadow);
}

.brand-logo {
  background: transparent;
}

.header .logo img.brand-logo,
.mobile-nav-brand .brand-logo,
.featured-category-drawer__logo .brand-logo,
.footer-about .brand-logo {
  background: transparent;
}

[data-theme="dark"] .glass-torn-section--categories .featured-category-card,
[data-theme="dark"] .glass-torn-section--categories .featured-category-card__media,
[data-theme="dark"] .featured-category-card__media:not(.skeleton-box) {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

[data-theme="dark"] .featured-category-card__media.skeleton-box,
[data-theme="dark"] .featured-category-card--skeleton .featured-category-card__media {
  background: linear-gradient(90deg, #1a2230, #232d3d, #1a2230);
}

/* Vendor details */
[data-theme="dark"] body[data-page="vendor-details"] .main {
  background: var(--background-color);
}

[data-theme="dark"] .vendor-detail-top,
[data-theme="dark"] .vendor-detail-profile-card,
[data-theme="dark"] .vendor-detail-section,
[data-theme="dark"] .vendor-detail-quick-actions,
[data-theme="dark"] .vendor-detail-map-card {
  background: color-mix(in srgb, var(--dm-card-bg), transparent 22%);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
  backdrop-filter: blur(24px) saturate(1.4);
  border-color: var(--dm-border);
  box-shadow: 0 8px 32px var(--dm-shadow);
}

[data-theme="dark"] .vendor-detail-quick-actions {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
  border-top-color: var(--dm-border);
}

[data-theme="dark"] .vendor-detail-hero {
  background: linear-gradient(135deg, #1a2230, #141b26);
}

[data-theme="dark"] .vendor-detail-logo {
  background: #f1f5f9;
  border-color: var(--dm-border-strong);
}

/* Profile badges */
[data-theme="dark"] .vendor-detail-badge.chain {
  background: color-mix(in srgb, #e67700, transparent 82%);
  color: #ffc078;
  border-color: color-mix(in srgb, #e67700, transparent 62%);
}

[data-theme="dark"] .vendor-detail-badge.online {
  background: color-mix(in srgb, #2f9e44, transparent 82%);
  color: #8ce99a;
  border-color: color-mix(in srgb, #2f9e44, transparent 62%);
}

[data-theme="dark"] .vendor-detail-badge.instore {
  background: color-mix(in srgb, #1971c2, transparent 82%);
  color: #91caff;
  border-color: color-mix(in srgb, #1971c2, transparent 62%);
}

/* Quick action buttons */
[data-theme="dark"] .vendor-detail-action--call {
  background: color-mix(in srgb, var(--accent-color), transparent 84%);
  color: color-mix(in srgb, var(--accent-color), #fff 35%);
  border-color: color-mix(in srgb, var(--accent-color), transparent 62%);
}

[data-theme="dark"] .vendor-detail-action--web {
  background: var(--dm-elevated);
  color: var(--default-color);
  border-color: var(--dm-border-strong);
}

[data-theme="dark"] .vendor-detail-action--products {
  background: var(--accent-color, #4154f1);
  color: #fff;
  box-shadow: 0 10px 28px -10px rgba(65, 84, 241, 0.4);
}

[data-theme="dark"] .vendor-detail-action--products:hover {
  background: color-mix(in srgb, var(--accent-color, #4154f1), #fff 12%);
  color: #fff;
}

/* Tabs */
[data-theme="dark"] .vendor-detail-tab {
  background: var(--dm-elevated);
  color: color-mix(in srgb, var(--default-color), transparent 25%);
}

[data-theme="dark"] .vendor-detail-tab.active {
  background: color-mix(in srgb, var(--accent-color), transparent 82%);
  color: color-mix(in srgb, var(--accent-color), #fff 35%);
  border-color: color-mix(in srgb, var(--accent-color), transparent 55%);
}

[data-theme="dark"] .vendor-detail-tab-text {
  color: color-mix(in srgb, var(--default-color), transparent 12%);
}

[data-theme="dark"] .vendor-detail-tab-empty,
[data-theme="dark"] .vendor-detail-empty {
  background: color-mix(in srgb, var(--dm-elevated), transparent 30%);
  color: color-mix(in srgb, var(--default-color), transparent 32%);
}

/* Contact rows */
[data-theme="dark"] .vendor-detail-contact-row {
  border-bottom-color: var(--dm-border);
}

[data-theme="dark"] .vendor-detail-contact-icon {
  background: color-mix(in srgb, var(--accent-color), transparent 84%);
  color: color-mix(in srgb, var(--accent-color), #fff 30%);
}

[data-theme="dark"] .vendor-detail-contact-label {
  color: color-mix(in srgb, var(--default-color), transparent 42%);
}

/* Branches */
[data-theme="dark"] .vendor-detail-branch-card {
  background: color-mix(in srgb, var(--dm-elevated), transparent 30%);
  border-color: var(--dm-border);
}

[data-theme="dark"] .vendor-detail-branch-count {
  background: color-mix(in srgb, var(--accent-color), transparent 82%);
  color: color-mix(in srgb, var(--accent-color), #fff 35%);
}

/* Loading / error / skeleton state card */
[data-theme="dark"] .vendor-detail-state,
[data-theme="dark"] .vendor-skeleton-card {
  background: var(--dm-card-bg);
  border-color: var(--dm-border);
}

[data-theme="dark"] .vendor-detail-layout--skeleton .vendor-skeleton-profile,
[data-theme="dark"] .vendor-detail-layout--skeleton .vendor-skeleton-section {
  background: color-mix(in srgb, var(--dm-card-bg), transparent 22%);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
  backdrop-filter: blur(24px) saturate(1.4);
  border-color: var(--dm-border);
  box-shadow: 0 8px 32px var(--dm-shadow);
}

[data-theme="dark"] .vendor-detail-layout--skeleton .vendor-skeleton-profile .vendor-detail-quick-actions {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
  border-top-color: var(--dm-border);
}

/* Hero pagination dots */
[data-theme="dark"] .vendor-detail-hero-dot {
  background: rgba(255, 255, 255, 0.4);
}

[data-theme="dark"] .vendor-detail-hero-dot.is-active {
  background: #fff;
}

[data-theme="dark"] .vendor-service-badge.online {
  background: color-mix(in srgb, #2f9e44, transparent 82%);
  color: #8ce99a;
}

[data-theme="dark"] .vendor-service-badge.inperson {
  background: color-mix(in srgb, #1971c2, transparent 82%);
  color: #91caff;
}

[data-theme="dark"] .vendor-service-badge.chain {
  background: color-mix(in srgb, #e67700, transparent 82%);
  color: #ffc078;
}

/* Product details */
[data-theme="dark"] body[data-page="product-details"] .main {
  background: var(--background-color);
}

[data-theme="dark"] .product-detail-card,
[data-theme="dark"] .product-detail-sidebar .card,
[data-theme="dark"] .product-gallery-main,
[data-theme="dark"] .product-gallery-thumb {
  background: var(--dm-card-bg);
  border-color: var(--dm-border);
}

/* Contact */
[data-theme="dark"] .contact .info-item {
  background: var(--dm-card-bg);
  border: 1px solid var(--dm-border);
}

[data-theme="dark"] .contact .php-email-form {
  box-shadow: 0 2px 16px var(--dm-shadow);
}

[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form {
  background: var(--dm-card-bg) !important;
  border-color: var(--dm-border) !important;
  box-shadow: 0 12px 32px -14px var(--dm-shadow);
}

[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form .form-control,
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form input[type=text],
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form input[type=email],
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form textarea {
  background-color: var(--dm-input-bg) !important;
  border-color: var(--dm-border-strong) !important;
  color: var(--heading-color) !important;
}

[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form .form-control:focus,
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form input[type=text]:focus,
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form input[type=email]:focus,
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form textarea:focus {
  background-color: var(--dm-input-bg) !important;
  border-color: color-mix(in srgb, var(--accent-color), transparent 40%) !important;
  color: var(--heading-color) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-color), transparent 78%);
}

[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form .form-control::placeholder,
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form input[type=text]::placeholder,
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form input[type=email]::placeholder,
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form textarea::placeholder {
  color: #94a3b8 !important;
  opacity: 1 !important;
}

[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form button[type=submit] {
  background: #7b9cff !important;
  color: #0b0f17 !important;
}

/* Index sections */
[data-theme="dark"] .product-title,
[data-theme="dark"] .product-title-link,
[data-theme="dark"] .product-price,
[data-theme="dark"] .vendor-logo-tile__title,
[data-theme="dark"] .vendor-card h3,
[data-theme="dark"] .featured-section-title {
  color: #f1f5f9;
}

[data-theme="dark"] .product-vendor,
[data-theme="dark"] .product-price-old,
[data-theme="dark"] .vendor-card p,
[data-theme="dark"] .section-title p {
  color: #c0ccdc;
}

[data-theme="dark"] .text-muted,
[data-theme="dark"] .text-secondary {
  color: #b8c5d8 !important;
}

[data-theme="dark"] input.form-control,
[data-theme="dark"] textarea.form-control,
[data-theme="dark"] select.form-select,
[data-theme="dark"] .home-page .home-contact__form .form-control,
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form .form-control {
  background-color: rgba(35, 48, 68, 0.78) !important;
  border-color: rgba(203, 213, 225, 0.22) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  backdrop-filter: blur(14px) saturate(1.15);
  color: #f1f5f9 !important;
  -webkit-text-fill-color: #f1f5f9;
  caret-color: #f1f5f9;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] .home-page .home-contact__form .form-control::placeholder,
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form .form-control::placeholder {
  color: #c0ccdc !important;
  -webkit-text-fill-color: #c0ccdc;
  opacity: 1 !important;
}

[data-theme="dark"] input.form-control:focus,
[data-theme="dark"] textarea.form-control:focus,
[data-theme="dark"] select.form-select:focus,
[data-theme="dark"] .home-page .home-contact__form .form-control:focus,
[data-theme="dark"] body[data-page="vendors"] .membership-request-form.php-email-form .form-control:focus {
  border-color: #8399e8 !important;
  box-shadow: 0 0 0 3px rgba(131, 153, 232, 0.18);
}

[data-theme="dark"] .features .feature-box,
[data-theme="dark"] .values .card,
[data-theme="dark"] .stats .stats-item,
[data-theme="dark"] .team .member,
[data-theme="dark"] .services .service-item {
  background: var(--dm-card-bg);
  border: 1px solid var(--dm-border);
  box-shadow: 0 2px 14px var(--dm-shadow);
}

[data-theme="dark"] .clients .swiper-slide img {
  filter: grayscale(0.2) brightness(0.92);
}

[data-theme="dark"] .catalog-banner-card__visual {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}

[data-theme="dark"] .catalog-banner-card__pattern {
  opacity: 0.16;
}