/* DriftForm — all rules scoped under .df-wrap and forced with !important
   so the plugin fully controls its own look and the theme cannot override. */

.df-wrap{
	background:var(--df-bg) !important;
	color:var(--df-text) !important;
	border:var(--df-box-border,none) !important;
	border-radius:var(--df-radius,18px) !important;
	padding:var(--df-pad,32px) !important;
	max-width:var(--df-maxw,600px) !important;
	margin:24px auto !important;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
	box-shadow:0 20px 60px rgba(0,0,0,.25) !important;
	box-sizing:border-box !important;
	line-height:1.4 !important;
}
.df-wrap *{box-sizing:border-box !important}

.df-header{text-align:center !important;margin-bottom:18px !important}
.df-title{margin:0 0 6px !important;font-size:26px !important;font-weight:700 !important;color:var(--df-text) !important}
.df-subtitle{margin:0 !important;opacity:.75 !important;font-size:var(--df-bodysize,15px) !important;color:var(--df-text) !important}

.df-progress{height:6px !important;background:rgba(127,127,127,.25) !important;border-radius:99px !important;overflow:hidden !important;margin-bottom:24px !important}
.df-progress-bar{height:100% !important;width:0;background:var(--df-accent) !important;border-radius:99px !important;transition:width .35s ease !important}

.df-count{
	text-align:center !important;font-size:var(--df-bodysize,15px) !important;font-weight:600 !important;
	color:var(--df-text) !important;opacity:.8 !important;margin-bottom:24px !important;
}
.df-count-now{color:var(--df-accent) !important;font-weight:700 !important}

/* Equal-height stage: every step shares one grid cell */
.df-stage{position:relative !important}
.df-form{display:grid !important;margin:0 !important;padding:0 !important}
.df-step{grid-area:1 / 1 / 2 / 2 !important;align-self:start !important;margin:0 !important}
.df-step[hidden]{visibility:hidden !important;pointer-events:none !important}
.df-step:not([hidden]){visibility:visible !important}

.df-intro-text{font-size:var(--df-bodysize,15px) !important;line-height:1.6 !important;opacity:.92 !important;margin:6px 0 20px !important;color:var(--df-text) !important}
.df-q{font-size:var(--df-qsize,18px) !important;font-weight:600 !important;margin:0 0 14px !important;line-height:1.4 !important;color:var(--df-text) !important}

.df-label{display:block !important;font-size:var(--df-bodysize,15px) !important;font-weight:600 !important;color:var(--df-label,#000) !important;margin:0 0 6px !important}

.df-err{
	color:#fca5a5 !important;background:rgba(220,38,38,.12) !important;
	border:1px solid rgba(220,38,38,.4) !important;
	border-radius:8px !important;padding:9px 12px !important;margin:0 0 14px !important;
	font-size:14px !important;font-weight:500 !important;
}

.df-options{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;margin-bottom:16px !important}
@media(min-width:480px){.df-options{grid-template-columns:1fr 1fr !important}}
.df-option{
	background:var(--df-card) !important;color:var(--df-text) !important;
	border:var(--df-card-border,2px solid transparent) !important;
	padding:16px !important;border-radius:var(--df-card-radius,12px) !important;
	font-size:var(--df-bodysize,15px) !important;font-weight:500 !important;cursor:pointer !important;
	text-align:left !important;transition:.18s !important;width:100% !important;
	font-family:inherit !important;line-height:1.4 !important;
}
.df-option:hover{transform:translateY(-2px) !important}
.df-option.selected{background:var(--df-sel) !important;border-color:var(--df-accent) !important;color:#fff !important}

.df-wrap .df-custom,.df-wrap .df-name,.df-wrap .df-email{
	width:100% !important;background:var(--df-input) !important;color:var(--df-input-text) !important;
	border:1px solid rgba(127,127,127,.35) !important;border-radius:10px !important;
	padding:14px 16px !important;font-size:var(--df-bodysize,15px) !important;margin-bottom:12px !important;
	outline:none !important;font-family:inherit !important;line-height:1.4 !important;
	-webkit-text-fill-color:var(--df-input-text) !important;
}
.df-wrap .df-custom::placeholder,.df-wrap .df-name::placeholder,.df-wrap .df-email::placeholder{color:var(--df-input-text) !important;-webkit-text-fill-color:var(--df-input-text) !important;opacity:.6 !important}
.df-wrap .df-custom::-webkit-input-placeholder,.df-wrap .df-name::-webkit-input-placeholder,.df-wrap .df-email::-webkit-input-placeholder{color:var(--df-input-text) !important;opacity:.6 !important}
.df-wrap .df-custom:-ms-input-placeholder,.df-wrap .df-name:-ms-input-placeholder,.df-wrap .df-email:-ms-input-placeholder{color:var(--df-input-text) !important;opacity:.6 !important}
.df-wrap .df-custom:focus,.df-wrap .df-name:focus,.df-wrap .df-email:focus{border-color:var(--df-accent) !important}

.df-nav{display:flex !important;gap:10px !important;justify-content:flex-end !important;margin-top:8px !important}
.df-back{
	background:transparent !important;color:var(--df-text) !important;opacity:.7 !important;
	border:1px solid rgba(127,127,127,.4) !important;padding:12px 22px !important;border-radius:10px !important;
	cursor:pointer !important;font-size:var(--df-bodysize,15px) !important;font-weight:600 !important;font-family:inherit !important;
}
.df-next,.df-send,.df-start{
	background:var(--df-btn) !important;color:var(--df-btn-text) !important;border:none !important;
	padding:12px 26px !important;border-radius:10px !important;cursor:pointer !important;
	font-size:var(--df-bodysize,15px) !important;font-weight:700 !important;transition:.18s !important;font-family:inherit !important;
}
.df-next:hover,.df-send:hover,.df-start:hover{filter:brightness(1.08) !important}
.df-intro .df-nav{justify-content:flex-start !important}

.df-done{text-align:center !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;min-height:160px !important}
.df-check{
	width:64px !important;height:64px !important;line-height:64px !important;margin:0 auto 18px !important;
	background:var(--df-accent) !important;color:#fff !important;border-radius:50% !important;font-size:32px !important;
	animation:df-pop .4s ease !important;
}
@keyframes df-pop{0%{transform:scale(0)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
.df-thankyou{font-size:var(--df-qsize,18px) !important;font-weight:600 !important;line-height:1.5 !important;margin:0 !important;max-width:420px !important;color:var(--df-text) !important}
