/* Finea Hub - Consultazione Bandi.
   Palette, raggi, font e stile dei componenti (form/bottoni/card) allineati
   a quelli del tema del sito www.fineahub.it (style.css del tema:
   --color-primary:#2f7fff, --color-background/navy:#16243B, --secondary-color/orange:#C9763B,
   card form grigio chiaro #f7f7f7 con radius 28px, bottoni navy radius 10-12px, font "Inter").
   Tutto è scoped sotto #fhb-widget per non entrare in conflitto col resto del tema. */

/* ==========================================================================
   WRAPPER: breakout dalla colonna stretta del template pagina + margine
   di sicurezza sotto l'header assoluto/trasparente del tema (var(--header-h),
   76px sul sito). Attivi di default dallo shortcode [finea_bandi], disattivabili
   con fullwidth="0" / top_offset="0". Vedi readme per la soluzione definitiva
   (template pagina dedicato) quando/se disponibile.
   ========================================================================== */

.fhb-wrap.fhb-fullbleed {
	width: 100vw;
	max-width: 1600px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: clamp(16px, 3vw, 40px);
	padding-right: clamp(16px, 3vw, 40px);
}
/* Se la pagina è già più stretta di 1600px il breakout sopra basta; se il tema
   ha un contenitore ancora più ampio, il cap max-width evita che il widget si
   allarghi in modo abnorme su monitor molto larghi. */

.fhb-wrap.fhb-top-offset {
	margin-top: max(24px, calc(var(--header-h, 76px) + 20px));
}

#fhb-widget {
	--fhb-navy: #16243B;
	--fhb-navy-soft: #24374A;
	--fhb-blue: #2F7FFF;
	--fhb-orange: #C9763B;
	--fhb-orange-light: #D99566;
	--fhb-bg: #F7F7F7;
	--fhb-card: #FFFFFF;
	--fhb-border: #E1E1E1;
	--fhb-text: #101827;
	--fhb-muted: #5D6672;
	--fhb-ok: #1C8A4B;
	--fhb-ok-bg: #E5F6EC;
	--fhb-warn: #C9763B;
	--fhb-closed: #B03A3A;

	color-scheme: light;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--fhb-text);
	background: var(--fhb-bg);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}
#fhb-widget, #fhb-widget * { box-sizing: border-box; }
#fhb-widget ::-webkit-scrollbar { width: 8px; }
#fhb-widget ::-webkit-scrollbar-thumb { background: #ccd3dd; border-radius: 8px; }

/* .fhb-widget-header (era <header>, un tag semantico): il tema ha una regola
   globale "header{ position:absolute; top:0; ... }" che si applica a QUALSIASI
   tag <header> della pagina, non solo al suo. Con quel tag la barra blu del
   widget veniva staccata dal flusso normale e incollata in cima alla pagina
   sopra il titolo. Un <div> dedicato non può collidere con selettori del tema
   basati sul tag. */
#fhb-widget .fhb-widget-header {
	background: linear-gradient(120deg, var(--fhb-navy), var(--fhb-navy-soft));
	color: #fff;
	padding: 20px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}
#fhb-widget .fhb-widget-header .brand { display: flex; flex-direction: column; }
#fhb-widget .fhb-widget-header .brand b { font-size: 19px; letter-spacing: .3px; }
#fhb-widget .fhb-widget-header .brand span { font-size: 12.5px; color: var(--fhb-orange-light); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; margin-top: 2px; }
#fhb-widget .fhb-widget-header .stats { display: flex; gap: 26px; font-size: 13px; }
#fhb-widget .fhb-widget-header .stats div { text-align: right; color: #d7dde7; text-transform: uppercase; letter-spacing: .04em; font-size: 11px; }
#fhb-widget .fhb-widget-header .stats b { display: block; font-size: 21px; color: #fff; text-transform: none; letter-spacing: 0; }

#fhb-app { padding: 22px 30px 60px; }

#fhb-widget .status-bar {
	display: flex; align-items: center; justify-content: space-between;
	flex-wrap: wrap; gap: 10px; margin-bottom: 16px; font-size: 13px; color: var(--fhb-muted);
}
#fhb-widget .status-bar #fhb-dataStatus.error { color: var(--fhb-closed); font-weight: 600; }

#fhb-widget .layout { display: grid; grid-template-columns: 300px 1fr; gap: 20px; align-items: start; }

