/* Public RFP detail page content. Light theme, rust only inside the urgent badge (rfp-row.css). */
.rfp-detail { max-width: 1200px; margin: 0 auto; padding: var(--space-6, 32px) var(--space-5, 24px); font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif); color: var(--color-text, #2B2623); }
.rfp-detail *, .rfp-detail *::before, .rfp-detail *::after { box-sizing: border-box; }

.rfp-detail__title { margin: 0 0 var(--space-2, 8px); max-width: 28ch; font-family: var(--font-display, "Rubik", system-ui, sans-serif); font-size: 36px; font-weight: 600; line-height: 1.2; }
.rfp-detail__place { margin: 0; font-size: 18px; color: var(--color-text-muted, #5E5853); }
.rfp-detail__tags { display: flex; flex-wrap: wrap; gap: var(--space-2, 8px); margin: var(--space-3, 12px) 0 0; padding: 0; list-style: none; }
.rfp-detail__tag { padding: 2px var(--space-2, 8px); border: 1px solid var(--color-border, #7A736C); border-radius: 4px; font-size: 14px; line-height: 1.4; }

/* Key facts: a grid on desktop, one stacked column with dividers on phones */
.rfp-detail__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-4, 16px) var(--space-5, 24px); margin: var(--space-5, 24px) 0 0; padding: var(--space-4, 16px) 0; border-top: 1px solid var(--color-border, #7A736C); border-bottom: 1px solid var(--color-border, #7A736C); }
.rfp-detail__fact { min-width: 0; }
.rfp-detail__fact dt, .rfp-detail__pair dt { font-size: 14px; color: var(--color-text-muted, #5E5853); }
.rfp-detail__fact dd { margin: 2px 0 0; font-size: 18px; font-weight: 600; overflow-wrap: anywhere; }
.rfp-detail__deadline { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--space-1, 4px) var(--space-2, 8px); }

/* Jump list */
.rfp-detail__jump { margin-top: var(--space-4, 16px); }
.rfp-detail__jump ul { display: flex; flex-wrap: wrap; gap: var(--space-1, 4px) var(--space-4, 16px); margin: 0; padding: 0; list-style: none; }
.rfp-detail__jump-link { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; color: var(--color-text, #2B2623); font-size: 16px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Sections: headings, spacing and dividers, no cards */
.rfp-detail__section { margin-top: var(--space-6, 32px); padding-top: var(--space-5, 24px); border-top: 1px solid var(--color-border, #7A736C); scroll-margin-top: var(--space-4, 16px); }
.rfp-detail__h2 { margin: 0 0 var(--space-3, 12px); font-family: var(--font-display, "Rubik", system-ui, sans-serif); font-size: 24px; font-weight: 600; line-height: 1.25; }
.rfp-detail__h3 { margin: 0 0 var(--space-2, 8px); font-family: var(--font-display, "Rubik", system-ui, sans-serif); font-size: 18px; font-weight: 600; line-height: 1.3; }
.rfp-detail__body { max-width: 640px; font-size: 16px; line-height: 1.55; }
.rfp-detail__body p { margin: 0 0 var(--space-3, 12px); }
.rfp-detail__sub { margin-top: var(--space-4, 16px); }
.rfp-detail__list { margin: 0; padding-left: 1.25em; }
.rfp-detail__list li { margin-bottom: var(--space-2, 8px); }
.rfp-detail__muted { color: var(--color-text-muted, #5E5853); }

.rfp-detail__pairs { margin: 0; }
.rfp-detail__pair { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: var(--space-3, 12px); padding: var(--space-2, 8px) 0; border-bottom: 1px solid var(--color-border, #7A736C); }
.rfp-detail__pair dd { margin: 0; overflow-wrap: anywhere; }
.rfp-detail__pair:last-child { border-bottom: 0; }

.rfp-detail__files { margin: 0; padding: 0; list-style: none; }
.rfp-detail__files li { display: flex; flex-wrap: wrap; align-items: center; min-height: 44px; }
.rfp-detail__addendum { margin-bottom: var(--space-3, 12px); padding-bottom: var(--space-3, 12px); border-bottom: 1px solid var(--color-border, #7A736C); }
.rfp-detail__addendum-head { font-weight: 600; }

.rfp-detail__link { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; color: var(--color-text, #2B2623); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.rfp-detail a:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }

@media (max-width: 760px) {
  .rfp-detail { padding: var(--space-4, 16px); }
  .rfp-detail__title { font-size: 28px; }
  .rfp-detail__place { font-size: 16px; }
  .rfp-detail__facts { grid-template-columns: 1fr; gap: 0; padding: 0; }
  .rfp-detail__fact { padding: var(--space-3, 12px) 0; border-bottom: 1px solid var(--color-border, #7A736C); }
  .rfp-detail__fact:last-child { border-bottom: 0; }
  .rfp-detail__pair { grid-template-columns: 1fr; gap: 0; }
  .rfp-detail__h2 { font-size: 22px; }
}

.rfp-detail__body--wide { max-width: none; }
.rfp-detail__body--wide > p, .rfp-detail__body--wide > .rfp-detail__pairs { max-width: 640px; }

/* Header as a card (the T5 art direction): white, thin warm border, 24px padding; the metadata row, pill, institution row and urgency treatment come from rfp-row.css */
.rfp-detail__card { display: block; box-sizing: border-box; padding: var(--space-5, 24px); background: var(--color-surface-raised, #FFFFFF); border: 1px solid var(--color-card-border, #E5E0D8); border-radius: var(--radius, 4px); container-type: inline-size; }
.rfp-detail__card .rfp-row__pills { margin-top: 0; margin-bottom: var(--space-3, 12px); }
.rfp-detail__card .rfp-detail__title { max-width: none; margin: 0 0 var(--space-4, 16px); font-size: 32px; }
.rfp-detail__card .rfp-row__inst { margin-top: var(--space-4, 16px); }
.rfp-detail__card .rfp-detail__source { margin: var(--space-2, 8px) 0 0; }
.rfp-detail__actions { margin-top: var(--space-4, 16px); padding-top: var(--space-4, 16px); border-top: 1px solid var(--color-card-border, #E5E0D8); }
/* The page's one rust action */
.rfp-detail__primary { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 44px; min-height: 44px; padding: 0 var(--space-5, 24px); border: 1px solid var(--color-accent, #A7410E); border-radius: 4px; background: var(--color-accent, #A7410E); color: #FFFFFF; font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif); font-size: 16px; font-weight: 600; text-decoration: none; }
.rfp-detail__primary:hover { background: #8F360A; border-color: #8F360A; }
.rfp-detail__primary:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
@media (max-width: 760px) { .rfp-detail__card { padding: var(--space-5, 24px) var(--space-4, 16px); } .rfp-detail__card .rfp-detail__title { font-size: 26px; } .rfp-detail__primary { width: 100%; } }

/* Page states */
.rfp-detail-page__state { max-width: 640px; margin: 0 auto; padding: var(--space-7, 48px) var(--space-5, 24px); font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif); color: var(--color-text, #2B2623); }
.rfp-detail-page__state h1 { margin: 0 0 var(--space-3, 12px); font-family: var(--font-display, "Rubik", system-ui, sans-serif); font-size: 32px; font-weight: 600; line-height: 1.2; }
.rfp-detail-page__state p { margin: 0 0 var(--space-4, 16px); font-size: 18px; }
.rfp-detail-page__link { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; color: var(--color-text, #2B2623); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.rfp-detail-page__link:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.rfp-detail-page__back { padding: var(--space-4, 16px) var(--space-5, 24px) 0; max-width: 1200px; margin: 0 auto; }

/* "I'm interested" (css/rfp-interest.js) */
.rfp-interest { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3, 12px) var(--space-4, 16px); }
.rfp-detail__respond-note { margin: var(--space-3, 12px) 0 0; font-size: 16px; line-height: 1.5; color: var(--color-text, #2B2623); }
.rfp-interest__hint { flex: 1 1 100%; margin: 0; font-size: 14px; color: var(--color-text-muted, #5E5853); }
.rfp-interest__state { display: inline-flex; align-items: center; gap: var(--space-2, 8px); margin: 0; font-weight: 600; }
.rfp-interest__state:focus { outline: none; }
.rfp-interest__state:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.rfp-interest__withdraw { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 44px; min-height: 44px; padding: 0 var(--space-4, 16px); border: 1px solid var(--color-border, #7A736C); border-radius: 4px; background: transparent; color: var(--color-text, #2B2623); font: inherit; font-size: 16px; font-weight: 600; text-decoration: none; cursor: pointer; }
.rfp-interest__withdraw:hover { background: color-mix(in srgb, var(--color-border, #7A736C) 12%, var(--color-surface-raised, #FFFFFF)); }
.rfp-interest__withdraw:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.rfp-interest [aria-disabled="true"] { cursor: default; opacity: 0.7; }
.rfp-interest__err:empty, .rfp-interest__msg:empty { display: none; }
.rfp-interest__err, .rfp-interest__msg { flex: 1 1 100%; margin: 0; }
button.rfp-detail__primary { font-family: inherit; cursor: pointer; }
@media (max-width: 760px) { .rfp-interest__withdraw { width: 100%; } }
