/* CascadeNC Loan Portal — Branded UI */
.clp-portal{
  --clp-bg:#0b1220;
  --clp-card:#ffffff;
  --clp-ink:#111827;
  --clp-muted:rgba(17,24,39,.68);
  --clp-line:rgba(17,24,39,.10);
  --clp-gold-1:#f3df9a;
  --clp-gold-2:#e0be56;
  --clp-gold-3:#b38619;
  --clp-gold-4:#8b6510;
  --clp-accent:#c79a2b;
  max-width:1180px;
  margin:0 auto;
  padding:28px 16px 34px;
  box-sizing:border-box;
  color:var(--clp-ink);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
.clp-portal *{box-sizing:border-box}

/* Hero */
.clp-hero{
  display:grid;
  grid-template-columns:1.35fr .9fr;
  gap:18px;
  border-radius:22px;
  padding:18px;
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(900px 220px at 8% -10%, rgba(243,223,154,.24), transparent 65%),
    radial-gradient(500px 220px at 92% 12%, rgba(224,190,86,.17), transparent 70%),
    linear-gradient(145deg,#0b1220,#111827 55%, #0d1324);
  box-shadow:0 22px 45px rgba(2,6,23,.28);
}
@media (max-width: 980px){
  .clp-hero{grid-template-columns:1fr}
}
.clp-hero-left{display:flex;flex-direction:column;gap:12px}
.clp-brand{display:flex;align-items:center;gap:12px}
.clp-brand-mark{
  width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  font-weight:900;font-size:20px;color:#111827;
  background:linear-gradient(135deg,var(--clp-gold-1),var(--clp-gold-2),var(--clp-gold-3));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 8px 22px rgba(224,190,86,.24);
}
.clp-brand-title{
  font-size:20px;font-weight:800;letter-spacing:.15px;line-height:1.1;
}
.clp-brand-sub{
  margin-top:3px;font-size:12px;opacity:.88;letter-spacing:.08em;text-transform:uppercase;
}
.clp-hero-copy{display:flex;flex-direction:column;gap:6px}
.clp-hero-kicker{
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(243,223,154,.92);font-weight:800;
}
.clp-hero-text{font-size:14px;line-height:1.45;color:rgba(255,255,255,.92)}

.clp-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.clp-badge{
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid rgba(243,223,154,.26);
  background:rgba(255,255,255,.03);
  color:#fff;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:700;
}
.clp-badge::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:linear-gradient(135deg,var(--clp-gold-1),var(--clp-gold-3));
  box-shadow:0 0 0 2px rgba(243,223,154,.14);
}

.clp-hero-right{display:flex;align-items:stretch}
.clp-hero-contact-card{
  width:100%;
  border-radius:18px;
  padding:14px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  backdrop-filter: blur(3px);
  display:flex;flex-direction:column;gap:10px;
}
.clp-mini-label{font-size:12px;font-weight:700;color:rgba(255,255,255,.82)}
.clp-mini-phones{display:grid;gap:10px}
.clp-mini-meta{font-size:12px;color:rgba(255,255,255,.85);line-height:1.4}

/* Page heading */
.clp-pagehead{margin:16px 2px 12px}
.clp-pagehead-inner{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;
  border:1px solid var(--clp-line);
  background:linear-gradient(180deg,#fff,#fff);
  border-radius:18px;
  padding:14px 16px;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
}
.clp-h1{margin:0;font-size:28px;letter-spacing:-.02em;line-height:1.06;color:#0f172a}
.clp-subtitle{margin:7px 0 0;color:var(--clp-muted);font-size:14px;line-height:1.45;max-width:760px}
.clp-pagehead-promo{
  min-width:260px;max-width:420px;
  border-radius:14px;
  padding:10px 12px;
  color:#4b3610;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  border:1px solid rgba(199,154,43,.22);
  background:linear-gradient(180deg,rgba(243,223,154,.35), rgba(224,190,86,.14));
}
@media (max-width: 840px){
  .clp-pagehead-promo{min-width:unset;max-width:none;width:100%}
}

/* highlight strip */
.clp-highlight-bar{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 16px;
}
@media (max-width: 980px){
  .clp-highlight-bar{grid-template-columns:1fr}
}
.clp-highlight-item{
  border-radius:14px;
  padding:10px 12px;
  border:1px solid var(--clp-line);
  background:#fff;
  color:#111827;
  box-shadow:0 8px 16px rgba(15,23,42,.03);
  font-weight:700;
  font-size:13px;
  line-height:1.35;
}
.clp-dot-gold{
  display:inline-block;vertical-align:middle;margin-right:7px;
  width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--clp-gold-1),var(--clp-gold-3));
  box-shadow:0 0 0 3px rgba(224,190,86,.12);
}

/* layout */
.clp-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(290px,1fr);gap:18px;align-items:start}
@media (max-width: 980px){.clp-grid{grid-template-columns:1fr}}
.clp-card{
  background:var(--clp-card);
  border:1px solid var(--clp-line);
  border-radius:18px;
  padding:18px;
  box-shadow:0 12px 26px rgba(15,23,42,.05);
}
.clp-main{min-height:120px}
.clp-side-stack{display:grid;gap:14px}
.clp-side{position:sticky;top:16px}
@media (max-width:980px){.clp-side{position:static}}
.clp-side-card{padding:16px}
.clp-h2{margin:0 0 10px;font-size:20px;font-weight:800;line-height:1.15;color:#111827}
.clp-h3{margin:0 0 10px;font-size:16px;font-weight:800;line-height:1.2;color:#111827}
.clp-h4{margin:0 0 10px;font-size:14px;font-weight:800;line-height:1.2;color:#111827}
.clp-muted{color:var(--clp-muted)}
.clp-divider{height:1px;background:var(--clp-line);margin:14px 0}

/* buttons */
.clp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 14px;
  border-radius:12px;
  border:1px solid transparent;
  font-weight:800;
  cursor:pointer;
  text-decoration:none !important;
  line-height:1.1;
  transition:transform .05s ease, filter .15s ease, box-shadow .18s ease;
  white-space:nowrap;
}
.clp-btn:hover{filter:brightness(.98)}
.clp-btn:active{transform:translateY(1px)}
.clp-btn-primary{
  color:#141414 !important;
  border-color:rgba(199,154,43,.28);
  background:linear-gradient(135deg,var(--clp-gold-1),var(--clp-gold-2) 55%,var(--clp-gold-3));
  box-shadow:0 10px 18px rgba(224,190,86,.18), inset 0 1px 0 rgba(255,255,255,.45);
}
.clp-btn-outline{
  background:#fff;color:#111827 !important;border-color:rgba(17,24,39,.18);
}
.clp-btn-outline:hover{
  border-color:rgba(199,154,43,.36);
  box-shadow:0 6px 14px rgba(17,24,39,.05);
}
.clp-btn-block{width:100%}
.clp-side-actions{display:grid;gap:10px}
.clp-contact-lines{margin-top:12px;display:grid;gap:8px}
.clp-contact-line{font-size:13px;line-height:1.35;color:#111827}
.clp-contact-line a{color:#8b6510;font-weight:700;text-decoration:none}
.clp-contact-line a:hover{text-decoration:underline}

.clp-side-list{
  margin:8px 0 10px;
  padding-left:18px;
  display:grid;
  gap:8px;
  color:#111827;
  font-size:13px;
  line-height:1.35;
}
.clp-trust-card{
  background:linear-gradient(180deg,#fff,#fff8eb);
  border-color:rgba(199,154,43,.16);
}
.clp-trust-note{
  margin-top:8px;
  border-radius:10px;
  padding:8px 10px;
  font-size:12px;
  font-weight:800;
  color:#4b3610;
  background:rgba(243,223,154,.34);
  border:1px solid rgba(199,154,43,.16);
}

/* banners */
.clp-banner{border-radius:14px;padding:12px 12px;margin:12px 0;font-weight:700;line-height:1.35}
.clp-banner-success{background:rgba(16,185,129,.10);border:1px solid rgba(16,185,129,.22);color:#065f46}
.clp-banner-warning{background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.22);color:#92400e}
.clp-banner-error{background:rgba(239,68,68,.10);border:1px solid rgba(239,68,68,.22);color:#7f1d1d}

/* forms */
.clp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:700px){.clp-form{grid-template-columns:1fr}}
.clp-field{display:flex;flex-direction:column;gap:6px}
.clp-field--full{grid-column:1 / -1}
.clp-req{color:#ef4444}
.clp-portal label,.clp-portal .clp-form label{display:block !important;font-weight:800;color:#111827;font-size:13px}
.clp-portal .clp-form input,
.clp-portal .clp-form textarea,
.clp-portal .clp-form select,
.clp-portal .clp-amount,
.clp-portal .clp-note,
.clp-portal .clp-next-date{
  width:100% !important;
  border:1px solid rgba(17,24,39,.16);
  border-radius:12px;
  padding:11px 12px;
  font-size:14px;
  line-height:1.25;
  background:#fff;
  color:#111827;
  outline:none;
  box-shadow:none;
}
.clp-portal .clp-form input:focus,
.clp-portal .clp-form textarea:focus,
.clp-portal .clp-form select:focus,
.clp-portal .clp-amount:focus,
.clp-portal .clp-note:focus,
.clp-portal .clp-next-date:focus{
  border-color:rgba(199,154,43,.55);
  box-shadow:0 0 0 4px rgba(224,190,86,.15);
}
.clp-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.clp-check{display:inline-flex !important;align-items:center;gap:8px;font-weight:700}
.clp-check input[type="checkbox"]{width:auto !important;height:auto !important;margin:0}

/* account/loan blocks */
.clp-section{margin-top:16px}
.clp-section:first-child{margin-top:0}
.clp-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0 0}
@media(max-width:900px){.clp-kpis{grid-template-columns:1fr}}
.clp-kpi{
  border:1px solid rgba(17,24,39,.08);
  border-radius:14px;
  padding:10px 12px;
  background:linear-gradient(180deg,#fff,#fbfcfe);
}
.clp-kpi-label{font-size:11px;color:var(--clp-muted);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.clp-kpi-value{margin-top:4px;font-size:14px;font-weight:900;color:#111827;word-break:break-word}
.clp-two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-top:10px}
@media(max-width:980px){.clp-two-col{grid-template-columns:1fr}}
.clp-loan{
  margin-top:18px;
  border-top:1px solid rgba(17,24,39,.08);
  padding-top:16px;
}
.clp-loan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.clp-loan-sub{font-size:13px}
.clp-loan-details{min-width:0}
.clp-notes{
  margin-top:10px;
  padding:10px;
  background:linear-gradient(180deg,#fff,#fbfcfe);
  border-radius:14px;
  border:1px solid rgba(17,24,39,.09);
  font-size:13px;
}

.clp-paybox{
  border:1px dashed rgba(199,154,43,.38);
  border-radius:16px;
  padding:14px;
  background:
    radial-gradient(240px 70px at 10% 0%, rgba(243,223,154,.14), transparent 70%),
    linear-gradient(180deg,#fff,#fffcf4);
}
.clp-paybox-title{
  font-weight:900;margin-bottom:8px;color:#111827;
  display:flex;align-items:center;gap:8px;
}
.clp-paybox-title::before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--clp-gold-1),var(--clp-gold-3));
}
.clp-pay-status{margin-top:10px;font-weight:800;font-size:13px}
.clp-square-container{margin-top:10px;padding-top:10px;border-top:1px solid rgba(17,24,39,.10)}
.clp-square-card{border:1px solid rgba(17,24,39,.14);border-radius:12px;padding:12px;background:#fff;margin-bottom:10px;min-height:60px}
.clp-confirm-btn{width:100%;margin-top:6px}

/* tables */
.clp-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin-top:10px;
  font-size:13px;
  overflow:hidden;
}
.clp-table thead th{
  background:linear-gradient(180deg,#f8fafc,#f1f5f9);
  text-align:left;
  font-weight:900;
  color:#111827;
  border-top:1px solid rgba(17,24,39,.10);
}
.clp-table th,.clp-table td{
  padding:10px;
  border-bottom:1px solid rgba(17,24,39,.08);
  vertical-align:top;
}
.clp-table tbody tr:hover td{background:rgba(243,223,154,.07)}
.clp-table th:first-child{border-top-left-radius:12px}
.clp-table th:last-child{border-top-right-radius:12px}
.clp-table tr:last-child td:first-child{border-bottom-left-radius:12px}
.clp-table tr:last-child td:last-child{border-bottom-right-radius:12px}
@media(max-width:860px){
  .clp-main{overflow:auto}
  .clp-table{min-width:760px}
}

/* map */
.clp-map{
  margin-top:10px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(17,24,39,.10);
  box-shadow:0 8px 16px rgba(15,23,42,.04);
}
.clp-map iframe{width:100%;height:220px;border:0;display:block}

/* login / magic form helpers */
.clp-login-links{
  display:flex;align-items:center;gap:10px;margin-top:10px;font-weight:800;flex-wrap:wrap;
}
.clp-login-links a{color:#8b6510;text-decoration:none}
.clp-login-links a:hover{text-decoration:underline}
.clp-dot{opacity:.5}

.clp-login-form,
.clp-login-form-modern,
.clp-magic-form{grid-template-columns:1fr !important;max-width:640px}
.clp-login-form .clp-btn,
.clp-login-form-modern .clp-btn,
.clp-magic-form .clp-btn{width:100%}
.clp-magic-form{
  margin-top:12px;
  border-top:1px solid rgba(17,24,39,.08);
  padding-top:12px;
}
.clp-magic-form .clp-h4{margin-bottom:8px}
.clp-error{color:#b91c1c;font-weight:700;font-size:13px}

/* square card host fix */
#card-container, [id^="clp-card-"]{min-height:56px}

/* footer strip */
.clp-footer-strip{
  margin-top:16px;
  border:1px solid rgba(17,24,39,.09);
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fcfcfc);
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  box-shadow:0 8px 18px rgba(15,23,42,.03);
}
.clp-footer-strip-left{font-size:13px;color:#111827}
.clp-footer-strip-right a{
  color:#8b6510;
  font-weight:800;
  text-decoration:none;
}
.clp-footer-strip-right a:hover{text-decoration:underline}


/* 3% processing fee summary + status states */
.clp-fee-summary{
  margin:-2px 0 10px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:12px;
  padding:10px 12px;
  background:rgba(15,23,42,.03);
}
.clp-fee-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
  color:#111827;
}
.clp-fee-line + .clp-fee-line{ margin-top:6px; }
.clp-fee-total{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed rgba(15,23,42,.14);
  font-weight:800;
}
.clp-pay-status.is-error{ color:#b91c1c; }
.clp-pay-status.is-success{ color:#065f46; }
.clp-pay-status.is-info{ color:#1f2937; }

/* v0.4.3: Simple register page (no branded shell) + square boxes */
.clp-register-simple{max-width:820px;margin:24px auto;padding:0 16px}
.clp-register-simple .clp-card{border-radius:0!important;box-shadow:none;border:1px solid #d1d5db;padding:20px;background:#fff}
.clp-register-simple .clp-h2{margin-bottom:14px}
.clp-register-simple .clp-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:700px){.clp-register-simple .clp-form{grid-template-columns:1fr}}
.clp-register-simple .clp-field input,
.clp-register-simple .clp-field textarea{border-radius:0!important}
.clp-register-simple .clp-btn{border-radius:0!important}
.clp-register-simple .clp-form-actions{align-items:center}

/* v0.4.4: Simple login page (no branded shell) + square boxes */
.clp-login-simple{max-width:820px;margin:24px auto;padding:0 16px}
.clp-login-simple .clp-card{border-radius:0!important;box-shadow:none;border:1px solid #d1d5db;padding:20px;background:#fff}
.clp-login-simple .clp-h2{margin-bottom:14px}
.clp-login-simple .clp-banner{border-radius:0!important}
.clp-login-simple .clp-login-form-modern{max-width:620px}
.clp-login-simple .clp-field input{border-radius:0!important}
.clp-login-simple .clp-btn{border-radius:0!important}
.clp-login-simple .clp-login-links{margin-top:12px}
.clp-login-simple .clp-login-wrap #clp-loginform input[type="text"],
.clp-login-simple .clp-login-wrap #clp-loginform input[type="password"],
.clp-login-simple .clp-login-wrap #wp-submit{border-radius:0!important}

/* v0.4.5: Simple dashboard page (no branded shell) + square boxes */
.clp-dashboard-simple{max-width:1100px;margin:24px auto;padding:0 16px}
.clp-dashboard-simple .clp-card{border-radius:0!important;box-shadow:none;border:1px solid #d1d5db;padding:20px;background:#fff}
.clp-dashboard-simple .clp-banner{border-radius:0!important}
.clp-dashboard-simple .clp-section{margin-top:16px}
.clp-dashboard-simple .clp-kpi,
.clp-dashboard-simple .clp-paybox,
.clp-dashboard-simple .clp-notes,
.clp-dashboard-simple .clp-square-card{border-radius:0!important}
.clp-dashboard-simple .clp-table th:first-child,
.clp-dashboard-simple .clp-table th:last-child,
.clp-dashboard-simple .clp-table tr:last-child td:first-child,
.clp-dashboard-simple .clp-table tr:last-child td:last-child{border-radius:0!important}
.clp-dashboard-simple .clp-field input,
.clp-dashboard-simple .clp-field textarea{border-radius:0!important}
.clp-dashboard-simple .clp-btn{border-radius:0!important}

/* v0.4.6 layout fixes: add top spacing + override aggressive theme form styles */
.clp-register-simple,
.clp-login-simple,
.clp-dashboard-simple{
  margin-top:72px !important; /* prevents fixed/sticky site headers from crowding portal content */
  padding-top:8px !important;
  position:relative;
  z-index:1;
}

/* If the theme collapses content margins, keep the form/card below the header */
.clp-register-simple .clp-card,
.clp-login-simple .clp-card,
.clp-dashboard-simple .clp-card{
  margin-top:0 !important;
}

/* Strong reset for themes that float labels/inputs (seen on some mobile themes) */
.clp-register-simple .clp-form,
.clp-login-simple .clp-form,
.clp-dashboard-simple .clp-form{
  display:grid !important;
  gap:12px !important;
}

.clp-register-simple .clp-field,
.clp-login-simple .clp-field,
.clp-dashboard-simple .clp-field{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:6px !important;
  float:none !important;
  width:100% !important;
  margin:0 !important;
}

.clp-register-simple .clp-field label,
.clp-login-simple .clp-field label,
.clp-dashboard-simple .clp-field label{
  display:block !important;
  width:100% !important;
  float:none !important;
  margin:0 !important;
  line-height:1.2 !important;
}

.clp-register-simple .clp-field input,
.clp-register-simple .clp-field textarea,
.clp-login-simple .clp-field input,
.clp-login-simple .clp-field textarea,
.clp-dashboard-simple .clp-field input,
.clp-dashboard-simple .clp-field textarea{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  margin:0 !important;
  line-height:1.25 !important;
}

.clp-register-simple .clp-h2,
.clp-login-simple .clp-h2,
.clp-dashboard-simple .clp-h2{
  margin-top:0 !important;
  line-height:1.15 !important;
}

/* Keep action row from collapsing into one line on smaller widths */
.clp-register-simple .clp-form-actions,
.clp-login-simple .clp-form-actions,
.clp-dashboard-simple .clp-form-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

/* Slightly larger spacing on phones */
@media (max-width: 767px){
  .clp-register-simple,
  .clp-login-simple,
  .clp-dashboard-simple{
    margin-top:88px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
}


/* v0.4.9 Divi compatibility fixes */
.clp-register-simple, .clp-login-simple, .clp-dashboard-simple,
.clp-register-simple *, .clp-login-simple *, .clp-dashboard-simple *{
  box-sizing:border-box;
}

/* Stronger field stacking overrides (some themes/Divi force inline labels & inputs) */
.clp-register-simple form.clp-form > .clp-field,
.clp-login-simple form.clp-form > .clp-field,
.clp-dashboard-simple form.clp-form > .clp-field{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:6px !important;
  width:100% !important;
  clear:both !important;
  float:none !important;
}

.clp-register-simple form.clp-form > .clp-field > label,
.clp-login-simple form.clp-form > .clp-field > label,
.clp-dashboard-simple form.clp-form > .clp-field > label{
  display:block !important;
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
}

.clp-register-simple form.clp-form > .clp-field > input,
.clp-register-simple form.clp-form > .clp-field > textarea,
.clp-login-simple form.clp-form > .clp-field > input,
.clp-login-simple form.clp-form > .clp-field > textarea,
.clp-dashboard-simple form.clp-form > .clp-field > input,
.clp-dashboard-simple form.clp-form > .clp-field > textarea{
  display:block !important;
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}

/* When shortcode is inside a Divi module/section, do not add extra top spacing/card chrome */
.et-db #et-boc .clp-register-simple,
.et-db #et-boc .clp-login-simple,
.et-db #et-boc .clp-dashboard-simple,
.et-l--body .et_pb_module .clp-register-simple,
.et-l--body .et_pb_module .clp-login-simple,
.et-l--body .et_pb_module .clp-dashboard-simple,
.et_pb_module .clp-register-simple,
.et_pb_module .clp-login-simple,
.et_pb_module .clp-dashboard-simple{
  margin-top:0 !important;
  padding-top:0 !important;
  max-width:100% !important;
}

.et-db #et-boc .clp-register-simple .clp-card,
.et-db #et-boc .clp-login-simple .clp-card,
.et-db #et-boc .clp-dashboard-simple .clp-card,
.et_pb_module .clp-register-simple .clp-card,
.et_pb_module .clp-login-simple .clp-card,
.et_pb_module .clp-dashboard-simple .clp-card{
  margin-top:0 !important;
}

/* Keep heading from colliding with sticky bars when page content starts at top */
.clp-register-simple .clp-h2,
.clp-login-simple .clp-h2,
.clp-dashboard-simple .clp-h2{
  padding-top:4px;
}


/* CLP v0.5.5 payment form enhancements */
.clp-paybox.clp-paybox-modern {
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 0;
  padding: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
  box-shadow: 0 8px 24px rgba(2,6,23,.05);
}

.clp-paybox-modern .clp-paybox-title {
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 10px;
  color: #0f172a;
}

.clp-section-title {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .01em;
  color: #111827;
  margin: 0 0 8px;
}

.clp-contact-card,
.clp-extension-box {
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  padding: 12px;
  margin: 10px 0 12px;
  border-radius: 0;
}

.clp-contact-grid,
.clp-extension-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
}

.clp-checkline {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 10px;
  font-weight: 600;
  color: #0f172a;
}

.clp-checkline input[type="checkbox"] {
  width: 16px;
  height: 16px;
}

.clp-paybox-modern .clp-field {
  margin-bottom: 10px;
}

.clp-paybox-modern .clp-field label,
.clp-paybox-modern .clp-label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  color: #0f172a;
  font-size: 13px;
}

.clp-paybox-modern input[type="text"],
.clp-paybox-modern input[type="email"],
.clp-paybox-modern input[type="tel"],
.clp-paybox-modern input[type="number"],
.clp-paybox-modern input[type="date"],
.clp-paybox-modern textarea {
  width: 100%;
  border: 1px solid rgba(15,23,42,.18);
  background: #fff;
  border-radius: 0;
  padding: 10px 12px;
  min-height: 42px;
  box-sizing: border-box;
}

.clp-paybox-modern textarea {
  min-height: 86px;
  resize: vertical;
}

.clp-paybox-modern input:focus,
.clp-paybox-modern textarea:focus {
  outline: none;
  border-color: rgba(30,64,175,.45);
  box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}

.clp-guest-verify-note {
  margin-top: 2px;
  grid-column: 1 / -1;
}

.clp-fee-summary {
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
  padding: 8px 10px;
  margin-bottom: 12px;
}

.clp-fee-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 0;
  font-size: 13px;
}

.clp-fee-row--total {
  border-top: 1px solid rgba(15,23,42,.08);
  margin-top: 4px;
  padding-top: 8px;
  font-weight: 700;
}

.clp-status {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  min-height: 18px;
}

.clp-status:empty {
  display: none;
}

.clp-status.is-error {
  border-color: rgba(185,28,28,.25);
  background: rgba(254,242,242,.95);
  color: #991b1b;
}
.clp-status.is-success {
  border-color: rgba(5,150,105,.25);
  background: rgba(236,253,245,.95);
  color: #065f46;
}
.clp-status.is-info {
  border-color: rgba(30,64,175,.20);
  background: rgba(239,246,255,.95);
  color: #1e40af;
}

@media (max-width: 782px) {
  .clp-contact-grid,
  .clp-extension-grid {
    grid-template-columns: 1fr;
  }
}