/* I grid item hanno min-width:auto di default: la colonna risultati si
   allargherebbe al min-content della tabella, sfondando il contenitore senza
   mai attivare lo scroll del pannello interno (overflow-x:auto). min-width:0
   la vincola al frame e lascia scorrere la tabella orizzontalmente, sia su
   desktop a bassa risoluzione sia su mobile (layout a colonna singola). */
#fhb-widget .layout > div { min-width: 0; }

/* Sotto la soglia di scroll, la tabella mantiene una larghezza minima
   leggibile invece di schiacciare le colonne. */
#fhb-widget #fhb-resultsTable { min-width: 720px; }

#fhb-widget .filters-toggle-btn {
	display: none;
	width: 100%;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #fff;
	border: 1px solid var(--fhb-border);
	border-radius: 12px;
	padding: 12px;
	margin-bottom: 14px;
	font-weight: 700;
	font-size: 13.5px;
	color: var(--fhb-navy);
	cursor: pointer;
	font-family: inherit;
}
#fhb-widget .filters-toggle-count {
	background: var(--fhb-orange);
	color: #fff;
	border-radius: 20px;
	padding: 1px 9px;
	font-size: 11px;
	font-weight: 700;
}

@media (max-width: 980px) {
	#fhb-widget .layout { grid-template-columns: 1fr; }
	#fhb-widget .filters-toggle-btn { display: flex; }
	/* Filtri chiusi di default su mobile: si aprono col pulsante, per non
	   costringere l'utente a scorrere un pannello lunghissimo prima dei risultati. */
	#fhb-widget .filters { display: none; }
	#fhb-widget.fhb-filters-open .filters { display: block; margin-bottom: 4px; }
}

#fhb-widget .panel { background: var(--fhb-card); border: 1px solid var(--fhb-border); border-radius: 18px; padding: 18px; box-shadow: 0 6px 20px rgba(16, 24, 39, .04); }

#fhb-widget .filters h3 {
	margin: 0 0 12px; font-size: .8rem; color: var(--fhb-orange); text-transform: uppercase;
	letter-spacing: .1em; font-weight: 700;
}
#fhb-widget .filters .group { margin-bottom: 16px; }
#fhb-widget .filters .group summary {
	cursor: pointer; font-weight: 600; font-size: 13px; color: var(--fhb-navy);
	padding: 4px 0; list-style: none; display: flex; justify-content: space-between; align-items: center;
}
#fhb-widget .filters .group summary::-webkit-details-marker { display: none; }
#fhb-widget .filters .group summary::after { content: '▾'; color: var(--fhb-muted); }
#fhb-widget .filters .group[open] summary::after { content: '▴'; }
#fhb-widget .filters .group .opts { max-height: 190px; overflow-y: auto; margin-top: 6px; padding-right: 4px; }
#fhb-widget .filters label { display: flex; align-items: center; gap: 6px; font-size: 12.5px; padding: 3px 2px; border-radius: 5px; cursor: pointer; }
#fhb-widget .filters label:hover { background: #f0f0f0; }
#fhb-widget .filters label.zero { opacity: .45; }
#fhb-widget .filters label span.count { margin-left: auto; color: var(--fhb-muted); font-size: 11px; }
#fhb-widget .filters input[type=checkbox] { accent-color: var(--fhb-blue); }
#fhb-widget .filters input[type=text],
#fhb-widget .filters input[type=number],
#fhb-widget .filters input[type=date],
#fhb-widget .filters select {
	width: 100%; padding: 8px 10px; border: 1px solid var(--fhb-border); border-radius: 10px;
	background: #fff; font-size: 12.5px; margin-top: 4px; font: inherit; transition: .2s;
}
#fhb-widget .filters input:focus,
#fhb-widget .filters select:focus { outline: none; border-color: var(--fhb-blue); }

#fhb-widget .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

#fhb-widget #fhb-pendingHint { font-size: 11.5px; color: var(--fhb-orange); font-weight: 700; margin-bottom: 8px; }

