/*
 * Awards platform: one style per kind of element. Every value comes from the design variables (--adcf-*), set per site
 * in Awards platform → Appearance (includes/design.php). Page code uses these classes and never its own colours:
 *   blocks       .adcf-card (also .adcf-summary, .adcp-project, .adcf-award-card, .adcj-card); + .is-flush (no padding), + .is-tile (no outer margin, inside grids)
 *   buttons      .adcf-button (main) · + .adcf-outline (secondary) · + .adcf-danger (delete; + .is-solid) · + .adcf-small
 *   fields       every text field, select and textarea inside the platform; check boxes and radios
 *   tooltips     .adcf-tip (text on an accent background: var(--adcf-on-accent))
 *   messages     .adcf-notice (+ .is-error, .is-success, .is-warning) · badges .adcf-badge (+ .is-success …)
 *   tables       .adcf-table · dialogs .adcf-dialog
 */

/* ---------- Page and text ---------- */
main.adcf-shell{background:var(--adcf-bg)!important;color:var(--adcf-text)!important;font-family:var(--adcf-font)!important}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog,.adcf-consent-modal,.adcf-deadlines-dialog){font-family:var(--adcf-font);font-size:var(--adcf-size);color:var(--adcf-text);line-height:1.6}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog,.adcf-consent-modal,.adcf-deadlines-dialog) :is(h1,h2,h3,h4){font-family:var(--adcf-font-head)!important;font-weight:var(--adcf-head-weight)!important;color:var(--adcf-text)!important;letter-spacing:-.01em}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page) h1{font-size:var(--adcf-h1);line-height:1.15}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog,.adcf-consent-modal,.adcf-deadlines-dialog) h2{font-size:var(--adcf-h2);line-height:1.3}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog,.adcf-consent-modal,.adcf-deadlines-dialog) h3{font-size:var(--adcf-h3);line-height:1.4}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog,.adcf-consent-modal,.adcf-deadlines-dialog) a:not(.adcf-button):not([class*="adcp-side"]):not(.adcp-project-link){color:var(--adcf-accent)}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page) .adcf-help,:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page) small{color:var(--adcf-muted)}
.adcf-eyebrow{color:var(--adcf-accent)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important}

/* ---------- Blocks ---------- */
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page) :is(.adcf-card,.adcf-summary,.adcp-project,.adcf-award-card,.adcj-card){background:var(--adcf-surface)!important;color:var(--adcf-text)!important;border:1px solid var(--adcf-line)!important;border-radius:var(--adcf-radius)!important;box-shadow:var(--adcf-shadow)!important}
:where(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page) :where(.adcf-card,.adcf-summary,.adcj-card):not(.adcp-project){padding:var(--adcf-pad);margin:0 0 var(--adcf-gap)}
/* edge-to-edge block (images, galleries) and a block placed in a grid or row that sets its own gaps */
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page) :is(.adcf-card,.adcf-summary,.adcj-card).is-flush{padding:0!important;overflow:hidden}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page) :is(.adcf-card,.adcf-summary,.adcj-card,.adcf-notice).is-tile{margin:0!important}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page) .adcf-card>:first-child{margin-top:0}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page) .adcf-card>:last-child{margin-bottom:0}
.adcf-soft{background:var(--adcf-surface-2);border-radius:var(--adcf-radius-control);padding:14px 16px}

