/* ── FOSA NORTH AMERICA — CUSTOM SWEETALERT2 STYLING ── */

:root {
  --swal-navy:      #071d34;
  --swal-navy-dark: #041426;
  --swal-blue:      #0f5b92;
  --swal-gold:      #f2b134;
  --swal-gold-hover:#ffc554;
  --swal-gold-dark: #d89617;
  --swal-cream:     #f7f5ef;
  --swal-ink:       #16202a;
  --swal-muted:     #5e6d7d;
  --swal-border:    #dce3e8;
  --swal-radius:    14px;
}

/* ── MODAL CONTAINER & BACKDROP ── */
.swal2-container.fosa-swal-container {
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  background: rgba(4, 20, 38, 0.6) !important;
  z-index: 99999 !important;
}

/* ── MODAL POPUP ── */
.swal2-popup.fosa-swal-popup {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
  border-radius: var(--swal-radius) !important;
  padding: 32px 28px !important;
  background: #ffffff !important;
  box-shadow: 0 24px 64px rgba(7, 29, 52, 0.22), 0 4px 16px rgba(7, 29, 52, 0.08) !important;
  border: 1px solid rgba(7, 29, 52, 0.08) !important;
  color: var(--swal-ink) !important;
  max-width: 480px !important;
}

/* ── POPUP TITLE ── */
.swal2-popup.fosa-swal-popup .swal2-title {
  font-family: "Libre Baskerville", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--swal-navy) !important;
  padding: 16px 0 8px !important;
  margin: 0 !important;
}

/* ── POPUP CONTENT HTML ── */
.swal2-popup.fosa-swal-popup .swal2-html-container {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: var(--swal-muted) !important;
  margin: 8px 0 20px !important;
  padding: 0 !important;
}

/* ── YEAR GROUP MEMBER DIRECTORY ── */
.swal2-popup.fosa-swal-popup.year-members-popup {
  width: min(760px, calc(100vw - 32px)) !important;
  max-width: 760px !important;
  text-align: left !important;
}
.year-members-popup .swal2-title { text-align: left !important; padding-right: 38px !important; }
.year-members-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 15px;
  margin-bottom: 12px;
  background: var(--swal-cream);
  border-left: 3px solid var(--swal-gold);
}
.year-members-summary span { color: var(--swal-navy); font-weight: 800; }
.year-members-summary small { color: var(--swal-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .5px; text-align: right; }
.year-members-list { max-height: 420px; overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--swal-border); }
.year-member-row { display: grid; grid-template-columns: 45px minmax(0, 1fr) minmax(120px, .65fr); gap: 14px; align-items: center; padding: 15px 4px; border-bottom: 1px solid var(--swal-border); }
.year-member-avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--swal-navy); color: var(--swal-gold); font-family: "Libre Baskerville", Georgia, serif; font-size: 12px; font-weight: 700; }
.year-member-details { min-width: 0; display: flex; flex-direction: column; }
.year-member-details strong { color: var(--swal-navy); font-size: 14px; line-height: 1.35; }
.year-member-details small, .year-member-location { color: var(--swal-muted); font-size: 11.5px; line-height: 1.45; }
.year-member-location { text-align: right; }
.year-members-empty { min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; }
.year-members-empty > span { width: 62px; height: 70px; display: grid; place-items: center; margin-bottom: 8px; border-radius: 34px 34px 5px 5px; background: var(--swal-cream); color: var(--swal-gold-dark); font-family: "Libre Baskerville", Georgia, serif; font-weight: 700; }
.year-members-empty strong { color: var(--swal-navy); }
.year-members-empty small { max-width: 360px; color: var(--swal-muted); }
@media (max-width: 560px) {
  .swal2-popup.fosa-swal-popup.year-members-popup { padding: 25px 18px !important; }
  .year-members-summary { align-items: flex-start; flex-direction: column; gap: 3px; }
  .year-members-summary small { text-align: left; }
  .year-member-row { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; }
  .year-member-location { grid-column: 2; text-align: left; margin-top: -8px; }
}

/* ── CAREER HUB SUBMISSION FORMS ── */
.swal2-popup.fosa-swal-popup.career-form-popup {
  width: min(720px, calc(100vw - 32px)) !important;
  max-width: 720px !important;
  text-align: left !important;
}
.career-form-popup .swal2-title { text-align: left !important; padding-right: 38px !important; }
.career-form-popup .swal2-html-container { max-height: min(68vh, 680px); overflow-y: auto; padding-right: 5px !important; }
.career-form-intro { margin: 0 0 20px; color: var(--swal-muted); font-size: 13.5px; line-height: 1.65; }
.career-modal-form { text-align: left; }
.career-modal-form .form-group { margin-bottom: 15px; }
.career-modal-form .career-form-row { gap: 16px; }
.career-modal-form .career-form-row .form-group { min-width: 0; }
.career-modal-form .form-label { display: block; margin-bottom: 6px; color: var(--swal-navy); font-size: 11.5px; font-weight: 700; }
.career-modal-form .form-input,
.career-modal-form .form-select,
.career-modal-form .form-textarea { width: 100%; }
.career-modal-form .form-textarea { resize: vertical; }
.career-form-popup .swal2-validation-message { margin: 12px 0 0 !important; font-size: 12px !important; }
@media (max-width: 640px) {
  .swal2-popup.fosa-swal-popup.career-form-popup { padding: 24px 18px !important; }
  .career-modal-form .form-grid-2 { grid-template-columns: 1fr; gap: 0; }
}

/* ── CUSTOM ICONS ── */
.swal2-popup.fosa-swal-popup .swal2-icon {
  margin: 8px auto 16px !important;
  border-width: 3px !important;
  transform: scale(0.95);
}

