/*
 * REdyTalent campaign sign-up form (resources/views/redytalent/campaign/form.blade.php).
 * Scoped to .rt-cs so it can sit on the campaign pages and in R:Ed posts without touching them.
 * Phone first (N1): fields fill the width, 44px touch targets, no horizontal scroll at 360px.
 */
.rt-cs { box-sizing: border-box; width: 100%; max-width: 100%; font-size: 16px; line-height: 1.4; color: #1f2933; }
.rt-cs *, .rt-cs *::before, .rt-cs *::after { box-sizing: border-box; }
.rt-cs__row { display: flex; flex-wrap: wrap; gap: 0 12px; }
/* Side by side on wide screens; one per line on phones (QC P2-06, N1 "full width"). */
.rt-cs__row > .rt-cs__field { flex: 1 1 200px; min-width: 0; }
.rt-cs__field { margin: 0 0 14px; }
.rt-cs label { display: block; margin: 0 0 4px; font-weight: 600; }
.rt-cs input[type="text"], .rt-cs input[type="email"], .rt-cs input[type="tel"], .rt-cs select {
    display: block; width: 100%; min-height: 44px; padding: 8px 12px; font-size: 16px;
    border: 1px solid #b8c2cc; border-radius: 6px; background: #fff; color: inherit;
}
.rt-cs input:focus, .rt-cs select:focus { outline: 2px solid #0d6efd; outline-offset: 1px; }
.rt-cs__phone { display: flex; align-items: stretch; }
.rt-cs__dial { display: flex; align-items: center; padding: 0 10px; border: 1px solid #b8c2cc; border-right: 0;
    border-radius: 6px 0 0 6px; background: #f1f4f7; white-space: nowrap; }
.rt-cs__dial[hidden] { display: none; }
.rt-cs__dial:not([hidden]) + input { border-radius: 0 6px 6px 0; }
.rt-cs__consent label { display: flex; gap: 10px; align-items: flex-start; font-weight: normal; }
.rt-cs__consent input { flex: 0 0 auto; width: 22px; height: 22px; margin: 2px 0 0; }
.rt-cs__consent a { text-decoration: underline; }
.rt-cs__captcha { max-width: 100%; overflow: hidden; }
.rt-cs__error { color: #b42318; font-size: 14px; margin-top: 4px; }
.rt-cs__error:empty { display: none; }
.rt-cs__invalid { border-color: #b42318 !important; }
.rt-cs__submit { display: block; width: 100%; min-height: 48px; padding: 10px 16px; font-size: 17px; font-weight: 700;
    color: #fff; background: #0d6efd; border: 0; border-radius: 6px; cursor: pointer; }
.rt-cs__submit[disabled] { opacity: .7; cursor: wait; }
.rt-cs__alert { margin: 0 0 14px; padding: 10px 12px; border-radius: 6px; }
.rt-cs__alert[hidden] { display: none; }
.rt-cs__alert--error { background: #fef3f2; color: #912018; border: 1px solid #fecdca; }
.rt-cs__alert--ok { background: #ecfdf3; color: #05603a; border: 1px solid #a6f4c5; }
.rt-cs__opening { margin: 0 0 4px; font-weight: 600; }
.rt-cs__open-link { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: underline; }
