/* Personalizza qui i colori e le dimensioni principali. */
:root{--blue:#123fce;--ink:#102332;--green:#d8f276;--paper:#fff;--line:#dce3e8;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:5px}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e06816;outline-offset:5px}.wrap{width:min(1160px,calc(100% - 40px));margin-inline:auto}header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:90px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:22px;letter-spacing:-.6px}.brand small{display:block;font-size:10px;letter-spacing:.6px}.mark{font-size:46px;color:var(--blue);line-height:1}nav{display:flex;gap:24px;align-items:center}nav a{font-size:14px;font-weight:700;text-decoration:none}nav a:hover,.text-link:hover{color:var(--blue)}.nav-contact{border:1px solid var(--ink);padding:9px 18px;border-radius:30px}.menu{display:none;background:#fff;border:1px solid var(--ink);padding:8px 14px;border-radius:24px}.skip{position:absolute;top:-100px;z-index:30;background:white;padding:12px}.skip:focus{top:8px}.hero{background:var(--blue);color:white;overflow:hidden;padding:64px 0 0}.eyebrow{font-size:13px;letter-spacing:1.7px;font-weight:700;margin:0 0 24px}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(3rem,7vw,6rem);line-height:1.05;letter-spacing:-.055em;margin:0;max-width:1000px}em{font-style:normal;color:var(--green)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:36px 0 48px}.hero-bottom p{font-size:19px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 24px;border-radius:40px;font-weight:700;text-decoration:none;transition:transform .2s}.button:hover{transform:translateY(-3px)}.light{background:white;color:var(--blue)}.dark{background:var(--ink);color:white}.ribbon{display:flex;justify-content:space-between;border-top:1px solid #ffffff60;padding:20px 0;letter-spacing:3px;font-size:13px;font-weight:700}.section{padding-block:80px}.section-head{max-width:730px;margin-bottom:36px}h2{font-size:clamp(2.2rem,4.5vw,3.9rem);line-height:1.12;letter-spacing:-.045em;margin:0 0 24px}h3{font-size:23px;line-height:1.25;letter-spacing:-.02em}.section-head>p:last-child{font-size:19px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column}.card p{margin:0 0 26px}.card a{font-weight:700;margin-top:auto}.card.green{background:var(--green);border-color:var(--green)}.number{color:var(--blue);font-size:14px;font-weight:700}.garden{background:#eff4f0;padding:76px 0}.garden-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}.garden .button{margin-top:16px}.garden-note{background:var(--green);border-radius:var(--radius);padding:40px;min-height:440px;display:flex;flex-direction:column;justify-content:space-between}.large-word{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.06;letter-spacing:-.05em;font-weight:800;margin:0}.note-bottom{border-top:1px solid #10233250;padding-top:20px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:14px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px}.intro{font-size:23px;line-height:1.4;margin-top:0}.text-link{font-weight:700}.events{background:#f2f5fb}.empty-event{border-block:1px solid #cad4e6;padding:32px 0;display:grid;grid-template-columns:150px 1fr auto;gap:30px;align-items:center}.empty-event h3{margin:0 0 12px}.empty-event p{margin:0}.event-label{font-size:13px;letter-spacing:1px;font-weight:700;color:var(--blue)}.contact h2 em{color:var(--blue)}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px}.email{font-size:clamp(1.2rem,3.2vw,2.1rem);font-weight:700;color:var(--blue)}.contact h3{font-size:17px}.muted{color:#4c5d69;font-size:14px}footer{background:var(--ink);color:white;padding:30px 0}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}.footer .brand{font-size:18px}.sources{font-size:14px;margin-top:24px}.sources summary{cursor:pointer}.sources p{max-width:850px}.event-item{border-top:1px solid #cad4e6;padding:24px 0}.event-item h3{margin:8px 0}.event-item time{font-weight:700;color:var(--blue)}
@media(max-width:800px){.header{min-height:76px;flex-wrap:wrap;padding-block:14px}.brand{font-size:19px}.brand small{font-size:8px}.mark{font-size:38px}.menu:not([hidden]){display:block}nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:8px}nav a{padding:12px;font-size:16px}.nav-contact{border:0;padding:12px}nav[data-collapsed="true"]{display:none}.hero{padding-top:44px}.hero-bottom{align-items:flex-start;flex-direction:column;margin:24px 0 38px}.ribbon{letter-spacing:1px;font-size:11px}.section{padding-block:54px}.cards,.garden-grid,.two-col,.contact-grid{grid-template-columns:1fr;gap:22px}.card{padding:26px}.garden{padding:54px 0}.garden-note{min-height:300px;padding:28px}.empty-event{grid-template-columns:1fr;gap:16px}.empty-event .button{justify-self:start}.footer{flex-direction:column;align-items:flex-start;gap:8px}.footer p{margin:0}.contact-grid{gap:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.past-events{margin-top:48px}.past-events>h3{font-size:28px}.past-events h4{font-size:23px;line-height:1.25;margin:12px 0 20px}

.page-title{font-size:clamp(2.7rem,6vw,5rem);margin-bottom:32px}.reading{max-width:780px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-grid figure{margin:0}.photo-grid img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:20px}.photo-grid figcaption{padding-top:14px;font-size:14px}.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}.staff-grid h3{font-size:20px;margin-top:0}.staff-grid p{margin-bottom:0}.support-list{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.support-list li{padding:14px 20px;background:#f2f5fb;border-radius:12px}.event-title{font-size:30px;margin-bottom:12px}nav{gap:15px}nav a{font-size:13px}@media(max-width:1000px){.brand small{max-width:140px}nav{gap:10px}}@media(max-width:800px){.photo-grid,.staff-grid{grid-template-columns:1fr}nav a{font-size:16px}.page-title{font-size:2.8rem}}

.event-kicker{margin-top:32px}.event-detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:start}.event-facts{background:#f2f5fb;padding:26px;border-radius:20px;margin:0 0 32px}.event-facts dt{font-weight:700;font-size:14px;color:var(--blue)}.event-facts dd{margin:0 0 18px}.event-facts dd:last-child{margin-bottom:0}.event-photo{margin:0}.event-photo img{display:block;width:100%;height:auto;border-radius:16px}.event-photo figcaption{font-size:14px;color:#4c5d69;margin-top:14px}.event-back{margin-top:40px}@media(max-width:800px){.event-detail{grid-template-columns:1fr;gap:24px}}

.brand-logo{display:block;width:205px;height:auto}.footer .brand{background:white;padding:12px 16px;border-radius:12px}.footer .brand-logo{width:170px}@media(max-width:800px){.brand-logo{width:165px}}

.footer .brand{background:transparent;padding:0;border-radius:0}.footer .brand-logo{width:190px}.about-group{margin:36px 0 48px}.about-group img{display:block;width:100%;height:auto;border-radius:20px}.about-group figcaption{margin-top:12px;font-size:14px;color:#4c5d69}

.regulation{margin-top:64px}.upcoming-event{background:#eff4f0;border:0;border-radius:20px;padding:28px;margin-bottom:36px}.archive-title{margin-top:56px}

footer{padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1fr 1.1fr .7fr 1.1fr;gap:36px}.footer-grid h2{font-size:17px;letter-spacing:0;margin:0 0 18px}.footer-grid p,.footer-grid address{font-size:14px;line-height:1.8;font-style:normal}.footer-grid .brand{background:transparent;padding:0}.footer-grid .brand-logo{width:190px;max-width:100%}.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-nav a{font-size:14px;font-weight:400;text-decoration:underline}.footer-nav a:hover{color:var(--green)}.footer-bottom{border-top:1px solid #ffffff30;margin-top:36px;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-bottom p{font-size:12px;margin:0}.social-links{display:flex;flex-wrap:wrap;gap:10px}.social-links a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #ffffff60;border-radius:50%;color:white}.social-links a:hover{background:#ffffff15;color:var(--green)}.social-links span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-nav{width:auto;padding:0}.footer-nav a{padding:4px 0}}

.inquiry{max-width:720px;margin-top:32px;border-top:1px solid var(--line);padding-top:20px}.inquiry summary{cursor:pointer;font-weight:700;color:var(--blue);padding:8px 0}.inquiry form{padding-top:12px}.inquiry label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}.inquiry input,.inquiry textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #9baab5;border-radius:10px;padding:11px 13px;margin-bottom:18px}.inquiry textarea{resize:vertical}.inquiry input:focus-visible,.inquiry textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.inquiry button{border:0;cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.support-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.support-logos li{background:white;border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}.support-logos img{width:100%;height:90px;object-fit:contain}.support-logos span{font-size:13px}@media(max-width:800px){.support-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.form-row{grid-template-columns:1fr;gap:0}.support-logos li{padding:16px}.support-logos img{height:70px}}

.album-nav{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 45px}.album-nav a{border:1px solid var(--line);border-radius:24px;padding:10px 18px;text-decoration:none;background:white;font-weight:600}.album-nav a:hover{border-color:var(--blue)}.gallery-album{scroll-margin-top:120px;margin:0 0 70px}.gallery-album h2{font-size:clamp(24px,4vw,34px)}.gallery-album .photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-album figure{margin:0;min-width:0}.gallery-photo{display:block;overflow:hidden;border-radius:16px;background:#e7eced}.gallery-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .2s}.gallery-photo:hover img{transform:scale(1.025)}.gallery-album figcaption{font-size:14px;line-height:1.5;margin-top:10px}.viewer-open{overflow:hidden}#photo-viewer{border:0;border-radius:16px;background:#101820;color:white;width:min(1200px,96vw);max-width:96vw;max-height:95dvh;padding:16px}#photo-viewer::backdrop{background:#071016e8}.viewer-toolbar{display:flex;justify-content:flex-end}.viewer-body{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px}.viewer-body figure{margin:0;text-align:center}.viewer-body img{max-width:100%;width:auto;height:auto;max-height:70dvh;object-fit:contain}.viewer-body figcaption{margin:12px auto 0;font-size:14px}#photo-viewer button{min-width:44px;min-height:44px;border:1px solid #ffffff80;border-radius:10px;background:#ffffff12;color:white;font:inherit;cursor:pointer}.viewer-body button{font-size:32px}#viewer-position{text-align:center;margin:10px 0 0;font-size:14px}a:focus-visible,button:focus-visible{outline:3px solid #83baff;outline-offset:4px}@media(max-width:900px){.gallery-album .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.gallery-album .photo-grid{grid-template-columns:1fr;gap:24px}.viewer-body{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px}#photo-viewer{padding:10px}.album-nav a{font-size:14px}.viewer-body img{max-height:65dvh}}@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}}

.album-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}.album-card.gallery-album{min-width:0;margin:0;background:white;border:1px solid var(--line);border-radius:20px;padding:24px;scroll-margin-top:120px}.album-heading{min-height:110px}.album-card h2{font-size:clamp(22px,3vw,28px);margin:0 0 8px}.album-card .muted{margin:0 0 22px}.carousel-slide{margin:0}.carousel-photo{display:block;background:#edf1f2;border-radius:14px;overflow:hidden;touch-action:pan-y}.carousel-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;display:block}.carousel-slide figcaption{min-height:44px;margin:14px 0 0;font-size:14px;line-height:1.5}.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}.carousel-controls[hidden]{display:none}.carousel-controls button{width:48px;height:44px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--blue);font-size:24px;cursor:pointer}.carousel-controls button:hover{background:#edf2ff}.carousel-position{margin:0;font-size:14px;font-variant-numeric:tabular-nums}.album-card details{margin-top:15px}.album-card summary{cursor:pointer}.album-card ol{max-height:180px;overflow:auto}@media(max-width:700px){.album-cards{grid-template-columns:1fr;gap:24px}.album-card.gallery-album{padding:18px}.album-heading{min-height:0}}

.support-banner{background:#edf3ff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:110px}.support-banner h2{margin-bottom:32px}.support-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}.support-option{background:white;border:1px solid var(--line);padding:32px;border-radius:20px;min-width:0}.support-option h3{font-size:26px;margin:12px 0}.support-symbol{color:var(--blue);font-size:48px;font-weight:800;line-height:1;margin:0 0 18px}.donation-iban{background:#eef3f6;padding:16px;border-radius:10px}.donation-iban span{display:block;font-size:12px;margin-bottom:6px}.donation-iban strong{font-size:clamp(14px,1.8vw,20px);overflow-wrap:anywhere;user-select:all}.camilla-event{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:30px;align-items:center}.camilla-preview img{display:block;width:100%;height:auto;border-radius:14px}.camilla-detail>picture img{display:block;width:100%;height:auto;max-width:1000px;border-radius:20px;margin:30px 0}.event-copy{max-width:760px;font-size:18px;line-height:1.7}@media(max-width:700px){.support-options,.camilla-event{grid-template-columns:1fr}.support-option{padding:24px}.support-symbol{font-size:40px}.support-option .button{font-size:14px}.camilla-event{gap:18px}}

.crucilibro{scroll-margin-top:110px}.crucilibro-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:64px;align-items:start}.crucilibro-cover img{display:block;width:100%;height:auto;max-width:380px;border-radius:12px;box-shadow:0 14px 40px #152b4020}.crucilibro h2{margin:12px 0 24px}.crucilibro-request{background:#f4f7fa;border:1px solid var(--line);border-radius:14px;padding:16px 22px;margin-top:28px}.crucilibro-request summary{font-size:18px}.crucilibro-request input[type=number]{max-width:130px}@media(max-width:700px){.crucilibro-grid{grid-template-columns:1fr;gap:28px}.crucilibro-cover img{max-width:280px;margin:auto}.crucilibro-request{padding:14px 18px}}

.tennis-event-banner{display:block;margin:0 0 24px;max-width:960px}.tennis-event-banner img,.tennis-detail-banner img{display:block;width:100%;height:auto;border-radius:16px}.tennis-detail-banner{margin:28px 0 40px;max-width:1100px}

.event-with-image{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:30px;align-items:center}.event-preview{min-width:0}.event-preview>a{display:block;margin:0;max-width:none}.event-preview img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:14px}.event-summary{min-width:0}.camilla-preview img{max-height:300px;object-fit:contain}@media(max-width:700px){.event-with-image{grid-template-columns:1fr;gap:18px}.event-preview img,.camilla-preview img{max-height:260px}}
.event-preview,.camilla-preview{width:100%;max-width:420px}.event-preview img,.camilla-preview img{aspect-ratio:4/3;height:auto;max-height:none;object-fit:contain;background:#f4f6f6}@media(max-width:700px){.event-preview,.camilla-preview{max-width:none}}

.market-carousel{max-width:720px;margin:38px auto 0}.market-swipe-hint{font-size:14px;color:#4c5d69}.market-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;border-radius:16px;overscroll-behavior-x:contain;scrollbar-width:thin}.market-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}.market-slide img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.market-slide figcaption{padding:12px 0;font-size:14px}.market-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px}.market-controls[hidden]{display:none}.market-controls button{width:48px;height:44px;background:white;border:1px solid var(--line);border-radius:12px;color:var(--blue);font-size:24px;cursor:pointer}.market-controls p{margin:0;font-size:14px;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.market-track{scroll-behavior:auto}}

.market-controls .market-toggle{width:auto;padding:0 16px;font-size:14px}

.market-story{min-width:0}.market-story .market-carousel{max-width:360px;margin:24px 0 0}.market-story .market-slide img{aspect-ratio:4/3}.market-story .market-swipe-hint{font-size:13px;margin-bottom:10px}.market-story .market-controls{gap:10px}.market-story .market-controls button{height:38px;width:40px;font-size:20px}.market-story .market-controls .market-toggle{width:auto;font-size:13px;padding:0 12px}.market-welcome{margin:24px 0;font-weight:600}@media(max-width:700px){.market-story .market-carousel{max-width:320px}}

@media(max-width:800px){.header{gap:12px}.header .brand{max-width:calc(100% - 84px)}.header .brand-logo{max-width:100%}.menu{min-height:44px;min-width:64px}.album-nav{width:auto;flex-direction:row;align-items:center;padding:0}.album-nav a{padding:10px 14px}.carousel-controls button,.market-controls button{min-width:44px;min-height:44px}.inquiry input,.inquiry textarea{font-size:16px}.section .button{max-width:100%;white-space:normal}.event-with-image,.camilla-event{min-width:0}}.market-track{-webkit-overflow-scrolling:touch}.viewer-body img{max-height:65vh;max-height:65dvh}#photo-viewer{max-height:95vh;max-height:95dvh}

.cookie-note{width:min(1160px,calc(100% - 40px));margin:20px auto 0;padding-top:18px;border-top:1px solid #ffffff30;font-size:12px;line-height:1.7;color:#e1e7ec}.cookie-note a{text-decoration:underline}
