/* IZSPB - Concorsi: elenco e scheda (stessa grafica delle gare) */

/* === Elenco === */
.izs-conc { margin: 0 0 30px; font-size: 14px; }
.izs-conc-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; margin: 0 0 15px; line-height: 1.5; }
.izs-conc-toolbar[hidden] { display: none; }
.izs-conc-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
.izs-conc-toolbar label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; max-width: 100%; }
.izs-conc-toolbar select,
.izs-conc-toolbar input.izs-conc-input { box-sizing: border-box; width: auto; height: 36px; min-height: 36px; margin: 0; border: 1px solid #d2d2d2; border-radius: 0; background-color: #fff; color: #000; font-family: inherit; font-size: 14px; line-height: 1.2; box-shadow: none; }
.izs-conc-toolbar select { padding: 4px 30px 4px 10px; cursor: pointer; }
.izs-conc-toolbar input.izs-conc-input { width: 240px; max-width: 100%; padding: 4px 10px; }
.izs-conc-toolbar select:focus,
.izs-conc-toolbar input.izs-conc-input:focus { border-color: var(--primary_color, #111182); outline: none; }
.izs-conc-info { color: #000; }

/* Intestazione, righe e oggetto nello stesso stile della tabella delle gare */
.izs-conc-table { width: 100%; border-collapse: collapse; border: 0; }
.izs-conc-table th { padding: 20px 10px; background: transparent; color: #000; font-size: 16px; font-weight: 700; text-align: center; border: 0; border-top: 1px solid #e5e4e3; border-bottom: 2px solid #e5e4e3; }
.izs-conc-table td { padding: 10px; border: 0; border-top: 1px solid #e5e4e3; vertical-align: top; background: #fff; }
.izs-conc-table tr.izs-conc-alt td { background: #f9f9f9; }
.izs-conc-table .izs-conc-c-anno { width: 60px; text-align: center; }
.izs-conc-table .izs-conc-c-tipo { width: 140px; }
.izs-conc-table .izs-conc-c-data { width: 110px; white-space: nowrap; }
.izs-conc-table .izs-conc-c-stato { width: 90px; }
.izs-conc-table .izs-conc-c-titolo a { font-weight: 400; color: var(--link_color, #000); text-decoration: none; }
.izs-conc-table .izs-conc-c-titolo a:hover,
.izs-conc-table .izs-conc-c-titolo a:focus { color: var(--link_hover_color, #111182); text-decoration: none; }
.izs-conc-table tr.izs-conc-hidden { display: none; }
.izs-conc-table .izs-conc-agg { display: block; margin-top: 2px; font-size: 12px; font-weight: 600; color: #cc1c0e; white-space: nowrap; }

.izs-conc-stato { display: inline-block; padding: 2px 8px; border-radius: 3px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.izs-conc-stato-in_corso { background: #e6f4ea; color: #1e6b34; }
.izs-conc-stato-scaduto { background: #eee; color: #555; }

.izs-conc-pager { margin: 20px 0 0; }
.izs-conc-pager ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.izs-conc-pager li { margin: 0; padding: 0; }
.izs-conc-pager li::before { content: none; }
.izs-conc-pager button { min-width: 36px; min-height: 36px; margin: 0; padding: 4px 10px; border: 1px solid #d2d2d2; border-radius: 0; background: #fff; color: var(--primary_color, #111182); font: inherit; font-size: 14px; line-height: 1; cursor: pointer; box-shadow: none; }
.izs-conc-pager button:hover,
.izs-conc-pager button:focus-visible { border-color: var(--primary_color, #111182); }
.izs-conc-pager button[aria-current="page"] { background: var(--primary_color, #111182); border-color: var(--primary_color, #111182); color: #fff; cursor: default; }
.izs-conc-pager button:disabled { opacity: .4; cursor: default; }
.izs-conc-pager .izs-conc-gap { padding: 0 4px; color: #000; }

/* Mobile: ogni concorso diventa un blocco */
@media (max-width: 760px) {
	.izs-conc-filters, .izs-conc-search { width: 100%; }
	.izs-conc-search input.izs-conc-input { flex: 1 1 auto; width: auto; }
	.izs-conc-table, .izs-conc-table tbody, .izs-conc-table tr, .izs-conc-table td { display: block; width: auto !important; }
	.izs-conc-table { border: 0; }
	.izs-conc-table thead { display: none; }
	.izs-conc-table tr { padding: 12px 0; border-bottom: 1px solid #e0e0e0; }
	.izs-conc-table tr.izs-conc-hidden { display: none; }
	.izs-conc-table td, .izs-conc-table tr.izs-conc-alt td { padding: 2px 0; border: 0; background: transparent; text-align: left !important; }
	.izs-conc-table td.izs-conc-c-anno { font-size: 13px; font-weight: 600; color: #111182; }
	.izs-conc-table td.izs-conc-c-tipo::before,
	.izs-conc-table td.izs-conc-c-data::before { content: attr(data-label) ": "; font-weight: 600; }
	.izs-conc-table .izs-conc-agg { display: inline; margin: 0 0 0 8px; }
	.izs-conc-table td:empty { display: none; }
}

/* === Scheda === */
.izs-conc-scheda .izs-conc-nav { margin: 0 0 16px; }
.izs-conc-scheda .izs-conc-nav-bottom { margin: 30px 0 0; }
.izs-conc-scheda a.izs-conc-indietro { display: inline-block; padding: 6px 14px; border: 1px solid #111182; border-radius: 4px; font-size: 14px; font-weight: 600; color: #111182; text-decoration: none; }
.izs-conc-scheda a.izs-conc-indietro:hover { background: #111182; color: #fff; }

.izs-conc-scheda ul.izs-conc-dettagli { list-style: none; margin: 10px 0 30px; padding: 20px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px 24px; background: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 4px; }
.izs-conc-scheda ul.izs-conc-dettagli li { margin: 0; padding: 0; font-size: 17px; font-weight: 600; color: #111182; line-height: 1.4; }
.izs-conc-scheda ul.izs-conc-dettagli li::before { content: none; }
.izs-conc-scheda ul.izs-conc-dettagli li strong { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; color: #666; }
.izs-conc-scheda ul.izs-conc-dettagli li.izs-conc-scadenza { color: #cc1c0e; }
.izs-conc-scheda .izs-conc-inpa { margin: -14px 0 30px; }
.izs-conc-scheda .izs-conc-testo { margin: 0 0 30px; }

.izs-conc-scheda h3.izs-conc-h { margin: 0 0 16px !important; padding: 0 0 6px !important; border-bottom: 2px solid #cc1c0e; font-size: 18px !important; line-height: 1.3; font-weight: 600; color: #cc1c0e !important; }

.izs-conc-scheda ul.izs-conc-allegati { list-style: none; margin: 0 0 30px; padding: 0; }
.izs-conc-scheda ul.izs-conc-allegati li { position: relative; margin: 0 0 8px; padding: 12px 16px 12px 50px; background: #fff; border: 1px solid #e0e0e0; border-radius: 4px; font-size: 14px; color: #666; }
.izs-conc-scheda ul.izs-conc-allegati li::before { content: ""; position: absolute; left: 16px; top: 50%; width: 22px; height: 26px; margin-top: -13px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 26'%3E%3Cpath d='M2 1h12l6 6v18H2z' fill='%23fff' stroke='%23111182' stroke-width='1.5'/%3E%3Cpath d='M14 1v6h6' fill='none' stroke='%23111182' stroke-width='1.5'/%3E%3Crect x='0' y='13' width='16' height='8' rx='1' fill='%23cc1c0e'/%3E%3Ctext x='8' y='19.3' font-size='6' font-family='Arial' font-weight='700' fill='%23fff' text-anchor='middle'%3EDOC%3C/text%3E%3C/svg%3E"); }
.izs-conc-scheda ul.izs-conc-allegati li:hover { background: #f9f9f9; }
.izs-conc-scheda ul.izs-conc-allegati li a { font-size: 15px; font-weight: 600; color: #111182; text-decoration: none; }
.izs-conc-scheda ul.izs-conc-allegati li a:hover { text-decoration: underline; }

.izs-conc-scheda ol.izs-conc-pub { list-style: none; margin: 0 0 30px; padding: 0; border-left: 2px solid #e0e0e0; }
.izs-conc-scheda ol.izs-conc-pub > li { position: relative; margin: 0 0 24px; padding: 0 0 0 20px; }
.izs-conc-scheda ol.izs-conc-pub > li::before { content: ""; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: #111182; }
.izs-conc-scheda .izs-conc-pub-meta { margin: 0 0 6px; }
.izs-conc-scheda .izs-conc-pub-data { margin-right: 10px; font-weight: 600; color: #111182; }
.izs-conc-scheda .izs-conc-pub-fase { display: inline-block; padding: 2px 8px; border-radius: 3px; background: #f0f0f8; color: #111182; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.izs-conc-scheda .izs-conc-pub-testo p { margin: 0 0 10px; }
.izs-conc-scheda ol.izs-conc-pub ul.izs-conc-allegati { margin-bottom: 0; }

.izs-conc-scheda p.izs-conc-archivio { margin-top: 10px; padding-top: 12px; border-top: 1px solid #e0e0e0; font-size: 13px; color: #888; }

@media (max-width: 640px) {
	.izs-conc-scheda ul.izs-conc-dettagli { grid-template-columns: 1fr; padding: 16px; }
}
