/**
 * [cvs_search_results] styles. Same token set as dashboard.css for visual
 * continuity; mobile-first (section 7), RTL via logical properties, dark
 * mode via prefers-color-scheme.
 */

.cvs-search {
  --cvs-bg: #F5EFE2;
  --cvs-surface: #FFFDF8;
  --cvs-surface-alt: #EDE3CC;
  --cvs-text: #201C16;
  --cvs-text-muted: #6E6656;
  --cvs-border: #E9DFC4;
  --cvs-primary: #1E3A5F;
  --cvs-primary-strong: #12283F;
  --cvs-danger: #B23A32;
  --cvs-warning: #B8752B;
  --cvs-warning-soft: #F3E3C7;

  font-family: 'Assistant', 'Arial Hebrew', 'Segoe UI', sans-serif;
  color: var(--cvs-text);
}

@media (prefers-color-scheme: dark) {
  .cvs-search {
    --cvs-bg: #14201C;
    --cvs-surface: #1B2925;
    --cvs-surface-alt: #223530;
    --cvs-text: #EFE9DA;
    --cvs-text-muted: #A79E8A;
    --cvs-border: #2A3B34;
    --cvs-primary: #85AEDC;
    --cvs-primary-strong: #B7D0EC;
    --cvs-danger: #E58177;
    --cvs-warning: #E0A25C;
    --cvs-warning-soft: #3A2C16;
  }
}

.cvs-search-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: var(--cvs-surface);
  border: 1px solid var(--cvs-border);
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 18px;
}

.cvs-search-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cvs-search-field label {
  font-size: 13px;
  font-weight: 600;
  color: var(--cvs-text-muted);
}
.cvs-search-field select,
.cvs-search-field input[type="text"],
.cvs-search-field input[type="number"],
.cvs-search-field input[type="date"] {
  min-height: 42px; /* mobile tap target, section 7 */
  padding: 8px 12px;
  border: 1px solid var(--cvs-border);
  border-radius: 8px;
  background: var(--cvs-bg);
  color: var(--cvs-text);
  font-size: 14px;
}

.cvs-search-field-dates {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
}
.cvs-search-field-dates input {
  flex: 1 1 130px;
}

.cvs-city-autocomplete {
  position: relative;
}
.cvs-city-suggestions {
  position: absolute;
  inset-inline: 0;
  top: calc(100% + 4px);
  background: var(--cvs-surface);
  border: 1px solid var(--cvs-border);
  border-radius: 8px;
  overflow: hidden;
  z-index: 5;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}
.cvs-city-suggestion {
  display: block;
  width: 100%;
  text-align: start;
  padding: 10px 12px;
  border: none;
  background: none;
  color: var(--cvs-text);
  cursor: pointer;
  font-size: 14px;
}
.cvs-city-suggestion:hover,
.cvs-city-suggestion:focus {
  background: var(--cvs-surface-alt);
}
.cvs-city-suggestion-empty {
  padding: 10px 12px;
  color: var(--cvs-text-muted);
  font-size: 13px;
}

.cvs-find-shabbat-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--cvs-surface-alt);
  border-radius: 10px;
  padding: 12px;
}
.cvs-find-shabbat-panel select,
.cvs-find-shabbat-panel input {
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--cvs-border);
  border-radius: 8px;
  background: var(--cvs-surface);
  color: var(--cvs-text);
}
.cvs-fs-results {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cvs-fs-option {
  text-align: start;
  padding: 10px 12px;
  border: 1px solid var(--cvs-border);
  border-radius: 8px;
  background: var(--cvs-surface);
  color: var(--cvs-text);
  cursor: pointer;
  font-size: 13.5px;
}
.cvs-fs-option-dates {
  color: var(--cvs-text-muted);
  font-size: 12px;
}
.cvs-fs-error {
  color: var(--cvs-danger);
  font-size: 13px;
  margin: 0;
}

.cvs-search-features {
  border: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}
.cvs-search-features legend {
  font-size: 13px;
  font-weight: 600;
  color: var(--cvs-text-muted);
  padding: 0;
}
.cvs-feature-checkbox {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
}

.cvs-search-actions {
  display: flex;
  gap: 10px;
}

.cvs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  min-height: 42px;
}
.cvs-btn-primary {
  background: var(--cvs-primary);
  color: var(--cvs-bg);
}
.cvs-btn-secondary {
  background: var(--cvs-surface-alt);
  color: var(--cvs-text);
  border-color: var(--cvs-border);
}

.cvs-search-status {
  font-size: 13.5px;
  color: var(--cvs-text-muted);
  margin-bottom: 10px;
  min-height: 18px;
}

.cvs-results-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.cvs-result-card {
  display: flex;
  flex-direction: column;
  background: var(--cvs-surface);
  border: 1px solid var(--cvs-border);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

.cvs-result-media {
  position: relative;
  height: 160px;
  background: var(--cvs-surface-alt);
}
.cvs-result-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cvs-no-photo {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cvs-text-muted);
}
.cvs-no-photo svg {
  width: 30px;
  height: 30px;
  opacity: 0.6;
}
.cvs-featured-badge {
  position: absolute;
  top: 8px;
  inset-inline-start: 8px;
  background: var(--cvs-primary);
  color: var(--cvs-bg);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 100px;
}

.cvs-favorite-toggle {
  position: absolute;
  top: 8px;
  inset-inline-end: 8px;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  background: rgba(255, 253, 248, 0.9);
  color: var(--cvs-text-muted);
  cursor: pointer;
}
.cvs-favorite-toggle svg {
  width: 18px;
  height: 18px;
}
.cvs-favorite-toggle.cvs-favorited {
  color: var(--cvs-danger);
}
.cvs-favorite-toggle:disabled {
  opacity: 0.6;
}

.cvs-result-body {
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cvs-result-body strong {
  font-size: 15px;
}
.cvs-result-meta,
.cvs-result-facts {
  font-size: 12.5px;
  color: var(--cvs-text-muted);
}
.cvs-result-price {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--cvs-primary-strong);
  margin-top: 2px;
}
.cvs-result-stale {
  font-size: 11.5px;
  color: var(--cvs-warning);
  background: var(--cvs-warning-soft);
  border-radius: 6px;
  padding: 4px 8px;
  width: fit-content;
  margin-top: 4px;
}

@media (min-width: 640px) {
  .cvs-results-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .cvs-search-form {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: end;
  }
  .cvs-find-shabbat-panel,
  .cvs-search-features,
  .cvs-search-actions,
  .cvs-search-field-dates {
    grid-column: 1 / -1;
  }
}

@media (min-width: 960px) {
  .cvs-results-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
