:root {
  --lfcrm-brand-dark: #300036;
  --lfcrm-brand-accent: #f9af3b;
  --lfcrm-text: #333333;
  --lfcrm-muted: #666666;
  --lfcrm-border: #e2e8f0;
  --lfcrm-field-bg: #fafafa;
  --lfcrm-button-text: #300036;
  --lfcrm-error: #b91c1c;
  --lfcrm-success: #166534;
  --lfcrm-radius: 8px;
  --lfcrm-max-width: 520px;
  --lfcrm-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  --lfcrm-font: inherit;
}

.lfcrm-form-wrapper {
  font-family: var(--lfcrm-font, inherit);
  background: var(--lfcrm-bg, #ffffff);
  max-width: var(--lfcrm-max-width);
  margin: 0 auto;
  padding: 32px 24px;
  border-radius: var(--lfcrm-radius);
  box-shadow: var(--lfcrm-shadow);
  box-sizing: border-box;
  color: var(--lfcrm-text);
}

.lfcrm-form-wrapper[style*="--lfcrm-text"] { color: var(--lfcrm-text); }
.lfcrm-form-wrapper * { box-sizing: border-box; }
.lfcrm-theme-plain { padding: 0; box-shadow: none; background: transparent; }
.lfcrm-header { text-align: center; margin-bottom: 24px; }
.lfcrm-title { color: var(--lfcrm-brand-dark); font-size: 24px; line-height: 1.25; font-weight: 700; margin: 0 0 8px; }
.lfcrm-subtitle { color: var(--lfcrm-muted); font-size: 14px; line-height: 1.5; margin: 0; }
.lfcrm-form { display: grid; grid-template-columns: 1fr; gap: 0; }
.lfcrm-field-group { margin-bottom: 16px; }
.lfcrm-label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; color: var(--lfcrm-text); }
.lfcrm-input, .lfcrm-select, .lfcrm-textarea {
  width: 100%;
  padding: 12px 14px;
  font-size: 15px;
  border: 1px solid var(--lfcrm-border);
  border-radius: var(--lfcrm-radius);
  background: var(--lfcrm-field-bg);
  color: var(--lfcrm-text);
  transition: all 0.2s ease;
  font-family: inherit;
  display: block;
}
.lfcrm-input:focus, .lfcrm-select:focus, .lfcrm-textarea:focus {
  outline: none;
  border-color: var(--lfcrm-brand-dark);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(48, 0, 54, 0.1);
}
.lfcrm-textarea { resize: vertical; min-height: 84px; }
.lfcrm-button {
  width: 100%;
  background: var(--lfcrm-brand-accent);
  color: var(--lfcrm-button-text);
  font-size: 16px;
  font-weight: 700;
  padding: 14px;
  border: none;
  border-radius: var(--lfcrm-radius);
  cursor: pointer;
  margin-top: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  grid-column: 1 / -1;
}
.lfcrm-button:hover { opacity: 0.92; }
.lfcrm-button:disabled { opacity: 0.7; cursor: not-allowed; }
.lfcrm-footer { margin-top: 20px; text-align: center; font-size: 12px; color: #777; }
.lfcrm-hp { position: absolute !important; left: -99999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.lfcrm-message { margin-top: 12px; font-size: 14px; line-height: 1.4; grid-column: 1 / -1; }
.lfcrm-message-error { color: var(--lfcrm-error); }
.lfcrm-message-success { color: var(--lfcrm-success); }

@media (min-width: 720px) {
  .lfcrm-layout-two .lfcrm-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }
  .lfcrm-layout-two .lfcrm-field-message,
  .lfcrm-layout-two .lfcrm-field-group:has(textarea) {
    grid-column: 1 / -1;
  }
}
.lfcrm-checkbox-label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;color:var(--lfcrm-text)}.lfcrm-checkbox{margin-top:2px}.lfcrm-input[type="date"]{min-height:44px}

