/* Global Lead Form — Typeform-style multi-step, dark indigo/amber theme */
.glf-card, .glf-card * { box-sizing: border-box; }

/* Defaults live here; the plugin overrides them inline from Leads → Form Settings.
   The calendar is portalled to <body>, so it gets the same defaults. */
.glf-card, .flatpickr-calendar.glf-cal{
  --glf-indigo:#322C9E; --glf-indigo-deep:#272169; --glf-line:#4A43C4;
  --glf-amber:#F5A623; --glf-amber-soft:rgba(245,166,35,.14);
  --glf-ink:#0E0C24; --glf-white:#fff; --glf-muted:#B9B5E8; --glf-ph:#8A86C0;
  --glf-good:#37C26B; --glf-bad:#FF6B6B;
  --glf-field-bg:#fff; --glf-field-text:#1a1a1a; --glf-field-border:#fff;
  --glf-on-accent:#221A00; --glf-cta-text:#fff; --glf-cta-border:#F5A623;
  --glf-amber-soft-2:rgba(245,166,35,.24);
  --glf-bad-soft:rgba(255,107,107,.12); --glf-bad-line:rgba(255,107,107,.5);
  --glf-bad-ring:rgba(255,107,107,.4);
  --glf-shadow:0 24px 60px rgba(0,0,0,.35);
  --glf-max-width:680px; --glf-radius:20px;
}
.glf-card{
  width:100%; max-width:var(--glf-max-width); margin:0 auto;
  background:var(--glf-indigo); border:1px solid var(--glf-line); border-radius:var(--glf-radius);
  padding:28px 28px 24px; color:var(--glf-white);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  box-shadow:var(--glf-shadow);
  /* Embeds (e.g. Elementor popups) often render this narrower than the
     viewport, so column-count breakpoints below query this container's own
     width instead of the window's — a viewport media query would never fire
     inside a popup that's already narrower than its breakpoint. */
  container-type:inline-size;
}

/* ---- Heading ---- */
.glf-card .glf-title{
  font-size:24px; line-height:1.2; margin:0 0 4px; font-weight:800;
  letter-spacing:-.4px; color:var(--glf-white);
}
.glf-card .glf-hl{ color:var(--glf-amber); white-space:nowrap; }
.glf-card .glf-sub{ color:var(--glf-muted); font-size:14px; margin:0 0 20px; }

/* ---- Labels / fields ---- */
.glf-card .glf-label{
  display:block; font-size:13.5px; font-weight:600; color:var(--glf-muted); margin:0 0 7px;
}
.glf-card .glf-label em{ font-style:normal; font-weight:400; color:var(--glf-ph); }
.glf-card .glf-req:after{ content:" *"; color:var(--glf-amber); }
.glf-card input[type=text], .glf-card input[type=email], .glf-card input[type=tel],
.glf-card input[type=date], .glf-card select, .glf-card textarea{
  width:100%; background:var(--glf-field-bg); border:1px solid var(--glf-field-border); border-radius:11px;
  padding:12px 14px; font-size:15px; line-height:1.3; color:var(--glf-field-text); outline:none; transition:.15s;
  font-family:inherit; box-shadow:none; margin:0;
}
.glf-card input::placeholder, .glf-card textarea::placeholder{ color:var(--glf-ph); opacity:1; }
.glf-card input:focus, .glf-card select:focus, .glf-card textarea:focus{
  border-color:var(--glf-amber);
}
.glf-card input.glf-invalid, .glf-card select.glf-invalid, .glf-card textarea.glf-invalid{
  box-shadow:0 0 0 3px var(--glf-bad-ring);
}
.glf-card textarea{ resize:vertical; min-height:70px; }
.glf-card select{
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'><path d='M4 6l4 4 4-4' fill='none' stroke='%23555' stroke-width='1.6'/></svg>");
  background-repeat:no-repeat; background-position:right 14px center;
}
.glf-card .glf-field{ margin-bottom:16px; }
.glf-card .glf-field[hidden]{ display:none; }
.glf-card .glf-row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
@container (max-width:520px){ .glf-card .glf-row{ grid-template-columns:minmax(0,1fr); } }

/* ---- Views (selection <-> steps swap in place) ---- */
.glf-card .glf-view{ display:none; }
.glf-card .glf-view.is-active{ display:block; animation:glfFade .28s ease; }
@keyframes glfFade{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;} }

