/* DreemLimo onboarding — scoped to .dlob, theme-inheriting fonts */
  .dlob{ font-family:inherit;
    --ink:#15171c;--paper:#faf8f3;--paper-2:#f3efe6;--navy:#11203a;--navy-2:#1d3a63;
    --gold:#b8924f;--gold-soft:#d9c39a;--muted:#5e6068;--line:#e3ddd0;
    --ok:#2e7d52;--err:#c0392b;--card:#ffffff;
  }
  .dlob *{box-sizing:border-box;}
.dlob{margin:0;background:
      radial-gradient(1200px 600px at 80% -10%,rgba(184,146,79,.10),transparent 60%),
      radial-gradient(900px 500px at -10% 110%,rgba(17,32,58,.08),transparent 55%),
      var(--paper);
    color:var(--ink);font-family:inherit;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;}
  .dlob a{color:var(--navy);text-decoration:none;}

  /* header */
  .top{max-width:1080px;margin:0 auto;padding:24px 26px 0;display:flex;justify-content:space-between;align-items:center;}
  .brand{display:flex;align-items:center;gap:11px;font-family:inherit;font-weight:600;font-size:21px;letter-spacing:-.01em;}
  .brand .mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--navy),var(--navy-2));display:grid;place-items:center;color:var(--gold-soft);font-weight:600;box-shadow:0 3px 12px rgba(17,32,58,.28);}
  .brand em{font-style:italic;color:var(--gold);}
  .top .help{font-size:13.5px;color:var(--muted);}
  .top .help a{color:var(--gold);border-bottom:1px solid var(--gold-soft);}

  .shell{max-width:1080px;margin:0 auto;padding:30px 26px 80px;}

  .heading{text-align:center;margin:18px 0 30px;}
  .heading .eyebrow{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
  .heading h1{font-family:inherit;font-weight:500;font-size:clamp(32px,5.5vw,52px);line-height:1.04;letter-spacing:-.02em;margin:0 0 12px;}
  .heading h1 em{font-style:italic;color:var(--navy);}
  .heading p{color:var(--muted);font-size:17px;margin:0 auto;max-width:54ch;}

  /* plan choice pills — appear when arriving via ?plan=standard|premium */
  .plan-pills{display:inline-flex;gap:10px;margin-top:20px;flex-wrap:wrap;justify-content:center;}
  .dlob .plan-pills[hidden]{display:none;}  /* author display rule would otherwise defeat [hidden] */
  .plan-choice{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:999px;
    border:1.5px solid var(--line);background:#fff;color:var(--muted);font-size:13.5px;font-weight:600;line-height:1.2;}
  .plan-choice em{font-style:normal;font-weight:500;color:var(--muted);}
  .plan-choice .pc-check{display:none;color:#fff;flex:none;}
  .plan-choice.sel{border-color:var(--gold);background:var(--gold);color:#fff;
    box-shadow:0 8px 18px -8px color-mix(in srgb,var(--gold) 65%,transparent);}
  .plan-choice.sel em{color:rgba(255,255,255,.85);}
  .plan-choice.sel .pc-check{display:inline-block;}

  /* stepper */
  .stepper{display:flex;justify-content:center;gap:0;margin:0 auto 30px;max-width:760px;flex-wrap:wrap;}
  .step-dot{display:flex;align-items:center;gap:10px;flex:1;min-width:120px;}
  .step-dot .circle{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);background:#fff;display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--muted);flex:none;transition:.3s;}
  .step-dot .lbl{font-size:12.5px;color:var(--muted);font-weight:500;transition:.3s;}
  .step-dot .bar{height:2px;background:var(--line);flex:1;margin:0 4px;transition:.3s;}
  .step-dot:last-child{flex:none;}
  .step-dot.active .circle{border-color:var(--gold);color:var(--navy);box-shadow:0 0 0 4px rgba(184,146,79,.15);}
  .step-dot.done .circle{background:var(--navy);border-color:var(--navy);color:var(--gold-soft);}
  .step-dot.done .bar{background:var(--gold);}
  .step-dot.active .lbl,.step-dot.done .lbl{color:var(--navy);}
  @media(max-width:640px){.dlob .step-dot .lbl{display:none;}.dlob .step-dot{min-width:0;}}

  /* card */
  .card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 60px -30px rgba(17,32,58,.25);overflow:hidden;}
  .card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--gold),color-mix(in srgb,var(--gold) 45%,var(--navy)));}
  .card-head{padding:30px 38px 6px;}
  .card-head .pnum{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;
    color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;
    background:color-mix(in srgb,var(--gold) 12%,transparent);padding:5px 11px;border-radius:999px;}
  .card-head h2{font-family:inherit;font-weight:500;font-size:28px;letter-spacing:-.01em;margin:8px 0 4px;}
  .card-head p{color:var(--muted);font-size:15px;margin:0;}
  .card-body{padding:22px 38px 30px;}
  @media(max-width:560px){.dlob .card-head, .dlob .card-body{padding-left:22px;padding-right:22px;}}

  .panel{display:none;animation:fade .35s ease;}
  .panel.active{display:block;}
  @keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

  .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .grid .full{grid-column:1/-1;}
  @media(max-width:560px){.dlob .grid{grid-template-columns:1fr;}}

  label.field{display:block;}
  label.field>span{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#33363d;}
  label.field>span .req{color:var(--gold);}
  .hint{font-size:12px;color:var(--muted);font-weight:400;margin-top:5px;}
  .dlob input[type=text], .dlob input[type=email], .dlob input[type=tel], .dlob input[type=url], .dlob input[type=number], .dlob input[type=date], .dlob select, .dlob textarea{
    width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:11px;background:#fcfbf8;
    font-family:inherit;font-size:15px;color:var(--ink);transition:.18s;
  }
  textarea{resize:vertical;min-height:80px;}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(184,146,79,.13);}
  input.invalid,select.invalid,textarea.invalid{border-color:var(--err);background:#fdf3f2;}
  .errmsg{color:var(--err);font-size:12px;margin-top:5px;display:none;}
  .errmsg.show{display:block;}

  .subdomain{display:flex;align-items:stretch;}
  .subdomain input{border-radius:11px 0 0 11px;text-align:right;}
  .subdomain .suffix{display:flex;align-items:center;padding:0 14px;background:var(--paper-2);border:1.5px solid var(--line);border-left:none;border-radius:0 11px 11px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--muted);}

  /* plan cards */
  .plans{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media(max-width:560px){.dlob .plans{grid-template-columns:1fr;}}
  .plan{position:relative;border:1.5px solid var(--line);border-radius:16px;padding:22px 22px 22px;cursor:pointer;
    transition:transform .2s,box-shadow .2s,border-color .2s;background:#fcfbf8;}
  .plan:hover{border-color:var(--gold-soft);transform:translateY(-3px);box-shadow:0 18px 32px -20px rgba(17,32,58,.32);}
  .plan.sel{border-color:var(--gold);background:#fff;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 22%,transparent),0 18px 32px -22px rgba(17,32,58,.28);}
  .plan input{position:absolute;opacity:0;}
  /* selected radio badge (top-right) */
  .plan::after{content:"";position:absolute;top:16px;right:16px;width:22px;height:22px;border-radius:50%;
    border:2px solid var(--line);background:#fff;transition:.2s;}
  .plan.sel::after{border-color:var(--gold);background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat;}
  .plan .tag{position:absolute;top:-11px;right:18px;background:var(--gold);color:#fff;font-size:10.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:20px;box-shadow:0 4px 12px -4px color-mix(in srgb,var(--gold) 60%,transparent);}
  .plan h3{font-family:inherit;font-weight:600;font-size:20px;margin:0 0 2px;}
  .plan .price{font-size:30px;font-weight:700;color:var(--navy);}
  .plan .price span{font-size:14px;color:var(--muted);font-weight:500;}
  .plan .per{font-size:13px;color:var(--gold);font-weight:600;margin:2px 0 12px;}
  .plan ul{margin:0;padding-left:18px;font-size:13.5px;color:#44464d;}
  .plan ul li{margin-bottom:5px;}
  .plan ul li::marker{color:var(--gold);}

  .swatches{display:flex;gap:10px;flex-wrap:wrap;}
  .swatch{width:38px;height:38px;border-radius:10px;cursor:pointer;border:3px solid transparent;transition:.15s;}
  .swatch.sel{border-color:var(--ink);transform:scale(1.08);}

  /* agreement */
  .agreement-box{border:1.5px solid var(--line);border-radius:14px;background:#fcfbf8;height:340px;overflow-y:auto;padding:26px 30px;font-size:13.6px;line-height:1.6;color:#3a3c43;}
  .agreement-box::-webkit-scrollbar{width:10px;}
  .agreement-box::-webkit-scrollbar-thumb{background:var(--gold-soft);border-radius:10px;border:3px solid #fcfbf8;}
  .agreement-box h3{font-family:inherit;font-weight:600;font-size:17px;color:var(--navy);margin:20px 0 6px;}
  .agreement-box h3:first-child{margin-top:0;}
  .agreement-box p{margin:0 0 10px;}
  .agreement-box .fill{background:#fff5db;border-bottom:1px dashed var(--gold);padding:0 4px;border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#7a5a1b;}
  .agreement-box strong{color:var(--ink);}
  .scroll-note{font-size:12px;color:var(--muted);text-align:center;margin:8px 0 18px;transition:.3s;}
  .scroll-note.done{color:var(--ok);}

  .agree-check{display:flex;gap:13px;align-items:flex-start;padding:18px;border:1.5px solid var(--line);border-radius:13px;background:#fcfbf8;margin-bottom:22px;cursor:pointer;transition:.2s;}
  .agree-check.on{border-color:var(--gold);background:#fffdf6;}
  .agree-check input{margin-top:3px;width:20px;height:20px;accent-color:var(--navy);flex:none;cursor:pointer;}
  .agree-check label{font-size:14px;cursor:pointer;}

  /* signature */
  .sig-wrap{border:1.5px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;position:relative;}
  .sig-canvas{display:block;width:100%;height:170px;touch-action:none;cursor:crosshair;background:
      repeating-linear-gradient(transparent,transparent 168px,var(--line) 169px,var(--line) 170px);}
  .sig-x{position:absolute;left:24px;bottom:34px;font-size:22px;color:var(--gold);font-weight:700;pointer-events:none;}
  .sig-line{position:absolute;left:24px;right:24px;bottom:34px;border-bottom:1.5px solid #cfcabb;pointer-events:none;}
  .sig-place{position:absolute;left:48px;bottom:38px;font-family:"Caveat","Segoe Script",cursive;font-size:26px;color:#c9c3b4;pointer-events:none;}
  .sig-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid var(--line);background:var(--paper-2);}
  .sig-bar small{font-size:12px;color:var(--muted);}
  .sig-clear{background:none;border:1px solid var(--line);border-radius:8px;padding:6px 14px;font-family:inherit;font-size:13px;color:var(--navy);cursor:pointer;transition:.15s;}
  .sig-clear:hover{border-color:var(--gold);color:var(--gold);}

  /* nav buttons */
  .nav{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 38px;border-top:1px solid var(--line);background:var(--paper);}
  @media(max-width:560px){.dlob .nav{padding:18px 22px;}}
  .btn{font-family:inherit;font-size:15px;font-weight:600;border-radius:12px;padding:14px 26px;cursor:pointer;border:1.5px solid transparent;transition:.2s;}
  .btn-ghost{background:transparent;border-color:var(--line);color:var(--navy);}
  .btn-ghost:hover{border-color:var(--navy);}
  .btn-ghost:disabled{opacity:.35;cursor:not-allowed;}
  .btn-primary{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;box-shadow:0 10px 24px -10px rgba(17,32,58,.6);}
  .btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px -10px rgba(17,32,58,.7);}
  .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;}
  .btn-gold{background:linear-gradient(135deg,var(--gold),#caa05c);color:#241a06;}

  .legal-foot{text-align:center;font-size:12.5px;color:var(--muted);margin-top:22px;}
  .legal-foot a{color:var(--gold);border-bottom:1px solid var(--gold-soft);}

  /* confirmation */
  .confirm{text-align:center;padding:20px 10px;}
  .check-anim{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-2));display:grid;place-items:center;margin:0 auto 14px;box-shadow:0 14px 30px -10px rgba(17,32,58,.5);}
  .check-anim svg{width:29px;height:29px;}
  .check-anim svg path{stroke:var(--gold-soft);stroke-width:3.5;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .6s .2s forwards ease;}
  @keyframes draw{to{stroke-dashoffset:0;}}
  .confirm h2{font-family:inherit;font-weight:500;font-size:30px;margin:0 0 8px;}
  .confirm p{color:var(--muted);max-width:46ch;margin:0 auto 18px;}
  .receipt{text-align:left;max-width:480px;margin:0 auto 18px;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;}
  .receipt .rrow{display:flex;justify-content:space-between;gap:16px;padding:11px 18px;font-size:14px;border-bottom:1px solid var(--line);}
  .receipt .rrow:last-child{border-bottom:none;}
  .receipt .rrow span:first-child{color:var(--muted);}
  .receipt .rrow span:last-child{font-weight:600;text-align:right;}
  .receipt .rhead{background:var(--navy);color:var(--gold-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:10px 18px;}
  .cbtns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

  .toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(120px);background:var(--navy);color:#fff;padding:13px 22px;border-radius:12px;font-size:14px;box-shadow:0 14px 30px -8px rgba(0,0,0,.4);transition:.4s;z-index:99;}
  .toast.show{transform:translateX(-50%) translateY(0);}

/* ── v1.0.2 polish: stop the theme washing out / clipping the form ── */
.dlob{
  color:var(--ink);
  font-weight:400;
  line-height:1.6;
  background:#fff !important;   /* plain white, drop the warm paper tint + gradients */
}
/* H1 was clipping at the top with the theme heading font at line-height 1.04 */
.dlob .heading h1{
  line-height:1.25 !important;
  padding-top:.12em !important;
  padding-bottom:.06em !important;
  overflow:visible !important;
  margin-top:0 !important;
}
.dlob .heading h1 em{font-style:italic;}
/* Inputs: solid white, real contrast, readable placeholders */
.dlob input[type=text], .dlob input[type=email], .dlob input[type=tel],
.dlob input[type=url], .dlob input[type=number], .dlob input[type=date],
.dlob select, .dlob textarea{
  background:#fff;
  color:var(--ink);
  font-weight:400;
  -webkit-text-fill-color:var(--ink);
}
.dlob input::placeholder, .dlob textarea::placeholder{
  color:#b1b5be;
  -webkit-text-fill-color:#b1b5be;  /* inputs set -webkit-text-fill-color:var(--ink); override it for placeholders */
  opacity:1;
}
/* Field labels a touch darker so they read on the pale page */
.dlob label.field>span{color:#1f2937;}
/* Card: lift it off the page background so the panel reads as a surface */
.dlob .card{box-shadow:0 1px 3px rgba(17,32,58,.06),0 12px 32px rgba(17,32,58,.07);}
/* v1.0.4: clean white surfaces throughout (no cream tints) */
.dlob input[type=text], .dlob input[type=email], .dlob input[type=tel],
.dlob input[type=url], .dlob input[type=number], .dlob input[type=date],
.dlob select, .dlob textarea{ background:#fff; }
.dlob .plan{ background:#fff; }
.dlob .agreement-box{ background:#fff; }
.dlob .subdomain .suffix{ background:#f7f7f8; }
/* v1.0.5: brand teal buttons + transparent form wrappers */
.dlob{ --brand-dk:#0fa0ba; }
.dlob .btn-primary{
  background:var(--brand) !important;
  color:#fff !important;
  box-shadow:0 10px 24px -12px rgba(20,184,212,.65) !important;
}
.dlob .btn-primary:hover{
  background:var(--brand-dk) !important;
  box-shadow:0 14px 30px -12px rgba(20,184,212,.75) !important;
}
/* form area stays white; this covers the cream Avada section behind it too */
.dlob{ background:#fff !important; }
/* ensure the white fills the Avada column edge-to-edge (kills the cream band) */
.dlob{ display:block; width:100%; }
/* v1.0.6: Mapbox autocomplete dropdown */
.dlob .dlob-ac-menu{
  display:none; position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:50;
  background:#fff; border:1.5px solid var(--line); border-radius:11px;
  box-shadow:0 12px 28px -8px rgba(17,32,58,.22); overflow:hidden; max-height:280px; overflow-y:auto;
}
.dlob .dlob-ac-item{
  display:flex; flex-direction:column; gap:1px; padding:9px 13px; cursor:pointer;
  border-bottom:1px solid #f1ede3;
}
.dlob .dlob-ac-item:last-child{ border-bottom:none; }
.dlob .dlob-ac-item:hover, .dlob .dlob-ac-item.active{ background:#f6fbfd; }
.dlob .dlob-ac-main{ font-size:14px; color:var(--ink); }
.dlob .dlob-ac-sub{ font-size:12px; color:var(--muted); }
/* v1.1.1: kill remaining cream + fix invisible H1 */
.dlob{ --paper:#fff; --paper-2:#fff; }
.dlob .nav{ background:#fff; }
.dlob .sig-bar{ background:#fff; }
.dlob .heading h1{ color:var(--heading,#11203a); }
.dlob .heading h1 em{ color:var(--accent-em,var(--navy)); }
/* v1.1.5: Avada runs its responsive-typography engine on our headings,
   adding .fusion-responsive-typography-calculated and owning the color. Target
   that class explicitly and force our color over it. Cover all descendants so
   the base text (not just <em>) is colored. */
.dlob .heading h1,
.dlob .heading h1.fusion-responsive-typography-calculated,
.dlob .heading h1 *{ color:var(--heading,#11203a) !important; }
.dlob .heading h1 em{ color:var(--accent-em,var(--heading,#11203a)) !important; font-style:italic !important; }
/* also neutralize Avada's calculated right-shift/align if present */
.dlob .heading h1{ text-align:center !important; }
/* v1.1.5: Avada also processes the inner h2/h3 — force their colors too */
.dlob .card-head h2,
.dlob .card-head h2.fusion-responsive-typography-calculated{ color:var(--heading,#11203a) !important; }
.dlob .plan h3,
.dlob .plan h3.fusion-responsive-typography-calculated{ color:var(--heading,#11203a) !important; }
.dlob .agreement-box h3,
.dlob .agreement-box h3.fusion-responsive-typography-calculated{ color:var(--heading,#11203a) !important; }
.dlob .confirm h2,
.dlob .confirm h2.fusion-responsive-typography-calculated{ color:var(--heading,#11203a) !important; }

/* ===== v1.3.0 functional batch ===== */

/* Lighter placeholder text — must also set -webkit-text-fill-color, since the
   input rule sets it to var(--ink) and that beats plain `color` on WebKit. */
.dlob input::placeholder, .dlob textarea::placeholder{ color:#b6b8bc !important; -webkit-text-fill-color:#b6b8bc !important; opacity:1; font-weight:400; }

/* Remove the divider line under the signature pad */
.dlob .sig-bar{ border-top:none !important; }

/* Subdomain availability status */
.dlob .sub-status{ font-size:12.5px; margin-top:6px; min-height:16px; font-weight:600; display:none; }
.dlob .sub-status.show{ display:block; }
.dlob .sub-status.checking{ color:var(--muted); font-weight:500; }
.dlob .sub-status.free{ color:#2e7d52; }
.dlob .sub-status.taken, .dlob .sub-status.invalid, .dlob .sub-status.reserved{ color:#c0392b; }

/* Agreement gate — clearly greyed/disabled until the agreement is scrolled through */
.dlob .agree-check.is-locked{ background:#f1f2f5 !important; border-color:#e2e4e9 !important; cursor:not-allowed; }
.dlob .agree-check.is-locked input,
.dlob .agree-check.is-locked label{ cursor:not-allowed; }
.dlob .agree-check.is-locked label{ color:#9aa0ab; }
.dlob .agree-lock-note{ color:var(--muted); font-weight:600; }
.dlob .agree-check:not(.is-locked) .agree-lock-note{ display:none; }

/* ===== v1.5.0 ===== */
/* Sign & Submit: match the site's primary (teal) buttons instead of the teal→gold gradient */
.dlob .btn-gold{
  background:var(--brand) !important;
  color:#fff !important;
  box-shadow:0 10px 24px -12px rgba(20,184,212,.65) !important;
}
.dlob .btn-gold:hover{
  background:var(--brand-dk) !important;
  transform:translateY(-1px);
  box-shadow:0 14px 30px -12px rgba(20,184,212,.75) !important;
}

/* Logo upload */
.dlob .logo-drop{ border:1.5px dashed var(--line); border-radius:13px; padding:22px; text-align:center; cursor:pointer; transition:.18s; background:#fff; }
.dlob .logo-drop:hover, .dlob .logo-drop.drag{ border-color:var(--brand); background:#f6fbfd; }
.dlob .logo-cta{ display:flex; flex-direction:column; align-items:center; gap:6px; color:var(--muted); }
.dlob .logo-cta strong{ color:var(--brand); }
.dlob .logo-cta small{ font-size:12px; color:var(--muted); }
.dlob .logo-preview{ display:flex; justify-content:center; }
.dlob .logo-preview img{ max-height:80px; max-width:200px; object-fit:contain; }
.dlob .logo-bar{ height:6px; background:#eee; border-radius:6px; margin-top:10px; overflow:hidden; }
.dlob .logo-bar-fill{ height:100%; width:0; background:var(--brand); transition:width .2s; }
.dlob .logo-status{ font-size:12.5px; margin-top:6px; }
.dlob .logo-status.ok{ color:#2e7d52; }
.dlob .logo-status.err{ color:#c0392b; }

/* flatpickr accent to match brand */
.dlob .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.selected{ background:var(--brand); border-color:var(--brand); }

/* ===== v1.3.1 custom dropdowns ===== */
.dlob .dlob-sel{ position:relative; }
.dlob .dlob-sel-btn{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:12px 14px; border:1.5px solid var(--line); border-radius:11px; background:#fff;
  font-family:inherit; font-size:15px; color:var(--ink); cursor:pointer; text-align:left; transition:.18s;
}
.dlob .dlob-sel-btn:hover{ border-color:var(--brand); }
.dlob .dlob-sel.open .dlob-sel-btn{ border-color:var(--brand); box-shadow:0 0 0 4px rgba(20,184,212,.13); }
.dlob .dlob-sel-caret{ color:var(--muted); font-size:12px; margin-left:10px; transition:transform .18s; }
.dlob .dlob-sel.open .dlob-sel-caret{ transform:rotate(180deg); }
.dlob .dlob-sel-menu{
  display:none; position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:50;
  background:#fff; border:1.5px solid var(--line); border-radius:11px;
  box-shadow:0 12px 28px -8px rgba(17,32,58,.22); overflow:hidden; max-height:280px; overflow-y:auto;
}
.dlob .dlob-sel.open .dlob-sel-menu{ display:block; }
.dlob .dlob-sel-item{
  padding:10px 14px; font-family:inherit; font-size:14px; color:var(--ink); cursor:pointer;
  border-bottom:1px solid #f1ede3;
}
.dlob .dlob-sel-item:last-child{ border-bottom:none; }
.dlob .dlob-sel-item:hover{ background:#f6fbfd; }
.dlob .dlob-sel-item.sel{ background:#f6fbfd; font-weight:600; color:var(--brand); }

/* ===== v1.6.0: print / Save-as-PDF — output a clean signed-agreement document,
   not the whole marketing page (which printed 9 messy pages). ===== */
.dlob .dlob-print-only{ display:none; }
@media print {
  /* Hide everything on the page, then reveal only the signed-agreement confirmation. */
  body * { visibility:hidden !important; }
  .dlob .confirm, .dlob .confirm * { visibility:visible !important; }
  .dlob .confirm{ position:absolute; left:0; top:0; width:100%; padding:0; margin:0; }
  /* On-screen chrome we don't want in the printed doc */
  .dlob .check-anim, .dlob .cbtns { display:none !important; }
  .dlob .confirm > h2, .dlob .confirm > p { display:none !important; }
  /* Show the print-only document parts */
  .dlob .dlob-print-only{ display:block !important; }
  .dlob .dlob-print-head{ text-align:center; margin:0 0 20px; }
  .dlob .dlob-print-logo{ height:46px; width:auto; }
  .dlob .dlob-print-title{ font-size:17px; font-weight:700; color:#11203a; margin-top:12px; }
  .dlob .receipt{ max-width:none !important; margin:0 0 20px !important; }
  .dlob .receipt .rhead{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .dlob .dlob-print-sig{ margin:6px 0 18px; }
  .dlob .dlob-print-sig-label{ font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#6b7280; margin-bottom:6px; }
  .dlob .dlob-print-sig img{ max-width:300px; max-height:120px; border-bottom:1.5px solid #111827; }
  .dlob .dlob-print-foot{ font-size:11px; color:#6b7280; border-top:1px solid #e5e7eb; padding-top:12px; }
  @page { margin:1.6cm; }
}

/* ===== v1.6.1: signature pad — keep the baseline + ✕ inside the canvas.
   They were positioned against the whole box, so they overlapped the Clear
   bar; and the canvas had a second baseline (gradient) doubling the line. ===== */
.dlob .sig-pad{ position:relative; }
.dlob .sig-canvas{ background:#fff; }            /* drop the doubled baseline gradient */
.dlob .sig-line{ bottom:42px; border-bottom-color:var(--line); }
.dlob .sig-x{ bottom:34px; color:var(--muted); } /* muted, not a prominent blue mark */
.dlob .sig-place{ bottom:48px; }

/* ===== v1.7.0: payment CTA on the confirmation step ===== */
.dlob .pay-note{ font-size:14px; color:var(--ink); font-weight:500; margin:20px 0 6px; }
.dlob #payBtn{ font-weight:600; }

/* ===== v1.8.0: embedded Stripe Payment Element on the confirmation step ===== */
.dlob .pay-block{ max-width:480px; margin:14px auto 8px; text-align:left; border:1.5px solid #bfe7f0;
  border-radius:16px; padding:20px 22px; background:#fff; box-shadow:0 18px 44px -26px rgba(20,184,212,.30); }
.dlob .pay-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:14px; }
.dlob .pay-title{ font-size:15px; font-weight:600; color:var(--navy); }
.dlob .pay-amt{ font-size:18px; font-weight:700; color:var(--navy); white-space:nowrap; }
.dlob #paymentElement{ min-height:40px; }
.dlob .pay-loading{ color:var(--muted); font-size:14px; padding:12px 0; }
.dlob .pay-error{ display:none; color:var(--err); font-size:13px; margin:10px 0 0; line-height:1.5; }
.dlob #payNow{ width:100%; margin-top:16px; }
.dlob .pay-secure{ text-align:center; font-size:12px; color:var(--muted); margin-top:12px; }
/* ===== v1.8.4: confirmation record + payment side-by-side on desktop ===== */
.dlob .confirm-cols{ display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; max-width:900px; margin:8px auto 18px; text-align:left; }
.dlob .confirm-cols > .receipt{ max-width:none; margin:0; align-self:stretch; }
.dlob .confirm-cols > .pay-block{ max-width:none; margin:0; }
@media(max-width:760px){ .dlob .confirm-cols{ grid-template-columns:1fr; max-width:480px; gap:18px; } }

/* ===== v1.9.0: Review & sign step polish ===== */
/* Document box: soft card + CSS scroll-shadows that hint "there's more to read"
   (the top/bottom shadows fade out as you reach each end). */
.dlob .agreement-box{
  border:1px solid #e6e8ee !important;
  border-radius:16px;
  box-shadow:0 14px 40px -28px rgba(17,32,58,.35);
  padding:24px 28px;
  background:
    linear-gradient(#fff 30%, rgba(255,255,255,0)) center top / 100% 36px no-repeat,
    linear-gradient(rgba(255,255,255,0), #fff 70%) center bottom / 100% 36px no-repeat,
    radial-gradient(farthest-side at 50% 0, rgba(17,32,58,.12), transparent) center top / 100% 14px no-repeat,
    radial-gradient(farthest-side at 50% 100%, rgba(17,32,58,.12), transparent) center bottom / 100% 14px no-repeat,
    #fff !important;
  background-attachment:local, local, scroll, scroll, local !important;
}
.dlob .agreement-box h3{ letter-spacing:-.01em; }

/* Scroll progress note → centered pill that turns green when fully read. */
.dlob .scroll-note{
  width:max-content; max-width:100%; margin:14px auto 22px;
  display:flex; align-items:center; gap:7px;
  background:#f4f5f7; border:1px solid #e6e8ee; border-radius:999px;
  padding:7px 16px; font-size:12.5px; font-weight:600; color:var(--muted);
}
.dlob .scroll-note.done{ background:#ecfdf5; border-color:#a7f3d0; color:#15803d; }

/* Consent box: clearer locked → unlocked transition + lift on hover. */
.dlob .agree-check{
  border-radius:14px; padding:18px 20px; transition:border-color .2s, background .2s, box-shadow .2s;
}
.dlob .agree-check:not(.is-locked):hover{ box-shadow:0 10px 28px -20px rgba(17,32,58,.4); }
.dlob .agree-check.on{ border-color:var(--gold); background:#fffdf6; box-shadow:0 10px 28px -20px rgba(212,160,23,.5); }
.dlob .agree-check input{ width:21px; height:21px; border-radius:6px; }

/* Signer fields: nicer focus ring + signature pad framing. */
.dlob .sig-wrap{ border-radius:14px; box-shadow:0 14px 40px -30px rgba(17,32,58,.4); }
.dlob .sig-canvas{ height:180px; }
.dlob #onboard .panel[data-step="5"] input[type=text]:focus,
.dlob #onboard .panel[data-step="5"] input[type=date]:focus{
  outline:none; border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-soft);
}