#fhb-widget .clear-btn {
	width: 100%; background: #fff; border: 1px solid var(--fhb-border); border-radius: 10px;
	padding: 10px; font-size: 12.5px; cursor: pointer; color: var(--fhb-navy); font-weight: 600; margin-top: 8px;
	transition: .2s;
}
#fhb-widget .clear-btn:hover { background: #f0f0f0; }
#fhb-widget .apply-btn {
	width: 100%; background: var(--fhb-navy); border: none; border-radius: 10px;
	padding: 11px; font-size: 12.5px; cursor: pointer; color: #fff; font-weight: 700; transition: .2s;
}
#fhb-widget .apply-btn:hover { background: var(--fhb-navy-soft); transform: translateY(-1px); }

#fhb-widget .search-row { display: flex; gap: 8px; margin-bottom: 16px; }
#fhb-widget .search-row input { flex: 1; padding: 12px 14px; border: 1px solid var(--fhb-border); border-radius: 12px; font-size: 14px; font: inherit; transition: .2s; }
#fhb-widget .search-row input:focus { outline: none; border-color: var(--fhb-blue); }
#fhb-widget .search-row select { padding: 10px 12px; border: 1px solid var(--fhb-border); border-radius: 12px; font-size: 13px; background: #fff; font: inherit; }

#fhb-widget .toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; flex-wrap: wrap; gap: 8px; }
#fhb-widget .toolbar .count { font-size: 13px; color: var(--fhb-muted); }
#fhb-widget .toolbar button { background: var(--fhb-blue); color: #fff; border: none; padding: 9px 16px; border-radius: 10px; font-size: 12.5px; cursor: pointer; font-weight: 600; transition: .2s; }
#fhb-widget .toolbar button:hover { transform: translateY(-1px); filter: brightness(.95); }
#fhb-widget .toolbar-right { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
#fhb-widget .page-size-label { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--fhb-muted); white-space: nowrap; }
#fhb-widget .page-size-label select { border: 1px solid var(--fhb-border); border-radius: 8px; padding: 5px 8px; font-size: 12.5px; background: #fff; cursor: pointer; }
#fhb-widget .toolbar-right .pager.pager-top { margin-top: 0; }
/* Il pager sopra l'elenco vive dentro .toolbar: sovrascrive lo stile blu/bianco
   pensato per il pulsante "Esporta CSV" (altrimenti il testo dei pulsanti
   pagina risulterebbe bianco su sfondo bianco, quindi invisibile). */
#fhb-widget .toolbar .pager button {
	background: #fff; color: var(--fhb-navy); font-weight: 500; font-size: 13px; padding: 7px 14px;
}

#fhb-widget table { width: 100%; border-collapse: collapse; background: var(--fhb-card); font-size: 13px; }
#fhb-widget thead th { position: sticky; top: 0; background: var(--fhb-navy); color: #fff; text-align: left; padding: 10px 12px; font-weight: 600; cursor: pointer; white-space: nowrap; }
#fhb-widget thead th:hover { background: var(--fhb-navy-soft); }
#fhb-widget tbody td { padding: 10px 12px; border-bottom: 1px solid var(--fhb-border); vertical-align: top; }
#fhb-widget tbody tr:hover { background: #f7f9fc; cursor: pointer; }

#fhb-widget .badge { display: inline-block; padding: 2px 9px; border-radius: 20px; font-size: 11px; font-weight: 700; white-space: nowrap; }
#fhb-widget .badge.aperto { background: #e5f6ec; color: var(--fhb-ok); }
#fhb-widget .badge.scadenza { background: #f7e7dc; color: var(--fhb-orange); }
#fhb-widget .badge.chiuso { background: #fbe9e9; color: var(--fhb-closed); }
#fhb-widget .badge.futuro { background: #e6eeff; color: var(--fhb-blue); }

#fhb-widget .tags { display: flex; flex-wrap: wrap; gap: 3px; }
#fhb-widget .tag { background: #f0f0f0; color: var(--fhb-navy); padding: 1px 8px; border-radius: 10px; font-size: 10.5px; }

#fhb-widget .titlecell b { display: block; color: var(--fhb-navy); }
#fhb-widget .titlecell .ente { color: var(--fhb-muted); font-size: 11.5px; }

#fhb-widget .pager { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 16px; font-size: 13px; }
#fhb-widget .pager button { border: 1px solid var(--fhb-border); background: #fff; padding: 7px 14px; border-radius: 10px; cursor: pointer; transition: .2s; }
#fhb-widget .pager button:hover:not(:disabled) { transform: translateY(-1px); }
#fhb-widget .pager button:disabled { opacity: .4; cursor: default; }

