:root{--ink:#173e38;--brand:#164f49;--deep:#103e38;--accent:#b7593d;--gold:#e7cda2;--tint:#e8efeb;--paper:#f7f7f2;--muted:#6c7e76;--border:#e0e6de;--radius:20px;--sidebar:314px;--hero:url('caritas-hero.png')}
html[data-brand=diocesi]{--ink:#203c52;--brand:#163650;--deep:#102b42;--accent:#9b7132;--gold:#ebd5a4;--tint:#e9eef2;--muted:#6b7b87;--border:#dde4e8;--hero:url('diocesi-hero.png')}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px;line-height:1.55}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:disabled{opacity:.55;cursor:wait}svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);gap:28px;margin:24px;transition:grid-template-columns .5s ease}.shell.panel-open{grid-template-columns:460px minmax(0,1fr)}.sidebar{background:linear-gradient(155deg,var(--brand),var(--deep));color:#fff;border-radius:24px;padding:30px 24px;align-self:start;height:calc(100dvh - 48px);min-height:0;display:flex;flex-direction:column;position:sticky;top:24px}.hero-brand{display:flex;align-items:center;gap:13px;font-weight:650;letter-spacing:-.3px;font-size:18px}.brand-symbol{font-family:Georgia,serif;font-size:42px;line-height:1;color:var(--gold);font-weight:400}.hero-brand small{display:block;font-size:10px;font-weight:450;letter-spacing:1.2px;opacity:.8;margin-top:4px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.2px}h1,h2,h3,p{margin:0}.side-scroll{min-height:0;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;margin-top:14px;container-type:inline-size}.side-section{padding:0}.side-section:first-child{padding-top:0}.side-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;width:100%;border:0;background:transparent;color:#f3e7a6;padding:0;text-align:left}.side-title h3{font:700 14px/24px system-ui,sans-serif}.side-title svg{width:17px}.side-all{border:0;background:none;color:#d0dfda;font-size:10px;padding:3px 0}.side-empty{display:block;border:0;border-radius:8px;text-align:left;width:100%;background:#ffffff09;color:#c7d7d1;padding:12px;font-size:11px;margin-top:12px}.side-empty strong{display:block;font-size:11px;color:#fff;margin-bottom:4px}.side-empty span{display:block}.side-notice{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #ffffff20;background:none;color:#fff;padding:11px 0}.side-notice:last-child{border:0}.side-notice strong{display:block;font-size:12px;font-weight:550}.side-notice span{display:block;font-size:10px;color:#c7d7d1;margin-top:3px}.side-demo-label{color:var(--gold);font-size:9px;letter-spacing:.5px}.calendar-heading{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:2px}.calendar-heading button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;border:0;background:transparent;color:#fff;width:28px;height:24px;padding:0;font-size:22px;cursor:pointer}.calendar-heading strong{font:700 14px/24px system-ui,sans-serif;text-transform:capitalize;letter-spacing:.1px}.week,#calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:3px}.week{margin:0;color:var(--side-muted);font:400 11px/14px system-ui,sans-serif}#calendar-days button{height:calc((100cqw - 30px)/9.1 - 2px);min-width:0;border:1px solid transparent;border-radius:6px;padding:0;background:transparent;color:#fff;font:500 13px/1 system-ui,sans-serif;cursor:pointer}#calendar-days button:hover{background:#ffffff14;border-color:#bfe4ca}.workspace{min-width:0}.hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:182px;min-height:182px;overflow:hidden;border-radius:24px;color:#fff;background:var(--brand);padding:16px 32px 20px}.hero-photo,.hero-shade{position:absolute;inset:0;pointer-events:none}.hero-photo{background:var(--hero) center/cover}.hero-shade{background:linear-gradient(90deg,var(--deep) 0%,color-mix(in srgb,var(--deep) 84%,transparent) 30%,#0000 88%),linear-gradient(0deg,#0009,#0000 50%)}.hero-top,.hero-copy,.desktop-nav{position:relative}.hero-top{display:flex;align-items:center;justify-content:space-between}.hero-brand{font-size:20px}.hero-brand .brand-symbol{font-size:40px}.hero-account{background:#ffffff18;border:1px solid #ffffff50;border-radius:9px;color:#fff;min-height:37px;display:flex;align-items:center;gap:7px;padding:7px 10px;font-size:11px;white-space:nowrap}.hero-account svg{width:18px}.hero-copy{margin:0}.hero h1{font:clamp(20px,1.9vw,28px)/1.12 Georgia,serif;letter-spacing:-.6px;margin:0}.hero-break{display:none}.desktop-nav{display:flex;gap:5px;align-items:center;flex-wrap:wrap;padding-bottom:0}.desktop-nav button{background:#ffffff12;border:1px solid #ffffff20;border-radius:7px;color:white;font-size:11px;padding:8px 11px;white-space:nowrap}.desktop-nav button.active{background:#f8f5ec;color:var(--ink);border-color:#f8f5ec}.desktop-nav button:hover{background:#ffffff35}.desktop-nav button.active:hover{background:#fff}.welcome-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:30px 32px;position:relative;overflow:hidden}.welcome-card .eyebrow{color:var(--accent)}.welcome-card h2{font:35px/1.15 Georgia,serif;letter-spacing:-.9px;margin:10px 0 13px;max-width:620px}.welcome-card>p{font-size:14px;color:var(--muted);max-width:560px;line-height:1.75}.intro-layout{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.intro-seal{width:105px;height:105px;border:1px solid var(--border);border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--accent);transform:rotate(-8deg);font:italic 19px/1.1 Georgia,serif}.intro-seal svg{margin:0 auto 6px;width:29px;height:29px}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{background:var(--brand);color:white;padding:12px 18px;border:1px solid var(--brand);border-radius:9px;font-size:12px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:12px}.btn.secondary{color:var(--brand);background:transparent;border-color:var(--border)}.btn svg{width:17px;height:17px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:28px 2px 14px}.section-heading h2{font:24px Georgia,serif;letter-spacing:-.5px}.section-heading p{font-size:11px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:23px;display:flex;flex-direction:column;align-items:flex-start;position:relative;min-height:225px;transition:transform .2s,box-shadow .2s;text-align:left}.card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #173e3808}.card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:var(--accent);background:#f6f0e8;margin-bottom:22px}.card h3{font:22px/1.16 Georgia,serif;letter-spacing:-.4px;margin-bottom:10px}.card p{font-size:12px;color:var(--muted);line-height:1.75;margin-bottom:18px}.card-footer{display:flex;justify-content:space-between;width:100%;margin-top:auto;align-items:center;font-size:11px;font-weight:550}.card-footer span:last-child{display:grid;place-items:center;width:27px;height:27px;background:var(--tint);border-radius:50%;font-size:16px}.shared-label{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:500;color:var(--muted);letter-spacing:.5px}.lower-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;margin-top:24px}.feature{border-radius:18px;min-height:230px;position:relative;overflow:hidden;background:var(--brand);color:#fff;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.feature:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000c,#0001),var(--hero) 70%/cover;opacity:.85}.feature>*{position:relative}.feature .eyebrow{font-size:9px;color:#f1ddba}.feature h3{font:28px/1.1 Georgia,serif;margin:8px 0 13px}.feature button{color:#fff;background:transparent;border:0;font-size:11px;padding:0}.notice-card{border:1px solid var(--border);border-radius:18px;padding:25px;background:#eeefe6}.notice-card .eyebrow{color:var(--accent)}.notice-card h3{font:24px Georgia,serif;margin:12px 0}.notice-card p{font-size:12px;color:var(--muted)}.notice-card button{margin-top:20px}.section-intro{margin-bottom:23px}.section-intro .eyebrow{color:var(--accent)}.section-intro h2{font:36px/1.15 Georgia,serif;margin:8px 0 12px;letter-spacing:-1px}.section-intro p{max-width:630px;color:var(--muted);font-size:14px}.section-intro .shared-label{margin-top:15px}.list-block{margin-top:22px;border:1px solid var(--border);background:#fff;border-radius:15px;overflow:hidden}.list-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border:0;border-bottom:1px solid var(--border);width:100%;padding:19px 23px;background:transparent;text-align:left}.list-row:last-child{border-bottom:0}.list-row>span:first-child{display:flex;gap:15px;align-items:center}.list-row strong{font-size:13px;font-weight:600}.list-row small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.list-row svg{color:var(--accent)}.pill{display:inline-block;padding:3px 8px;border-radius:20px;background:var(--tint);color:var(--brand);font-size:10px}.note{font-size:12px;color:var(--muted);background:var(--tint);border-radius:10px;padding:15px;margin-top:20px}.mobile-nav{display:none}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}
#drawer{position:fixed;inset:24px auto 24px 24px;width:460px;max-width:calc(100vw - 48px);max-height:none;height:calc(100dvh - 48px);padding:0;margin:0;background:white;border:1px solid var(--border);border-radius:24px;box-shadow:8px 12px 50px #132e2822;color:var(--ink);overflow:hidden}#drawer[open]{display:flex;flex-direction:column;animation:drawer-in .4s ease}#drawer::backdrop{background:transparent}.drawer-heading{background:var(--tint);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:27px 25px;border-bottom:1px solid var(--border)}.drawer-heading .eyebrow{color:var(--muted);font-size:8px}.drawer-heading h2{font:27px/1.2 Georgia,serif;margin-top:7px}.close{border:1px solid #aabbaf66;border-radius:50%;width:32px;height:32px;background:transparent;font-size:23px;line-height:1;flex-shrink:0}#drawer-body{padding:25px;overflow:auto;flex:1;overscroll-behavior:contain}#drawer-body p{font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:18px}#drawer-body h3{font:23px Georgia,serif;margin-bottom:15px}.form{display:grid;gap:17px;margin-top:20px}.form label{font-size:12px;font-weight:600;display:grid;gap:7px}.form input,.form textarea,.form select{width:100%;border:1px solid var(--border);border-radius:8px;background:#fcfcf9;padding:12px;color:var(--ink);font-size:14px;min-width:0}.form textarea{min-height:130px;resize:vertical}.form .check{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-size:11px;color:var(--muted)}.form .check input{width:17px;min-width:17px;margin-top:3px}.form .btn{width:100%;margin-top:5px}.form-error{color:#a23225;font-size:12px;min-height:0}.form-hint{font-size:11px;color:var(--muted)}.tabs{display:flex;gap:7px;background:var(--paper);padding:4px;border-radius:9px;margin-bottom:22px}.tabs button{flex:1;border:0;background:transparent;padding:9px;border-radius:6px;font-size:12px}.tabs button.active{background:white;box-shadow:0 1px 5px #0001}.entry{padding:17px;border:1px solid var(--border);border-radius:12px;margin:14px 0}.entry h3{font-size:18px!important}.entry .meta{font-size:10px;color:var(--muted);margin-bottom:8px}.entry p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:7px!important}.empty{text-align:center;padding:35px 10px}.empty svg{width:36px;height:36px;color:var(--accent);margin-bottom:15px}.empty h3{font-size:23px}.option{display:flex;gap:10px;align-items:center;margin:12px 0;border:1px solid var(--border);padding:13px;border-radius:9px;font-size:13px}.option input{accent-color:var(--brand)}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:var(--deep);color:white;padding:14px 22px;border-radius:12px;font-size:13px;box-shadow:0 6px 30px #0002;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}@keyframes drawer-in{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1600px){.shell{max-width:1800px;margin:28px auto;padding:0 28px;--sidebar:334px}.sidebar{top:28px;height:calc(100dvh - 56px)}.welcome-card{padding:38px}.card{min-height:245px}#drawer{left:max(28px,calc((100vw - 1744px)/2))}}
@media(max-width:1200px){.shell{gap:20px;margin:20px}.sidebar{padding:25px 19px;top:20px;height:calc(100dvh - 40px)}.hero{padding:16px 24px 20px}.desktop-nav{gap:4px}.desktop-nav button{font-size:10px;padding:7px 8px}.card{padding:19px}.card h3{font-size:21px}.intro-seal{display:none}.shell.panel-open{grid-template-columns:400px minmax(0,1fr)}#drawer{left:20px;top:20px;bottom:20px;width:400px;height:calc(100dvh - 40px)}.panel-open .cards{grid-template-columns:1fr}.panel-open .card{min-height:auto}.panel-open .lower-grid{grid-template-columns:1fr}}
@media(max-width:950px){.shell{gap:18px;margin:16px}.sidebar{padding:23px 16px;top:16px;height:calc(100dvh - 32px)}.hero-brand{font-size:17px}.cards{grid-template-columns:1fr}.card{min-height:0;display:grid;grid-template-columns:42px 1fr;column-gap:17px;padding:20px}.card-icon{grid-row:1/4;margin:0}.card h3{font-size:23px}.card p{margin-bottom:10px}.card-footer{grid-column:2}.lower-grid{grid-template-columns:1fr}.welcome-card{padding:25px}.welcome-card h2{font-size:30px}.shell.panel-open{grid-template-columns:var(--sidebar) minmax(0,1fr)}#drawer::backdrop{background:#102b4230;backdrop-filter:blur(2px)}}
@media(max-width:700px){body{padding-bottom:calc(79px + env(safe-area-inset-bottom))}.shell{display:block;margin:0}.sidebar{display:none}.hero{display:block;height:auto;border-radius:0 0 24px 24px;padding:24px 22px 26px;min-height:285px}.hero-top{align-items:center}.hero-brand{font-size:20px}.hero-brand small{font-size:9px}.hero-shade{background:linear-gradient(90deg,color-mix(in srgb,var(--deep) 94%,transparent),color-mix(in srgb,var(--deep) 35%,transparent)),linear-gradient(0deg,#0004,transparent)}.hero-photo{background-position:65% center}.hero-copy{margin:36px 0 0}.hero h1{font-size:34px;line-height:1.1;margin-top:10px}.hero-break{display:block}.desktop-nav{display:none}main{padding:0 18px}.welcome-card{padding:23px;border-radius:16px}.welcome-card h2{font-size:28px}.welcome-card>p,.welcome-card p{font-size:13px}.button-row{gap:8px;margin-top:18px}.btn{padding:12px 13px;font-size:12px}.section-heading{margin-top:24px;align-items:flex-end}.section-heading h2{font-size:23px}.section-heading p{font-size:10px;max-width:95px;text-align:right}.cards{gap:11px}.card{padding:20px;border-radius:14px}.card h3{font-size:24px}.card p{font-size:12px}.card-footer{font-size:11px}.lower-grid{gap:15px}.feature{min-height:240px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fffefb;border-top:1px solid var(--border);z-index:5;padding:7px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -4px 22px #193c3610}.mobile-nav button{border:0;background:none;padding:5px 1px;color:var(--muted);font-size:9px;line-height:1.25;display:flex;align-items:center;flex-direction:column;gap:5px;min-height:51px}.mobile-nav button svg{height:21px;width:21px}.mobile-nav button.active{color:var(--brand);font-weight:650}.mobile-nav button.active svg{background:var(--tint);border-radius:6px;box-shadow:0 0 0 5px var(--tint)}.mobile-nav button>span{max-width:80px}#drawer{inset:0;width:100%;height:100dvh;max-width:100%;border:0;border-radius:0}#drawer-body{padding:24px 22px calc(30px + env(safe-area-inset-bottom))}.drawer-heading{padding:22px}.drawer-heading h2{font-size:27px}#toast{bottom:90px;width:calc(100% - 40px);text-align:center}.section-intro{padding:7px 2px 0}.section-intro h2{font-size:34px}.section-intro p{font-size:13px}.list-row{padding:17px}.intro-layout{display:block}.shared-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.demo-board{margin-top:28px}.demo-board-intro{font-size:12px;color:var(--muted);margin:0 2px 18px}.demo-board .cards{row-gap:16px}.demo-author{margin-top:16px}.demo-board .section-heading{flex-wrap:wrap}.demo-board .card{min-height:230px}

@media(min-width:701px){.workspace{height:calc(100dvh - 48px);display:flex;flex-direction:column}.hero{flex-shrink:0}.workspace>main{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin-top:20px;padding:20px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);scrollbar-width:thin}.sidebar-news-card img,.sidebar-news-reader-body img{max-width:50%}}
@media(min-width:1600px){.workspace{height:calc(100dvh - 56px)}}
@media(min-width:701px) and (max-width:1200px){.workspace{height:calc(100dvh - 40px)}}
@media(min-width:701px) and (max-width:950px){.workspace{height:calc(100dvh - 32px)}}
@media(max-width:700px){.sidebar-shortcuts{display:none}.reading-entry p{font-size:14px}}

.two-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.post-body{white-space:pre-line;overflow-wrap:anywhere;font-size:14px;line-height:1.8;margin:20px 0}.bot-field{display:none!important}.inline-link{border:0;background:none;color:var(--brand);text-decoration:underline;padding:0;font:inherit}.form .check{flex-wrap:wrap}.form .check .inline-link{display:inline}.list-row small{display:block}.staff-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.staff-layout{display:grid;gap:16px}.staff-box{border:1px solid var(--border);border-radius:12px;padding:18px;overflow-wrap:anywhere}.staff-box h3{font:22px Georgia,serif;margin-bottom:8px}.staff-meta{font-size:12px;color:var(--muted)}.staff-box .button-row{margin-top:12px}.permission-table{border-collapse:collapse;width:100%;font-size:12px}.permission-table th,.permission-table td{padding:10px 5px;border-bottom:1px solid var(--border);text-align:left}.permission-table input{width:18px!important;height:18px}.staff-flags{display:grid;gap:8px}.staff-flags label{display:flex;gap:8px;align-items:center}.staff-flags input{width:18px;height:18px}.staff-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.staff-error{color:#a23225;font-size:13px}.staff-box p{white-space:pre-wrap}.staff-box input,.staff-box textarea{max-width:100%}@media(max-width:700px){.two-cards{grid-template-columns:1fr}.hero-account{font-size:10px;padding:6px}.hero-brand{font-size:17px}.hero-top{gap:8px}.staff-toolbar h2{font-size:25px}}

html[data-brand=caritas] .mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Titolo e separatore comuni sotto le pillole delle sezioni. */
.institution-info,.territory-view,.laboratory-board,.volunteering-board,.prayer-page>.prayer-tab-panel{display:flow-root;margin-top:0}.section-heading.page-heading{margin:14px 2px 12px;padding:0 0 6px;border-bottom:1px solid var(--border);gap:0}.section-heading.page-heading h2{font:24px/1.2 Georgia,serif;letter-spacing:-.5px;margin:0}

.section-toolbar .button-row>.btn{height:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center}

.page-heading-copy{min-width:0;flex:1}.section-heading.page-heading .page-description{margin:3px 0 0;color:var(--muted);font:10px/1.35 Arial,sans-serif;letter-spacing:0;max-width:none;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Home: disegno a matita sullo sfondo, sfumato verso il motto. */
.connect-home{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(390px,48vh,680px);padding:44px 32px;background:#fcfaf6;border-radius:16px;overflow:hidden;container-type:inline-size;--connect-image:url('caritas-connect-pencil.png')}
.connect-home::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--connect-image) right center/cover no-repeat;mask-image:linear-gradient(to right,transparent 12%,#0003 35%,#000 62%)}
.connect-copy{width:54%;min-width:0}
.connect-copy .eyebrow{display:block;color:var(--accent);font-size:9px;letter-spacing:1.7px;margin-bottom:24px}
.connect-copy h2{font:clamp(38px,5.4cqw,86px)/1.05 Georgia,serif;letter-spacing:-1.8px}
.connect-copy h2 em{font-style:normal;color:var(--accent)}
.connect-copy p{max-width:350px;margin-top:24px;color:var(--ink);font-size:14px;line-height:1.75;text-wrap:pretty}
.connect-home+.community-board>.section-heading{margin-top:28px}
@media(min-width:701px) and (max-width:1100px){.connect-home{padding:30px 22px;min-height:350px}.connect-copy{width:60%}.connect-copy h2{font-size:clamp(29px,5.6cqw,50px);letter-spacing:-1px}.connect-copy .eyebrow{font-size:8px;letter-spacing:1px}.connect-copy p{font-size:12px;margin-top:18px}}
@media(max-width:700px){.connect-home{align-items:flex-start;min-height:510px;padding:30px 22px;margin-top:0}.connect-home::before{background-size:auto 85%;background-position:right bottom;mask-image:linear-gradient(to bottom,transparent 12%,#0003 42%,#000 72%);opacity:.75}.connect-copy{width:100%}.connect-copy .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:20px}.connect-copy h2{font-size:clamp(38px,10.3vw,66px);letter-spacing:-1.5px}.connect-copy p{font-size:13px;margin-top:18px;max-width:280px}.connect-home+.community-board>.section-heading{margin-top:25px}}

html[data-brand=diocesi] .connect-home{--connect-image:url('diocesi-connect-pencil.png')}

/* La prima schermata Home occupa lo spazio disponibile sotto il banner. */
@media(min-width:701px){.workspace>main{container-type:size}.connect-home{min-height:100cqh}}
@media(max-width:700px){.mobile-nav{min-height:calc(79px + env(safe-area-inset-bottom))}.connect-home{min-height:max(420px,calc(100svh - 285px - 79px - env(safe-area-inset-bottom)))}}

.connect-home{padding-bottom:100px}
.home-scroll-cue{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;max-width:calc(100% - 32px);padding:9px 18px 6px;border:1px solid #ddd5c6;border-radius:30px;background:#fcfaf6ed;color:var(--ink);font-size:11px;line-height:1.4;white-space:nowrap}
.home-scroll-cue svg{width:22px;height:22px;animation:home-scroll-hint 1.4s ease-in-out 3}
.home-scroll-cue:hover{background:#fff;border-color:var(--accent)}
@keyframes home-scroll-hint{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.home-community{padding:28px 0 8px;scroll-margin-top:20px}
.home-community>h2{font:30px/1.2 Georgia,serif;letter-spacing:-.6px;margin:0 2px 26px}
.home-community-block{margin-bottom:32px}
.home-community-block .section-heading{margin:0 2px 18px;align-items:center;flex-wrap:wrap}
.home-community-block h3{font:24px/1.2 Georgia,serif;letter-spacing:-.4px}
.home-section-link{border:0;background:transparent;padding:5px 0;color:var(--brand);font-size:11px;text-decoration:underline;text-underline-offset:3px}
.home-empty{padding:20px;border:1px solid var(--border);border-radius:12px;font-size:13px;color:var(--muted);line-height:1.7;background:var(--paper)}
@media(max-width:700px){.home-community>h2{font-size:27px}.home-community-block h3{font-size:22px}.home-scroll-cue{font-size:10px}.home-community{scroll-margin-top:16px}}

/* La foto entra nel banner per intero: nessun ritaglio dei volti. */
.hero-photo{inset:0 0 0 auto;aspect-ratio:3/1;max-width:100%;background:var(--hero) right center/contain no-repeat;mask-image:linear-gradient(to right,transparent,#000 28%)}
@media(min-width:701px){.hero-top .hero-account-mobile{display:none}.desktop-nav .hero-account{margin-left:auto;margin-right:0;min-height:0;border-radius:7px;padding:8px 11px;font-size:11px;line-height:1.55;background:#ffffff12;border-color:#ffffff20}.desktop-nav .hero-account svg{width:14px;height:14px}.desktop-nav .hero-account:hover{background:#ffffff35}}
@media(min-width:701px) and (max-width:1200px){.hero{height:auto;min-height:182px;gap:12px}.desktop-nav .hero-account{font-size:10px;padding:7px 8px}}

.sidebar{--side-surface:#2b6258;--side-header:#205147;--side-edge:#7da899;--side-edge-soft:#7da89980;--side-text:#e0eee6;--side-muted:#c8dfd2;--side-selected:#397366;--side-diocese-surface:#386b5d;--side-diocese-text:#e0eee6}
html[data-brand=diocesi] .sidebar{--side-surface:#25466f;--side-header:#1b385c;--side-edge:#6b88a6;--side-edge-soft:#6b88a680;--side-text:#d4e5ed;--side-muted:#c5d5eb;--side-selected:#325781;--side-diocese-surface:#34556e;--side-diocese-text:#d4e7f3}
/* Calendario laterale: geometria e colori ripresi da db-rws/home-sidebar.css. */
.calendar{box-sizing:border-box;width:100%;margin:10px 0 12px;padding:6px;border-radius:8px;background:var(--side-surface);color:#fff}
.calendar-header{margin:-6px -6px 4px;padding:6px 6px 4px;border-radius:8px 8px 0 0;background:var(--side-header);border-bottom:1px solid #ffffff12}
#calendar-days>*{position:relative}
#calendar-days>:not(:nth-child(7n + 1))::before{content:"";position:absolute;top:-2px;bottom:-2px;left:-3px;width:1px;background:#ffffff12;pointer-events:none}
#calendar-days>:nth-child(n + 8)::after{content:"";position:absolute;top:-3px;left:-2px;right:-2px;height:1px;background:#ffffff12;pointer-events:none}
#calendar-days button.has-activity{color:#f3e7a6;font-weight:700}
#calendar-days button[aria-current="date"]:not([aria-pressed="true"]){border-color:#ffffff40}
#calendar-days button[aria-pressed="true"],#calendar-days button[aria-pressed="true"]:hover{background:transparent;border-color:#bfe4ca}
.calendar button:focus-visible{outline-color:#bfe4ca}
.side-selected-divider{position:relative;box-sizing:border-box;width:100%;border-bottom:1px solid #ffffff40;margin:26px 0 20px}
.side-selected-date{position:absolute;right:28px;bottom:0;transform:translateY(50%);display:inline-flex;align-items:center;justify-content:center;gap:4px;max-width:calc(100% - 28px);height:22px;padding:3px 8px;border:1px solid var(--side-edge);border-radius:12px;background:var(--side-surface);color:var(--side-text);font:600 10px/1 system-ui,sans-serif;white-space:nowrap}
.side-selected-date svg{width:12px;height:12px;flex-shrink:0}.side-selected-date time{overflow:hidden;text-overflow:ellipsis}
.side-selected-count{position:absolute;right:0;bottom:0;transform:translateY(50%);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:#466f62;color:#fff;font:600 10px/1 system-ui,sans-serif}
.side-day-group{position:relative;box-sizing:border-box;width:100%;margin:22px 0 0;padding:0;border:0;display:grid;gap:6px;background:transparent}
.side-day-empty{margin:0;padding:10px 8px;border-radius:8px;background:var(--side-surface);color:var(--side-text);font:400 11px/1.35 system-ui,sans-serif}
.side-day-event{position:relative;padding:8px;border:0;border-radius:8px;background:var(--side-surface);color:#f3e7a6;font:400 11px/1.4 system-ui,sans-serif}.side-day-event:last-child{border:0}.side-event-diocese{background:var(--side-diocese-surface);color:var(--side-diocese-text)}
.side-event-meta{display:flex;align-items:center;gap:6px;color:var(--side-text)}.side-event-type{min-width:0;font-size:9px;line-height:1.3;background:#ffffff12;border:1px solid #ffffff1f;border-radius:3px;padding:2px 4px}
.side-event-time{flex-shrink:0;font-size:10px;font-variant-numeric:tabular-nums;background:#ffffff12;border:1px solid #ffffff1f;border-radius:3px;padding:1px 4px;white-space:nowrap}
.side-day-event .side-event-title{margin:4px 0 2px;font:600 12px/1.35 system-ui,sans-serif;color:inherit;overflow-wrap:anywhere}.side-event-parish{margin:0;color:var(--side-text);font-size:9px;overflow-wrap:anywhere}
.side-event-body{display:flex;align-items:flex-start;gap:6px}.side-event-body>div{flex:1;min-width:0}.side-event-menu{flex:0 0 22px;margin-top:5px}.side-event-menu>summary{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #ffffff26;border-radius:50%;background:#ffffff0d;color:var(--side-text);list-style:none;cursor:pointer}.side-event-menu>summary::-webkit-details-marker{display:none}.side-event-menu>summary:hover,.side-event-menu[open]>summary{background:#ffffff20}.side-event-menu svg{width:14px;height:14px;fill:currentColor;stroke:none}.side-event-menu>summary:focus-visible{outline:2px solid #bfe4ca;outline-offset:2px}
.side-event-actions{position:absolute;right:8px;top:calc(100% - 5px);z-index:12;display:grid;min-width:145px;padding:4px;border:1px solid var(--side-edge);border-radius:6px;background:var(--side-header);box-shadow:0 4px 12px #0003;color:var(--side-text)}.side-event-actions button,.side-calendar-retry{border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer}.side-calendar-retry{text-decoration:underline}.side-event-actions button{padding:6px;text-align:left;border-radius:3px;font-size:10px;line-height:1.4}.side-event-actions button:hover,.side-event-actions button:focus-visible{background:var(--side-selected)}

@media(max-width:1050px){.shell{--sidebar:254px}}

.sidebar-welcome{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:14px;flex-shrink:0;margin-bottom:16px}
.sidebar-clock{display:block;width:70px;height:70px;color:#bfe4ca}
.sidebar-clock svg{display:block;width:100%;height:100%;stroke-width:1}
.sidebar-clock .clock-face{stroke:currentColor;fill:none;opacity:.65}.sidebar-clock .clock-ticks{stroke:currentColor;opacity:.8}.sidebar-clock .clock-hour{stroke:#fff;stroke-width:2.5;stroke-linecap:round}.sidebar-clock .clock-minute{stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.sidebar-clock .clock-center{fill:#fff;stroke:none}
.sidebar-welcome-copy{min-width:0}.sidebar-welcome-copy>time{display:block;color:#bfe4ca;font:600 11px/1.35 system-ui,sans-serif;margin-bottom:5px}
.sidebar-welcome-copy p{font:500 13px/1.35 system-ui,sans-serif;color:#fff;margin:0}.sidebar-welcome-copy strong{color:#f3e7a6;font-weight:700}

.side-calendar-filters{display:grid;gap:5px;margin:0 0 2px}
.side-calendar-filter{position:relative;min-width:0}
.side-filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:28px;padding:0 8px;border:1px solid var(--side-edge-soft);border-radius:6px;background:var(--side-surface);color:var(--side-text);font:500 10px/1.3 system-ui,sans-serif;text-align:left;cursor:pointer}
.side-filter-trigger>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-filter-trigger[aria-expanded="true"]{border-color:#bfe4ca}.side-filter-trigger:focus-visible{outline-color:#bfe4ca}
.side-filter-popup{position:absolute;z-index:10;top:calc(100% + 4px);left:0;right:0;padding:4px;border:1px solid var(--side-edge);border-radius:7px;background:var(--side-header);box-shadow:0 5px 16px #06152d40}
.side-filter-popup[hidden]{display:none}.side-filter-options{max-height:min(180px,30dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--side-edge) var(--side-header)}
.side-filter-options>[role="option"]{display:block;width:100%;padding:6px;border:0;border-radius:4px;background:transparent;color:var(--side-text);font:400 10px/1.35 system-ui,sans-serif;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.side-filter-options>[role="option"] span{display:block}.side-filter-options>[role="option"] small{display:block;color:var(--side-muted);font-size:9px}.side-filter-options>[role="option"][aria-selected="true"]{color:#f3e7a6;background:var(--side-selected)}.side-filter-options>[role="option"]:hover,.side-filter-options>[role="option"]:focus{background:var(--side-selected);outline:0}
.side-parish-search{width:100%;min-width:0;margin:0 0 4px;padding:5px 6px;border:1px solid var(--side-edge);border-radius:4px;background:var(--side-surface);color:#fff;font:400 10px/1.3 system-ui,sans-serif}.side-parish-search::placeholder{color:var(--side-muted)}.side-filter-empty,.side-filter-retry{margin:0;padding:6px;font:400 10px/1.35 system-ui,sans-serif;color:var(--side-text)}.side-filter-retry{border:0;background:transparent;text-align:left;text-decoration:underline;cursor:pointer}
.side-filter-chevron{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:var(--side-text);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.side-filter-trigger[aria-expanded="true"] .side-filter-chevron{transform:rotate(180deg)}
.side-event-meta{flex-wrap:wrap;gap:4px}.side-event-meta .webinar-badge{font-size:9px;padding:2px 4px}.side-event-actions a{display:block;padding:6px;text-align:left;border-radius:3px;font-size:10px;line-height:1.4;color:inherit}.side-event-actions a:hover,.side-event-actions a:focus-visible{background:var(--side-selected)}

/* Crediti compatti, ancorati al fondo della barra senza sovrapporre il calendario. */
.sidebar-credits{flex-shrink:0;margin-top:7px;padding-top:7px;border-top:1px solid #ffffff30;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.sidebar-credits>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.sidebar-credits span{font-size:8px;line-height:10px;color:#e0e9e6;white-space:nowrap}.sidebar-credits img{display:block;width:112px;max-width:100%;height:auto;max-height:26px;object-fit:contain;object-position:left center}.sidebar-credits>div:first-child img{width:86px;transform:translateX(-3%)}.sidebar-credit-logo{height:26px;width:100%;display:flex;align-items:center}.sidebar-credits>div:last-child img{transform:translateX(-18%)}

/* Versioni chiare dei simboli istituzionali per i banner scuri. */
.hero-brand .brand-logo{display:block;width:44px;height:44px;object-fit:contain;flex:0 0 44px}.hero-brand{gap:11px}@media(max-width:700px){.hero-brand .brand-logo{width:38px;height:38px;flex-basis:38px}.hero-brand{gap:8px}}

/* Marchio Insieme Comunità: immagine fornita e sottotitolo istituzionale. */
.hero-brand.brand-lockup{display:block;width:320px;max-width:100%;min-width:0;flex-shrink:1;margin-left:-6px;color:#ffbd59;text-decoration:none}.community-logo-frame{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:2097/287}.community-lockup{display:block;position:absolute;width:103.57654%;max-width:none;height:auto;left:-2.19361%;top:-72.12544%}.community-institution{display:block;padding-left:19.88555%;margin-top:5px;font-size:20px;font-weight:700;line-height:1.2;white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:700px){.hero{min-height:150px;padding:24px 22px}.hero-brand.brand-lockup{width:260px;max-width:calc(100% - 112px)}.community-institution{font-size:clamp(13px,3.6vw,18px);margin-top:4px}}

/* Marchio compatto nel benvenuto laterale, senza margini vuoti verticali. */
.sidebar-community-logo{width:125px;max-width:100%;margin-top:3px}

/* Identità e messaggio principale delle due home. */
.connect-home{--home-logo-width:min(340px,78cqw);--home-text-offset:calc(var(--home-logo-width) * 0.00967586)}
.connect-copy{width:94%}
.home-brand{width:var(--home-logo-width);margin-bottom:24px}
.home-logo-frame{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:2067/278;mix-blend-mode:multiply}
.home-logo-frame img{display:block;position:absolute;width:105.07982583%;max-width:none;height:auto;left:-2.80599903%;top:-75.89928058%}
.home-institution{display:block;margin:8px 0 0 var(--home-text-offset);padding-top:8px;border-top:1px solid #af88474d;font-size:20px;font-weight:700;line-height:1.2;color:var(--ink);white-space:nowrap}
.connect-copy h2{margin-left:var(--home-text-offset);max-width:850px;font-size:clamp(44px,7.1cqw,104px);line-height:1.03;letter-spacing:-1.8px;text-shadow:0 1px 12px #fcfaf699}
.connect-copy p{margin-left:var(--home-text-offset);max-width:560px;font-size:clamp(16px,1.9cqw,24px);line-height:1.5}
@media(min-width:701px) and (max-width:1100px){.connect-copy h2{font-size:clamp(34px,7.1cqw,62px)}.connect-copy p{font-size:16px}}
@media(max-width:700px){.connect-home{padding-bottom:120px}.connect-copy{width:100%}.home-brand{margin-bottom:22px}.home-institution{font-size:17px}.connect-copy h2{font-size:clamp(32px,11cqw,48px);letter-spacing:-1px}.connect-copy p{font-size:16px;max-width:none;margin-top:20px}}

.connect-description-line{display:block}
@media(min-width:701px){.connect-home::before{mask-image:linear-gradient(to right,transparent 15%,#0001 38%,#0008 62%,#000 85%)}}
@media(max-width:700px){.connect-home::before{opacity:.55}}
