/**
 * ServiceDZ Icon System
 * Uses the bundled local Font Awesome build and gives icons a consistent
 * visual language across procedures, documents, archives, search and actions.
 */
:root {
  --sdz-icon-size-xs: 0.78rem;
  --sdz-icon-size-sm: 0.9rem;
  --sdz-icon-size-md: 1.05rem;
  --sdz-icon-size-lg: 1.25rem;
  --sdz-icon-surface: #eef8f3;
  --sdz-icon-surface-gold: #fff7df;
}

.sdz-wrap i[class*="fa-"],
.sdz-wrap svg[class*="fa-"],
.sdz-wrap .fa,
.sdz-wrap .fas,
.sdz-wrap .far,
.sdz-wrap .fab {
  line-height: 1;
  vertical-align: -0.08em;
}

/* Titles and section headers */
.sdz-section-title > i:first-child,
.sdz-section-title > .fas:first-child,
.sdz-section-title > .far:first-child,
.sdz-section-title > .fab:first-child {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(0,107,63,.10);
  background: linear-gradient(145deg,#f1faf5,#e6f4ed);
  color: #006b3f;
  border-radius: 11px;
  box-shadow: 0 3px 10px rgba(0,107,63,.07);
  font-size: var(--sdz-icon-size-md);
}

/* Summary / trust / entity cards */
.sdz-summary-icon,
.sdz-trust-icon,
.sdz-list-card-icon,
.sdz-topic-card__icon,
.sdz-type-card__icon,
.sdz-empty-state__icon {
  position: relative;
  overflow: hidden;
}

.sdz-summary-icon::after,
.sdz-trust-icon::after,
.sdz-topic-card__icon::after,
.sdz-type-card__icon::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  inset-inline-end: -13px;
  inset-block-start: -13px;
  border-radius: 50%;
  background: rgba(255,255,255,.55);
  pointer-events: none;
}

.sdz-summary-icon i,
.sdz-trust-icon i,
.sdz-list-card-icon i,
.sdz-topic-card__icon i,
.sdz-type-card__icon i,
.sdz-empty-state__icon i {
  position: relative;
  z-index: 1;
}

/* Inline metadata icons */
.sdz-meta-pill i,
.sdz-result-type i,
.sdz-mini-chip i,
.sdz-check-meta i,
.sdz-trust-meta i {
  width: 1.15em;
  text-align: center;
  color: #006b3f;
}

/* Navigation / breadcrumb icons */
.sdz-breadcrumbs i {
  width: 1rem;
  text-align: center;
  color: #006b3f;
  font-size: var(--sdz-icon-size-sm);
}

/* Buttons: icon alignment and subtle visual hierarchy */
.sdz-btn > i,
.sdz-btn > .fas,
.sdz-btn > .far,
.sdz-btn > .fab,
.sdz-search-button > i,
button > i {
  flex: 0 0 auto;
  width: 1.15em;
  text-align: center;
  font-size: .95em;
}

.sdz-btn-primary > i,
.sdz-btn-primary > .fas,
.sdz-btn-primary > .far,
.sdz-btn-primary > .fab {
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.10));
}

/* Cards and links */
.sdz-list-card:hover .sdz-list-card-icon i,
a.sdz-card-action:hover i,
.sdz-result-card__more:hover i {
  transform: translateX(-2px);
}

.sdz-list-card-icon i,
a.sdz-card-action i,
.sdz-result-card__more i {
  transition: transform .18s ease;
}

/* Search */
.sdz-archive-search i,
.sdz-taxonomy-search i,
.sdz-search-box i {
  color: #006b3f;
}

/* Alerts and status blocks */
.sdz-notice > i:first-child,
.sdz-alert > i:first-child,
.sdz-message > i:first-child {
  flex: 0 0 1.25rem;
  margin-top: .2rem;
  text-align: center;
  color: #006b3f;
}

.sdz-notice--warning > i:first-child { color: #b77900; }
.sdz-notice--error > i:first-child { color: #b91c1c; }
.sdz-notice--info > i:first-child { color: #1d4ed8; }

/* Share buttons */
.sdz-social-share a i,
.sdz-share a i {
  width: 1.1em;
  text-align: center;
  transition: transform .18s ease;
}
.sdz-social-share a:hover i,
.sdz-share a:hover i { transform: translateY(-1px) scale(1.06); }

/* Icon-only controls: make touch targets accessible */
.sdz-icon-button,
.sdz-faq-toggle,
.sdz-card-icon-button,
.sdz-favorite-button {
  min-width: 40px;
  min-height: 40px;
  display: inline-grid;
  place-items: center;
}

.sdz-icon-button i,
.sdz-faq-toggle i,
.sdz-card-icon-button i,
.sdz-favorite-button i { margin: 0; }

/* Gold accent is used sparingly for attention, not decoration everywhere. */
.sdz-section-title .fa-star,
.sdz-section-title .fa-fire,
.sdz-section-title .fa-bolt,
.sdz-popular-badge i,
.sdz-rating i { color: #d59600; }

/* RTL directional icons should remain visually intuitive. */
[dir="rtl"] .sdz-list-card:hover .sdz-list-card-icon,
[dir="rtl"] .sdz-list-card:hover .sdz-list-card-icon i { transform: translateX(-2px); }

@media (max-width: 767px) {
  .sdz-section-title > i:first-child,
  .sdz-section-title > .fas:first-child,
  .sdz-section-title > .far:first-child,
  .sdz-section-title > .fab:first-child {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .sdz-icon-button,
  .sdz-faq-toggle,
  .sdz-card-icon-button,
  .sdz-favorite-button { min-width: 44px; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .sdz-list-card-icon i,
  a.sdz-card-action i,
  .sdz-result-card__more i,
  .sdz-social-share a i,
  .sdz-share a i { transition: none; }
}
