:root { color-scheme: only light; forced-color-adjust: none; }
html, body,
.card, .catalog-card, .header, .footer, .content, #catalog-app{
  background:#ffffff !important; color:#111111 !important; border-color:#e6e6e6 !important;
}
.title, .desc, .price, .muted{ color:#111111 !important; }
img, picture, video, canvas, svg{ filter:none !important; }

/* Dark-mode auto inversion guard */
html, body {
  background:#ffffff !important;
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  forced-color-adjust: none !important;
}

/* Light theme fix for form elements (inputs, selects, textarea) */
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="search"],
select,
textarea {
  background-color: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  forced-color-adjust: none !important;
}
.lang select option, .language select option, .lang-switch option {
  background-color: #ffffff !important;
}

/* — финальный оверрайд, грузится ПОСЛЕ CSS, поэтому побеждает всё — */

/* 1) ШАПКА — общий цвет ссылок/текста, чтобы «белый на белом» не пропадал */
header, .header, #site-header, .site-header, .topbar, .navbar, .nav { color:#111 !important; }
header a, .header a, #site-header a, .site-header a, .topbar a, .navbar a, .nav a { color:#111 !important; }

/* 2) ЯЗЫКОВОЙ СЕЛЕКТОР (закрытое состояние) — ВСЕ популярные варианты разметки */
.header .lang, .header .language, .topbar .lang, .topbar .language,
.navbar .lang, .navbar .language, .nav .lang, .nav .language,
.lang, .language, .lang-switch, .lang-select {
  color:#111 !important; opacity:1 !important; filter:none !important; mix-blend-mode:normal !important;
}
/* видимый текущий язык: кнопка/ссылка/спан и популярные плагины */
.lang a, .lang button, .lang .current, .lang span,
.language a, .language button, .language .current, .language span,
.select2-selection__rendered, .choices__inner, .nice-select .current, .selectric .label {
  color:#111 !important; -webkit-text-fill-color:#111 !important;
  opacity:1 !important; filter:none !important; mix-blend-mode:normal !important; text-shadow:none !important;
  text-indent:0 !important; overflow:visible !important;
}
/* нативный <select> языка (закрытое состояние) */
.lang select, .language select, select#lang, select[name="lang"], select[name*="lang"], select.lang {
  -webkit-appearance:none; appearance:none;
  background:#fff !important; color:#111 !important; -webkit-text-fill-color:#111 !important;
  border:1px solid #d0d0d0 !important; opacity:1 !important; filter:none !important; text-indent:0 !important;
}
.lang select option, .language select option { background:#fff !important; color:#111 !important; }
/* иконки языка (часто «серые» при force-dark) */
.lang svg, .language svg, .lang svg *, .language svg * {
  fill:#111 !important; stroke:#111 !important; color:#111 !important; opacity:1 !important; filter:none !important;
}

/* 3) КАТАЛОГ — «Категорії (алфавіт)» — держим чёрные буквы */
#catalog-app .alphabet, #catalog-app .alphabet-list, #catalog-app .category-letters, #catalog-app .alpha-grid {
  color:#111 !important; opacity:1 !important; filter:none !important; mix-blend-mode:normal !important;
}
#catalog-app .alphabet a, #catalog-app .alphabet button, #catalog-app .alphabet .item, #catalog-app .alphabet li,
#catalog-app .category-letters a, #catalog-app .category-letters button, #catalog-app .category-letters .item,
#catalog-app .alpha-grid .item, #catalog-app .alphabet span {
  color:#111 !important; -webkit-text-fill-color:#111 !important;
  opacity:1 !important; filter:none !important; mix-blend-mode:normal !important; text-shadow:none !important;
  text-indent:0 !important; overflow:visible !important;
}

/* Scoped styles for the catalog only */
#catalog-app { max-width: 1200px; margin: 0 auto; padding: 16px; }
#catalog-app .toolbar { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
#catalog-app .grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap:16px; }
/* Card styles are now in style.css to avoid duplication */
#catalog-app .card img {
  width:100%;
  height:160px;
  object-fit:contain;
}
#catalog-app .card .body { padding:10px; display:flex; flex-direction:column; gap:6px; }
#catalog-app .card .title { font-weight:600; min-height:40px; }
#catalog-app .card .price { font-weight:700; }
#catalog-app .card .actions { margin-top:auto; }
#catalog-app .add-btn { width:100%; padding:10px 12px; border:none; border-radius:6px; background:#7391d1; color:#fff !important; -webkit-text-fill-color:#fff !important; cursor:pointer; font-size:18px; font-weight:600; }
#catalog-app .add-btn:hover { background:#5e7fc4; }
#catalog-app .empty { padding:40px; text-align:center; color:#666; }

/* Search bar */
#catalog-app .searchbar{
  display:flex; align-items:center; gap:8px;
  width:100%; max-width:560px; margin:0 0 12px;
  background:#fff; border:1px solid #ccc; border-radius:999px;
  padding:8px 12px; box-shadow:0 1px 2px rgba(0,0,0,.04);
}
#catalog-app .searchbar .icon{ opacity:.6; }
#catalog-app .searchbar input{
  flex:1; min-width:0; border:none; outline:none;
  font-size:16px; background:transparent; box-shadow:none !important;
}
#catalog-app .searchbar button{
  border:none; background:transparent; font-size:20px; line-height:1;
  padding:0 4px; cursor:pointer; opacity:.5;
}
#catalog-app .searchbar button:hover{ opacity:.9; }

/* Невидимая подпись для доступности */
.visually-hidden{
  position:absolute !important; height:1px; width:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}

/* Спрятываем карточки только нашей меткой, не трогая другие фильтры */
#catalog-app .hide-by-search{ display:none !important; }

#cat-filter{min-width:20ch;}

/* Принудительно белый текст для кнопок add-btn - максимальная специфичность */
#catalog-app .card .actions .add-btn.btn.btn-primary,
#catalog-app .add-btn.btn.btn-primary,
#catalog-app .add-btn {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
  font-size: 18px !important;
}
