/* JOIN FORM (modal): clean, professional layout. Loaded after main.css. */
.join-modal .join-modal__dialog{max-width:560px;padding:2.5rem 2.5rem 2rem;background:#121212;border:1px solid #2a2a2a;border-top:3px solid #FC0F12;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.85)}
.join-modal .join-modal__close{top:1rem;right:1rem;width:36px;height:36px;border-radius:8px;background:transparent;border:1px solid #2a2a2a;color:#A5A5A5}
.join-modal .join-modal__close:hover{color:#fff;border-color:#555;background:#1a1a1a}
.join-modal .join-modal__header{margin-bottom:1.75rem;padding-right:2.5rem;padding-bottom:1.25rem;border-bottom:1px solid #222}
.join-modal .join-modal__title{font-size:1.65rem;font-weight:700;letter-spacing:-.01em;text-transform:none;margin:0 0 .4rem;color:#fff}
.join-modal .join-modal__subtitle{font-size:.9rem;line-height:1.6;color:#A5A5A5;margin:0}
.join-modal .join-modal__form{display:flex;flex-direction:column;gap:1.1rem}
.join-modal .join-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.join-modal .join-modal__field{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.join-modal .join-modal__label{font-size:.82rem;font-weight:600;letter-spacing:0;text-transform:none;color:#d6d6d6}
.join-modal .join-modal__label .req{color:#FC0F12}
.join-modal .join-modal__label .opt{font-weight:400;color:#7d7d7d}
.join-modal .join-modal__input,
.join-modal .join-modal__select,
.join-modal .join-modal__textarea{width:100%;height:48px;padding:0 .9rem;background:#0b0b0b;border:1px solid #2c2c2c;border-radius:8px;color:#fff;font-size:.95rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}
.join-modal .join-modal__textarea{height:auto;min-height:92px;padding:.75rem .9rem;resize:vertical;line-height:1.5}
.join-modal .join-modal__select{appearance:none;-webkit-appearance:none;padding-right:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23A5A5A5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;cursor:pointer}
.join-modal .join-modal__select option{background:#121212;color:#fff}
.join-modal .join-modal__input:hover,
.join-modal .join-modal__select:hover,
.join-modal .join-modal__textarea:hover{border-color:#444}
.join-modal .join-modal__input:focus,
.join-modal .join-modal__select:focus,
.join-modal .join-modal__textarea:focus{outline:none;border-color:#FC0F12;box-shadow:0 0 0 3px rgba(252,15,18,.18)}
.join-modal .join-modal__input.error,
.join-modal .join-modal__select.error{border-color:#FC0F12}
.join-modal .join-modal__error{font-size:.78rem;color:#ff6b6b;display:none;margin:0}
.join-modal .join-modal__error.visible{display:block}
.join-modal .join-modal__submit{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;height:52px;margin-top:.5rem;padding:0 1.5rem;background:#FC0F12;color:#fff;border:0;border-radius:8px;font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:.02em;text-transform:none;box-shadow:none;cursor:pointer;transition:background .15s ease}
.join-modal .join-modal__submit:hover{background:#D4090C;transform:none;box-shadow:none}
.join-modal .join-modal__footer-note{display:block;margin:.25rem 0 0;font-size:.78rem;color:#7d7d7d;text-align:center}
@media(max-width:600px){
  .join-modal .join-modal__dialog{padding:1.75rem 1.25rem 1.5rem}
  .join-modal .join-modal__row{grid-template-columns:1fr}
  .join-modal .join-modal__title{font-size:1.4rem}
}