.swal2-popup.fosa-swal-popup .swal2-icon.swal2-success {
  border-color: #2e7d32 !important;
  color: #2e7d32 !important;
}
.swal2-popup.fosa-swal-popup .swal2-icon.swal2-success [class^='swal2-success-line'] {
  background-color: #2e7d32 !important;
}
.swal2-popup.fosa-swal-popup .swal2-icon.swal2-success .swal2-success-ring {
  border-color: rgba(46, 125, 50, 0.25) !important;
}

.swal2-popup.fosa-swal-popup .swal2-icon.swal2-warning {
  border-color: var(--swal-gold-dark) !important;
  color: var(--swal-gold-dark) !important;
}

.swal2-popup.fosa-swal-popup .swal2-icon.swal2-info {
  border-color: var(--swal-blue) !important;
  color: var(--swal-blue) !important;
}

.swal2-popup.fosa-swal-popup .swal2-icon.swal2-error {
  border-color: #c53030 !important;
  color: #c53030 !important;
}
.swal2-popup.fosa-swal-popup .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
  background-color: #c53030 !important;
}

/* ── ACTION BUTTONS ── */
.swal2-popup.fosa-swal-popup .swal2-actions {
  margin: 16px 0 0 !important;
  gap: 10px !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}

.swal2-popup.fosa-swal-popup button.swal2-styled {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  padding: 11px 22px !important;
  margin: 0 !important;
  cursor: pointer !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease !important;
  box-shadow: none !important;
  border: 1.5px solid transparent !important;
}

.swal2-popup.fosa-swal-popup button.swal2-styled:hover {
  transform: translateY(-1px) !important;
}

/* Confirm Button (Primary - FOSA Navy or Gold) */
.swal2-popup.fosa-swal-popup button.swal2-confirm {
  background-color: var(--swal-navy) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(7, 29, 52, 0.25) !important;
}
.swal2-popup.fosa-swal-popup button.swal2-confirm:hover {
  background-color: #0d3258 !important;
  box-shadow: 0 6px 18px rgba(7, 29, 52, 0.35) !important;
}

/* Secondary / Gold Confirm Variation */
.swal2-popup.fosa-swal-popup.fosa-gold-action button.swal2-confirm {
  background-color: var(--swal-gold) !important;
  color: #0e1e2c !important;
  box-shadow: 0 4px 14px rgba(242, 177, 52, 0.35) !important;
}
.swal2-popup.fosa-swal-popup.fosa-gold-action button.swal2-confirm:hover {
  background-color: var(--swal-gold-hover) !important;
  box-shadow: 0 6px 20px rgba(242, 177, 52, 0.45) !important;
}

/* Cancel Button */
.swal2-popup.fosa-swal-popup button.swal2-cancel {
  background-color: transparent !important;
  border-color: var(--swal-border) !important;
  color: var(--swal-navy) !important;
}
.swal2-popup.fosa-swal-popup button.swal2-cancel:hover {
  border-color: var(--swal-navy) !important;
  background-color: rgba(7, 29, 52, 0.04) !important;
}

/* Deny Button */
.swal2-popup.fosa-swal-popup button.swal2-deny {
  background-color: #c53030 !important;
  color: #ffffff !important;
}
.swal2-popup.fosa-swal-popup button.swal2-deny:hover {
  background-color: #9b2c2c !important;
}

/* Close Button */
.swal2-popup.fosa-swal-popup .swal2-close {
  color: var(--swal-muted) !important;
  font-size: 26px !important;
  transition: color 0.15s ease !important;
}
.swal2-popup.fosa-swal-popup .swal2-close:hover {
  color: var(--swal-navy) !important;
}

/* ── INPUT / PROMPT CONTROLS ── */
.swal2-popup.fosa-swal-popup input.swal2-input,
.swal2-popup.fosa-swal-popup textarea.swal2-textarea,
.swal2-popup.fosa-swal-popup select.swal2-select {
  border: 1.5px solid var(--swal-border) !important;
  border-radius: 8px !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 14.5px !important;
  color: var(--swal-ink) !important;
  padding: 10px 14px !important;
  box-shadow: none !important;
  transition: border-color 0.18s ease !important;
}
.swal2-popup.fosa-swal-popup input.swal2-input:focus,
.swal2-popup.fosa-swal-popup textarea.swal2-textarea:focus,
.swal2-popup.fosa-swal-popup select.swal2-select:focus {
  border-color: var(--swal-blue) !important;
  outline: none !important;
}

/* ── TOAST NOTIFICATIONS ── */
.swal2-popup.fosa-swal-toast {
  font-family: "DM Sans", sans-serif !important;
  border-radius: 10px !important;
  padding: 12px 18px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 30px rgba(7, 29, 52, 0.18), 0 2px 6px rgba(7, 29, 52, 0.06) !important;
  border-left: 4px solid var(--swal-navy) !important;
  border-top: 1px solid rgba(7, 29, 52, 0.05) !important;
  border-right: 1px solid rgba(7, 29, 52, 0.05) !important;
  border-bottom: 1px solid rgba(7, 29, 52, 0.05) !important;
}

.swal2-popup.fosa-swal-toast.toast-success {
  border-left-color: #2e7d32 !important;
}
.swal2-popup.fosa-swal-toast.toast-error {
  border-left-color: #c53030 !important;
}
.swal2-popup.fosa-swal-toast.toast-warning {
  border-left-color: var(--swal-gold) !important;
}
.swal2-popup.fosa-swal-toast.toast-info {
  border-left-color: var(--swal-blue) !important;
}

.swal2-popup.fosa-swal-toast .swal2-title {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--swal-navy) !important;
  margin: 0 8px !important;
}

.swal2-popup.fosa-swal-toast .swal2-timer-progress-bar {
  background: var(--swal-gold) !important;
  height: 3px !important;
}