#fhb-widget .save-search-box {
	margin-top: 24px;
	background: linear-gradient(120deg, var(--fhb-navy), var(--fhb-navy-soft));
	color: #fff;
	border-radius: 18px;
	padding: 20px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
}
#fhb-widget .save-search-text { display: flex; flex-direction: column; gap: 4px; flex: 1 1 260px; min-width: 0; max-width: 560px; }
#fhb-widget .save-search-text b { font-size: 14.5px; }
#fhb-widget .save-search-text span { font-size: 12.5px; opacity: .85; }
#fhb-widget #fhb-saveSearchBtn {
	flex: 0 0 auto;
	background: var(--fhb-orange);
	color: #fff;
	border: none;
	padding: 12px 20px;
	border-radius: 10px;
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
	transition: .2s;
}
#fhb-widget #fhb-saveSearchBtn:hover { background: var(--fhb-orange-light); transform: translateY(-1px); }
#fhb-widget #fhb-saveSearchBtn:disabled { opacity: .6; cursor: default; transform: none; }
#fhb-widget .save-search-msg { font-size: 13px; width: 100%; }

@media (max-width: 640px) {
	#fhb-widget .save-search-box { flex-direction: column; align-items: stretch; }
	#fhb-widget .save-search-text { max-width: none; }
	#fhb-widget #fhb-saveSearchBtn { width: 100%; white-space: normal; }

	/* Pager: solo le frecce, niente testo "Precedente/Successiva" */
	#fhb-widget .pager .pager-label { display: none; }
	#fhb-widget .pager button { padding: 7px 12px; }
}

@media (max-width: 560px) {
	#fhb-widget #fhb-resultsTable { min-width: 480px; }
	#fhb-widget #fhb-resultsTable th:nth-child(2), #fhb-widget #fhb-resultsTable td:nth-child(2),
	#fhb-widget #fhb-resultsTable th:nth-child(3), #fhb-widget #fhb-resultsTable td:nth-child(3) {
		display: none;
	}
}
#fhb-widget .save-search-msg.ok { color: #b6f0cd; }
#fhb-widget .save-search-msg.err { color: #f5b8b8; }
#fhb-widget .save-search-cta {
	display: inline-block;
	margin-top: 6px;
	color: var(--fhb-orange-light);
	font-weight: 700;
	text-decoration: none;
}
#fhb-widget .save-search-cta:hover { text-decoration: underline; }

#fhb-widget .modal-backdrop {
	display: none; position: fixed; inset: 0; background: rgba(16, 24, 39, .6);
	z-index: 100000; align-items: flex-start; justify-content: center; padding: 40px 20px; overflow-y: auto;
}
#fhb-widget .modal-backdrop.open { display: flex; }
#fhb-widget .modal { background: #fff; border-radius: 22px; max-width: 760px; width: 100%; padding: 30px 34px; position: relative; }
#fhb-widget .modal h2 { margin: 0 0 4px; color: var(--fhb-navy); font-size: 19px; }
#fhb-widget .modal .ente { color: var(--fhb-muted); font-size: 13px; margin-bottom: 14px; }
#fhb-widget .modal .close { position: absolute; top: 16px; right: 18px; border: none; background: none; font-size: 22px; cursor: pointer; color: var(--fhb-muted); }
#fhb-widget .modal dl { display: grid; grid-template-columns: 170px 1fr; gap: 8px 12px; font-size: 13px; margin: 16px 0; }
#fhb-widget .modal dt { color: var(--fhb-muted); font-weight: 600; text-transform: uppercase; font-size: 11px; letter-spacing: .04em; }
#fhb-widget .modal dd { margin: 0; }
#fhb-widget .modal .desc { font-size: 13.5px; line-height: 1.6; background: var(--fhb-bg); padding: 14px 16px; border-radius: 12px; margin-top: 10px; }
#fhb-widget .modal .desc-strutturata p { margin: 0 0 14px; }
#fhb-widget .modal .desc-strutturata p:last-child { margin-bottom: 0; }
#fhb-widget .modal .desc-strutturata strong { color: var(--fhb-muted); font-weight: 600; text-transform: uppercase; font-size: 11px; letter-spacing: .04em; }

/* Badge "agevolazione stimata": colore denaro (semantico), non l'arancio del brand */
#fhb-widget .modal .badge-agev { display: inline-block; margin-left: 8px; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 20px; background: var(--fhb-ok-bg); color: var(--fhb-ok); }