/* AK Lead popup forms */
.lfcrm-popup{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px}.lfcrm-popup.is-open{display:flex}.lfcrm-popup-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.66);backdrop-filter:blur(7px)}.lfcrm-popup-dialog{position:relative;z-index:1;width:min(94vw,720px);max-height:90vh;overflow:auto;border-radius:22px;animation:lfcrmPopupIn .2s ease-out}.lfcrm-popup-close{position:absolute;right:12px;top:12px;z-index:3;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:999px;background:#fff;color:#111827;font-size:22px;line-height:1;box-shadow:0 10px 24px rgba(15,23,42,.18);cursor:pointer}.lfcrm-popup .lfcrm-form-wrapper{margin-top:0}@keyframes lfcrmPopupIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

/* Phase 4.2 popup button polish */
.lfcrm-elementor-popup-button{border:0;font-weight:800;cursor:pointer;line-height:1.2;box-shadow:0 10px 24px rgba(48,0,54,.16);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.lfcrm-elementor-popup-button:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(48,0,54,.22);opacity:.96}.lfcrm-popup[data-lfcrm-popup-shell]{z-index:999999}

/* Phase 6 Elementor popup button defaults */
.lfcrm-elementor-popup-button{background:#f9af3b;color:#300036;border-radius:10px;padding:14px 22px;border:0;font-weight:800;cursor:pointer;line-height:1.2;box-shadow:0 10px 24px rgba(48,0,54,.16);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.lfcrm-elementor-popup-button:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(48,0,54,.22);opacity:.96}

/* v0.7.5 Popup Campaign Builder */
.lfcrm-popup-backdrop{background:var(--lfcrm-popup-overlay,rgba(15,23,42,.68))}.lfcrm-popup-dialog{width:min(94vw,var(--lfcrm-popup-width,760px));border-radius:var(--lfcrm-popup-radius,24px)}.lfcrm-popup-campaign{background:var(--lfcrm-popup-bg,#fff);color:var(--lfcrm-popup-text,#111827);border-radius:var(--lfcrm-popup-radius,24px);overflow:hidden;box-shadow:0 28px 90px rgba(15,23,42,.28)}.lfcrm-popup-campaign h2{margin:0 0 10px;color:var(--lfcrm-popup-text,#111827);font-size:clamp(24px,4vw,38px);line-height:1.05;letter-spacing:-.04em}.lfcrm-popup-campaign p{margin:0 0 18px;color:var(--lfcrm-popup-muted,#64748b);font-size:15px;line-height:1.6}.lfcrm-popup-copy{padding:34px}.lfcrm-popup-media img{display:block;width:100%;height:100%;object-fit:cover}.lfcrm-popup-layout-left,.lfcrm-popup-layout-right{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(280px,1.15fr)}.lfcrm-popup-layout-right .lfcrm-popup-media{order:2}.lfcrm-popup-layout-top{display:block}.lfcrm-popup-layout-top .lfcrm-popup-media{height:240px}.lfcrm-popup-layout-background{position:relative;min-height:420px;display:flex;align-items:flex-end}.lfcrm-popup-layout-background .lfcrm-popup-media{position:absolute;inset:0}.lfcrm-popup-layout-background .lfcrm-popup-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72))}.lfcrm-popup-layout-background .lfcrm-popup-copy{position:relative;color:#fff}.lfcrm-popup-layout-background .lfcrm-popup-copy h2,.lfcrm-popup-layout-background .lfcrm-popup-copy p{color:#fff}.lfcrm-popup-form-slot{padding:24px;background:rgba(248,250,252,.82)}.lfcrm-popup-form-slot .lfcrm-form-wrapper{box-shadow:none;margin:0;max-width:none}.lfcrm-popup-action,.lfcrm-popup-coupon button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--lfcrm-popup-button,#300036);color:var(--lfcrm-popup-button-text,#fff)!important;border:0;border-radius:999px;padding:13px 18px;text-decoration:none;font-weight:800;cursor:pointer}.lfcrm-popup-coupon{display:grid;gap:8px;background:rgba(249,175,59,.15);border:1px dashed var(--lfcrm-popup-accent,#f9af3b);border-radius:18px;padding:16px;margin:18px 0}.lfcrm-popup-coupon span{color:var(--lfcrm-popup-muted,#64748b);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.lfcrm-popup-coupon strong{font-size:26px;color:var(--lfcrm-popup-text,#111827);letter-spacing:.08em}.lfcrm-popup-video{background:#000;aspect-ratio:16/9}.lfcrm-popup-video iframe{display:block;width:100%;height:100%;border:0}.lfcrm-popup-anim-fade .lfcrm-popup-dialog{animation:lfcrmPopupFade .2s ease-out}.lfcrm-popup-anim-slide_up .lfcrm-popup-dialog{animation:lfcrmPopupIn .22s ease-out}.lfcrm-popup-anim-slide_right .lfcrm-popup-dialog{animation:lfcrmPopupRight .22s ease-out}.lfcrm-popup-anim-none .lfcrm-popup-dialog{animation:none}@keyframes lfcrmPopupFade{from{opacity:0}to{opacity:1}}@keyframes lfcrmPopupRight{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}@media(max-width:760px){.lfcrm-popup-layout-left,.lfcrm-popup-layout-right{grid-template-columns:1fr}.lfcrm-popup-layout-right .lfcrm-popup-media{order:0}.lfcrm-popup-media{max-height:260px}.lfcrm-popup-copy{padding:26px}.lfcrm-popup-form-slot{padding:16px}.lfcrm-popup-dialog{max-height:92vh}}
