.form{display:flex;flex-direction:column;gap:20px}.form__section{background:var(--color-container);border-radius:10px;box-shadow:var(--shadow-default);padding:30px;display:flex;flex-direction:column;gap:20px}.form__section-title{font-family:var(--font-h2-family),sans-serif;font-size:var(--font-h2-size);font-weight:var(--font-h2-weight);text-transform:var(--font-h2-transform);color:var(--color-text_primary)}.form__section-header{display:flex;align-items:center;gap:10px}.form__section-optional{font-family:var(--font-p-medium-family),sans-serif;font-size:var(--fontsize-small);font-weight:var(--font-p-medium-weight);text-transform:uppercase;letter-spacing:.4px;color:var(--color-text_tertiary)}.form__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form__field{display:flex;flex-direction:column;gap:6px}.form__field--grow{grid-column:span 2}.form__field--full{grid-column:span 3}@media(max-width:900px){.form__grid{grid-template-columns:repeat(2,1fr)}.form__field--full{grid-column:span 2}}@media(max-width:750px){.form__grid{grid-template-columns:1fr}.form__field,.form__field--grow,.form__field--full{grid-column:span 1}}@media(max-width:600px){.form__section{padding:20px}}.form__field label,.form__fieldset legend{font-family:var(--font-p-medium-family),sans-serif;font-size:var(--fontsize-small);font-weight:var(--font-p-medium-weight);color:var(--color-text_secondary);text-transform:uppercase;letter-spacing:.4px}.form__required{color:inherit;margin-left:2px}.form__field input[type=text],.form__field input[type=email],.form__field input[type=tel],.form__field input[type=date],.form__field select,.form__field textarea{padding:10px 14px;border:1px solid var(--color-border);border-radius:6px;font-family:var(--font-p-regular-family),sans-serif;font-size:var(--font-p-regular-size);background:var(--color-background);color:var(--color-text_primary);outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}.form__field input:focus,.form__field select:focus,.form__field textarea:focus{border-color:var(--color-text_primary)}.form__input--error{border-color:var(--color-red)!important}.form__field-error{font-family:var(--font-p-regular-family),sans-serif;font-size:var(--fontsize-small);color:var(--color-red)}.form__field textarea{resize:vertical;min-height:100px}.form__field--checkbox{justify-content:center}.form__checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-family:var(--font-p-regular-family),sans-serif;font-size:var(--font-p-regular-size);color:var(--color-text_primary);text-transform:none;letter-spacing:0}.form__checkbox-label input[type=checkbox]{margin-top:0;flex-shrink:0;width:18px;height:18px;accent-color:var(--color-yellow);cursor:pointer}.form__checkbox-label span{font-family:var(--font-p-regular-family),sans-serif;font-size:var(--font-p-regular-size);color:var(--color-text_primary);text-transform:var(--font-p-regular-transform);font-weight:var(--font-p-regular-weight)}.form__checkbox-label a{color:var(--color-text_primary);text-decoration:underline}.form__checkbox-group{margin-top:10px;display:flex;flex-direction:column;gap:8px}.form__checkbox-group span{font-family:var(--font-p-regular-family),sans-serif;font-size:var(--font-p-regular-size);color:var(--color-text_secondary);text-transform:var(--font-p-regular-transform);font-weight:var(--font-p-regular-weight)}.form__fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.form__radio-group{display:flex;flex-wrap:wrap;gap:8px 16px}.form__radio-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-family:var(--font-p-regular-family),sans-serif;font-size:var(--font-p-regular-size);color:var(--color-text_primary)}.form__radio-label input[type=radio]{accent-color:var(--color-yellow);cursor:pointer}.form__section-description{font-family:var(--font-p-regular-family),sans-serif;font-size:var(--font-p-regular-size);color:var(--color-text_secondary);line-height:var(--font-p-regular-line-height);margin:0}.form__field--file input[type=file]{padding:4px 0;font-family:var(--font-p-regular-family),sans-serif;font-size:var(--font-p-regular-size);color:var(--color-text_primary);width:100%;box-sizing:border-box;cursor:pointer}.form__field--file input[type=file]:focus-within{outline:1px solid var(--color-text_primary);border-color:var(--color-text_primary)}.form__field--file input[type=file].form__input--error{border-color:var(--color-red)!important}.form__submit .btn{width:100%;display:flex;justify-content:center;gap:8px}.btn__spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;flex-shrink:0;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn--loading{pointer-events:none;opacity:.75}.form__submit-text{font-family:var(--font-p-regular-family),sans-serif;font-size:var(--fontsize-small);color:var(--color-text_secondary);line-height:var(--font-p-regular-line-height)}.form__submit-text p{margin:0}.form__submit-text p+p{margin-top:4px}.form__membership-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.form__membership-label{font-family:var(--font-navigation-bold-family),sans-serif;font-size:var(--font-navigation-bold-size);font-weight:var(--font-navigation-bold-weight);text-transform:var(--font-navigation-bold-transform);line-height:var(--font-navigation-bold-line-height);color:var(--color-text_secondary);white-space:nowrap}.form__membership-badge{display:inline-flex;align-items:center;background:var(--color-yellow);color:var(--color-text_primary);padding:5px 12px;border-radius:4px;box-shadow:var(--shadow-default);font-family:var(--font-p-medium-family),sans-serif;font-size:var(--font-p-medium-size);font-weight:var(--font-p-medium-weight)}.form__membership-description{font-family:var(--font-p-regular-family),sans-serif;font-size:var(--font-p-regular-size);color:var(--color-text_secondary);line-height:var(--font-p-regular-line-height);margin:0}.form__success{background:var(--color-container);border-left:4px solid var(--color-yellow);border-radius:6px;padding:20px 24px;box-shadow:var(--shadow-default);font-family:var(--font-p-regular-family),sans-serif;font-size:var(--font-p-regular-size);color:var(--color-text_primary)}.form__success p{margin:0}