/* Comuni: chip invece di testo, con le eccedenze dietro "+N altri" */
#fhb-widget .modal .fhb-comuni-dd { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
#fhb-widget .modal .comune-tag { background: var(--fhb-bg); border: 1px solid var(--fhb-border); color: var(--fhb-text); padding: 2px 9px; border-radius: 999px; font-size: 11.5px; text-transform: none; letter-spacing: normal; font-weight: 400; }
#fhb-widget .modal .fhb-comune-extra { display: none; }
#fhb-widget .modal .fhb-comuni-toggle { border: none; background: none; color: var(--fhb-navy); font-weight: 600; font-size: 12px; cursor: pointer; padding: 0; text-decoration: underline; text-underline-offset: 2px; }
#fhb-widget .modal .fhb-comuni-toggle:hover { color: var(--fhb-blue); }

/* Riferimenti normativi: stesso linguaggio visivo della descrizione (nessun box
   a parte), separato solo da un filo tratteggiato — un solo stile, riusato
   identico indipendentemente da quante righe contiene. */
#fhb-widget .modal .normativa { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--fhb-border); }
#fhb-widget .modal .normativa summary { cursor: pointer; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--fhb-navy); list-style: none; }
#fhb-widget .modal .normativa summary::-webkit-details-marker { display: none; }
#fhb-widget .modal .normativa summary::before { content: '▸ '; color: var(--fhb-muted); font-size: 10px; }
#fhb-widget .modal .normativa[open] summary::before { content: '▾ '; }
#fhb-widget .modal .normativa .righe { margin-top: 10px; display: flex; flex-direction: column; gap: 8px; }
#fhb-widget .modal .normativa .riga { font-size: 12px; line-height: 1.5; }
#fhb-widget .modal .normativa .riga b { display: block; color: var(--fhb-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; margin-bottom: 1px; }
#fhb-widget .modal a.link { display: inline-block; margin-top: 18px; background: var(--fhb-navy); color: #fff; padding: 11px 20px; border-radius: 10px; text-decoration: none; font-size: 13px; font-weight: 600; transition: .2s; }
#fhb-widget .modal a.link:hover { background: var(--fhb-navy-soft); }

#fhb-widget .empty { padding: 40px; text-align: center; color: var(--fhb-muted); }

/* ----------------------------------------------------------------------
 * Template "Finea Hub — Pagina larga (strumento)" (templates/page-fullwidth.php).
 * Non è nel tema: registrato dal plugin via includes/page-template.php.
 * Usa .container del tema (max-width 1600px) al posto di .service-section__content
 * (limitata a 980px), e riserva lo spazio dell'header assoluto/trasparente con
 * un padding-top invece dell'hero a piena altezza di page.php.
 * -------------------------------------------------------------------- */
.fhb-page-fullwidth {
	/* 110px = lo stesso padding-top usato da .service-content nel tema (le
	   pagine standard del sito), per coerenza visiva con le altre pagine. La
	   versione precedente (+20px) era stata ridotta per un problema che in
	   realtà era l'intestazione del widget mal posizionata (v1.15), non lo
	   spazio in sé: ora che è risolto, si può tornare al valore coerente col tema. */
	padding-top: calc(var(--header-h, 76px) + 110px);
	padding-bottom: 80px;
}
.fhb-page-fullwidth__title {
	font-family: "Inter", sans-serif;
	font-size: clamp(1.9rem, 3.2vw, 2.6rem);
	font-weight: 700;
	color: var(--navy, #16243B);
	margin: 0 0 28px;
}

/* ==========================================================================
   VISTA "BANDI IN MATCH COL PROGETTO" (?match=<progetto_id> dalla card
   dell'elenco progetti): banner sopra la maschera con conteggio, uscita
   dalla vista e ritorno all'elenco progetti.
   ========================================================================== */
#fhb-widget .fhb-match-banner {
	/* Riga integrata nell'header navy (flex-wrap): occupa tutta la larghezza
	   sotto brand/stats, con una striscia interna leggermente più chiara. */
	flex-basis: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	border-radius: 10px;
	padding: 10px 16px;
	margin: 8px 0 0;
	font-size: 13px;
}
#fhb-widget .fhb-match-banner b { color: #fff; }
#fhb-widget .fhb-match-banner-actions { display: flex; align-items: center; gap: 14px; }
#fhb-widget .fhb-match-banner-actions button {
	background: var(--fhb-orange);
	color: #fff;
	border: none;
	padding: 7px 14px;
	border-radius: 10px;
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
}
#fhb-widget .fhb-match-banner-actions button:hover { filter: brightness(1.08); }
#fhb-widget .fhb-match-banner-actions a { color: #fff; opacity: .85; font-size: 12.5px; text-decoration: underline; }
#fhb-widget .fhb-match-banner-actions a:hover { opacity: 1; }

