/* v8-neubrutal-bright — Neubrutalism yellow + chunky black */
.kc-tpl-v8-neubrutal-bright{font-family:'Space Grotesk','DM Sans',sans-serif;color:#000;line-height:1.4;background:transparent;padding:20px 0}
.kc-tpl-v8-neubrutal-bright.kc-standalone{background:#fef08a;padding:30px 16px}
.kc-tpl-v8-neubrutal-bright *{box-sizing:border-box}
.kc-tpl-v8-neubrutal-bright .kc-form{max-width:560px;margin:0 auto;background:#fff;border:3px solid #000;border-radius:0;padding:22px;box-shadow:8px 8px 0 0 #000}
.kc-tpl-v8-neubrutal-bright .kc-form-head h3{font-size:1.8rem;font-weight:900;color:#000;letter-spacing:-1px;text-transform:uppercase}
.kc-tpl-v8-neubrutal-bright .kc-form-head p{font-size:.85rem;color:#000;font-weight:600;margin-top:4px}
.kc-tpl-v8-neubrutal-bright .kc-cd{margin:16px 0 12px;padding:12px 14px;background:#ef4444;border:3px solid #000;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:5px 5px 0 0 #000}
.kc-tpl-v8-neubrutal-bright .kc-cd .lt{display:flex;align-items:center;gap:8px}
.kc-tpl-v8-neubrutal-bright .kc-cd .lt p{font-size:.85rem;line-height:1.2;text-transform:uppercase;letter-spacing:.5px}
.kc-tpl-v8-neubrutal-bright .kc-cd .lt small{display:block;font-size:.7rem}
.kc-tpl-v8-neubrutal-bright .kc-cd .clk{display:flex;gap:3px;font-weight:900;font-size:1.05rem}
.kc-tpl-v8-neubrutal-bright .kc-cd .clk .v{background:#000;color:#facc15;padding:3px 7px}
.kc-tpl-v8-neubrutal-bright .kc-proof{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.kc-tpl-v8-neubrutal-bright .kc-pf{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:2.5px solid #000;font-size:.75rem;font-weight:700;color:#000;box-shadow:3px 3px 0 0 #000}
.kc-tpl-v8-neubrutal-bright .kc-pf.a{background:#a7f3d0}
.kc-tpl-v8-neubrutal-bright .kc-pf.b{background:#fecaca}
.kc-tpl-v8-neubrutal-bright .kc-pf .v{font-weight:900;font-size:.9rem}
.kc-tpl-v8-neubrutal-bright .kc-section-l{font-size:.9rem;font-weight:900;color:#000;text-transform:uppercase;letter-spacing:1px;margin:14px 0 10px;display:block}
.kc-tpl-v8-neubrutal-bright .kc-plans{display:grid;gap:8px}
.kc-tpl-v8-neubrutal-bright .kc-plan{position:relative;display:flex;align-items:center;gap:10px;background:#fff;border:2.5px solid #000;padding:12px 14px;cursor:pointer;transition:transform .1s ease}
.kc-tpl-v8-neubrutal-bright .kc-plan:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 0 #000}
.kc-tpl-v8-neubrutal-bright .kc-plan .ra{width:20px;height:20px;border:2.5px solid #000;background:#fff;flex-shrink:0}
.kc-tpl-v8-neubrutal-bright .kc-plan .nf{flex:1;text-align:left}
.kc-tpl-v8-neubrutal-bright .kc-plan .nm{font-weight:900;font-size:.95rem;text-transform:uppercase;display:block}
.kc-tpl-v8-neubrutal-bright .kc-plan .ds{font-size:.72rem;color:#000;margin-top:2px;font-weight:600;display:block}
.kc-tpl-v8-neubrutal-bright .kc-plan .pr{font-weight:900;font-size:1.1rem;color:#000}
.kc-tpl-v8-neubrutal-bright .kc-plan input{position:absolute;opacity:0;pointer-events:none}
.kc-tpl-v8-neubrutal-bright .kc-plan input:checked ~ .ra{background:#000}
.kc-tpl-v8-neubrutal-bright .kc-plan.feat{background:#a7f3d0;transform:translate(-3px,-3px);box-shadow:6px 6px 0 0 #000}
.kc-tpl-v8-neubrutal-bright .kc-bdg{position:absolute;top:-12px;left:12px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.5px;padding:4px 10px;border:2px solid #000;text-transform:uppercase;box-shadow:3px 3px 0 0 #000}
.kc-tpl-v8-neubrutal-bright .kc-fld{margin-top:14px}
.kc-tpl-v8-neubrutal-bright .kc-fld label{display:block;font-size:.8rem;font-weight:900;color:#000;margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}
.kc-tpl-v8-neubrutal-bright .kc-fld input,.kc-tpl-v8-neubrutal-bright .kc-fld textarea,.kc-tpl-v8-neubrutal-bright .kc-fld select{width:100%;padding:11px 13px;border:2.5px solid #000;background:#fff;font-size:.92rem;color:#000;font-family:inherit;font-weight:600}
.kc-tpl-v8-neubrutal-bright .kc-fld input:focus,.kc-tpl-v8-neubrutal-bright .kc-fld textarea:focus,.kc-tpl-v8-neubrutal-bright .kc-fld select:focus{outline:0;background:#fef9c3;box-shadow:4px 4px 0 0 #000}
.kc-tpl-v8-neubrutal-bright .kc-fld textarea{resize:vertical;min-height:70px}
.kc-tpl-v8-neubrutal-bright .kc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kc-tpl-v8-neubrutal-bright .kc-hint{font-size:.7rem;color:#000;margin-top:3px;font-weight:600}
.kc-tpl-v8-neubrutal-bright .kc-auto{font-size:.7rem;color:#059669;font-weight:900;margin-left:4px;text-transform:uppercase}
.kc-tpl-v8-neubrutal-bright .kc-autofilled{background:#a7f3d0 !important}
.kc-tpl-v8-neubrutal-bright .kc-pay{margin-top:18px;width:100%;padding:16px 22px;border:3px solid #000;background:#ef4444;color:#fff;font-weight:900;font-size:1.1rem;text-transform:uppercase;letter-spacing:1px;cursor:pointer;box-shadow:6px 6px 0 0 #000;transition:transform .1s ease}
.kc-tpl-v8-neubrutal-bright .kc-pay:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 0 #000;background:#dc2626}
.kc-tpl-v8-neubrutal-bright .kc-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px;text-align:center}
.kc-tpl-v8-neubrutal-bright .kc-trust .t{background:#fff;border:2px solid #000;padding:5px;font-size:.7rem;font-weight:900;color:#000;text-transform:uppercase}
.kc-tpl-v8-neubrutal-bright .kc-note{text-align:center;font-size:.72rem;color:#000;margin-top:10px;font-weight:600}

/* v2.5.11 — Mobile responsive stack. Was missing @media breakpoint, so 2-col
   grids collapsed to unreadable tiny text on mobile. Add specific rules to
   preserve the template's aesthetic on ≤640px viewports. */
@media (max-width: 640px) {
	.kc-tpl-v8-neubrutal-bright.kc-standalone{padding:20px 12px}
	.kc-tpl-v8-neubrutal-bright .kc-form{padding:16px;box-shadow:6px 6px 0 0 #000}
	.kc-tpl-v8-neubrutal-bright .kc-form-head h3{font-size:1.5rem}
	.kc-tpl-v8-neubrutal-bright .kc-proof{grid-template-columns:1fr !important}
	.kc-tpl-v8-neubrutal-bright .kc-grid2{grid-template-columns:1fr !important}
	.kc-tpl-v8-neubrutal-bright .kc-trust{grid-template-columns:1fr !important}
}

/* v2.7.7 — select text cutoff fix (min-height + line-height so serif descenders visible) */
/* v2.7.7-select-fix */
.kc-tpl-v8-neubrutal-bright .kc-fld select,.kc-tpl-v8-neubrutal-bright .kc-field select{min-height:46px;line-height:1.4;box-sizing:border-box}

/* v2.8.9 — Universal select + dropdown overflow hardening (state + payment bank selects) */
.kc-tpl-v8-neubrutal-bright select,
.kc-tpl-v8-neubrutal-bright .kc-pm-fields select,
.kc-tpl-v8-neubrutal-bright .kc-pm-fields input{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  min-width:0 !important;
}
.kc-tpl-v8-neubrutal-bright .kc-pay-methods,
.kc-tpl-v8-neubrutal-bright .kc-pm-item,
.kc-tpl-v8-neubrutal-bright .kc-pm-fields,
.kc-tpl-v8-neubrutal-bright .kc-pm-main{
  max-width:100%;
  box-sizing:border-box;
  min-width:0;
}

/* v2.9.2 — Select field height + line-height guard so 'Choose your bank' text tak cut vertical */
.kc-tpl-v8-neubrutal-bright select,
.kc-tpl-v8-neubrutal-bright .kc-pm-fields select,
.kc-tpl-v8-neubrutal-bright .kc-pm-fields input{
  min-height:46px !important;
  line-height:1.45 !important;
  padding-top:11px !important;
  padding-bottom:11px !important;
  font-size:.95rem !important;
  vertical-align:middle !important;
  display:block !important;
}
/* Payment method duplicate label guard — hide the injected .kc-pm-desc if it repeats .kc-pm-head text */
.kc-tpl-v8-neubrutal-bright .kc-pm-item .kc-pm-desc:empty{display:none}
