.edge-slide{display:none}
.edge-app{--primary:#0a5bd8;--accent:#09b37a}
.edge-app{max-width:900px;margin:0 auto;padding:1rem}
.edge-slide{/* removed display none */}
.edge-slide.active{display:block}
.edge-field{margin:0 0 1rem}
.edge-field label{color: var(--edge-form-font) !important;font-weight:600;display:block;margin-bottom:.25rem}
.edge-field input{color: var(--edge-form-font) !important;margin-bottom: 0em;}
.edge-nav{display:flex;gap:.5rem;justify-content:space-between;margin-top:1rem}
.edge-nav button{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.6rem 1rem}
@media (max-width:600px){.edge-nav{flex-direction:column}.edge-nav button{width:100%}}


/* === EDGE Frontend elevated slide look === */
.edge-app{--card-bg:#ffffff;--card-border:#e5e7eb;--card-shadow:0 6px 18px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06)}
.edge-slide{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:var(--card-shadow);padding:1.25rem;margin:1rem 0}
.edge-slide header{margin:-1.25rem -1.25rem 1rem;padding:0.9rem 1.25rem;border-bottom:1px solid var(--card-border);border-top-left-radius:12px;border-top-right-radius:12px;background:#fafafa}
.edge-slide header h2{margin:0;}
/* Improve field spacing in cards */
.edge-field{margin:0 0 0.85rem}

/* EDGE: slide-level navigation inside each card */
.edge-slide .edge-slide-nav{display:flex; gap:.75rem; align-items:center; margin-top:1rem}
.edge-slide .edge-prev{margin-right:auto}
.edge-slide .edge-next,.edge-slide .edge-submit{margin-left:auto}

/* Theme vars */
.edge-app{background:var(--edge-form-bg); color:var(--edge-form-font);}
.edge-slide{background:var(--edge-form-fg);}
.edge-prev,.edge-next,.edge-submit{background:var(--edge-btn-enabled); color:#fff; border:1px solid rgba(0,0,0,0.06); padding:.55rem .9rem; border-radius:8px;}
.edge-next[disabled], .edge-submit[disabled]{background:var(--edge-btn-disabled)!important; opacity:.9}


/* === EDGE: Strengthen theme application === */
/* Force button colors (active vs disabled) regardless of theme overrides */
.edge-app .edge-prev:not([disabled]),
.edge-app .edge-next:not([disabled]),
.edge-app .edge-submit:not([disabled]){ background: var(--edge-btn-enabled) !important; color:#fff !important; }
.edge-app .edge-next[disabled],
.edge-app .edge-submit[disabled]{ background: var(--edge-btn-disabled) !important; color:#fff !important; opacity:.95; }

/* Ensure slide headers use the Form Font Color */
.edge-app .edge-slide header h2{ color: var(--edge-form-font) !important; }

/* Required (Slide 1) */
.edge-field[data-key=city] > label::after, .edge-field[data-key=postal_code] > label::after{content:' *';color:#b91c1c;margin-left:2px;}


/* === Warnings styling (v0.4.20) === */
.edge-warning{display:none;color:#991B1B;background:#FEE2E2;border:1px solid #FCA5A5;padding:.5rem .75rem;border-radius:.5rem;margin-top:.5rem}
.edge-warning.is-visible{display:block}

.edge-field.is-hidden{display:none}

.edge-req{color:#B91C1C;margin-left:.2rem;font-weight:700}



/* === EDGE Global: Uniform field widths & smoother slide UX (v0.4.66) === */
:root{
  --edge-field-w-desktop: 50vw;   /* min target width on desktop */
  --edge-field-w-mobile: 95vw;    /* min target width on mobile */
  --edge-field-max: 860px;        /* soft cap to keep within slide card feel */
}

/* Ensure consistent box-sizing & max-width for all core controls */
.edge-field input[type="text"],
.edge-field input[type="email"],
.edge-field input[type="tel"],
.edge-field input[type="number"],
.edge-field input[type="date"],
.edge-field input[type="month"],
.edge-field input[type="file"],
.edge-field input[type="url"],
.edge-field select,
.edge-field textarea{
  box-sizing:border-box;
  max-width:100%;
}

/* Desktop: at least 50vw, capped by --edge-field-max and container */
@media (min-width:769px){
  .edge-field input[type="text"],
  .edge-field input[type="email"],
  .edge-field input[type="tel"],
  .edge-field input[type="number"],
  .edge-field input[type="date"],
  .edge-field input[type="month"],
  .edge-field input[type="file"],
  .edge-field input[type="url"],
  .edge-field select,
  .edge-field textarea{
    width: clamp(560px, var(--edge-field-w-desktop), var(--edge-field-max));
  }
}

/* Mobile: at least 95vw but never overflow the slide */
@media (max-width:768px){
  .edge-field input[type="text"],
  .edge-field input[type="email"],
  .edge-field input[type="tel"],
  .edge-field input[type="number"],
  .edge-field input[type="date"],
  .edge-field input[type="month"],
  .edge-field input[type="file"],
  .edge-field input[type="url"],
  .edge-field select,
  .edge-field textarea{
    width: min(100%, var(--edge-field-w-mobile));
  }
}

/* Make textareas feel less cramped (affects Slide 5 as well) */
.edge-field textarea{ min-height:120px; }

/* Reduce bounce: provide a stable min-height for slides */
.edge-slide{ min-height:64vh; }
@supports (height: 100dvh){
  .edge-slide{ min-height: calc(100dvh - 180px); }
}

/* Subtle transition when a slide is shown */
@media (prefers-reduced-motion: no-preference){
  .edge-slide.active{ animation: edgeFadeIn .18s ease-out both; }
  @keyframes edgeFadeIn{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:translateY(0);} }
}

/* v1.1.9 Mobile Strict Lock */
@media (max-width: 820px) {
  html, body {
    width: 100vw;
    overflow-x: hidden;
    overscroll-behavior-x: none;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
  }
  .edge-app {
    position: relative;
    inset: 0;
    box-sizing: border-box;
    max-width: 100%;
    /*min-height: 100dvh;*/
    overflow-x: hidden;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
  }
}


/* === EDGE Modal Lightbox (v1.4.3) === */
.edge-apply-btn{display:inline-block !important;padding:.65rem 1.1rem !important;border-radius:8px !important;border:0 !important;background:var(--edge-btn-enabled) !important;color:#fff !important;cursor:pointer !important}
.edge-modal{position:fixed;inset:0;display:none;z-index:9999;background: var(--edge-form-bg);}

.edge-modal.is-open{display:block}

.edge-modal__backdrop {position: absolute;inset: 0;background: var(--edge-form-bg);height: 100dvh;}
.edge-modal__dialog {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    background: transparent;
    width: 80vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: auto;
}
.edge-modal__close{ z-index: 10001;position:absolute;top:.5rem;right:.75rem;background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:999px;width:34px;height:34px;font-size:20px;line-height:34px;text-align:center;cursor:pointer}
.edge-modal__dialog .edge-app{background:var(--edge-form-bg) !important;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.18);height:100%;overflow:auto;padding:1rem}
body.edge-modal-open{overflow:hidden}

@media(max-width:768px){
 .edge-modal__dialog {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    background: transparent;
    width: 100dvw;
    height: 100dvh;
    display: flex;
    flex-direction: column;
}
 .edge-modal__dialog .edge-app{border-radius:0;/*height:100dvh*/}
}
.edge-thanks-countdown{margin-top:.75rem;color:#334155;font-weight:600}


/* EDGE: slide top-align */
#edge-app, .edge-app, #edge-app-form{ scroll-behavior: smooth; }


/* EDGE: Remove visible border/edge around lightbox (modal) */
.edge-modal, .edge-modal__dialog { outline: none !important; border: 0 !important; box-shadow: none !important; }
/* When content is inside the modal, drop card border/shadow so no dark edge shows */
.edge-modal__dialog .edge-slide { border: 0 !important; box-shadow: none !important; }


/* EDGE: Responsive signature pad (v1.4.25) */
.edge-signature { max-width: 100%; overflow: hidden; }

/* Constrain canvas width to viewport on small screens, overriding injected style */
.edge-app .edge-sign-canvas {
  box-sizing: border-box;
  max-width: 92vw !important;
}

/* When shown in our modal, account for modal padding */
.edge-modal__dialog .edge-sign-canvas {
  max-width: calc(95vw - 32px) !important;
}

/* Optional: reduce height on very small screens (can be adjusted later)
@media (max-width: 480px) {
  .edge-app .edge-sign-canvas { height: 180px !important; }
}
*/