/* ==========================================================================
   TIPOGRAFIA DEL CONTENUTO EDITOR NEL TEMPLATE "PAGINA LARGA".
   Il tema stila i testi delle pagine standard tramite .service-section__content
   (che qui non c'è, sostituita da .container per avere i 1600px): senza queste
   regole, il testo scritto nell'editor sopra/sotto lo shortcode esce con gli
   stili di default del browser. Valori copiati 1:1 dal tema (style.css,
   .service-section__content): prosa a 980px per leggibilità, mentre il widget
   (.fhb-wrap) resta a tutta larghezza. Selettori a figli diretti di .container
   per non toccare il markup interno del widget.
   ========================================================================== */
.fhb-page-fullwidth .container > p,
.fhb-page-fullwidth .container > h2,
.fhb-page-fullwidth .container > h3,
.fhb-page-fullwidth .container > ul,
.fhb-page-fullwidth .container > ol,
.fhb-page-fullwidth .container > blockquote {
	max-width: 980px;
}
.fhb-page-fullwidth .container > p {
	margin-bottom: 28px;
	font-size: 1.1rem;
	line-height: 1.9;
	color: #333;
}
.fhb-page-fullwidth .container > h2 {
	font-size: 2.2rem;
	line-height: 1.2;
	font-weight: 700;
	color: #d46b20;
	margin: 40px 0 20px;
}
.fhb-page-fullwidth .container > h3 {
	font-size: 1.5rem;
	line-height: 1.25;
	font-weight: 700;
	color: #d46b20;
	margin: 32px 0 16px;
}
.fhb-page-fullwidth .container > ul,
.fhb-page-fullwidth .container > ol {
	margin: 40px 0;
	padding-left: 28px;
}
.fhb-page-fullwidth .container > ul li,
.fhb-page-fullwidth .container > ol li {
	margin-bottom: 16px;
	font-size: 1.1rem;
	line-height: 1.9;
	color: #333;
}
.fhb-page-fullwidth .container > p a,
.fhb-page-fullwidth .container > ul a,
.fhb-page-fullwidth .container > ol a {
	color: var(--fhb-blue, #2F7FFF);
	font-weight: 600;
}

/* Stellina preferiti nella tabella risultati (solo utenti loggati). */
#fhb-widget .fhb-star {
	float: right;
	margin-left: 8px;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
	color: #C9C9C9;
	padding: 0 2px;
	transition: .15s;
}
#fhb-widget .fhb-star:hover { color: var(--fhb-orange-light); transform: scale(1.15); }
#fhb-widget .fhb-star.is-on { color: var(--fhb-orange); }

/* Rientro all'area clienti dall'header del widget (utenti loggati). */
#fhb-widget .fhb-widget-back {
	margin-top: 6px;
	font-size: 12.5px;
	color: #fff;
	opacity: .8;
	text-decoration: underline;
	width: fit-content;
}
#fhb-widget .fhb-widget-back:hover { opacity: 1; color: var(--fhb-orange-light); }

/* ==========================================================================
   MODALITÀ COMPATTA (compact="1", viste interne della dashboard).
   Il guscio [fhb_dashboard] fornisce già titolo e navigazione: qui restano
   solo ricerca testuale, filtro stato, tabella, paginazione, export e modal.
   ========================================================================== */
#fhb-widget.fhb-compact .fhb-widget-header,
#fhb-widget.fhb-compact .filters-toggle-btn,
#fhb-widget.fhb-compact .filters,
#fhb-widget.fhb-compact .save-search-box {
	display: none !important;
}
#fhb-widget.fhb-compact .layout {
	grid-template-columns: 1fr;
}
#fhb-widget.fhb-compact .status-bar {
	border-radius: 12px 12px 0 0;
}