/* ---- Service cards ---- */
.glf-card .glf-cards{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:2px 0 4px; }
@container (max-width:620px){ .glf-card .glf-cards{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.glf-card .glf-ncard{
  background:var(--glf-indigo-deep); border:1.5px solid var(--glf-line); border-radius:13px;
  padding:14px 8px; text-align:center; cursor:pointer; transition:.15s; user-select:none;
  color:var(--glf-white); font-family:inherit; display:block; width:100%;
}
.glf-card .glf-ncard:hover{ border-color:var(--glf-amber); transform:translateY(-2px); background:var(--glf-indigo-deep); }
.glf-card .glf-ncard.is-sel{ border-color:var(--glf-amber); background:var(--glf-amber-soft); box-shadow:0 0 0 2px var(--glf-amber-soft); }
.glf-card .glf-urgent.is-sel{ border-color:var(--glf-bad); background:var(--glf-bad-soft); box-shadow:0 0 0 2px var(--glf-bad-soft); }
.glf-card .glf-ncard .glf-ico{ font-size:22px; display:block; margin-bottom:5px; }
.glf-card .glf-ncard .glf-t{ font-size:12.5px; font-weight:700; line-height:1.25; display:block; }
.glf-card .glf-urgent{ border-color:var(--glf-bad-line); }
.glf-card .glf-urgent .glf-t{ color:var(--glf-bad); }
.glf-card .glf-urgent:hover{ border-color:var(--glf-bad); }

/* ---- Step header: selected-service pill + counter ---- */
.glf-card .glf-stephead{
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px;
}
.glf-card .glf-pill{
  display:inline-flex; align-items:center; gap:7px; max-width:75%;
  background:var(--glf-amber-soft); border:1.5px solid var(--glf-amber); border-radius:999px;
  padding:7px 13px; color:var(--glf-white); font-size:13px; font-weight:700; cursor:pointer;
  font-family:inherit; transition:.15s; line-height:1.2;
}
.glf-card .glf-pill:hover{ background:var(--glf-amber-soft-2); }
.glf-card .glf-pill-txt{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.glf-card .glf-pill-edit{ color:var(--glf-amber); font-weight:600; font-size:12px; white-space:nowrap; }
.glf-card .glf-counter{ color:var(--glf-muted); font-size:12.5px; font-weight:600; white-space:nowrap; }

/* ---- Progress bar ---- */
.glf-card .glf-progress{
  height:5px; background:var(--glf-indigo-deep); border-radius:999px; overflow:hidden; margin-bottom:18px;
}
.glf-card .glf-progress-bar{
  display:block; height:100%; width:0; background:var(--glf-amber); border-radius:999px;
  transition:width .3s ease;
}

/* ---- Panes ---- */
.glf-card .glf-pane{ display:none; }
.glf-card .glf-pane.is-active{ display:block; animation:glfFade .28s ease; }
.glf-card .glf-panes{ min-height:120px; }

/* ---- Hints / errors ---- */
.glf-card .glf-hint{ font-size:12.5px; color:var(--glf-ph); margin:2px 0 14px; line-height:1.45; }
.glf-card .glf-hint-urgent{ color:var(--glf-bad); }
.glf-card .glf-err{ display:none; color:var(--glf-bad); font-size:12.5px; margin-top:6px; }
.glf-card .glf-err.is-show{ display:block; }
.glf-card .glf-err-submit{ margin:0 0 10px; }

/* ---- Chips ---- */
.glf-card .glf-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.glf-card .glf-chip{
  display:inline-block; background:var(--glf-indigo-deep); border:1.5px solid var(--glf-line);
  color:var(--glf-white); border-radius:999px; padding:8px 14px; font-size:13.5px;
  cursor:pointer; transition:.12s; user-select:none; line-height:1.2;
}
.glf-card .glf-chip:hover{ border-color:var(--glf-amber); }
.glf-card .glf-chip.is-on{ background:var(--glf-amber); border-color:var(--glf-amber); color:var(--glf-on-accent); font-weight:700; }
.glf-card .glf-chips.glf-invalid{ outline:2px solid var(--glf-bad); border-radius:10px; padding:6px; }

/* ---- Option boxes (click-to-advance) ---- */
.glf-card .glf-opts{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
@container (max-width:520px){ .glf-card .glf-opts{ grid-template-columns:minmax(0,1fr); } }
.glf-card .glf-opt{
  background:var(--glf-indigo-deep); border:1.5px solid var(--glf-line); border-radius:12px;
  padding:14px 16px; text-align:left; cursor:pointer; transition:.15s; user-select:none;
  color:var(--glf-white); font-size:14px; font-weight:600; line-height:1.3;
  font-family:inherit; display:block; width:100%;
}
.glf-card .glf-opt:hover{ border-color:var(--glf-amber); transform:translateY(-1px); background:var(--glf-indigo-deep); }
.glf-card .glf-opt.is-sel{ border-color:var(--glf-amber); background:var(--glf-amber-soft); box-shadow:0 0 0 2px var(--glf-amber-soft); }
.glf-card .glf-opts.glf-invalid{ outline:2px solid var(--glf-bad); outline-offset:4px; border-radius:12px; }

/* ---- Nav buttons ---- */
.glf-card .glf-nav{ display:flex; gap:12px; margin-top:6px; }
.glf-card .glf-back{
  flex:0 0 auto; background:transparent; border:1.5px solid var(--glf-line); color:var(--glf-muted);
  font-size:14.5px; font-weight:700; padding:13px 18px; border-radius:12px; cursor:pointer;
  transition:.15s; font-family:inherit;
}
.glf-card .glf-back:hover{ border-color:var(--glf-amber); color:var(--glf-white); background:transparent; }
.glf-card .glf-next{
  flex:1; background:var(--glf-ink); border:2px solid var(--glf-cta-border); color:var(--glf-cta-text);
  font-size:16px; font-weight:800; padding:13px 18px; border-radius:12px; cursor:pointer;
  transition:.15s; font-family:inherit;
}
.glf-card .glf-next:hover{ background:var(--glf-ink); opacity:.88; }
.glf-card .glf-next:disabled{ opacity:.55; cursor:not-allowed; }

/* ---- Trust row ---- */
.glf-card .glf-trust{
  display:flex; gap:14px; justify-content:center; flex-wrap:wrap;
  color:var(--glf-muted); font-size:12.5px; margin-top:16px;
}
.glf-card .glf-trust b{ color:var(--glf-amber); }

/* ---- Date display input ---- */
.glf-card .glf-date-display{ cursor:pointer; }
.glf-card .glf-date-display:disabled{ opacity:.55; cursor:not-allowed; }

/* ---- Flatpickr calendar, themed (scoped via .glf-cal) ---- */
.flatpickr-calendar.glf-cal{
  background:var(--glf-indigo-deep); border:1px solid var(--glf-line); border-radius:14px;
  box-shadow:var(--glf-shadow);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.flatpickr-calendar.glf-cal:before, .flatpickr-calendar.glf-cal:after{ display:none; }
.glf-cal .flatpickr-months{ padding:6px 0 2px; }
.glf-cal .flatpickr-months .flatpickr-month{ color:var(--glf-white); fill:var(--glf-white); height:36px; }
.glf-cal .flatpickr-current-month{ font-size:15px; font-weight:700; padding-top:4px; }
.glf-cal .flatpickr-current-month .flatpickr-monthDropdown-months{
  background:var(--glf-indigo-deep); color:var(--glf-white); font-weight:700; border-radius:8px;
}
.glf-cal .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{
  background:var(--glf-indigo-deep); color:var(--glf-white);
}
.glf-cal .flatpickr-current-month input.cur-year{ color:var(--glf-white); font-weight:700; }
.glf-cal .numInputWrapper:hover{ background:rgba(255,255,255,.08); border-radius:6px; }
.glf-cal .numInputWrapper span{ border-color:rgba(255,255,255,.2); }
.glf-cal .numInputWrapper span:after{ opacity:.7; }
.glf-cal .numInputWrapper span.arrowUp:after{ border-bottom-color:var(--glf-muted); }
.glf-cal .numInputWrapper span.arrowDown:after{ border-top-color:var(--glf-muted); }
.glf-cal .flatpickr-prev-month, .glf-cal .flatpickr-next-month{ fill:var(--glf-muted); padding:8px 10px; }
.glf-cal .flatpickr-prev-month:hover, .glf-cal .flatpickr-next-month:hover{ fill:var(--glf-amber); }
.glf-cal .flatpickr-prev-month svg, .glf-cal .flatpickr-next-month svg{ fill:inherit; }
.glf-cal .flatpickr-weekdays{ height:30px; }
.glf-cal span.flatpickr-weekday{
  color:var(--glf-ph); background:transparent; font-size:11.5px; font-weight:700; text-transform:uppercase;
}
.glf-cal .flatpickr-days{ border:0; }
.glf-cal .dayContainer{ padding:2px 4px 8px; }
.glf-cal .flatpickr-day{
  color:var(--glf-white); border-radius:9px; border:1px solid transparent; font-weight:500;
  max-width:38px; height:38px; line-height:37px;
}
.glf-cal .flatpickr-day:hover, .glf-cal .flatpickr-day:focus{
  background:var(--glf-indigo); border-color:var(--glf-line); color:var(--glf-white);
}
.glf-cal .flatpickr-day.today{ border-color:var(--glf-amber); color:var(--glf-amber); }
.glf-cal .flatpickr-day.today:hover{ background:var(--glf-indigo); color:var(--glf-amber); }
.glf-cal .flatpickr-day.selected, .glf-cal .flatpickr-day.selected:hover,
.glf-cal .flatpickr-day.selected:focus{
  background:var(--glf-amber); border-color:var(--glf-amber); color:var(--glf-on-accent); font-weight:800;
}
.glf-cal .flatpickr-day.prevMonthDay, .glf-cal .flatpickr-day.nextMonthDay{ color:var(--glf-ph); opacity:.5; }
.glf-cal .flatpickr-day.flatpickr-disabled, .glf-cal .flatpickr-day.flatpickr-disabled:hover{
  color:var(--glf-ph); opacity:.35; background:transparent; border-color:transparent; cursor:not-allowed;
}

/* ---- Done ---- */
.glf-card .glf-done{ display:none; text-align:center; padding:26px 10px; }
.glf-card .glf-done.is-show{ display:block; animation:glfFade .28s ease; }
.glf-card .glf-done-ico{ font-size:42px; }
.glf-card .glf-done h3{ margin:8px 0 6px; font-size:22px; color:var(--glf-white); font-weight:800; }
.glf-card .glf-done p{ color:var(--glf-muted); margin:4px 0; font-size:14.5px; }
