/* Sozialcoop Core – componenti (moduli, documenti, posizioni, news).
   Usa le variabili del tema se presenti, altrimenti i valori di riserva. */

.sc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

.sc-icon, .sc-doc svg, .sc-job svg, .sc-link svg, .sc-btn svg, .sc-notice svg, .sc-login svg, .sc-file svg, .sc-news-card svg { width: 1.15em; height: 1.15em; flex: none; }

/* Pulsanti */
.sc-btn { display: inline-flex; align-items: center; gap: .5rem; font: 700 1rem/1.2 var(--sc-font-head, system-ui, sans-serif); padding: .95rem 1.6rem; border-radius: var(--sc-radius, 1rem); border: 0; cursor: pointer; text-decoration: none; transition: background-color .2s, transform .2s, box-shadow .2s; }
.sc-btn--primary { background: var(--sc-blue, #1b5692); color: #fff; }
.sc-btn--primary:hover, .sc-btn--primary:focus-visible { background: var(--sc-navy, #214080); color: #fff; }
.sc-btn[disabled] { opacity: .6; cursor: progress; }

.sc-chip { display: inline-block; font: 700 .72rem/1 var(--sc-font-body, system-ui, sans-serif); letter-spacing: .06em; text-transform: uppercase; padding: .45rem .75rem; border-radius: 999px; background: var(--sc-mint-soft, #e3f3ef); color: var(--sc-teal-dark, #17666c); }

.sc-link { display: inline-flex; align-items: center; gap: .35rem; font-weight: 700; color: var(--sc-blue, #1b5692); text-decoration: none; }
.sc-link:hover { text-decoration: underline; text-underline-offset: 3px; }

.sc-empty { color: var(--sc-muted, #55607a); }
.sc-empty--box { background: var(--sc-surface-low, #edf1f7); border-radius: var(--sc-radius-lg, 1.5rem); padding: 1.5rem 1.75rem; }

/* Avvisi */
.sc-notice { display: flex; gap: .75rem; align-items: flex-start; border-radius: var(--sc-radius, 1rem); padding: 1rem 1.25rem; margin-bottom: 1.5rem; }
.sc-notice p { margin: 0; }
.sc-notice--ok { background: var(--sc-mint-soft, #e3f3ef); color: #0f4d52; }
.sc-notice--error { background: #fdecec; color: #8a1520; }
.sc-notice a { color: inherit; font-weight: 700; }

/* Moduli */
.sc-form-wrap { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); padding: clamp(1.25rem, 3vw, 2.5rem); box-shadow: 0 8px 32px rgba(33,64,128,.07); scroll-margin-top: 110px; }
.sc-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.1rem 1.25rem; }
.sc-field { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.sc-field--full { grid-column: 1 / -1; }
.sc-field label { font-weight: 700; font-size: .92rem; color: var(--sc-ink, #1f2a3d); }
.sc-req { color: #b3261e; }
.sc-field input[type=text], .sc-field input[type=email], .sc-field input[type=tel], .sc-field input[type=date], .sc-field input[type=url], .sc-field select, .sc-field textarea {
	font: inherit; font-size: 1rem; color: var(--sc-ink, #1f2a3d); background: var(--sc-surface-low, #edf1f7); border: 1.5px solid transparent; border-radius: .75rem; padding: .8rem 1rem; width: 100%; box-sizing: border-box; transition: border-color .2s, background-color .2s;
}
.sc-field textarea { resize: vertical; min-height: 8rem; }
.sc-field input:focus, .sc-field select:focus, .sc-field textarea:focus { outline: none; border-color: var(--sc-blue, #1b5692); background: #fff; box-shadow: 0 0 0 4px rgba(27,86,146,.15); }
.sc-field.has-error input, .sc-field.has-error select, .sc-field.has-error textarea, .sc-field.has-error .sc-file__ui { border-color: #b3261e; background: #fff6f6; }
.sc-field__help { margin: 0; font-size: .85rem; color: var(--sc-muted, #55607a); }
.sc-field__err { margin: 0; font-size: .85rem; font-weight: 700; color: #b3261e; }

.sc-file { position: relative; }
.sc-file input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; }
.sc-file__ui { display: flex; align-items: center; gap: .6rem; padding: .95rem 1rem; border: 1.5px dashed rgba(33,64,128,.35); border-radius: .75rem; background: var(--sc-surface-low, #edf1f7); color: var(--sc-blue, #1b5692); font-weight: 600; overflow: hidden; }
.sc-file__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-file:focus-within .sc-file__ui { border-color: var(--sc-blue, #1b5692); box-shadow: 0 0 0 4px rgba(27,86,146,.15); background: #fff; }
.sc-file.has-file .sc-file__ui { border-style: solid; background: var(--sc-mint-soft, #e3f3ef); color: #0f4d52; }

.sc-check { display: flex; gap: .7rem; align-items: flex-start; margin: 1.5rem 0 .5rem; flex-wrap: wrap; }
.sc-check input { width: 1.25rem; height: 1.25rem; margin-top: .15rem; accent-color: var(--sc-blue, #1b5692); flex: none; }
.sc-check label { flex: 1; min-width: 0; font-size: .92rem; }
.sc-check .sc-field__err { flex-basis: 100%; }
.sc-form__note { font-size: .85rem; color: var(--sc-muted, #55607a); margin: .25rem 0 1.25rem; }

@media (max-width: 640px) { .sc-form__grid { grid-template-columns: 1fr; } }

/* Documenti */
.sc-docs { display: grid; gap: 2rem; }
.sc-docs__title { font-size: 1.15rem; margin: 0 0 .75rem; }
.sc-docs__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.sc-doc { display: flex; align-items: center; gap: 1rem; background: var(--sc-surface, #fff); border-radius: var(--sc-radius, 1rem); padding: 1rem 1.25rem; box-shadow: 0 2px 12px rgba(33,64,128,.05); }
.sc-doc__icon { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: .8rem; background: var(--sc-orange-soft, #fdeedd); color: var(--sc-orange-dark, #9a4f0b); flex: none; }
.sc-doc__body { display: flex; flex-direction: column; gap: .15rem; min-width: 0; flex: 1; }
.sc-doc__name { font-weight: 700; color: var(--sc-ink, #1f2a3d); }
.sc-doc__desc, .sc-doc__meta { font-size: .85rem; color: var(--sc-muted, #55607a); }
.sc-doc__btn { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; font-size: .9rem; color: var(--sc-blue, #1b5692); background: var(--sc-surface-low, #edf1f7); padding: .6rem .95rem; border-radius: .7rem; text-decoration: none; white-space: nowrap; }
.sc-doc__btn:hover, .sc-doc__btn:focus-visible { background: var(--sc-blue, #1b5692); color: #fff; }
@media (max-width: 560px) { .sc-doc { flex-wrap: wrap; } .sc-doc__btn { margin-left: 3.75rem; } }

/* Area soci */
.sc-login { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); padding: clamp(1.25rem, 3vw, 2.25rem); max-width: 30rem; box-shadow: 0 8px 32px rgba(33,64,128,.07); }
.sc-login__intro { display: flex; gap: .6rem; color: var(--sc-muted, #55607a); margin-top: 0; }
.sc-login__intro svg { color: var(--sc-blue, #1b5692); margin-top: .2rem; }
.sc-login label { display: block; font-weight: 700; font-size: .92rem; margin-bottom: .35rem; }
.sc-login input[type=text], .sc-login input[type=password] { width: 100%; box-sizing: border-box; font: inherit; padding: .8rem 1rem; border-radius: .75rem; border: 1.5px solid transparent; background: var(--sc-surface-low, #edf1f7); }
.sc-login input:focus { outline: none; border-color: var(--sc-blue, #1b5692); background: #fff; }
.sc-login .login-remember label { display: inline-flex; gap: .5rem; align-items: center; font-weight: 500; }
.sc-login .button-primary { font: 700 1rem var(--sc-font-head, system-ui); background: var(--sc-blue, #1b5692); color: #fff; border: 0; padding: .9rem 1.5rem; border-radius: var(--sc-radius, 1rem); cursor: pointer; }
.sc-login .button-primary:hover { background: var(--sc-navy, #214080); }
.sc-member-bar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; background: var(--sc-mint-soft, #e3f3ef); border-radius: var(--sc-radius, 1rem); padding: .85rem 1.25rem; margin-bottom: 2rem; }
.sc-member-bar a { font-weight: 700; color: var(--sc-blue, #1b5692); }

/* Posizioni aperte */
.sc-jobs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 1.25rem; }
.sc-job { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); padding: 1.6rem; display: flex; flex-direction: column; gap: .8rem; box-shadow: 0 2px 16px rgba(33,64,128,.06); }
.sc-job__top { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; }
.sc-job__deadline { font-size: .85rem; color: var(--sc-muted, #55607a); }
.sc-job__title { margin: 0; font-size: 1.25rem; }
.sc-job__title a { color: var(--sc-ink, #1f2a3d); text-decoration: none; }
.sc-job__title a:hover { color: var(--sc-blue, #1b5692); }
.sc-job__excerpt { margin: 0; color: var(--sc-muted, #55607a); font-size: .95rem; }
.sc-job__meta { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .88rem; color: var(--sc-muted, #55607a); }
.sc-job__meta span { display: inline-flex; gap: .35rem; align-items: center; }
.sc-job__link { margin-top: auto; display: inline-flex; gap: .35rem; align-items: center; font-weight: 700; color: var(--sc-blue, #1b5692); text-decoration: none; }
.sc-job-facts, .sc-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .75rem; margin: 0 0 2rem; }
.sc-job-facts > div, .sc-facts > div { background: var(--sc-surface-low, #edf1f7); border-radius: var(--sc-radius, 1rem); padding: .9rem 1.1rem; }
.sc-job-facts dt, .sc-facts dt { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; color: var(--sc-muted, #55607a); }
.sc-job-facts dd, .sc-facts dd { margin: .25rem 0 0; font-weight: 700; color: var(--sc-ink, #1f2a3d); overflow-wrap: anywhere; }
.sc-facts a { color: var(--sc-blue, #1b5692); }
.sc-apply { margin-top: 3rem; }

/* News */
.sc-news { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: 1.5rem; }
.sc-news-card { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 2px 16px rgba(33,64,128,.06); }
.sc-news-card__media { display: block; aspect-ratio: 16 / 10; background: linear-gradient(135deg, var(--sc-mint-soft, #e3f3ef), var(--sc-surface-low, #edf1f7)); overflow: hidden; }
.sc-news-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.sc-news-card:hover .sc-news-card__media img { transform: scale(1.03); }
.sc-news-card__ph { display: grid; place-items: center; height: 100%; color: var(--sc-teal, #28939b); }
.sc-news-card__ph svg { width: 3rem; height: 3rem; opacity: .6; }
.sc-news-card__body { padding: 1.4rem 1.5rem 1.6rem; display: flex; flex-direction: column; gap: .65rem; flex: 1; }
.sc-news-card__meta { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; font-size: .85rem; color: var(--sc-muted, #55607a); }
.sc-news-card__title { margin: 0; font-size: 1.15rem; line-height: 1.35; }
.sc-news-card__title a { color: var(--sc-ink, #1f2a3d); text-decoration: none; }
.sc-news-card__title a:hover { color: var(--sc-blue, #1b5692); }
.sc-news-card__excerpt { margin: 0; color: var(--sc-muted, #55607a); font-size: .95rem; }
.sc-news-card .sc-link { margin-top: auto; }

.sc-chip--muted { background: var(--sc-surface-high, #dee3ea); color: var(--sc-muted, #55607a); }

/* Servizi e progetti collegati a un ambito */
.sc-related { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 1rem; margin: 1.25rem 0 0; }
.sc-related__item { background: var(--sc-surface, #fff); border-radius: var(--sc-radius, 1rem); padding: 1.2rem 1.3rem; box-shadow: 0 2px 12px rgba(33,64,128,.05); }
.sc-related__item--project { background: var(--sc-mint-soft, #e3f3ef); box-shadow: none; }
.sc-related__kind { display: inline-flex; align-items: center; gap: .35rem; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--sc-teal-dark, #17666c); }
.sc-related__title { font-size: 1.05rem; margin: .45rem 0 .35rem; }
.sc-related__title a { color: var(--sc-navy, #214080); text-decoration: none; }
.sc-related__title a:hover { text-decoration: underline; }
.sc-related__item p { margin: 0 0 .3rem; font-size: .93rem; color: var(--sc-muted, #55607a); }
.sc-related__meta { display: flex; gap: .4rem; align-items: center; }

/* Mappa */
.sc-map { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.sc-map--solo { display: block; }
.sc-map__canvas { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); padding: clamp(.75rem, 2vw, 1.5rem); box-shadow: 0 8px 32px rgba(33,64,128,.07); position: sticky; top: 100px; }
.sc-map--solo .sc-map__canvas { position: static; }
.sc-map__svg { display: block; width: 100%; height: auto; overflow: visible; }
.sc-map__land { fill: url(#sc-map-fill); stroke: var(--sc-teal, #28939b); stroke-width: 2.5; stroke-linejoin: round; }
.sc-map__ref circle { fill: #aab4c8; }
.sc-map__ref text { font: 600 17px var(--sc-font-body, system-ui); fill: #7a859c; }
.sc-map__pin { cursor: pointer; }
.sc-map__pin .sc-map__dot { fill: var(--sc-orange, #f8a65c); stroke: #fff; stroke-width: 3; transition: r .15s; }
.sc-map__pin .sc-map__halo { fill: var(--sc-orange, #f8a65c); opacity: .22; }
.sc-map__pin--sede .sc-map__dot { fill: var(--sc-navy, #214080); }
.sc-map__pin--sede .sc-map__halo { fill: var(--sc-navy, #214080); }
.sc-map__count { font: 800 13px var(--sc-font-head, system-ui); fill: #fff; pointer-events: none; }
.sc-map__label { font: 800 21px var(--sc-font-head, system-ui); fill: var(--sc-navy, #214080); paint-order: stroke; stroke: #fff; stroke-width: 5px; stroke-linejoin: round; }
.sc-map__pin:hover .sc-map__dot, .sc-map__pin:focus .sc-map__dot { r: 14; }
.sc-map__pin:focus { outline: none; }
.sc-map__pin:focus-visible .sc-map__halo { opacity: .5; stroke: var(--sc-navy, #214080); stroke-width: 3; }
.sc-map__legend { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; font-size: .85rem; color: var(--sc-muted, #55607a); margin: .75rem 0 0; }
.sc-map__key { display: inline-block; width: .85rem; height: .85rem; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.08); margin-left: .6rem; }
.sc-map__key:first-child { margin-left: 0; }
.sc-map__key--sede { background: var(--sc-navy, #214080); }
.sc-map__key--servizio { background: var(--sc-orange, #f8a65c); }
.sc-map__credit { font-size: .75rem; color: var(--sc-muted, #55607a); margin: .35rem 0 0; }
.sc-map__list { display: grid; gap: 1rem; }
.sc-place { background: var(--sc-surface, #fff); border-radius: var(--sc-radius, 1rem); padding: 1.1rem 1.3rem; box-shadow: 0 2px 12px rgba(33,64,128,.05); scroll-margin-top: 110px; transition: box-shadow .2s; outline: none; }
.sc-place.is-active { box-shadow: 0 0 0 3px var(--sc-orange, #f8a65c), 0 8px 24px rgba(33,64,128,.1); }
.sc-place__city { display: flex; align-items: center; gap: .45rem; font-size: 1.15rem; margin: 0 0 .6rem; }
.sc-place__city svg { color: var(--sc-orange-dark, #9a4f0b); }
.sc-place__item + .sc-place__item { margin-top: .9rem; padding-top: .9rem; border-top: 1px solid rgba(33,64,128,.08); }
.sc-place__item h4 { font-size: 1rem; margin: 0 0 .35rem; color: var(--sc-ink, #1f2a3d); }
.sc-place__item ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; font-size: .92rem; color: var(--sc-muted, #55607a); }
.sc-place__item li { display: flex; gap: .45rem; align-items: flex-start; overflow-wrap: anywhere; }
.sc-place__item li svg { margin-top: .2rem; color: var(--sc-teal, #28939b); }
@media (max-width: 900px) { .sc-map { grid-template-columns: 1fr; } .sc-map__canvas { position: static; } }

/* Progetti */
.sc-projects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.sc-project { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 2px 16px rgba(33,64,128,.06); }
.sc-project--featured { grid-column: 1 / -1; flex-direction: row; }
.sc-project--featured .sc-project__media { flex: 0 0 44%; }
.sc-project__media img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 16rem; }
.sc-project__body { padding: clamp(1.4rem, 3vw, 2.2rem); display: flex; flex-direction: column; gap: .75rem; flex: 1; }
.sc-project--featured:not(:has(.sc-project__media)) { background: linear-gradient(135deg, var(--sc-navy, #214080), var(--sc-blue, #1b5692)); color: #e8effa; }
.sc-project--featured:not(:has(.sc-project__media)) .sc-project__title a, .sc-project--featured:not(:has(.sc-project__media)) .sc-link { color: #fff; }
.sc-project--featured:not(:has(.sc-project__media)) .sc-project__excerpt, .sc-project--featured:not(:has(.sc-project__media)) .sc-project__meta, .sc-project--featured:not(:has(.sc-project__media)) .sc-project__period { color: #c9d7ee; }
.sc-project--featured:not(:has(.sc-project__media)) .sc-project__meta svg { color: var(--sc-mint, #6abfae); }
.sc-project__top { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; }
.sc-project__period { font-size: .85rem; font-weight: 700; color: var(--sc-muted, #55607a); }
.sc-project__title { margin: 0; font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem); }
.sc-project__title a { color: var(--sc-navy, #214080); text-decoration: none; }
.sc-project__title a:hover { text-decoration: underline; }
.sc-project__excerpt { margin: 0; color: var(--sc-muted, #55607a); }
.sc-project__meta { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; font-size: .9rem; color: var(--sc-muted, #55607a); }
.sc-project__meta li { display: flex; gap: .35rem; align-items: center; }
.sc-project__meta svg { color: var(--sc-teal, #28939b); }
.sc-project .sc-link { margin-top: auto; }
@media (max-width: 781px) { .sc-projects { grid-template-columns: 1fr; } .sc-project--featured { flex-direction: column; } }

.sc-archive { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.sc-archive__item { display: flex; align-items: center; gap: 1.25rem; background: var(--sc-surface, #fff); border-radius: var(--sc-radius, 1rem); padding: 1rem 1.3rem; }
.sc-archive__year { font: 800 1.6rem/1 var(--sc-font-head, system-ui); color: #b9c6dc; min-width: 4.2rem; }
.sc-archive__body { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.sc-archive__title { font-weight: 700; color: var(--sc-ink, #1f2a3d); text-decoration: none; }
.sc-archive__title:hover { color: var(--sc-blue, #1b5692); text-decoration: underline; }
.sc-archive__excerpt { font-size: .88rem; color: var(--sc-muted, #55607a); }
@media (max-width: 560px) { .sc-archive__item { flex-wrap: wrap; gap: .5rem 1rem; } }

/* Rete */
.sc-members { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: 1.25rem; }
.sc-member { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); padding: 1.5rem; display: flex; flex-direction: column; gap: .5rem; box-shadow: 0 2px 16px rgba(33,64,128,.06); }
.sc-member__icon { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: 1rem; background: var(--sc-mint-soft, #e3f3ef); color: var(--sc-teal-dark, #17666c); margin-bottom: .5rem; }
.sc-member__icon svg { width: 1.4rem; height: 1.4rem; }
.sc-member__logo img { max-height: 3.5rem; width: auto; margin-bottom: .5rem; }
.sc-member__name { margin: 0; font-size: 1.15rem; }
.sc-member__type { margin: 0; font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--sc-teal-dark, #17666c); }
.sc-member__desc { margin: 0; font-size: .93rem; color: var(--sc-muted, #55607a); }
.sc-member__foot { margin-top: auto; padding-top: .9rem; border-top: 1px solid rgba(33,64,128,.08); display: flex; justify-content: space-between; align-items: center; gap: .75rem; font-size: .85rem; color: var(--sc-muted, #55607a); }
.sc-member__foot span { display: inline-flex; gap: .3rem; align-items: center; }
.sc-member__foot a { display: inline-flex; gap: .3rem; align-items: center; font-weight: 700; color: var(--sc-blue, #1b5692); text-decoration: none; }

/* Consulenza anonima */
.sc-btn--ghost { background: var(--sc-surface-high, #dee3ea); color: var(--sc-navy, #214080); }
.sc-btn--ghost:hover { background: #cfd7e3; }
.sc-chat { position: relative; background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); padding: clamp(1.25rem, 3vw, 2.25rem); box-shadow: 0 8px 32px rgba(33,64,128,.08); }
.sc-chat__exit { position: sticky; top: 90px; z-index: 5; display: flex; width: fit-content; align-items: center; gap: .4rem; background: #b3261e; color: #fff; font-weight: 800; font-size: .9rem; padding: .6rem 1rem; border-radius: 999px; text-decoration: none; margin: 0 0 .75rem auto; box-shadow: 0 6px 16px rgba(179,38,30,.3); }
.sc-chat__exit:hover, .sc-chat__exit:focus-visible { background: #8a1a14; color: #fff; }
.sc-chat__status { display: flex; align-items: flex-start; gap: .6rem; background: var(--sc-surface-low, #edf1f7); border-radius: var(--sc-radius, 1rem); padding: .8rem 1rem; }
.sc-chat__status p { margin: 0; }
.sc-chat__dot { width: .8rem; height: .8rem; border-radius: 50%; background: #9aa3b5; margin-top: .45rem; flex: none; }
.sc-chat__status[data-online="1"] { background: var(--sc-mint-soft, #e3f3ef); }
.sc-chat__status[data-online="1"] .sc-chat__dot { background: #1e8e5a; box-shadow: 0 0 0 4px rgba(30,142,90,.2); }
.sc-chat__hours { display: flex; gap: .45rem; align-items: center; color: var(--sc-muted, #55607a); font-size: .92rem; margin: .75rem 0 0; }
.sc-chat__intro { margin-top: 1.25rem; clear: both; }
.sc-chat__choices { display: flex; flex-wrap: wrap; gap: .75rem; }
.sc-chat__resume { margin-top: 1.25rem; }
.sc-chat__resume label { display: block; font-weight: 700; margin-bottom: .35rem; }
.sc-chat__resume-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.sc-chat__resume input { flex: 1; min-width: 14rem; font: 700 1.05rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; padding: .85rem 1rem; border-radius: .75rem; border: 1.5px solid transparent; background: var(--sc-surface-low, #edf1f7); text-transform: uppercase; }
.sc-chat__resume input:focus { outline: none; border-color: var(--sc-blue, #1b5692); background: #fff; }
.sc-chat__conv { margin-top: 1.25rem; clear: both; }
.sc-chat__code { background: var(--sc-orange-soft, #fdeedd); border-radius: var(--sc-radius, 1rem); padding: 1rem 1.2rem; margin-bottom: 1rem; }
.sc-chat__code-label { margin: 0; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--sc-orange-dark, #9a4f0b); }
.sc-chat__code-value { font: 800 clamp(1.2rem, 1rem + 1.4vw, 1.7rem)/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; color: var(--sc-navy, #214080); margin: .2rem 0 .35rem; overflow-wrap: anywhere; }
.sc-chat__code-help { margin: 0 0 .4rem; font-size: .9rem; }
.sc-chat__copy { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; font-weight: 700; }
.sc-chat__log { list-style: none; margin: 0 0 1rem; padding: .5rem; display: flex; flex-direction: column; gap: .6rem; max-height: 26rem; overflow-y: auto; background: var(--sc-bg, #f4f7fc); border-radius: var(--sc-radius, 1rem); min-height: 6rem; }
.sc-chat__msg { max-width: 85%; padding: .7rem 1rem; border-radius: 1rem; background: #fff; box-shadow: 0 1px 4px rgba(33,64,128,.06); }
.sc-chat__msg p { margin: .2rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.sc-chat__msg--me { align-self: flex-end; background: var(--sc-blue, #1b5692); color: #fff; border-bottom-right-radius: .3rem; }
.sc-chat__msg--me .sc-chat__who { color: #cfe0f5; }
.sc-chat__msg--op { border-bottom-left-radius: .3rem; }
.sc-chat__who { font-size: .75rem; font-weight: 700; color: var(--sc-muted, #55607a); }
.sc-chat__form textarea { width: 100%; box-sizing: border-box; font: inherit; padding: .85rem 1rem; border-radius: .75rem; border: 1.5px solid transparent; background: var(--sc-surface-low, #edf1f7); resize: vertical; }
.sc-chat__form textarea:focus { outline: none; border-color: var(--sc-blue, #1b5692); background: #fff; }
.sc-chat__form-row { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-top: .6rem; flex-wrap: wrap; }
.sc-chat__forget { background: none; border: 0; color: #b3261e; font: inherit; font-size: .9rem; font-weight: 700; cursor: pointer; padding: .4rem 0; text-decoration: underline; }
.sc-chat__err { color: #b3261e; font-weight: 700; margin: .5rem 0 0; }
.sc-chat__safety { display: flex; gap: .5rem; align-items: flex-start; font-size: .85rem; color: var(--sc-muted, #55607a); margin: 1.25rem 0 0; clear: both; }
.sc-chat__safety svg { color: var(--sc-teal, #28939b); margin-top: .15rem; }

/* Forum */
.sc-forums { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: 1.25rem; }
.sc-forum { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); padding: 1.6rem; display: flex; flex-direction: column; gap: .6rem; align-items: flex-start; box-shadow: 0 2px 16px rgba(33,64,128,.06); }
.sc-forum__icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 1rem; background: var(--sc-mint-soft, #e3f3ef); color: var(--sc-teal-dark, #17666c); }
.sc-forum--operatori .sc-forum__icon { background: rgba(27,86,146,.1); color: var(--sc-blue, #1b5692); }
.sc-forum--soci .sc-forum__icon { background: rgba(33,64,128,.1); color: var(--sc-navy, #214080); }
.sc-forum__icon svg { width: 1.4rem; height: 1.4rem; }
.sc-forum__name { margin: .2rem 0 0; font-size: 1.25rem; }
.sc-forum__desc, .sc-forum__who, .sc-forum__count, .sc-forum__denied { margin: 0; font-size: .93rem; color: var(--sc-muted, #55607a); }
.sc-forum__count { font-weight: 700; }
.sc-forum__actions { margin-top: auto; padding-top: .6rem; display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.sc-newsletter { max-width: 40rem; }

/* Eventi */
.sc-filter ul { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.sc-filter a { display: inline-block; padding: .5rem 1rem; border-radius: 999px; background: var(--sc-surface, #fff); color: var(--sc-navy, #214080); font-weight: 700; font-size: .92rem; text-decoration: none; box-shadow: 0 1px 6px rgba(33,64,128,.08); }
.sc-filter a:hover { background: var(--sc-mint-soft, #e3f3ef); }
.sc-filter a.is-current { background: var(--sc-navy, #214080); color: #fff; }
.sc-events-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
@media (max-width: 960px) { .sc-events-layout { grid-template-columns: 1fr; } }
.sc-events-next h3 { margin: 0 0 1rem; font-size: 1.2rem; }
.sc-cal { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); padding: clamp(.75rem, 2vw, 1.5rem); box-shadow: 0 8px 32px rgba(33,64,128,.07); scroll-margin-top: 110px; }
.sc-cal__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .75rem; }
.sc-cal__title { margin: 0; font-size: 1.25rem; }
.sc-cal__nav { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--sc-surface-low, #edf1f7); color: var(--sc-navy, #214080); font-weight: 800; text-decoration: none; }
.sc-cal__nav:hover { background: var(--sc-mint-soft, #e3f3ef); }
.sc-cal__grid { width: 100%; border-collapse: separate; border-spacing: 4px; table-layout: fixed; }
.sc-cal__grid th { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--sc-muted, #55607a); padding: .3rem 0; }
.sc-cal__grid td { vertical-align: top; height: 5.2rem; background: var(--sc-bg, #f4f7fc); border-radius: .6rem; padding: .3rem; overflow: hidden; }
.sc-cal__grid td.is-empty { background: transparent; }
.sc-cal__grid td.is-today { box-shadow: inset 0 0 0 2px var(--sc-orange, #f8a65c); }
.sc-cal__grid td.has-events { background: #fff; box-shadow: 0 1px 6px rgba(33,64,128,.08); }
.sc-cal__grid td.is-today.has-events { box-shadow: inset 0 0 0 2px var(--sc-orange, #f8a65c), 0 1px 6px rgba(33,64,128,.08); }
.sc-cal__num { display: block; font-weight: 800; font-size: .85rem; color: var(--sc-ink, #1f2a3d); }
.sc-cal__ev { display: block; margin-top: .2rem; font-size: .72rem; line-height: 1.25; font-weight: 700; padding: .15rem .3rem; border-radius: .35rem; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: rgba(33,64,128,.1); color: var(--sc-navy, #214080); }
.sc-cal__ev--soci { background: var(--sc-mint-soft, #e3f3ef); color: var(--sc-teal-dark, #17666c); }
.sc-cal__ev--territorio { background: var(--sc-orange-soft, #fdeedd); color: var(--sc-orange-dark, #9a4f0b); }
.sc-cal__more { font-size: .72rem; color: var(--sc-muted, #55607a); }
@media (max-width: 560px) { .sc-cal__grid td { height: 3.2rem; } .sc-cal__ev { font-size: 0; height: .45rem; padding: 0; margin-top: .25rem; } }
.sc-events { display: grid; gap: .75rem; }
.sc-event { display: flex; gap: 1rem; background: var(--sc-surface, #fff); border-radius: var(--sc-radius, 1rem); padding: 1rem 1.1rem; box-shadow: 0 2px 12px rgba(33,64,128,.05); }
.sc-event__date { flex: none; width: 3.6rem; text-align: center; background: rgba(33,64,128,.08); color: var(--sc-navy, #214080); border-radius: .8rem; padding: .45rem 0; align-self: flex-start; }
.sc-event--soci .sc-event__date { background: var(--sc-mint-soft, #e3f3ef); color: var(--sc-teal-dark, #17666c); }
.sc-event--territorio .sc-event__date { background: var(--sc-orange-soft, #fdeedd); color: var(--sc-orange-dark, #9a4f0b); }
.sc-event__day { display: block; font: 800 1.5rem/1 var(--sc-font-head, system-ui); }
.sc-event__month { display: block; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; margin-top: .15rem; }
.sc-event__body { min-width: 0; display: flex; flex-direction: column; gap: .35rem; align-items: flex-start; }
.sc-event__title { margin: 0; font-size: 1.05rem; }
.sc-event__title a { color: var(--sc-ink, #1f2a3d); text-decoration: none; }
.sc-event__title a:hover { color: var(--sc-blue, #1b5692); text-decoration: underline; }
.sc-event__meta { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; font-size: .86rem; color: var(--sc-muted, #55607a); }
.sc-event__meta li { display: flex; gap: .35rem; align-items: center; }
.sc-event__meta svg { width: 1rem; height: 1rem; color: var(--sc-teal, #28939b); }
.sc-event__excerpt { margin: 0; font-size: .9rem; color: var(--sc-muted, #55607a); }
.sc-chip--consorzio { background: rgba(33,64,128,.1); color: var(--sc-navy, #214080); }
.sc-chip--soci { background: var(--sc-mint-soft, #e3f3ef); color: var(--sc-teal-dark, #17666c); }
.sc-chip--territorio { background: var(--sc-orange-soft, #fdeedd); color: var(--sc-orange-dark, #9a4f0b); }
.sc-event-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: 0 0 2rem; }
.sc-archive__heading { font-size: 1.1rem; margin: 1.5rem 0 .6rem; }
.sc-archive__year--sm { font-size: 1rem; min-width: 4.5rem; color: var(--sc-muted, #55607a); }

/* Rassegna stampa */
.sc-press-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; align-items: start; }
@media (max-width: 860px) { .sc-press-cols { grid-template-columns: 1fr; } }
.sc-press-col { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); padding: clamp(1.1rem, 2.5vw, 1.8rem); box-shadow: 0 2px 16px rgba(33,64,128,.06); }
.sc-press-col__title { display: flex; align-items: center; gap: .5rem; margin: 0 0 .5rem; font-size: 1.25rem; }
.sc-press-col__title svg { color: var(--sc-teal, #28939b); }
.sc-press { list-style: none; margin: 0; padding: 0; }
.sc-press__day { font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--sc-orange-dark, #9a4f0b); margin: 1.1rem 0 .3rem; }
.sc-press__item { padding: .8rem 0; border-bottom: 1px solid rgba(33,64,128,.08); }
.sc-press__item:last-child { border-bottom: 0; }
.sc-press__title { margin: 0 0 .25rem; font-size: 1.02rem; line-height: 1.35; color: var(--sc-ink, #1f2a3d); }
.sc-press__text { margin: 0 0 .35rem; font-size: .93rem; color: var(--sc-muted, #55607a); }
.sc-press__src { margin: 0; display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; font-size: .82rem; }
.sc-press__src span { font-weight: 800; color: var(--sc-teal-dark, #17666c); }
.sc-press__src a { font-weight: 700; color: var(--sc-blue, #1b5692); }
.sc-press--compact { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
.sc-press--compact .sc-press__item { background: var(--sc-surface, #fff); border-radius: var(--sc-radius, 1rem); padding: 1rem 1.1rem; border: 0; box-shadow: 0 2px 12px rgba(33,64,128,.05); display: flex; flex-direction: column; justify-content: space-between; gap: .6rem; }
.sc-press-note { font-size: .82rem; color: var(--sc-muted, #55607a); margin-top: 1rem; }

/* Indirizzi email su una riga sola */
.sc-facts > div.is-wide { grid-column: 1 / -1; }
.sc-facts a[href^="mailto:"], .sc-place__item a[href^="mailto:"], .sc-related a[href^="mailto:"] { white-space: nowrap; }
.sc-place__item li { overflow-wrap: normal; }
@media (max-width: 360px) { .sc-facts a[href^="mailto:"], .sc-place__item a[href^="mailto:"] { font-size: .85rem; } }

/* ---------- Quanto facciamo ---------- */
.sc-numbers { display: grid; gap: 1.5rem; }
.sc-numbers__year { margin: 0; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; color: var(--sc-teal, #28939b); }
.sc-numbers__group { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); padding: clamp(1.25rem, 3vw, 2rem); box-shadow: 0 8px 32px rgba(33,64,128,.06); }
.sc-numbers__title { display: flex; align-items: center; gap: .6rem; margin: 0 0 1rem; font-size: 1.2rem; color: var(--sc-navy, #214080); }
.sc-numbers__title svg { width: 1.5rem; height: 1.5rem; color: var(--sc-teal, #28939b); flex: none; }
.sc-numbers__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); gap: 1rem 1.5rem; }
.sc-num { display: flex; flex-direction: column; gap: .25rem; padding-left: 1rem; border-left: 3px solid var(--sc-mint, #6abfae); }
.sc-num__v { font-size: clamp(1.9rem, 1.4rem + 1.6vw, 2.6rem); font-weight: 800; line-height: 1.05; color: var(--sc-blue, #1b5692); font-variant-numeric: tabular-nums; }
.sc-num__l { color: var(--sc-muted, #55607a); font-size: .95rem; line-height: 1.4; }
.sc-numbers__note { margin: 0; font-size: .9rem; color: var(--sc-muted, #55607a); }

/* ---------- Trasparenza: contributi ---------- */
.sc-contrib__year h3 { margin: 1.25rem 0 .75rem; font-size: 1.1rem; }
.sc-table-wrap { overflow-x: auto; }
.sc-table { width: 100%; border-collapse: collapse; background: var(--sc-surface, #fff); border-radius: var(--sc-radius, 1rem); overflow: hidden; font-size: .95rem; }
.sc-table th, .sc-table td { text-align: left; padding: .75rem 1rem; border-bottom: 1px solid rgba(33,64,128,.08); vertical-align: top; }
.sc-table thead th { background: var(--sc-surface-low, #edf1f7); font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--sc-muted, #55607a); }
.sc-table .is-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sc-table tfoot th, .sc-table tfoot td { font-weight: 800; border-bottom: 0; }
.sc-table small { color: var(--sc-muted, #55607a); }
@media (max-width: 640px) {
	.sc-table thead { display: none; }
	.sc-table, .sc-table tbody, .sc-table tr, .sc-table td, .sc-table tfoot { display: block; width: 100%; }
	.sc-table tr { border-bottom: 1px solid rgba(33,64,128,.12); padding: .5rem 0; }
	.sc-table td { border: 0; padding: .3rem 1rem; }
	.sc-table td::before { content: attr(data-label); display: block; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--sc-muted, #55607a); }
	.sc-table .is-num { text-align: left; }
	.sc-table tfoot tr { display: flex; justify-content: space-between; padding: .75rem 1rem; }
	.sc-table tfoot th, .sc-table tfoot td { display: inline; width: auto; padding: 0; }
}
.sc-nowrap a, a.sc-nowrap { white-space: nowrap; }
.sc-related__meta svg { width: 1rem; height: 1rem; }
.is-style-sc-band .sc-form-wrap { color: var(--sc-ink, #1b2437); }
.is-style-sc-band .sc-form-wrap a:not(.wp-block-button__link) { color: var(--sc-blue, #1b5692); }

/* ---------- Calendario compatto (home) ---------- */
.sc-minical { background: var(--sc-surface, #fff); border-radius: var(--sc-radius-lg, 1.5rem); padding: 1.25rem 1.25rem 1.1rem; box-shadow: 0 2px 16px rgba(33,64,128,.06); }
.sc-minical__head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .5rem; }
.sc-minical__title { margin: 0; font-size: 1.05rem; color: var(--sc-navy, #214080); }
.sc-minical__grid { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: center; font-size: .88rem; }
.sc-minical__grid th { font-size: .72rem; font-weight: 700; color: var(--sc-muted, #55607a); padding: .3rem 0; text-transform: uppercase; }
.sc-minical__grid td { padding: 2px; height: 2.3rem; vertical-align: top; }
.sc-minical__grid td > span, .sc-minical__grid td > a { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; min-height: 2.1rem; border-radius: .6rem; color: var(--sc-ink, #1b2437); text-decoration: none; }
.sc-minical__grid td.has-events > a { background: var(--sc-surface-low, #edf1f7); font-weight: 800; color: var(--sc-navy, #214080); }
.sc-minical__grid td.has-events > a:hover, .sc-minical__grid td.has-events > a:focus-visible { background: rgba(27,86,146,.14); }
.sc-minical__grid td.is-today > span, .sc-minical__grid td.is-today > a { box-shadow: inset 0 0 0 2px var(--sc-blue, #1b5692); }
.sc-minical__dots { display: flex; gap: 2px; height: 5px; margin-top: 1px; }
.sc-minical__dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--sc-navy, #214080); flex: none; }
.sc-minical__dot--soci { background: var(--sc-teal, #28939b); }
.sc-minical__dot--territorio { background: var(--sc-orange, #f8a65c); }
.sc-minical__legend { list-style: none; margin: .6rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem .9rem; font-size: .78rem; color: var(--sc-muted, #55607a); }
.sc-minical__legend li { display: flex; align-items: center; gap: .35rem; }
.sc-minical__subtitle { margin: 1rem 0 .5rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--sc-muted, #55607a); }
.sc-minical__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.sc-minical__list li { display: flex; gap: .7rem; align-items: center; }
.sc-minical__list a { font-weight: 700; font-size: .92rem; line-height: 1.3; color: var(--sc-navy, #214080); text-decoration: none; }
.sc-minical__list a:hover { text-decoration: underline; }
.sc-minical__date { flex: none; width: 2.6rem; text-align: center; background: var(--sc-orange-soft, #fdeedd); color: var(--sc-orange-dark, #9a4f0b); border-radius: .6rem; padding: .25rem 0; font-size: .7rem; text-transform: uppercase; line-height: 1.1; }
.sc-minical__date b { display: block; font-size: 1.05rem; }
.sc-minical__all { margin: .9rem 0 0; font-size: .9rem; font-weight: 700; }
.sct-home-news .sc-news { grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
