/* Correções leves carregadas após o bundle principal e versionadas por filemtime. */
.fb-precongress-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.fb-precongress-card__title { font-size: 1.05rem; margin: 0; }
.fb-precongress-card__description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  line-height: 1.6;
  max-height: 6.4em;
  margin: 0;
  overflow-wrap: anywhere;
}
.fb-precongress-card__link { margin-top: auto; }

/* A rota também atende views anteriores que ainda não têm a classe do formulário. */
:is(.fb-participant-form, .fb-wizard form[action$="/inscricao/dados"]) .fb-grid {
  row-gap: 14px;
  align-items: start;
}
:is(.fb-participant-form, .fb-wizard form[action$="/inscricao/dados"]) .fb-field {
  margin-bottom: 0;
}
:is(.fb-participant-form, .fb-wizard form[action$="/inscricao/dados"]) .fb-label { margin-bottom: 4px; }
:is(.fb-participant-form, .fb-wizard form[action$="/inscricao/dados"]) .fb-hint { margin-top: 4px; }
:is(.fb-participant-form, .fb-wizard form[action$="/inscricao/dados"]) .fb-section-title {
  margin-top: 24px;
  margin-bottom: 12px;
}
:is(.fb-participant-form, .fb-wizard form[action$="/inscricao/dados"]) .fb-cep-status:empty { display: none; }

.fb-btn {
  padding: .83rem 1.5rem .73rem;
  min-height: 44px;
  line-height: 1.2;
  white-space: normal;
}

.fb-btn--lg { padding: 1rem 2rem .9rem; }
.fb-btn--sm { padding: .55rem 1rem .45rem; }

.fb-card__body--pricing {
  padding-block: 0;
  overflow-x: auto;
}

.fb-pricing tbody tr:last-child td { border-bottom: 0; }

/* O bundle anterior ocultava todos os inputs dentro dos cards. */
.fb-choice input:not(.fb-choice__control) {
  position: static;
  opacity: 1;
  pointer-events: auto;
}
.fb-choice__control { position: absolute; opacity: 0; pointer-events: none; }

