.pf-form-wrapper { --pf-brand: #4361ee;
--pf-brand-light: #d4b99f;
--pf-brand-lighter: #efe8e1;
--pf-brand-dark: #3451d1;
--pf-brand-glow: rgba(187, 146, 116, 0.18); --pf-navy: #1a1a2e;
--pf-navy-soft: #1c4a6e;
--pf-navy-light: rgba(14, 48, 76, 0.06); --pf-text: #1e1b18;
--pf-text-sub: #4a4540;
--pf-text-muted: #8c857d;
--pf-bg: #ffffff;
--pf-bg-input: #faf9f7;
--pf-bg-subtle: #f5f3f0;
--pf-border: #e5e0da;
--pf-border-strong: #d1cac0; --pf-error: #b5423a;
--pf-error-bg: rgba(181, 66, 58, 0.05);
--pf-error-border: rgba(181, 66, 58, 0.18);
--pf-success: #2a7d5a;
--pf-success-bg: rgba(42, 125, 90, 0.05);
--pf-success-border: rgba(42, 125, 90, 0.15); --pf-radius: 10px;
--pf-radius-sm: 6px;
--pf-radius-lg: 14px;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
max-width: 100%;
box-sizing: border-box;
line-height: 1.5;
}
.pf-form-wrapper *, .pf-form-wrapper *::before, .pf-form-wrapper *::after {
box-sizing: border-box;
}  .pf-form-wrapper input,
.pf-form-wrapper textarea,
.pf-form-wrapper select {
font-family: inherit;
font-size: inherit;
margin: 0;
padding: 10px 14px;
border: 1.5px solid var(--pf-border, #d5cfc8);
background: var(--pf-bg-input, #ffffff);
color: var(--pf-text, #2b2b33);
border-radius: var(--pf-radius-sm, 6px);
box-sizing: border-box;
width: 100%;
}
.pf-form-wrapper input[type="checkbox"],
.pf-form-wrapper input[type="radio"] {
width: auto;
padding: 0;
}
.pf-form-wrapper button {
font-family: inherit;
font-size: inherit;
margin: 0;
box-sizing: border-box;
} .pf-form-title {
font-size: 24px;
font-weight: 800;
color: var(--pf-navy);
margin: 0 0 6px;
letter-spacing: -0.4px;
line-height: 1.2;
}
.pf-form-desc {
font-size: 15px;
color: var(--pf-text-sub);
margin: 0 0 28px;
line-height: 1.6;
} .pf-form {
position: relative;
}
.pf-form-wrapper .pf-fields-wrap {
display: flex !important;
flex-wrap: wrap !important;
gap: 20px !important;
} .pf-form-wrapper .pf-field {
position: relative !important;
margin-bottom: 2px !important;
}
.pf-field-full { width: 100%; }
.pf-field-half { width: calc(50% - 10px); }
.pf-field-third { width: calc(33.333% - 14px); }
@media (max-width: 600px) {
.pf-field-half, .pf-field-third { width: 100%; }
.pf-fields-wrap { gap: 16px; }
} .pf-form-wrapper .pf-label {
display: block !important;
font-size: 13px !important;
font-weight: 700 !important;
color: var(--pf-label-color, var(--pf-navy)) !important;
margin-bottom: 7px !important;
letter-spacing: 0.02em !important;
line-height: 1.4 !important;
text-transform: none !important;
}
.pf-required {
color: var(--pf-brand);
margin-left: 3px;
font-weight: 400;
} .pf-form-wrapper .pf-input,
.pf-form-wrapper .pf-textarea,
.pf-form-wrapper .pf-select {
width: 100% !important;
padding: 12px 16px !important;
font-size: 14px !important;
font-family: inherit !important;
color: var(--pf-text) !important;
background: var(--pf-bg-input) !important;
border: 1.5px solid var(--pf-border) !important;
border-radius: var(--pf-radius) !important;
transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
outline: none !important;
-webkit-appearance: none !important;
appearance: none !important;
box-sizing: border-box !important;
display: block !important;
}
.pf-form-wrapper .pf-input:hover,
.pf-form-wrapper .pf-textarea:hover,
.pf-form-wrapper .pf-select:hover {
border-color: var(--pf-border-strong) !important;
background: var(--pf-bg) !important;
}
.pf-form-wrapper .pf-input:focus,
.pf-form-wrapper .pf-textarea:focus,
.pf-form-wrapper .pf-select:focus {
border-color: var(--pf-brand) !important;
background: var(--pf-bg) !important;
box-shadow: 0 0 0 3px var(--pf-brand-glow), 0 1px 3px rgba(14, 48, 76, 0.04) !important;
outline: none !important;
}
.pf-input::placeholder,
.pf-textarea::placeholder {
color: var(--pf-text-muted);
font-weight: 400;
}
.pf-textarea {
resize: vertical;
min-height: 90px;
line-height: 1.5;
}
.pf-select {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%230e304c' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 40px;
cursor: pointer;
} .pf-choices {
display: flex;
flex-direction: column;
gap: 6px;
}
.pf-choice {
display: flex;
align-items: center;
gap: 10px;
font-size: 14px;
color: var(--pf-text);
cursor: pointer;
padding: 10px 14px;
border-radius: var(--pf-radius);
border: 1.5px solid var(--pf-border);
background: var(--pf-bg-input);
transition: all 0.15s ease;
}
.pf-choice:hover {
border-color: var(--pf-brand-light);
background: var(--pf-brand-lighter);
}
.pf-choice input[type="radio"],
.pf-choice input[type="checkbox"] {
accent-color: var(--pf-brand);
width: 17px;
height: 17px;
cursor: pointer;
flex-shrink: 0;
} .pf-heading {
font-size: 17px;
font-weight: 800;
color: var(--pf-navy);
margin: 8px 0 0;
padding-top: 12px;
border-top: 2px solid var(--pf-brand-lighter);
letter-spacing: -0.2px;
}
.pf-divider {
border: none;
border-top: 2px solid var(--pf-brand-lighter);
margin: 8px 0;
} .pf-field-error {
font-size: 12px;
color: var(--pf-error);
margin-top: 5px;
font-weight: 600;
letter-spacing: 0.01em;
}
.pf-field-has-error .pf-input,
.pf-field-has-error .pf-textarea,
.pf-field-has-error .pf-select {
border-color: var(--pf-error);
box-shadow: 0 0 0 3px var(--pf-error-bg);
} .pf-form-footer {
margin-top: 28px;
}
.pf-submit-btn {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
gap: 8px !important;
padding: 14px 40px !important;
font-size: 15px !important;
font-weight: 700 !important;
font-family: inherit !important;
color: var(--pf-btn-text, #fff) !important;
background: var(--pf-btn-bg, var(--pf-navy)) !important;
border: none !important;
border-radius: var(--pf-radius) !important;
cursor: pointer !important;
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
box-shadow: 0 2px 8px rgba(14, 48, 76, 0.15), 0 1px 2px rgba(14, 48, 76, 0.08) !important;
min-width: 160px !important;
letter-spacing: 0.03em !important;
text-transform: none !important;
position: relative !important;
overflow: hidden !important;
text-decoration: none !important;
line-height: 1.4 !important;
width: auto !important;
-webkit-appearance: none !important;
appearance: none !important;
}
.pf-submit-btn::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, var(--pf-brand) 0%, var(--pf-brand-dark) 100%);
opacity: 0;
transition: opacity 0.3s ease;
}
.pf-submit-btn:hover {
transform: translateY(-1px);
box-shadow: 0 6px 20px rgba(14, 48, 76, 0.2), 0 2px 6px rgba(14, 48, 76, 0.1);
}
.pf-submit-btn:hover::before {
opacity: 1;
}
.pf-submit-btn .pf-btn-text,
.pf-submit-btn .pf-btn-spinner {
position: relative;
z-index: 1;
}
.pf-submit-btn:active {
transform: translateY(0);
}
.pf-submit-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
transform: none;
box-shadow: none;
}
.pf-btn-spinner svg {
animation: pfSpin 1s linear infinite;
}
@keyframes pfSpin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
} .pf-form-message {
margin-top: 24px;
}
.pf-success-message {
text-align: center;
padding: 36px 24px;
background: var(--pf-success-bg);
border: 1.5px solid var(--pf-success-border);
border-radius: var(--pf-radius-lg);
animation: pfFadeIn 0.4s ease-out;
}
.pf-success-message svg {
color: var(--pf-success);
margin-bottom: 14px;
}
.pf-success-message p {
font-size: 15px;
font-weight: 600;
color: var(--pf-navy);
margin: 0;
line-height: 1.6;
}
.pf-error-message {
padding: 14px 18px;
background: var(--pf-error-bg);
border: 1.5px solid var(--pf-error-border);
border-radius: var(--pf-radius);
color: var(--pf-error);
font-size: 13px;
font-weight: 600;
}
@keyframes pfFadeIn {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
} .pf-gdpr-consent {
padding: 16px 18px;
background: var(--pf-navy-light);
border: 1.5px solid rgba(14, 48, 76, 0.1);
border-radius: var(--pf-radius);
position: relative;
}
.pf-gdpr-consent::before {
content: '';
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 3px;
background: var(--pf-navy);
border-radius: 3px 0 0 3px;
}
.pf-gdpr-label {
border: none !important;
padding: 0 !important;
background: transparent !important;
}
.pf-gdpr-text {
font-size: 13px;
line-height: 1.6;
color: var(--pf-text-sub);
}
.pf-gdpr-text a {
color: var(--pf-navy-soft);
text-decoration: underline;
text-underline-offset: 2px;
font-weight: 700;
}
.pf-gdpr-text a:hover {
color: var(--pf-brand-dark);
}
.pf-field-has-error .pf-gdpr-consent {
border-color: var(--pf-error);
} .pf-input:focus-visible,
.pf-textarea:focus-visible,
.pf-select:focus-visible {
outline: 2px solid var(--pf-navy);
outline-offset: 2px;
}
.pf-choice input:focus-visible {
outline: 2px solid var(--pf-navy);
outline-offset: 2px;
}
.pf-submit-btn:focus-visible {
outline: 2px solid var(--pf-brand);
outline-offset: 3px;
} .pf-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
} .pf-file {
padding: 10px 14px;
cursor: pointer;
}
.pf-file::file-selector-button {
padding: 6px 16px;
margin-right: 12px;
font-family: inherit;
font-size: 12px;
font-weight: 700;
color: var(--pf-navy);
background: var(--pf-brand-lighter);
border: 1px solid var(--pf-border);
border-radius: var(--pf-radius-sm);
cursor: pointer;
transition: all 0.15s;
}
.pf-file::file-selector-button:hover {
background: var(--pf-brand-light);
color: var(--pf-bg);
border-color: var(--pf-brand-light);
} .pf-name-wrap {
display: flex;
gap: 12px;
width: 100%;
}
.pf-name-sub {
flex: 1 1 0;
min-width: 0;
}
.pf-sub-label {
font-size: 12px;
font-weight: 600;
color: var(--pf-text-sub);
margin-bottom: 5px;
}
@media (max-width: 480px) {
.pf-name-wrap { flex-direction: column; gap: 16px; }
} .pf-address-wrap {
display: flex;
flex-wrap: wrap;
gap: 12px;
width: 100%;
}
.pf-address-full  { width: 100%; }
.pf-address-half  { width: calc(50% - 6px); }
@media (max-width: 480px) {
.pf-address-half { width: 100%; }
}  .pf-btn-outlined .pf-submit-btn {
color: var(--pf-btn-bg, var(--pf-navy)) !important;
border-color: var(--pf-btn-bg, var(--pf-navy)) !important;
background: transparent;
color: var(--pf-brand);
border: 2px solid var(--pf-brand);
box-shadow: none;
}
.pf-btn-outlined .pf-submit-btn::before { display: none; }
.pf-btn-outlined .pf-submit-btn:hover {
background: var(--pf-brand);
color: #fff;
} .pf-btn-gradient .pf-submit-btn {
background: linear-gradient(135deg, var(--pf-brand) 0%, var(--pf-brand-dark) 100%);
border: none;
}
.pf-btn-gradient .pf-submit-btn::before {
background: linear-gradient(135deg, var(--pf-brand-dark) 0%, var(--pf-brand) 100%);
} .pf-btn-minimal .pf-submit-btn {
background: transparent;
color: var(--pf-brand);
border: none;
box-shadow: none;
text-decoration: underline;
text-underline-offset: 3px;
padding-left: 0;
padding-right: 0;
}
.pf-btn-minimal .pf-submit-btn:hover {
background: transparent;
opacity: 0.75;
} .pf-label-floating .pf-field {
position: relative;
padding-top: 8px;
}
.pf-label-floating .pf-label {
position: absolute;
top: 22px;
left: 14px;
font-size: 15px;
font-weight: 400;
color: var(--pf-text-muted);
pointer-events: none;
transition: top 0.18s ease, font-size 0.18s ease, color 0.18s ease, font-weight 0.18s ease;
z-index: 1;
background: transparent;
line-height: 1;
}
.pf-label-floating .pf-input:focus ~ .pf-label,
.pf-label-floating .pf-input:not(:placeholder-shown) ~ .pf-label,
.pf-label-floating .pf-input.has-value ~ .pf-label {
top: 2px;
font-size: 11px;
font-weight: 700;
color: var(--pf-brand);
letter-spacing: 0.3px;
}
.pf-label-floating .pf-input {
padding-top: 20px;
padding-bottom: 8px;
} .pf-label-floating .pf-field > .pf-input { order: 2; }
.pf-label-floating .pf-field > .pf-label { order: 1; }
.pf-label-floating .pf-field { display: flex; flex-direction: column; } .pf-notif-row-2col {
display: flex;
gap: 16px;
}
.pf-notif-row-2col .pf-setting-row {
flex: 1;
min-width: 0;
}
@media (max-width: 640px) {
.pf-notif-row-2col { flex-direction: column; gap: 0; }
}  .pf-form-wrapper {
background: var(--pf-form-bg, transparent);
padding: var(--pf-form-pad, 0);
border-radius: var(--pf-radius-lg);
}
.pf-form-wrapper.pf-shadow-sm { box-shadow: 0 2px 10px rgba(14, 48, 76, 0.07); }
.pf-form-wrapper.pf-shadow-md { box-shadow: 0 8px 30px rgba(14, 48, 76, 0.12); } .pf-form-wrapper.pf-size-sm .pf-input,
.pf-form-wrapper.pf-size-sm .pf-textarea,
.pf-form-wrapper.pf-size-sm .pf-select {
padding: 8px 12px !important;
font-size: 13px !important;
}
.pf-form-wrapper.pf-size-sm .pf-submit-btn { padding: 10px 28px !important; font-size: 13px !important; }
.pf-form-wrapper.pf-size-sm .pf-label { font-size: 12px !important; }
.pf-form-wrapper.pf-size-lg .pf-input,
.pf-form-wrapper.pf-size-lg .pf-textarea,
.pf-form-wrapper.pf-size-lg .pf-select {
padding: 16px 20px !important;
font-size: 16px !important;
}
.pf-form-wrapper.pf-size-lg .pf-submit-btn { padding: 18px 48px !important; font-size: 16px !important; }
.pf-form-wrapper.pf-size-lg .pf-label { font-size: 15px !important; } .pf-form-wrapper.pf-spacing-compact .pf-fields-wrap { gap: 10px !important; }
.pf-form-wrapper.pf-spacing-spacious .pf-fields-wrap { gap: 32px !important; } .pf-btn-align-center .pf-form-footer { text-align: center; }
.pf-btn-align-right  .pf-form-footer { text-align: right; }
.pf-btn-align-full   .pf-submit-btn  { width: 100% !important; } .pf-form-wrapper .pf-fields-wrap .pf-field input.pf-input,
.pf-form-wrapper .pf-fields-wrap .pf-field textarea.pf-input,
.pf-form-wrapper .pf-fields-wrap .pf-field select.pf-input {
display: block !important;
width: 100% !important;
padding: 12px 16px !important;
border: 1.5px solid var(--pf-border, #d5cfc8) !important;
background: var(--pf-bg-input, #ffffff) !important;
color: var(--pf-text, #2b2b33) !important;
border-radius: var(--pf-radius-sm, 6px) !important;
font-size: 15px !important;
line-height: 1.45 !important;
opacity: 1 !important;
visibility: visible !important;
box-sizing: border-box !important;
}
.pf-form-wrapper .pf-fields-wrap .pf-field input.pf-input[type="checkbox"],
.pf-form-wrapper .pf-fields-wrap .pf-field input.pf-input[type="radio"] {
display: inline-block !important;
width: auto !important;
padding: 0 !important;
}
.pf-form-wrapper .pf-fields-wrap .pf-field input.pf-input:focus,
.pf-form-wrapper .pf-fields-wrap .pf-field textarea.pf-input:focus,
.pf-form-wrapper .pf-fields-wrap .pf-field select.pf-input:focus {
border-color: var(--pf-brand, #4361ee) !important;
outline: none !important;
box-shadow: 0 0 0 3px rgba(67, 97, 238, .12) !important;
}
.pf-form-wrapper .pf-form-footer button.pf-submit-btn {
display: inline-block !important;
opacity: 1 !important;
visibility: visible !important;
} .pf-form-wrapper { font-family: var(--pf-font, inherit); }
.pf-form-wrapper .pf-label { font-size: var(--pf-label-size, 13px) !important; font-weight: var(--pf-label-weight, 600) !important; }
.pf-label-upper .pf-label { text-transform: uppercase !important; letter-spacing: .04em !important; }
.pf-label-capitalize .pf-label { text-transform: capitalize !important; }
.pf-form-wrapper .pf-help { font-size: 12px; line-height: 1.5; color: var(--pf-text-muted, #7c7268); margin: 4px 0 6px; }
.pf-form-wrapper .pf-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pf-form-wrapper .pf-input::placeholder { color: var(--pf-placeholder, #a49a90); opacity: 1; }
.pf-form-wrapper .pf-field-error { color: var(--pf-error, #c44747); } .pf-border-line .pf-fields-wrap .pf-field input.pf-input,
.pf-border-line .pf-fields-wrap .pf-field textarea.pf-input,
.pf-border-line .pf-fields-wrap .pf-field select.pf-input {
border: 0 !important; border-bottom: 1.5px solid var(--pf-border, #d5cfc8) !important;
border-radius: 0 !important; padding-left: 2px !important; padding-right: 2px !important;
background: transparent !important;
}
.pf-border-none .pf-fields-wrap .pf-field input.pf-input,
.pf-border-none .pf-fields-wrap .pf-field textarea.pf-input,
.pf-border-none .pf-fields-wrap .pf-field select.pf-input {
border: 1.5px solid transparent !important;
background: var(--pf-bg-input, #f3f0ec) !important;
} .pf-theme-minimal { --pf-border: #e2ded8; --pf-bg-input: #ffffff; --pf-radius: 4px; --pf-radius-sm: 3px; }
.pf-theme-minimal .pf-submit-btn { border-radius: 4px !important; }
.pf-theme-soft { --pf-border: #e6e0f5; --pf-bg-input: #faf8ff; --pf-brand: #7c5cff; --pf-radius: 14px; --pf-radius-sm: 12px; }
.pf-theme-soft .pf-fields-wrap .pf-field input.pf-input,
.pf-theme-soft .pf-fields-wrap .pf-field textarea.pf-input,
.pf-theme-soft .pf-fields-wrap .pf-field select.pf-input { border-radius: 12px !important; }
.pf-theme-bold { --pf-border: #1a1a2e; --pf-bg-input: #ffffff; --pf-brand: #c8362f; }
.pf-theme-bold .pf-fields-wrap .pf-field input.pf-input,
.pf-theme-bold .pf-fields-wrap .pf-field textarea.pf-input,
.pf-theme-bold .pf-fields-wrap .pf-field select.pf-input { border-width: 2px !important; }
.pf-theme-bold .pf-label { font-weight: 700 !important; }
.pf-theme-dark { --pf-border: #3a3a52; --pf-bg-input: #1e1e2f; --pf-text: #f0eeea; --pf-label-color: #f0eeea; --pf-placeholder: #8a8299; --pf-form-bg: #14141f; }
.pf-theme-dark .pf-form-title, .pf-theme-dark .pf-form-desc { color: #f0eeea !important; } .pf-form-wrapper .pf-conditionally-hidden { display: none !important; }
.pf-form-wrapper .pf-counter { font-size: 11px; color: var(--pf-text-muted, #7c7268); text-align: right; margin-top: 4px; }
.pf-form-wrapper .pf-counter-warn { color: var(--pf-error, #c44747); font-weight: 600; }