/* ---------- Buttons: main, secondary, danger, small ---------- */
.adcf-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;box-sizing:border-box!important;min-height:var(--adcf-control-h)!important;padding:0 20px!important;border:1px solid var(--adcf-primary)!important;border-radius:var(--adcf-radius-button)!important;background:var(--adcf-primary)!important;color:var(--adcf-on-primary)!important;font-family:var(--adcf-font)!important;font-size:var(--adcf-button-size)!important;font-weight:var(--adcf-button-weight)!important;line-height:1.3!important;letter-spacing:var(--adcf-button-tracking)!important;text-transform:var(--adcf-button-case)!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer;white-space:nowrap;transition:filter .15s,background .15s,border-color .15s}
.adcf-button:hover{filter:brightness(.92);color:var(--adcf-on-primary)!important}
.adcf-button:focus-visible{outline:2px solid var(--adcf-accent)!important;outline-offset:2px}
.adcf-button svg{flex-shrink:0;width:16px;height:16px}
.adcf-button.adcf-outline{background:transparent!important;color:var(--adcf-text)!important;border-color:var(--adcf-field-line)!important}
.adcf-button.adcf-outline:hover{background:var(--adcf-surface-2)!important;filter:none}
.adcf-button.adcf-danger{background:transparent!important;color:var(--adcf-danger)!important;border-color:var(--adcf-danger)!important}
.adcf-button.adcf-danger:hover{background:var(--adcf-danger-bg)!important;filter:none}
.adcf-button.adcf-danger.is-solid{background:var(--adcf-danger)!important;color:var(--adcf-surface)!important}
.adcf-button.adcf-small{min-height:34px!important;padding:0 12px!important;font-size:var(--adcf-size-small)!important;gap:6px!important}
.adcf-button[hidden],[hidden]>.adcf-button{display:none!important}
.adcf-button[disabled],.adcf-button.is-disabled,.adcf-button[aria-disabled="true"]{opacity:.55;cursor:not-allowed;filter:none}
.adcf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}

/* ---------- Fields ---------- */
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) :where(input:not([type=checkbox],[type=radio],[type=hidden],[type=file],[type=color],[type=range],[type=submit],[type=button],[type=image]),select,textarea){box-sizing:border-box;min-height:var(--adcf-control-h);padding:10px 13px;border:1px solid var(--adcf-field-line)!important;border-radius:var(--adcf-radius-control)!important;background:var(--adcf-field-bg)!important;color:var(--adcf-text)!important;font-family:var(--adcf-font)!important;font-size:var(--adcf-size)!important;font-weight:400!important;line-height:1.4;box-shadow:none!important}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) textarea{min-height:110px;line-height:1.5}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) :where(input,select,textarea):focus{outline:2px solid var(--adcf-accent)!important;outline-offset:1px;border-color:var(--adcf-accent)!important}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) ::placeholder{color:var(--adcf-muted);opacity:1}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) :is(input,select,textarea):disabled{opacity:.6}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) :is(input[type=checkbox],input[type=radio]){accent-color:var(--adcf-accent);width:18px;height:18px;min-width:18px;margin:2px 0 0;flex:0 0 18px}
.adcf-field{display:block;font-size:var(--adcf-size-small);font-weight:500;color:var(--adcf-text);margin:0 0 18px}
.adcf-field :is(input,select,textarea){display:block;width:100%;margin-top:6px}
.adcf-choice{display:flex;align-items:flex-start;gap:10px;cursor:pointer;line-height:1.5}
.adcf-field span[aria-hidden="true"],.adcf-req{color:var(--adcf-danger)}

/* ---------- Tooltips ---------- */
.adcf-tip{position:absolute;z-index:20;padding:6px 10px;border-radius:var(--adcf-radius-control);background:var(--adcf-text);color:var(--adcf-surface);font-size:var(--adcf-size-small);line-height:1.4;box-shadow:0 6px 20px rgba(0,0,0,.18);pointer-events:none}

