/* Request Assistance application form. */
.tcp-assist-form { max-width: 820px; margin: 8px auto 0; padding: clamp(18px, 4vw, 34px); background: #fff; color: #1f2a21; border-radius: 16px; box-shadow: 0 10px 30px rgba(0, 0, 0, .10); text-align: left; font: 16px/1.5 "Poppins", system-ui, sans-serif; }
.tcp-assist-form .tcp-intro { margin: 0 0 18px; }
.tcp-assist-form a { color: #a51c23; }
.tcp-assist-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.tcp-assist-form .tcp-section { padding: 20px 0; border-top: 1px solid #e1e6de; }
.tcp-assist-form .tcp-section > legend { float: left; width: 100%; margin-bottom: 12px; padding: 0; font-size: 1.25rem; font-weight: 700; color: #284527; }
.tcp-assist-form .tcp-section > legend + * { clear: both; }
.tcp-assist-form .tcp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.tcp-assist-form .tcp-wide { grid-column: 1 / -1; }
.tcp-assist-form .tcp-field { margin: 0; }
.tcp-assist-form .tcp-field label, .tcp-assist-form .tcp-choice legend { display: block; margin: 0 0 6px; padding: 0; font-weight: 600; font-size: .95rem; color: #1f2a21; }
.tcp-assist-form input, .tcp-assist-form select, .tcp-assist-form textarea { margin: 0 !important; }
.tcp-assist-form p { margin-bottom: 0; }
.tcp-assist-form .tcp-choice label { display: inline-flex; gap: 8px; align-items: center; margin: 0 22px 0 0; font-weight: 500; }
.tcp-assist-form input[type="text"], .tcp-assist-form input[type="email"], .tcp-assist-form input[type="tel"], .tcp-assist-form input[type="number"], .tcp-assist-form input[type="date"], .tcp-assist-form select, .tcp-assist-form textarea { box-sizing: border-box; width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #aebaab; border-radius: 8px; background: #fff; color: #1f2a21; font: inherit; }
.tcp-assist-form textarea { min-height: 80px; resize: vertical; }
.tcp-assist-form input:focus, .tcp-assist-form select:focus, .tcp-assist-form textarea:focus { outline: 3px solid rgba(190, 32, 40, .35); border-color: #be2028; }
.tcp-assist-form input[type="radio"], .tcp-assist-form input[type="checkbox"] { width: 20px; height: 20px; accent-color: #be2028; flex: none; }
.tcp-assist-form .tcp-req { color: #a51c23; }
.tcp-assist-form .tcp-opt { font-weight: 400; color: #5b665d; font-size: .85rem; }
.tcp-assist-form .tcp-hint { margin: 6px 0 0; font-size: .875rem; color: #4d5b4f; }
.tcp-assist-form .tcp-zip-ok { color: #1f6130; font-weight: 600; }
.tcp-assist-form .tcp-zip-no { color: #8a4b0b; font-weight: 600; }
.tcp-assist-form .tcp-specific { margin: 0 0 16px; padding: 12px 14px; border-left: 4px solid #be2028; border-radius: 6px; background: #fdf1f1; font-weight: 700; color: #6e1418; }
.tcp-assist-form .tcp-child { margin: 0 0 14px; padding: 16px; border: 1px solid #d6ddd3; border-radius: 12px; background: #f7f9f5; }
.tcp-assist-form .tcp-child-title { padding: 0 6px; font-weight: 700; color: #284527; }
.tcp-assist-form .tcp-add-child, .tcp-assist-form .tcp-remove-child { font: inherit; font-weight: 600; cursor: pointer; border-radius: 8px; }
.tcp-assist-form .tcp-add-child { padding: 10px 16px; border: 1px dashed #284527; background: #fff; color: #284527; }
.tcp-assist-form .tcp-remove-child { margin-top: 10px; padding: 4px 0; border: 0; background: none; color: #a51c23; text-decoration: underline; }
.tcp-assist-form .tcp-check label { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; margin: 0 0 12px; }
.tcp-assist-form .tcp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tcp-assist-form .tcp-submit { display: block; width: 100%; margin-top: 8px; padding: 15px 22px; border: 0; border-radius: 10px; background: #be2028; color: #fff; font: 700 1.05rem/1.2 inherit; font-family: inherit; cursor: pointer; }
.tcp-assist-form .tcp-submit:hover { background: #a51c23; }
.tcp-assist-form .tcp-submit:disabled { opacity: .6; cursor: wait; }
.tcp-assist-note { max-width: 820px; margin: 0 auto 16px; padding: 18px 22px; border-radius: 12px; background: #fff6e0; border: 1px solid #efd79b; color: #4a3508; text-align: left; font: 16px/1.5 "Poppins", system-ui, sans-serif; }
.tcp-assist-note p { margin: 0; }
.tcp-assist-note .tcp-assist-title { margin-bottom: 6px; font-weight: 700; font-size: 1.15rem; color: #3b2a06; }
.tcp-assist-open { background: #eaf5eb; border-color: #b9dcbc; color: #1f3a22; }
@media (max-width: 640px) { .tcp-assist-form .tcp-grid { grid-template-columns: 1fr; } }
