/* =========================================================
   FLOWMATIX — LEGAL PAGES (shared styles)
   Used by: privacy-policy, cookie-policy, refund-policy,
            terms, gdpr, imprint
========================================================= */
:root{
  --fx-text: rgba(232,238,252,.96);
  --fx-muted: rgba(167,177,195,.90);
  --fx-stroke: rgba(255,255,255,.10);
  --fx-stroke2: rgba(255,255,255,.06);
  --fx-blue:#4cc9ff;
  --fx-blue2:#2da8ff;
  --fx-orange:#FF8C42;
  --fx-radius: 22px;
  --fx-max: 1140px;
}

/* ===== Legal section layout ===== */
.fx-legal{
  position: relative;
  isolation: isolate;
  padding: clamp(56px, 7.2vw, 96px) 24px clamp(80px, 7.5vw, 120px);
}

/* ===== Content width ===== */
.fx-legal__wrap{
  max-width: var(--fx-max);
  margin: 0 auto;
  color: var(--fx-text);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* ===== Head ===== */
.fx-legal__head{
  text-align:center;
  margin-bottom: clamp(28px, 4vw, 44px);
}
.fx-kicker{
  display:inline-block;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 950;
  margin: 0 0 12px;
  color: #66D1FF;
  text-shadow: 0 0 18px rgba(102,209,255,.35);
}
.fx-h1{
  margin: 0 0 10px;
  font-size: clamp(34px, 4.2vw, 56px);
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: -0.03em;
  color: #fff;
}
.fx-grad{
  background: none;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: #fff;
  background-clip: unset;
  color: #fff;
}
.fx-sub{
  margin: 0;
  color: var(--fx-muted);
  font-size: 15px;
  line-height: 1.55;
}

/* ===== Card reset (no glass card) ===== */
.fx-card{
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.fx-card--content{
  padding: 0;
}

/* ===== Typography ===== */
.fx-legal__content h2{
  margin: 0 0 10px;
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 950;
  letter-spacing: -0.02em;
  color: #fff;
}
.fx-legal__content p{
  margin: 0 0 12px;
  color: rgba(232,238,252,.88);
  line-height: 1.75;
  font-size: 14.5px;
}
.fx-legal__content ul{
  margin: 0 0 12px 18px;
  color: rgba(232,238,252,.88);
  line-height: 1.75;
  font-size: 14.5px;
}
.fx-legal__content li{ margin: 6px 0; }
.fx-muted{ color: var(--fx-muted); }
.fx-link{
  color: rgba(210,230,255,.96);
  border-bottom: 1px solid rgba(76,201,255,.35);
  text-decoration:none;
  font-weight: 850;
}
.fx-link:hover{ border-bottom-color: rgba(76,201,255,.85); }
.fx-sec + .fx-sec{ margin-top: 18px; }

/* ===== Divider ===== */
.fx-divider{
  height:1px;
  border:0;
  margin: 18px 0 18px;
  background: linear-gradient(90deg,
    transparent,
    rgba(76,201,255,.24),
    rgba(255,255,255,.06),
    rgba(255,140,66,.14),
    transparent
  );
  opacity: .95;
  filter: drop-shadow(0 10px 30px rgba(45,168,255,.10));
}

/* ===== Callout ===== */
.fx-callout{
  display:flex;
  gap: 12px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,140,66,.22);
  background:
    radial-gradient(900px 360px at 18% -20%, rgba(255,140,66,.16), transparent 60%),
    rgba(255,255,255,.02);
  margin: 14px 0 0;
}
.fx-callout__icon{
  width: 28px; height: 28px;
  border-radius: 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,140,66,.14);
  border: 1px solid rgba(255,140,66,.22);
  color: rgba(255,140,66,.95);
  font-weight: 950;
  flex: 0 0 28px;
}
.fx-callout__text{
  color: rgba(232,238,252,.86);
  font-size: 13px;
  line-height: 1.55;
}

/* Blue callout variant */
.fx-callout--blue{
  border-color: rgba(76,201,255,.22);
  background:
    radial-gradient(900px 360px at 18% -20%, rgba(76,201,255,.12), transparent 60%),
    rgba(255,255,255,.02);
}
.fx-callout--blue .fx-callout__icon{
  background: rgba(76,201,255,.14);
  border-color: rgba(76,201,255,.22);
  color: rgba(76,201,255,.95);
}

/* ===== Bottom CTA ===== */
.fx-legal__footbox{
  margin-top: 6px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  text-align:center;
}
.fx-legal__foottitle{
  font-weight: 950;
  letter-spacing: -0.01em;
  margin-bottom: 6px;
}
.fx-legal__btnrow{
  display:flex;
  gap: 12px;
  margin-top: 12px;
  flex-wrap: wrap;
  justify-content:center;
}
.fx-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 14px;
  text-decoration:none;
  transition: transform .18s ease, box-shadow .18s ease;
  white-space: nowrap;
}
.fx-btn--primary{
  background: linear-gradient(180deg, var(--fx-orange), #FF7A1A);
  color: rgba(10,18,28,.96);
  box-shadow: 0 20px 60px rgba(0,0,0,.55);
  border: 1px solid rgba(255,140,66,.35);
}
.fx-btn--primary:hover{
  transform: translateY(-2px);
  box-shadow: 0 28px 80px rgba(0,0,0,.65), 0 0 30px rgba(255,140,66,.25);
}
.fx-btn--ghost{
  border:1px solid rgba(76,201,255,.25);
  background: rgba(76,201,255,.06);
  color: rgba(210,230,255,.95);
}
.fx-btn--ghost:hover{
  transform: translateY(-2px);
  box-shadow: 0 24px 70px rgba(0,0,0,.55), 0 0 26px rgba(76,201,255,.18);
}

/* ===== Pills ===== */
.fx-pill{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(76,201,255,.22);
  background: rgba(76,201,255,.06);
  color: rgba(232,238,252,.86);
  font-size: 13px;
  font-weight: 900;
}
.fx-pill + .fx-pill{ margin-left: 8px; }
.fx-pill__dot{
  width: 10px; height: 10px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--fx-blue), var(--fx-blue2));
  box-shadow: 0 0 14px rgba(76,201,255,.35);
}

/* ===== Table ===== */
.fx-table{
  width:100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 13.5px;
}
.fx-table th{
  text-align:left;
  padding: 10px 14px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--fx-muted);
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.fx-table td{
  padding: 10px 14px;
  color: rgba(232,238,252,.88);
  border-bottom: 1px solid rgba(255,255,255,.05);
  line-height: 1.6;
}
.fx-table tr:last-child td{ border-bottom: none; }

/* ===== Responsive ===== */
@media(max-width:640px){
  .fx-pill + .fx-pill{ margin-left: 0; margin-top: 8px; }
  .fx-legal__head .fx-pill{ display:flex; width:fit-content; margin:4px auto; }
  .fx-table{ font-size: 12px; }
  .fx-table th, .fx-table td{ padding: 8px 10px; }
}