/* ---------- Messages and badges ---------- */
.adcf-notice{padding:14px 18px!important;margin:0 0 var(--adcf-gap)!important;background:var(--adcf-surface-2)!important;border:0!important;border-left:3px solid var(--adcf-accent)!important;border-radius:var(--adcf-radius-control)!important;color:var(--adcf-text)!important}
.adcf-notice.is-error,.adcf-error{background:var(--adcf-danger-bg)!important;border-left-color:var(--adcf-danger)!important;color:var(--adcf-danger)!important}
.adcf-notice.is-success{background:var(--adcf-success-bg)!important;border-left-color:var(--adcf-success)!important;color:var(--adcf-success)!important}
.adcf-notice.is-warning{background:var(--adcf-warning-bg)!important;border-left-color:var(--adcf-warning)!important;color:var(--adcf-warning)!important}
.adcf-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:1px solid var(--adcf-line);border-radius:999px;background:var(--adcf-surface);color:var(--adcf-muted);font-size:var(--adcf-size-small);font-weight:500;line-height:1.6;white-space:nowrap}
.adcf-badge.is-success{background:var(--adcf-success-bg);border-color:transparent;color:var(--adcf-success)}
.adcf-badge.is-warning{background:var(--adcf-warning-bg);border-color:transparent;color:var(--adcf-warning)}
.adcf-badge.is-danger{background:var(--adcf-danger-bg);border-color:transparent;color:var(--adcf-danger)}
.adcf-badge.is-accent{background:var(--adcf-surface-2);color:var(--adcf-accent)}

/* ---------- Tables ---------- */
/* Every table on the platform pages looks the same: no cell borders (site themes draw grey grids on td/th), header in
   small muted capitals, soft alternate rows and a hover tint with rounded ends. */
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) table{width:100%;border:0!important;border-collapse:separate!important;border-spacing:0!important;background:transparent!important;font-size:var(--adcf-size);margin:0}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) :is(table,thead,tbody,tfoot,tr,th,td){border:0!important;box-shadow:none}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) :is(th,td){background:transparent;padding:13px 16px;text-align:left;vertical-align:middle}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) th{color:var(--adcf-muted)!important;font-size:var(--adcf-size-small);font-weight:500;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding-top:16px;padding-bottom:10px}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) tbody tr:nth-child(even)>td{background:color-mix(in srgb,var(--adcf-surface-2) 55%,transparent)}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) tbody tr:hover>td{background:var(--adcf-surface-2)}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) tbody tr>td:first-child{border-radius:var(--adcf-radius-control) 0 0 var(--adcf-radius-control)}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) tbody tr>td:last-child{border-radius:0 var(--adcf-radius-control) var(--adcf-radius-control) 0}
:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) td small{color:var(--adcf-muted)}
/* buttons in a table cell: a long label wraps onto a second line instead of overflowing the cell (desktop and phone) */
:is(.adcf-table,.adcf-agency-table) td .adcf-button{white-space:normal!important;text-align:center;line-height:1.3!important;padding-top:6px!important;padding-bottom:6px!important;max-width:100%}
:is(.adcf-table,.adcf-agency-table) td :is(.adcf-actions,.adcf-agency-actions,.adcf-list-actions){flex-wrap:wrap!important;white-space:normal!important}

/* ---------- Dialogs ---------- */
:is(.adcf-dialog,.adcf-agency-dialog,.adcf-consent-modal,.adcf-deadlines-dialog){width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;box-sizing:border-box;padding:var(--adcf-pad)!important;border:1px solid var(--adcf-line)!important;border-radius:var(--adcf-radius)!important;background:var(--adcf-surface)!important;color:var(--adcf-text)!important;box-shadow:0 20px 80px rgba(0,0,0,.35)!important}
:is(.adcf-dialog,.adcf-agency-dialog,.adcf-consent-modal,.adcf-deadlines-dialog)::backdrop{background:rgba(0,0,0,.55)}
:is(.adcf-dialog,.adcf-agency-dialog,.adcf-consent-modal,.adcf-deadlines-dialog) p{color:var(--adcf-text)!important}

/* ---------- Phones ---------- */
@media (max-width:600px){
	:where(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page) :where(.adcf-card,.adcf-summary,.adcj-card):not(.adcp-project){padding:calc(var(--adcf-pad) * .7)}
	:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page,.adcf-dialog,.adcf-agency-dialog) :is(input,select,textarea){font-size:16px!important}
	:is(.adcf-shell,.adcp-shell,.adcj,.adca-shell,.adcf-message-page) h1{font-size:calc(var(--adcf-h1) * .72)}
}