.fb-addon-group { display: grid; }
.fb-addon-details {
  margin: var(--fb-3) var(--fb-3) var(--fb-2);
  padding: var(--fb-3) var(--fb-4);
  background: var(--fb-blue-50);
  border: 1px solid var(--fb-blue-100);
  border-radius: var(--fb-r-md);
  box-shadow: var(--fb-sh-xs);
}
.fb-addon__qty { width: 72px; }
.fb-addon__summary {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    line-height: 1.55;
    max-height: 4.65em;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.fb-control--compact { min-height: 40px; padding: .55rem .75rem; font-size: var(--fb-fs-sm); }
.fb-select.fb-control--compact { padding-right: 2rem; background-position: right .65rem center; }
.fb-addon-details .fb-grid { gap: var(--fb-3); }
.fb-addon-details .fb-label { margin-bottom: var(--fb-2); }
.fb-addon-details .fb-addon__quantity .fb-label { margin-bottom: 0; }
.fb-addon-details .fb-addon__attendee { margin-top: var(--fb-3); padding-top: var(--fb-3); }
.fb-addon-details .fb-addon__attendee:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.fb-attendee-entry + .fb-attendee-entry { margin-top: var(--fb-3); padding-top: var(--fb-3); border-top: 1px dashed var(--fb-line); }
.fb-summary__discount, .fb-summary__discount b { color: var(--fb-success); }
.fb-card--help { background: var(--fb-blue-50); border-color: var(--fb-blue-100); }
.fb-help-text { color: var(--fb-navy-700); }

.fb-payment-card-panel { padding: var(--fb-4); }
.fb-credit-card-layout {
  display: grid;
  grid-template-columns: minmax(310px, 1.05fr) minmax(260px, .95fr);
  gap: var(--fb-4);
  align-items: start;
}
.fb-card-preview {
  position: relative;
  width: 100%;
  max-width: 370px;
  aspect-ratio: 1.586 / 1;
  margin: 0;
  padding: var(--fb-5);
  overflow: hidden;
  border-radius: var(--fb-r-lg);
  color: #fff;
  background: radial-gradient(circle at 85% 12%, rgba(255,255,255,.22), transparent 34%), linear-gradient(145deg, var(--fb-navy-600), var(--fb-navy-900));
  box-shadow: 0 14px 30px rgba(7, 22, 61, .22);
}
.fb-card-preview::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -75px;
  bottom: -105px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  box-shadow: 0 0 0 24px rgba(255,255,255,.04), 0 0 0 52px rgba(255,255,255,.03);
}
.fb-card-preview__top, .fb-card-preview__footer { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; }
.fb-card-preview__top strong { max-width: 55%; font-size: .68rem; letter-spacing: .08em; text-align: right; }
.fb-card-preview__chip { position: relative; width: 36px; height: 26px; border-radius: 6px; background: linear-gradient(135deg, #f5dfa0, #b89445); box-shadow: inset 0 0 0 1px rgba(65,44,5,.18); }
.fb-card-preview__chip::after { content: ""; position: absolute; inset: 0 10px; border-inline: 1px solid rgba(65,44,5,.25); }
.fb-card-preview__number { position: relative; z-index: 1; margin-top: clamp(var(--fb-4), 8%, var(--fb-7)); font-family: var(--fb-font-num); font-size: clamp(.9rem, 2vw, 1.08rem); letter-spacing: .075em; white-space: nowrap; }
.fb-card-preview__footer { position: absolute; right: var(--fb-5); bottom: var(--fb-4); left: var(--fb-5); align-items: end; gap: var(--fb-3); }
.fb-card-preview__footer span { min-width: 0; }
.fb-card-preview__footer span:first-child { flex: 1; }
.fb-card-preview__footer small { display: block; margin-bottom: 2px; color: rgba(255,255,255,.68); font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; }
.fb-card-preview__footer strong { display: block; overflow: hidden; color: #fff; font-size: .7rem; letter-spacing: .045em; white-space: nowrap; text-overflow: ellipsis; }
.fb-card-fields { gap: var(--fb-3); }
.fb-card-fields .fb-field { margin-bottom: 0; }
.fb-card-fields .fb-label { margin-bottom: var(--fb-1); font-size: var(--fb-fs-xs); }
.fb-card-fields .fb-control--compact { min-height: 36px; padding: .42rem .7rem; }
.fb-card-fields #cc-holder { text-transform: uppercase; }

@media (max-width: 768px) {
  .fb-credit-card-layout { grid-template-columns: 1fr; }
  .fb-card-preview { justify-self: center; }
}

.fb-input.is-valid { border-color: var(--fb-success); }
.fb-password-feedback, .fb-cep-status {
  display: block;
  min-height: 1.2em;
  margin-top: var(--fb-2);
  font-size: var(--fb-fs-xs);
  color: var(--fb-danger);
  font-weight: 500;
}
.fb-password-feedback.is-valid, .fb-cep-status:not(.is-error) { color: var(--fb-success); }

.flatpickr-calendar {
  border: 1px solid var(--fb-line-soft);
  border-radius: var(--fb-r-md);
  box-shadow: var(--fb-sh-lg);
  font-family: var(--fb-font);
  overflow: hidden;
}
.flatpickr-months { padding-top: var(--fb-2); background: var(--fb-navy-700); }
.flatpickr-months .flatpickr-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year,
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month { color: #fff; fill: #fff; }
.flatpickr-weekdays { background: var(--fb-blue-50); }
span.flatpickr-weekday { color: var(--fb-navy-700); font-weight: 600; }
.flatpickr-day { border-radius: var(--fb-r-sm); }
.flatpickr-day:hover { background: var(--fb-blue-50); border-color: var(--fb-blue-100); }
.flatpickr-day.selected, .flatpickr-day.selected:hover { background: var(--fb-navy-700); border-color: var(--fb-navy-700); }

.fb-flash-region { padding-top: var(--fb-6); margin-bottom: calc(-1 * var(--fb-10)); }
.fb-flash-region .fb-alert:last-child { margin-bottom: 0; }
.fb-flash-errors { padding-left: 1.1rem; margin: .35rem 0 0; }

/* ---------- Envio de trabalhos ---------- */
.fb-counter {
  display: inline-block;
  font-size: var(--fb-fs-xs);
  font-variant-numeric: tabular-nums;
  color: var(--fb-ink-4);
  background: var(--fb-blue-50);
  border: 1px solid var(--fb-blue-100);
  border-radius: 999px;
  padding: .18rem .6rem;
  transition: color var(--fb-t), background var(--fb-t), border-color var(--fb-t);
}
.fb-counter.is-over {
  color: var(--fb-danger);
  background: var(--fb-danger-bg);
  border-color: #f5c8c4;
  font-weight: 600;
}

.fb-modality {
  display: block;
  border-radius: var(--fb-r-md);
  border: 1px solid var(--fb-line);
  background: var(--fb-paper);
  overflow: hidden;
  transition: box-shadow var(--fb-t), transform var(--fb-t), border-color var(--fb-t);
}
.fb-modality:hover { box-shadow: var(--fb-sh-md); transform: translateY(-2px); border-color: var(--fb-blue-300); }
.fb-modality__bar { height: 4px; background: var(--fb-navy-700); }
.fb-modality__body { padding: var(--fb-6); }

/* ---------- Paginação (área pública) ---------- */
.fb-pager { display: flex; align-items: center; justify-content: space-between; gap: var(--fb-4); flex-wrap: wrap; }
.fb-pager__count { margin: 0; font-size: var(--fb-fs-sm); color: var(--fb-ink-3); }
.fb-pager__count b { color: var(--fb-navy-800); font-weight: 600; }
.fb-pager__list { display: flex; align-items: center; gap: var(--fb-1); list-style: none; margin: 0; padding: 0; }
.fb-pager__link {
  display: grid; place-items: center; min-width: 34px; height: 34px; padding-inline: .5rem;
  border-radius: var(--fb-r-sm); border: 1px solid var(--fb-line); background: var(--fb-paper);
  color: var(--fb-ink-2); font-size: var(--fb-fs-sm); font-weight: 500; text-decoration: none;
}
.fb-pager__link:hover { border-color: var(--fb-blue-300); background: var(--fb-blue-50); }
.fb-pager__link.is-active { background: var(--fb-navy-700); border-color: var(--fb-navy-700); color: #fff; }
.fb-pager__link.is-disabled { opacity: .4; pointer-events: none; }
