/*
Theme Name: Fair Signal Child
Theme URI: https://fairsignal.art
Author: Creative Flair
Author URI: https://creativeflair.art
Description: Child theme for Fair Signal. Custom CSS and template overrides.
Version: 1.1.0
Template: fairsignal
Text Domain: fairsignal-child
*/

/* ═══════════════════════════════════════════════
   SLIDER OVERRIDES — Custom range inputs
   ═══════════════════════════════════════════════ */

.fs-field__range {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 8px;
  background: transparent;
  margin: 12px 0 6px;
  cursor: pointer;
}

/* Track */
.fs-field__range::-webkit-slider-runnable-track {
  height: 8px;
  background: linear-gradient(90deg, rgba(239,68,68,0.25), rgba(245,158,11,0.25) 50%, rgba(34,197,94,0.25));
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.06);
}

.fs-field__range::-moz-range-track {
  height: 8px;
  background: linear-gradient(90deg, rgba(239,68,68,0.25), rgba(245,158,11,0.25) 50%, rgba(34,197,94,0.25));
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.06);
}

/* Thumb */
.fs-field__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--fs-text);
  border: 3px solid var(--fs-bg);
  box-shadow: 0 0 12px rgba(245, 240, 232, 0.3), 0 2px 6px rgba(0,0,0,0.4);
  margin-top: -9px;
  cursor: grab;
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}

.fs-field__range::-moz-range-thumb {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--fs-text);
  border: 3px solid var(--fs-bg);
  box-shadow: 0 0 12px rgba(245, 240, 232, 0.3), 0 2px 6px rgba(0,0,0,0.4);
  cursor: grab;
}

.fs-field__range::-webkit-slider-thumb:hover {
  transform: scale(1.15);
  box-shadow: 0 0 18px rgba(245, 240, 232, 0.5), 0 2px 8px rgba(0,0,0,0.5);
}

.fs-field__range:active::-webkit-slider-thumb {
  cursor: grabbing;
  transform: scale(1.1);
}

/* Slider value display */
.fs-slider-wrap {
  position: relative;
}

.fs-slider-value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  padding: 3px 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  font-size: 15px;
  font-weight: 700;
  font-family: var(--fs-font-display);
  color: var(--fs-text);
  margin-left: 8px;
  letter-spacing: -0.02em;
}

/* Buyer quality specific — 1-5 scale with colour shift */
.fs-slider-value--quality[data-value="1"] { color: var(--fs-red); border-color: rgba(239,68,68,0.2); }
.fs-slider-value--quality[data-value="2"] { color: #f97316; border-color: rgba(249,115,22,0.2); }
.fs-slider-value--quality[data-value="3"] { color: var(--fs-amber); border-color: rgba(245,158,11,0.2); }
.fs-slider-value--quality[data-value="4"] { color: #84cc16; border-color: rgba(132,204,22,0.2); }
.fs-slider-value--quality[data-value="5"] { color: var(--fs-green); border-color: rgba(34,197,94,0.2); }

/* Fair type slider — blue to green gradient */
.fs-field__range--fairtype::-webkit-slider-runnable-track {
  background: linear-gradient(90deg, rgba(96,165,250,0.3), rgba(245,158,11,0.3) 50%, rgba(34,197,94,0.3));
}

.fs-field__range--fairtype::-moz-range-track {
  background: linear-gradient(90deg, rgba(96,165,250,0.3), rgba(245,158,11,0.3) 50%, rgba(34,197,94,0.3));
}

/* ═══════════════════════════════════════════════
   MAP PANEL — Styling for address-based map
   ═══════════════════════════════════════════════ */

.fs-map-panel iframe {
  filter: grayscale(0.3) brightness(0.85) contrast(1.05);
  opacity: 0.9;
}

/* ═══════════════════════════════════════════════
   ROI EXPLAINER — Homepage feature section
   ═══════════════════════════════════════════════ */

.fs-explainer {
  padding: 48px 0 40px;
  border-bottom: 1px solid var(--fs-border);
  margin-bottom: 40px;
}

.fs-explainer__heading {
  font-family: var(--fs-font-display);
  font-size: 26px;
  font-weight: 900;
  text-align: center;
  margin-bottom: 8px;
  letter-spacing: -0.02em;
}

.fs-explainer__subheading {
  text-align: center;
  font-size: 15px;
  color: var(--fs-text-muted);
  max-width: 560px;
  margin: 0 auto 36px;
  line-height: 1.65;
  font-weight: 300;
}

.fs-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 12px;
}

.fs-feature {
  background: var(--fs-card);
  border: 1px solid var(--fs-border);
  border-radius: 10px;
  padding: 24px 20px;
  transition: border-color 0.25s;
}

.fs-feature:hover {
  border-color: var(--fs-border-hover);
}

.fs-feature__icon {
  font-size: 28px;
  margin-bottom: 14px;
  display: block;
}

.fs-feature__title {
  font-family: var(--fs-font-display);
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 8px;
}

.fs-feature__text {
  font-size: 13px;
  color: var(--fs-text-muted);
  line-height: 1.6;
}

.fs-roi-callout {
  background: linear-gradient(135deg, rgba(34,197,94,0.04), rgba(245,158,11,0.04));
  border: 1px solid rgba(245,240,232,0.08);
  border-radius: 12px;
  padding: 28px 32px;
  margin-top: 28px;
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.fs-roi-callout__icon {
  font-size: 36px;
  flex-shrink: 0;
}

.fs-roi-callout__title {
  font-family: var(--fs-font-display);
  font-weight: 700;
  font-size: 17px;
  margin-bottom: 6px;
}

.fs-roi-callout__text {
  font-size: 14px;
  color: rgba(245,240,232,0.6);
  line-height: 1.65;
}

.fs-roi-callout__formula {
  margin-top: 12px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.03);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.06);
  font-family: var(--fs-font-display);
  font-size: 15px;
  font-weight: 600;
  color: var(--fs-text);
  letter-spacing: -0.01em;
}

.fs-roi-callout__formula span { margin: 0 6px; }
.fs-roi-callout__formula .fs-color-red { opacity: 0.8; }
.fs-roi-callout__formula .fs-color-green { opacity: 0.8; }

@media (max-width: 768px) {
  .fs-features {
    grid-template-columns: 1fr;
  }
  .fs-roi-callout {
    flex-direction: column;
    gap: 12px;
  }
}
