/* FP Pricing v1.9.0 – Avada-friendly, pill UI (Onest font) */
:root{ --fp-primary:#0057ff; --fp-border:#e2e2e2; --fp-soft:#fafafa; --fp-text:#111; }
.fp-pricing.fp-card{ background:#fff; padding:22px; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,.06); font-size:16px; line-height:1.45; color:var(--fp-text); }
.fp-pricing h3, .fp-pricing h4{ margin:10px 0; }
.fp-step{ margin:18px 0; }
.fp-step-title{ font-weight:600; margin-bottom:8px; }
.fp-pills{ display:flex; flex-wrap:wrap; gap:10px; }
.fp-pill{ border:1px solid var(--fp-border); background:var(--fp-soft); border-radius:999px; padding:10px 18px; cursor:pointer; user-select:none; transition:.15s ease; min-height:42px; display:inline-flex; align-items:center; }
.fp-pill:hover{ box-shadow:0 1px 4px rgba(0,0,0,.05); }
.fp-pill[aria-pressed="true"]{ background:var(--fp-primary); color:#fff; border-color:var(--fp-primary); }
.fp-desc{ color:#555; margin-top:6px; }
.fp-percent-box{ display:flex; align-items:center; gap:10px; border:1px solid var(--fp-border); background:var(--fp-soft); border-radius:10px; padding:12px; }
.fp-percent-box .fp-label{ color:#666; }
.fp-percent-box .fp-value{ font-size:26px; font-weight:700; }
.fp-addons-list, .fp-fees-list{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px; }
.fp-addon{ border:1px solid var(--fp-border); background:var(--fp-soft); border-radius:10px; padding:12px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.fp-addon-title{ font-weight:600; }
.fp-right{ display:flex; align-items:center; gap:12px; }
.fp-switch{ position:relative; width:44px; height:24px; }
.fp-switch input{ display:none; }
.fp-switch .track{ position:absolute; inset:0; background:#dcdcdc; border-radius:999px; transition:.2s; }
.fp-switch .thumb{ position:absolute; top:2px; left:2px; width:20px; height:20px; background:#fff; border-radius:50%; box-shadow:0 1px 2px rgba(0,0,0,.1); transition:.2s; }
.fp-switch input:checked + .track{ background:var(--fp-primary); }
.fp-switch input:checked + .track + .thumb{ left:22px; }
.fp-summary{ background:var(--fp-soft); border:1px solid #eaeaea; border-radius:10px; padding:14px; margin-top:10px; }
.fp-summary-line{ display:flex; align-items:center; justify-content:space-between; margin:6px 0; font-weight:600; }
.fp-actions{ display:flex; gap:10px; margin-top:12px; }

/* Styled CTA per Avada variables */
.fp-cta{
  --button-border-radius-top-right: 10px;
  --button-border-radius-bottom-right: 10px;
  --button-border-radius-bottom-left: 10px;
  --button_gradient_top_color: var(--awb-color4);
  --button_gradient_bottom_color: var(--awb-color4);
  --button_gradient_top_color_hover: var(--awb-color5);
  --button_gradient_bottom_color_hover: var(--awb-color5);
  --button_font_size: 18px;
  --button_padding-top: 15px;
  --button_padding-right: 15px;
  --button_padding-bottom: 15px;
  --button_padding-left: 15px;
  --button_typography-font-family: "Onest";
  --button_typography-font-style: normal;
  --button_typography-font-weight: 500;
  --button_margin-top: 30px;

  display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none;
  border-radius: 10px;
  padding: var(--button_padding-top) var(--button_padding-right);
  font-family: var(--button_typography-font-family);
  font-weight: var(--button_typography-font-weight);
  font-style: var(--button_typography-font-style);
  font-size: var(--button_font_size);
  background: linear-gradient(0deg, var(--button_gradient_bottom_color), var(--button_gradient_top_color));
  color:#fff;
  min-height: 44px;
  margin-top: var(--button_margin-top);
  transition: background .2s ease, transform .05s ease;
}
.fp-cta:hover{
  background: linear-gradient(0deg, var(--button_gradient_bottom_color_hover), var(--button_gradient_top_color_hover));
  color:#fff;
}
.fp-cta:active{ transform: translateY(1px); }

/* Step 2 Contact form */
.fp-step2{ margin-top:24px; border-top:1px dashed #e5e5e5; padding-top:16px; }
.fp-form{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:14px; }
.fp-form-row{ display:flex; flex-direction:column; gap:6px; }
.fp-inp{ border:1px solid var(--fp-border); border-radius:10px; padding:12px; font:inherit; }
.fp-send{ border:0; border-radius:10px; padding:12px 16px; background: var(--awb-color4); color:#fff; cursor:pointer; font-weight:600; }
.fp-send:hover{ background: var(--awb-color5); color:#fff; }
.fp-msg{ margin-top:10px; color:#333; }
.fp-msg.ok{ color:#007a3b; }
.fp-msg.error{ color:#b00020; }
.fp-terms-label{ display:flex; align-items:center; gap:10px; }
.fp-terms-label a{ text-decoration:underline; }

@media(max-width: 900px){
  .fp-addons-list, .fp-fees-list{ grid-template-columns: 1fr; }
  .fp-form{ grid-template-columns: 1fr; }
}