:root {
--dfrs-primary:      #1a1a2e;
--dfrs-accent:       #4f46e5;
--dfrs-accent-hover: #4338ca;
--dfrs-danger:       #dc2626;
--dfrs-success:      #16a34a;
--dfrs-surface:      #ffffff;
--dfrs-bg:           #f8fafc;
--dfrs-border:       #e2e8f0;
--dfrs-text:         #1e293b;
--dfrs-muted:        #64748b;
--dfrs-radius:       8px;
--dfrs-shadow:       0 1px 4px rgba(0,0,0,0.06), 0 4px 20px rgba(0,0,0,0.08);
} .dfrs-field-group {
margin-bottom: 1.25rem;
}
.dfrs-field-group label {
display: block;
font-size: 0.875rem;
font-weight: 600;
color: var(--dfrs-text);
margin-bottom: 6px;
} .dfrs-hp-field {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
opacity: 0;
pointer-events: none;
} .dfrs-verify-wrap {
max-width: 480px;
margin: 2rem auto;
background: var(--dfrs-surface);
border-radius: var(--dfrs-radius);
box-shadow: var(--dfrs-shadow);
padding: 2.5rem;
font-family: inherit;
}
.dfrs-verify-heading {
font-size: 1.5rem;
font-weight: 700;
color: var(--dfrs-primary);
margin: 0 0 0.5rem;
line-height: 1.3;
}
.dfrs-verify-subtext {
font-size: 0.9rem;
color: var(--dfrs-muted);
margin: 0 0 1.75rem;
line-height: 1.6;
} .dfrs-notice {
border-radius: var(--dfrs-radius);
padding: 0.875rem 1rem;
margin-bottom: 1.5rem;
font-size: 0.875rem;
line-height: 1.5;
}
.dfrs-notice p {
margin: 0;
}
.dfrs-notice--success {
background-color: #dcfce7;
color: var(--dfrs-success);
border: 1px solid #bbf7d0;
}
.dfrs-notice--error {
background-color: #fee2e2;
color: var(--dfrs-danger);
border: 1px solid #fecaca;
}
.dfrs-notice--info {
background-color: #eff6ff;
color: #2563eb;
border: 1px solid #bfdbfe;
} .dfrs-field-group label {
display: block;
font-size: 0.85rem;
font-weight: 600;
color: var(--dfrs-text);
margin-bottom: 8px;
letter-spacing: 0.3px;
}
.dfrs-input {
display: block;
width: 100%;
padding: 10px 14px;
font-size: 1rem;
color: var(--dfrs-text);
background: var(--dfrs-bg);
border: 2px solid var(--dfrs-border);
border-radius: var(--dfrs-radius);
box-sizing: border-box;
transition: border-color 0.2s, box-shadow 0.2s;
}
.dfrs-input:focus {
outline: none;
border-color: var(--dfrs-accent);
box-shadow: 0 0 0 3px rgba(79,70,229,0.15);
background: var(--dfrs-surface);
}
.dfrs-input--code {
font-family: 'Courier New', Courier, monospace;
font-size: 1.75rem;
font-weight: 700;
letter-spacing: 0.5rem;
text-align: center;
padding: 14px;
border-width: 2px;
border-color: var(--dfrs-border);
background: var(--dfrs-bg);
}
.dfrs-input--code:focus {
border-color: var(--dfrs-accent);
} .dfrs-btn {
display: inline-block;
width: 100%;
padding: 13px 24px;
font-size: 0.95rem;
font-weight: 700;
letter-spacing: 0.3px;
border-radius: var(--dfrs-radius);
border: none;
cursor: pointer;
text-align: center;
transition: background-color 0.2s, transform 0.1s, box-shadow 0.2s;
line-height: 1;
margin-top: 0.5rem;
box-sizing: border-box;
}
.dfrs-btn:active {
transform: translateY(1px);
}
.dfrs-btn--primary {
background-color: var(--dfrs-accent);
color: #ffffff;
box-shadow: 0 2px 8px rgba(79,70,229,0.3);
margin-top: 1.25rem;
}
.dfrs-btn--primary:hover {
background-color: var(--dfrs-accent-hover);
box-shadow: 0 4px 14px rgba(79,70,229,0.4);
}
.dfrs-btn--secondary {
background-color: transparent;
color: var(--dfrs-accent);
border: 2px solid var(--dfrs-accent);
width: auto;
padding: 9px 20px;
font-size: 0.875rem;
}
.dfrs-btn--secondary:hover {
background-color: var(--dfrs-accent);
color: #ffffff;
} .dfrs-resend-section {
margin-top: 2rem;
padding-top: 1.5rem;
border-top: 1px solid var(--dfrs-border);
text-align: center;
}
.dfrs-resend-text {
font-size: 0.875rem;
color: var(--dfrs-muted);
margin: 0 0 0.75rem;
}
.dfrs-resend-form {
display: inline;
} .dfrs-verify-form {
margin-bottom: 0;
} .woocommerce-error li a[href*="verify"] {
color: var(--dfrs-accent);
font-weight: 600;
text-decoration: underline;
} .dfrs-holding-wrap {
max-width: 560px;
margin: 2.5rem auto;
background: var(--dfrs-surface);
border-radius: var(--dfrs-radius);
box-shadow: var(--dfrs-shadow);
padding: 3rem 2.5rem;
text-align: center;
font-family: inherit;
}
.dfrs-holding-logo {
margin-bottom: 1.5rem;
}
.dfrs-holding-logo img {
max-width: 140px;
height: auto;
display: inline-block;
}
.dfrs-holding-icon {
width: 64px;
height: 64px;
margin: 0 auto 1.5rem;
background: linear-gradient(135deg, #ede9fe 0%, #e0e7ff 100%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--dfrs-accent);
}
.dfrs-holding-icon svg {
width: 30px;
height: 30px;
stroke: var(--dfrs-accent);
}
.dfrs-holding-heading {
font-size: 1.75rem;
font-weight: 800;
color: var(--dfrs-primary);
margin: 0 0 0.75rem;
line-height: 1.2;
}
.dfrs-holding-subtext {
font-size: 1rem;
color: var(--dfrs-muted);
line-height: 1.7;
margin: 0 0 2rem;
} .dfrs-holding-steps {
display: flex;
flex-direction: column;
gap: 0.875rem;
margin-bottom: 2rem;
text-align: left;
}
.dfrs-holding-step {
display: flex;
align-items: flex-start;
gap: 0.875rem;
background: var(--dfrs-bg);
border: 1px solid var(--dfrs-border);
border-radius: var(--dfrs-radius);
padding: 0.875rem 1rem;
}
.dfrs-step-num {
flex-shrink: 0;
width: 26px;
height: 26px;
background-color: var(--dfrs-accent);
color: #ffffff;
border-radius: 50%;
font-size: 0.8rem;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
line-height: 1;
margin-top: 1px;
}
.dfrs-step-text {
font-size: 0.9rem;
color: var(--dfrs-text);
line-height: 1.5;
} .dfrs-holding-note {
display: flex;
align-items: flex-start;
gap: 0.75rem;
background: #eff6ff;
border: 1px solid #bfdbfe;
border-radius: var(--dfrs-radius);
padding: 1rem 1.125rem;
text-align: left;
margin-bottom: 1.75rem;
}
.dfrs-holding-note svg {
flex-shrink: 0;
width: 18px;
height: 18px;
stroke: #2563eb;
margin-top: 2px;
}
.dfrs-holding-note p {
margin: 0;
font-size: 0.875rem;
color: #1e40af;
line-height: 1.6;
} .dfrs-holding-support,
.dfrs-holding-privacy {
font-size: 0.8rem;
color: var(--dfrs-muted);
margin: 0.5rem 0 0;
}
.dfrs-holding-support a,
.dfrs-holding-privacy a {
color: var(--dfrs-accent);
text-decoration: none;
font-weight: 500;
}
.dfrs-holding-support a:hover,
.dfrs-holding-privacy a:hover {
text-decoration: underline;
} @media (max-width: 520px) {
.dfrs-verify-wrap {
padding: 1.75rem 1.25rem;
margin: 1rem;
}
.dfrs-verify-heading {
font-size: 1.25rem;
}
.dfrs-input--code {
font-size: 1.35rem;
letter-spacing: 0.35rem;
}
.dfrs-holding-wrap {
padding: 2rem 1.25rem;
margin: 1rem;
}
.dfrs-holding-heading {
font-size: 1.35rem;
}
.dfrs-holding-subtext {
font-size: 0.9rem;
}
}