/* =========================================================
   Farmtec Reviews — Slider + Cards (settings-friendly)
   ========================================================= */

/* ---------- Slider shell ---------- */
.ftr-slider{
  position: relative;
  isolation: isolate;
  background: transparent;
  /* NOTE: do NOT set CSS variables here; let settings override cascade */
}

/* No edge fades (avoid darkening headings) */
.ftr-slider::before,
.ftr-slider::after{ display:none !important; }

/* ---------- Track: horizontal scroll + snap ---------- */
.ftr-track{
  display:flex;
  align-items: stretch;            /* equal-height cards */
  gap:18px;
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
  padding:8px clamp(24px,6vw,72px);
  background: transparent;
  box-shadow: none;
}
.ftr-track::-webkit-scrollbar{ height:8px; }
.ftr-track::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.18); border-radius:999px; }
.ftr-track::-webkit-scrollbar-track{ background:transparent; }

/* Each slide takes most of the width so neighbors peek */
.ftr-slide{
  flex:0 0 clamp(86%,62vw,820px);
  scroll-snap-align:center;
  scroll-snap-stop:always;

  display:flex; /* equal-height wrapper */
}
@media (min-width:1100px){
  .ftr-slide{ flex-basis:min(820px,70vw); }
}
@media (max-width:640px){
  .ftr-slide{ flex-basis:92%; }
}

/* ---------- Card ---------- */
/* Theme defaults are provided via --ftr-theme-*.
   Admin settings can override via --ftr-* on the wrapper. */
.ftr-card{
  /* Resolve final values with override-friendly cascading: */
  background: var(--ftr-card-bg, var(--ftr-theme-card-bg, rgba(0,0,0,.22)));
  color:      var(--ftr-text-color, #fff);
  border: 1px solid var(--ftr-card-border, var(--ftr-theme-card-border, rgba(255,255,255,.18)));

  -webkit-backdrop-filter: blur(var(--ftr-card-blur, var(--ftr-theme-card-blur, 8px)));
  backdrop-filter:         blur(var(--ftr-card-blur, var(--ftr-theme-card-blur, 8px)));

  border-radius: var(--ftr-radius, 22px);

  /* Downward drop-shadow only; never haze over text */
  box-shadow: none !important;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.22));

  padding:clamp(16px,3.6vw,28px) clamp(18px,4.6vw,36px);
  transition:transform .18s ease, filter .22s ease, background-color .22s ease;

  display:flex; flex-direction:column;
  min-height: var(--ftr-card-equal-h, auto);
}

/* Hover/focus: gentle lift; do NOT darken text */
.ftr-card:hover,
.ftr-card:focus-within{
  /* optional slight lighten: uncomment if desired */
  /* background: color-mix(in srgb, currentColor 0%, rgba(255,255,255,.06)); */
  transform: translateY(-2px);
  filter: drop-shadow(0 22px 36px rgba(0,0,0,.22));
}

/* Absolutely no decorative overlays on content */
.ftr-card::before,
.ftr-card::after{ content:none !important; }

/* ---------- Text ---------- */
.ftr-name{
  margin:0 0 6px 0;
  color: var(--ftr-name-color, #F2B426);  /* gold by default */
  font-family: var(--ftr-name-font, "Manrope","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  font-size:   var(--ftr-name-size, clamp(18px,2.4vw,26px));
  line-height:1.15;
  font-weight:800;
  text-shadow:none !important;
}

.ftr-loc{
  opacity:.85;
  font-weight:600;
  color: inherit;
  text-shadow:none !important;
}

.ftr-stars{
  color: var(--ftr-stars-color, #F2B426);
  font-size:clamp(16px,2.2vw,20px);
  letter-spacing:.06em;
  margin:.35rem 0 .8rem;
}
.ftr-stars svg{ width:1em; height:1em; display:block; fill:currentColor; }

.ftr-text{
  margin:0;
  color: var(--ftr-text-color, #fff);
  font-family: var(--ftr-text-font, "Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  font-size:   var(--ftr-text-size, clamp(14px,1.6vw,18px));
  line-height:1.6;
  opacity:.98;
  text-shadow:none !important;
}

/* ---------- Arrows ---------- */
.ftr-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:22px; line-height:1; cursor:pointer; z-index:3;

  background: rgba(0,0,0,.24);
  border:1.5px solid rgba(255,255,255,.35);
  color:#fff;

  transition:background .18s, transform .12s, border-color .18s;
}
.ftr-arrow--prev{ left:10px; }
.ftr-arrow--next{ right:10px; }
.ftr-arrow:hover{ background: rgba(0,0,0,.34); transform:translateY(-50%) scale(1.03); }
.ftr-arrow:focus{ outline:none; box-shadow:0 0 0 3px rgba(242,180,38,.35); }

/* Hide arrows if only one slide (modern browsers) */
.ftr-slider:has(.ftr-slide:nth-child(1):last-child) .ftr-arrow{ display:none; }

/* ---------- Dots ---------- */
.ftr-dots{
  display:flex; gap:8px; justify-content:center; margin-top:10px;
}
.ftr-dot{
  width:8px; height:8px; border-radius:999px; opacity:.45; border:0;
  background:#fff; cursor:pointer; transition:opacity .2s, transform .2s;
}
.ftr-dot.is-active,
.ftr-dot[aria-current="true"]{ opacity:1; transform:scale(1.1); }

/* ---------- Accessibility ---------- */
.ftr-slider:focus{ outline:none; box-shadow:none; }

@media (prefers-reduced-motion: reduce){
  .ftr-track{ scroll-behavior:auto; }
  .ftr-card, .ftr-arrow{ transition:none; }
}

/* =========================================================
   Theme presets (override only theme defaults)
   ========================================================= */

/* Glass (default look) */
.ftr-theme--glass .ftr-card{
  --ftr-theme-card-bg:     rgba(0,0,0,.22);
  --ftr-theme-card-border: rgba(255,255,255,.18);
  --ftr-theme-card-blur:   8px;
}

/* Paper — bright for light sections */
.ftr-theme--paper .ftr-card{
  --ftr-theme-card-bg:     rgba(255,255,255,.98);
  --ftr-theme-card-border: rgba(14,74,90,.10);
  --ftr-theme-card-blur:   0px;
  color:#0b1f2a;
  filter: drop-shadow(0 16px 28px rgba(0,0,0,.12));
}
.ftr-theme--paper .ftr-text{ color:#334155; }

/* Minimal — nearly transparent */
.ftr-theme--minimal .ftr-card{
  --ftr-theme-card-bg:     rgba(0,0,0,0.06);
  --ftr-theme-card-border: rgba(255,255,255,.22);
  --ftr-theme-card-blur:   0px;
  filter: drop-shadow(0 12px 20px rgba(0,0,0,.12));
}
