*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Montserrat',sans-serif;
background:
radial-gradient(circle at top left, rgba(0,180,90,.15), transparent 35%),
radial-gradient(circle at bottom right, rgba(220,50,50,.15), transparent 35%),
linear-gradient(135deg,#f7f7f7,#ececec);
color:#111;
overflow-x:hidden;
}

.background-logo{
position:fixed;
inset:0;
background-image:url("images/logo.png");
background-repeat:no-repeat;
background-position:center;
background-size:850px;
opacity:.05;
z-index:-1;
}

/* NAVBAR */

.navbar{
position:fixed;
top:0;
left:0;
width:100%;
padding:18px 8%;
display:flex;
justify-content:space-between;
align-items:center;
background:rgba(255,255,255,.86);
backdrop-filter:blur(15px);
box-shadow:0 10px 30px rgba(0,0,0,.05);
z-index:999;
}

.logo-area{
display:flex;
align-items:center;
gap:12px;
text-decoration:none;
color:inherit;
}

.nav-logo{
width:52px;
height:52px;
border-radius:14px;
object-fit:cover;
}

.logo-text{
font-size:1.3rem;
font-weight:900;
letter-spacing:2px;
color:#0b8f3d;
}

.nav-links{
display:flex;
gap:16px;
align-items:center;
}

.nav-links a{
text-decoration:none;
font-weight:700;
font-size:.92rem;
color:#111;
transition:.3s;
}

.nav-links a:hover{
color:#c62828;
}

.language-switch{
display:flex;
gap:8px;
}

.language-switch button{
border:none;
padding:8px 13px;
background:#0b8f3d;
color:white;
font-weight:800;
border-radius:999px;
cursor:pointer;
transition:.3s;
}

.language-switch button:hover{
background:#c62828;
}

/* HERO */

.hero{
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:120px 8% 70px;
}

.hero-content{
max-width:950px;
margin:auto;
}

.hero-logo{
width:180px;
margin-bottom:30px;
border-radius:25px;
box-shadow:0 15px 45px rgba(0,0,0,.12);
}

.hero h1{
font-size:6rem;
font-weight:900;
line-height:.9;
letter-spacing:-3px;
}

.hero h1 span{
display:block;
color:#c62828;
}

.hero p{
margin-top:25px;
font-size:1.2rem;
color:#555;
max-width:800px;
margin-inline:auto;
line-height:1.8;
}

.main-button{
display:inline-block;
margin-top:35px;
padding:16px 34px;
background:#0b8f3d;
border-radius:999px;
color:white;
font-weight:800;
text-decoration:none;
transition:.3s;
box-shadow:0 12px 30px rgba(11,143,61,.2);
}

.main-button:hover{
transform:translateY(-5px);
background:#087633;
}

/* SECTIONS */

.about-section,
.players-section,
.gallery-section,
.staff-section,
.news-section,
.join-section,
.social-section,
.events-section,
.contact-section{
padding:50px 8%;
text-align:center;
}

.about-section h2,
.players-section h2,
.gallery-section h2,
.staff-section h2,
.news-section h2,
.join-section h2,
.social-section h2,
.events-section h2,
.contact-section h2{
font-size:3rem;
font-weight:900;
text-align:center;
margin-bottom:12px;
letter-spacing:-1px;
}

.section-subtitle{
max-width:900px;
margin:0 auto 22px;
text-align:center;
font-size:1.18rem;
line-height:1.7;
color:#555;
padding:22px;
background:rgba(255,255,255,.68);
backdrop-filter:blur(12px);
border-radius:25px;
box-shadow:0 12px 35px rgba(0,0,0,.055);
}

/* GRIDS */

.about-grid,
.players-grid,
.staff-grid,
.news-grid,
.social-grid,
.events-grid{
display:flex;
flex-wrap:wrap;
justify-content:center;
align-items:stretch;
gap:28px;
max-width:1120px;
margin-left:auto;
margin-right:auto;
}

.gallery-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
max-width:1050px;
width:100%;
margin:0 auto;
}

/* CARDS */

.about-card,
.player-card,
.staff-card,
.news-card,
.social-card,
.event-card{
background:white;
border-radius:30px;
overflow:hidden;
box-shadow:0 18px 45px rgba(0,0,0,.07);
transition:.35s;
}

.about-card:hover,
.player-card:hover,
.staff-card:hover,
.news-card:hover,
.social-card:hover,
.event-card:hover,
.album-card:hover{
transform:translateY(-10px);
box-shadow:0 26px 65px rgba(0,0,0,.12);
}

.about-card,
.staff-card,
.news-card,
.social-card,
.event-card{
width:300px;
max-width:300px;
margin:0 auto;
}

.about-card{
padding:34px;
cursor:pointer;
}

.about-card h3{
color:#0b8f3d;
margin-bottom:15px;
font-size:1.35rem;
}

.about-card p{
color:#555;
line-height:1.7;
}

/* BUTTON ROW */

.players-button-row{
display:flex;
justify-content:flex-end;
align-items:center;
max-width:1120px;
margin:0 auto 18px;
}

.players-list-link{
padding:14px 25px;
background:#0b8f3d;
border-radius:999px;
text-decoration:none;
color:white;
font-weight:800;
transition:.3s;
box-shadow:0 12px 28px rgba(11,143,61,.18);
}

.players-list-link:hover{
background:#087633;
transform:translateY(-3px);
}

/* PLAYERS */

.player-card{
cursor:pointer;
width:240px;
max-width:240px;
margin:0 auto;
}

.player-card img{
width:100%;
height:320px;
object-fit:cover;
object-position:center top;
display:block;
background:#f5f5f5;
}

.player-info{
padding:18px;
text-align:center;
}

.player-info h3{
font-size:1.15rem;
font-weight:900;
}

.player-info p{
margin-top:5px;
font-size:.9rem;
color:#c62828;
font-weight:700;
}

.player-city{
display:inline-block;
margin-top:8px;
padding:5px 10px;
font-size:.75rem;
background:#0b8f3d;
color:white;
border-radius:999px;
font-weight:800;
}

/* STAFF */

.staff-card{
padding:30px;
text-align:center;
cursor:pointer;
}

.staff-card img{
width:120px;
height:120px;
border-radius:50%;
object-fit:cover;
margin-bottom:15px;
}

.staff-card h3{
font-size:1.35rem;
font-weight:900;
margin-bottom:8px;
}

.staff-card p{
color:#555;
font-weight:700;
}

/* NEWS */

.news-card{
padding:30px;
cursor:pointer;
}

.news-card span{
display:inline-block;
background:#0b8f3d;
padding:7px 14px;
border-radius:999px;
color:white;
font-size:.8rem;
font-weight:800;
margin-bottom:15px;
}

.news-card h3{
font-size:1.4rem;
font-weight:900;
margin-bottom:10px;
}

.news-card p{
color:#555;
line-height:1.7;
}

/* EVENTS */

.event-card{
padding:30px;
cursor:pointer;
text-decoration:none;
color:#111;
}

.event-card span{
display:inline-block;
color:#0b8f3d;
font-weight:900;
font-size:.95rem;
margin-bottom:12px;
}

.event-card h3{
font-size:1.45rem;
font-weight:900;
margin-bottom:12px;
}

.event-card p{
color:#555;
line-height:1.6;
}

/* ALBUM CARD GALLERY */

.album-card{
background:white;
border-radius:30px;
overflow:hidden;
box-shadow:0 18px 45px rgba(0,0,0,.07);
text-decoration:none;
color:#111;
transition:.35s;
width:300px;
max-width:300px;
}

.album-card img{
width:100%;
height:210px;
object-fit:cover;
display:block;
}

.album-info{
padding:22px;
text-align:center;
}

.album-info span{
display:inline-block;
color:#0b8f3d;
font-weight:900;
font-size:.9rem;
margin-bottom:8px;
}

.album-info h3{
font-size:1.35rem;
font-weight:900;
margin-bottom:8px;
}

.album-info p{
color:#c62828;
font-weight:800;
}

/* GALLERY */

.gallery-grid img{
width:100%;
height:220px;
object-fit:cover;
border-radius:22px;
box-shadow:0 18px 45px rgba(0,0,0,.07);
transition:.3s;
cursor:pointer;
display:block;
}

.gallery-grid img:hover{
transform:scale(1.03);
}

/* SOCIAL */

.social-card{
display:flex;
justify-content:center;
align-items:center;
gap:15px;
padding:35px;
text-decoration:none;
color:#111;
font-weight:800;
font-size:1.2rem;
}

.social-icon{
width:35px;
height:35px;
object-fit:contain;
}

/* CONTACT */

.join-section{
text-align:center;
}

.contact-form{
max-width:700px;
margin:auto;
display:flex;
flex-direction:column;
gap:18px;
}

.contact-form input,
.contact-form textarea{
padding:18px;
border:none;
border-radius:18px;
background:white;
box-shadow:0 10px 30px rgba(0,0,0,.05);
font-family:'Montserrat',sans-serif;
}

.contact-form textarea{
min-height:170px;
}

.contact-form button{
padding:18px;
background:#c62828;
border:none;
color:white;
font-weight:900;
border-radius:999px;
cursor:pointer;
transition:.3s;
}

.contact-form button:hover{
background:#a91f1f;
}

/* FOOTER */

footer{
padding:50px;
text-align:center;
}

.footer-logo{
width:80px;
margin-bottom:15px;
border-radius:16px;
}

footer p{
color:#555;
}

/* EXTRA PAGES */

.players-page{
padding:140px 8% 70px;
text-align:center;
}

.players-page h1{
text-align:center;
font-size:4rem;
font-weight:900;
letter-spacing:-2px;
}

.page-subtitle{
max-width:760px;
margin:22px auto 42px;
text-align:center;
color:#555;
font-size:1.1rem;
line-height:1.7;
padding:24px;
background:rgba(255,255,255,.68);
border-radius:25px;
}

.year-title{
display:flex;
justify-content:space-between;
align-items:center;
max-width:1120px;
margin:50px auto 22px;
font-size:2rem;
font-weight:900;
color:#0b8f3d;
border-left:8px solid #c62828;
padding-left:20px;
}

.section-link{
font-size:1rem;
text-decoration:none;
color:#c62828;
font-weight:800;
}

.section-link:hover{
color:#0b8f3d;
}

/* MODALS */

.about-modal,
.player-modal,
.staff-modal,
.info-modal,
.gallery-modal,
.universal-modal{
position:fixed;
inset:0;
display:none;
justify-content:center;
align-items:center;
padding:20px;
z-index:9999999;
}

.about-modal,
.player-modal,
.staff-modal,
.info-modal{
background:rgba(0,0,0,.80);
}

.gallery-modal,
.universal-modal{
background:rgba(0,0,0,.92);
padding:80px 90px;
}

.about-modal-content,
.modal-content,
.staff-modal-content,
.info-modal .modal-content{
background:white;
max-width:680px;
width:92%;
max-height:86vh;
overflow-y:auto;
border-radius:30px;
padding:32px;
text-align:center;
position:relative;
box-shadow:0 25px 80px rgba(0,0,0,.25);
}

/* CLOSE BUTTON */

.close-btn{
display:none;
}

.player-modal .close-btn,
.about-modal .close-btn,
.staff-modal .close-btn,
.info-modal .close-btn,
.gallery-modal .close-btn,
.universal-modal .close-btn{
position:fixed;
top:22px;
right:22px;
width:52px;
height:52px;
display:flex;
align-items:center;
justify-content:center;
background:#c62828;
color:#fff;
border-radius:50%;
font-size:2rem;
font-weight:900;
line-height:1;
cursor:pointer;
user-select:none;
box-shadow:0 12px 35px rgba(0,0,0,.35);
z-index:2147483647;
transition:.25s ease;
}

.player-modal .close-btn:hover,
.about-modal .close-btn:hover,
.staff-modal .close-btn:hover,
.info-modal .close-btn:hover,
.gallery-modal .close-btn:hover,
.universal-modal .close-btn:hover{
background:#a91f1f;
transform:scale(1.08);
}

/* MODAL CONTENT */

.modal-content img,
.staff-modal-content img,
#infoImage{
width:100%;
max-height:420px;
height:auto;
object-fit:contain;
object-position:center;
background:#f5f5f5;
border-radius:20px;
margin-bottom:20px;
}

.modal-content h2,
.staff-modal-content h2,
#infoTitle{
font-size:2.4rem;
font-weight:900;
}

.modal-content h4,
.staff-modal-content h4,
#infoSubtitle{
margin-top:8px;
color:#0b8f3d;
font-size:1.1rem;
}

.modal-content p,
.staff-modal-content p,
#infoDescription{
margin-top:18px;
color:#555;
line-height:1.8;
}

.player-details{
margin:25px 0;
text-align:left;
padding:25px;
background:#f6f6f6;
border-radius:20px;
}

.player-details p{
margin:0 0 10px;
font-size:1rem;
}

/* IMAGE MODAL */

.universal-modal img,
#universalImage,
.gallery-modal img,
#galleryModalImage{
width:auto;
height:auto;
max-width:78vw;
max-height:78vh;
object-fit:contain;
border-radius:18px;
box-shadow:0 25px 80px rgba(0,0,0,.55);
}

/* ARROWS */

.modal-arrow,
.gallery-arrow{
position:fixed;
top:50%;
transform:translateY(-50%);
width:72px;
height:72px;
border:none;
border-radius:50%;
background:#c62828;
color:white;
font-size:3.4rem;
font-weight:900;
line-height:1;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
z-index:2147483646;
box-shadow:0 12px 35px rgba(0,0,0,.38);
transition:.25s ease;
}

.modal-arrow:hover,
.gallery-arrow:hover{
background:#a91f1f;
transform:translateY(-50%) scale(1.08);
}

.modal-prev,
.gallery-prev{
left:24px;
}

.modal-next,
.gallery-next{
right:24px;
}

/* SCROLLBAR */

.modal-content::-webkit-scrollbar,
.about-modal-content::-webkit-scrollbar,
.staff-modal-content::-webkit-scrollbar{
width:8px;
}

.modal-content::-webkit-scrollbar-thumb,
.about-modal-content::-webkit-scrollbar-thumb,
.staff-modal-content::-webkit-scrollbar-thumb{
background:#0b8f3d;
border-radius:20px;
}

.modal-content::-webkit-scrollbar-track,
.about-modal-content::-webkit-scrollbar-track,
.staff-modal-content::-webkit-scrollbar-track{
background:#eee;
border-radius:20px;
}

/* MOBILE */

@media(max-width:900px){

.navbar{
position:relative;
flex-direction:column;
gap:14px;
}

.nav-links{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:12px;
}

.nav-links a{
font-size:.85rem;
}

.hero{
min-height:auto;
padding:80px 8% 60px;
}

.hero h1{
font-size:3rem;
line-height:1;
}

.hero-logo{
width:140px;
}

.background-logo{
background-size:520px;
}

.about-section,
.players-section,
.gallery-section,
.staff-section,
.news-section,
.join-section,
.social-section,
.events-section,
.contact-section{
padding:38px 8%;
}

.about-section h2,
.players-section h2,
.gallery-section h2,
.staff-section h2,
.news-section h2,
.join-section h2,
.social-section h2,
.events-section h2,
.contact-section h2{
font-size:2.2rem;
}

.section-subtitle{
font-size:1rem;
padding:18px;
margin-bottom:18px;
}

.players-button-row{
justify-content:center;
}

.about-grid,
.players-grid,
.staff-grid,
.news-grid,
.social-grid,
.events-grid{
display:flex;
flex-direction:column;
align-items:center;
}

.about-card,
.staff-card,
.news-card,
social-card,
.event-card,
.player-card,
.album-card{
width:100%;
max-width:330px;
}

.social-card{
width:100%;
max-width:330px;
}

.album-card img{
height:230px;
}

.gallery-grid{
grid-template-columns:1fr;
}

.gallery-grid img{
height:250px;
}

.players-page{
padding:70px 8% 55px;
}

.players-page h1{
font-size:2.5rem;
}

.page-subtitle{
margin-bottom:35px;
}

.year-title{
font-size:1.5rem;
flex-direction:column;
align-items:flex-start;
gap:10px;
}

.player-modal .close-btn,
.about-modal .close-btn,
.staff-modal .close-btn,
.info-modal .close-btn,
.gallery-modal .close-btn,
.universal-modal .close-btn{
top:14px;
right:14px;
width:46px;
height:46px;
}

.gallery-modal,
.universal-modal{
padding:65px 18px;
}

.universal-modal img,
#universalImage,
.gallery-modal img,
#galleryModalImage{
max-width:92vw;
max-height:72vh;
}

.modal-content img,
.staff-modal-content img,
#infoImage{
height:300px;
}

.modal-arrow,
.gallery-arrow{
width:60px;
height:60px;
font-size:2.8rem;
}

.modal-prev,
.gallery-prev{
left:8px;
}

.modal-next,
.gallery-next{
right:8px;
}

}


/* ===== TICKET / REGISTER BUTTON VISIBLE ===== */

.ticket-button{
display:inline-flex !important;
align-items:center;
justify-content:center;
padding:12px 28px;
margin-top:16px;
background:#fff !important;
color:#c62828 !important;
border:3px solid #c62828 !important;
border-radius:50px;
font-size:.95rem;
font-weight:900;
text-decoration:none !important;
text-transform:uppercase;
letter-spacing:.5px;
cursor:pointer;
transition:.3s;
box-shadow:0 8px 20px rgba(198,40,40,.15);
}

.ticket-button:hover{
background:#c62828 !important;
color:#fff !important;
transform:translateY(-2px);
box-shadow:0 12px 28px rgba(198,40,40,.28);
}

.event-card .ticket-button{
width:100%;
}

.info-modal .ticket-button{
margin-top:24px;
}


/* ===== DATABASE FILTERS / SEARCH ===== */
.filter-panel{
max-width:1120px;
margin:0 auto 30px;
background:rgba(255,255,255,.76);
backdrop-filter:blur(12px);
border-radius:25px;
padding:22px;
box-shadow:0 12px 35px rgba(0,0,0,.06);
}
.search-box,
.filter-row select{
width:100%;
padding:15px 18px;
border:none;
border-radius:999px;
font-family:'Montserrat',sans-serif;
font-weight:700;
box-shadow:0 10px 25px rgba(0,0,0,.05);
background:white;
outline:none;
}
.filter-row{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:14px;
margin-top:14px;
}
.registration-card{
max-width:900px;
margin:0 auto;
background:white;
border-radius:30px;
overflow:hidden;
box-shadow:0 18px 45px rgba(0,0,0,.07);
display:grid;
grid-template-columns:1fr 1fr;
text-align:left;
}
.registration-card img{
width:100%;
height:100%;
min-height:360px;
object-fit:cover;
}
.registration-info{
padding:32px;
}
.registration-info span{
color:#0b8f3d;
font-weight:900;
}
.registration-info h2{
font-size:2rem;
margin:12px 0;
}
.registration-info h4{
color:#c62828;
margin-bottom:12px;
}
.registration-info p{
color:#555;
line-height:1.7;
}
@media(max-width:900px){
.filter-row{grid-template-columns:1fr;}
.registration-card{grid-template-columns:1fr;}
.registration-card img{min-height:260px;}
}

/* ===== FOOTER PRIVACY LINK ===== */

.footer-links{
margin-top:8px;
}

.footer-links a{
color:#c62828;
text-decoration:none;
font-size:.9rem;
font-weight:800;
transition:.3s;
}

.footer-links a:hover{
color:#0b8f3d;
}

/* ===== PRIVACY PAGE - FIL-ITALIA STYLE ===== */

.privacy-page{
text-align:center;
}

.privacy-card{
max-width:980px;
margin:0 auto;
background:white;
border-radius:30px;
padding:42px;
box-shadow:0 18px 45px rgba(0,0,0,.07);
text-align:left;
}

.privacy-card h2{
font-size:2rem;
font-weight:900;
color:#0b8f3d;
margin-bottom:20px;
}

.privacy-card h3{
font-size:1.25rem;
font-weight:900;
color:#c62828;
margin-top:26px;
margin-bottom:10px;
}

.privacy-card p{
color:#555;
line-height:1.8;
margin-bottom:14px;
}

.privacy-card ul{
padding-left:24px;
margin:12px 0 18px;
}

.privacy-card li{
color:#555;
line-height:1.8;
margin-bottom:6px;
}

.privacy-card a{
color:#0b8f3d;
font-weight:900;
text-decoration:none;
}

.privacy-card a:hover{
color:#c62828;
}

.privacy-card hr{
border:none;
height:1px;
background:#e5e5e5;
margin:38px 0;
}

@media(max-width:900px){

.privacy-card{
padding:26px;
border-radius:25px;
}

.privacy-card h2{
font-size:1.7rem;
}

.privacy-card h3{
font-size:1.15rem;
}

}

/* ===== PLAYER REGISTRATION PAGE ===== */
.registration-page .players-button-row{
justify-content:center;
}

.site-registration-form{
max-width:980px;
margin:0 auto;
}

.form-section-card{
background:white;
border-radius:30px;
padding:34px;
margin-bottom:24px;
box-shadow:0 18px 45px rgba(0,0,0,.07);
text-align:left;
}

.form-section-card h2{
font-size:1.7rem;
font-weight:900;
color:#0b8f3d;
margin-bottom:18px;
}

.form-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:18px;
}

.site-registration-form label{
display:flex;
flex-direction:column;
gap:8px;
font-weight:800;
color:#111;
font-size:.95rem;
}

.site-registration-form input,
.site-registration-form select,
.site-registration-form textarea{
width:100%;
padding:15px 17px;
border:none;
border-radius:16px;
background:#f6f6f6;
font-family:'Montserrat',sans-serif;
font-weight:600;
outline:none;
box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);
}

.site-registration-form textarea{
min-height:140px;
resize:vertical;
}

.full-label{
margin-top:18px;
}

.form-note{
color:#555;
line-height:1.7;
margin-bottom:18px;
font-weight:600;
}

.check-row{
flex-direction:row !important;
align-items:flex-start;
gap:12px !important;
line-height:1.6;
margin-bottom:14px;
font-weight:700 !important;
}

.check-row input{
width:auto;
margin-top:5px;
}

.submit-registration-button{
display:inline-flex;
justify-content:center;
align-items:center;
width:100%;
padding:18px 30px;
background:#c62828;
color:white;
border:none;
border-radius:999px;
font-family:'Montserrat',sans-serif;
font-size:1rem;
font-weight:900;
cursor:pointer;
transition:.3s;
box-shadow:0 12px 30px rgba(198,40,40,.22);
}

.submit-registration-button:hover{
background:#a91f1f;
transform:translateY(-3px);
}

@media(max-width:900px){
.form-section-card{
padding:24px;
}
.form-grid{
grid-template-columns:1fr;
}
.form-section-card h2{
font-size:1.4rem;
}
}

/* ===== GOOGLE FORM LINK CARD ===== */
.google-form-link-card{
text-align:center;
max-width:820px;
margin:0 auto;
}

.google-form-link-card h2{
font-size:2rem;
font-weight:900;
color:#0b8f3d;
margin-bottom:14px;
}

.google-form-link-card p{
color:#555;
line-height:1.7;
font-weight:600;
}


/* ===== JOIN / CAMP REGISTRATION OPTIONS ===== */
.join-button-row{
display:flex;
justify-content:center;
align-items:center;
gap:16px;
flex-wrap:wrap;
}

.secondary-main-button{
background:#c62828;
box-shadow:0 12px 30px rgba(198,40,40,.2);
}

.secondary-main-button:hover{
background:#a91f1f;
}

.join-role-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:16px;
margin:24px 0 6px;
}

.join-role-card{
background:#f6f6f6;
border-radius:22px;
padding:20px;
text-align:left;
box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);
}

.join-role-card h3{
font-size:1.1rem;
font-weight:900;
color:#c62828;
margin-bottom:8px;
}

.join-role-card p{
font-size:.95rem;
line-height:1.6;
margin:0;
}

.secondary-form-card{
margin-top:24px;
}

@media(max-width:900px){
.join-role-grid{
grid-template-columns:1fr;
}
.join-button-row{
flex-direction:column;
}
.join-button-row .main-button{
width:100%;
max-width:320px;
}
}


/* ===== FIXED EVENT CARDS ===== */
.event-card{
height:350px;
min-height:350px;
max-height:350px;
display:flex;
flex-direction:column;
justify-content:flex-start;
align-items:center;
text-align:center;
overflow:hidden;
}

.event-card span{
min-height:24px;
}

.event-card h3{
min-height:64px;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}

.event-card p{
margin-bottom:6px;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}

.event-read-more{
margin-top:4px;
font-size:.78rem;
font-weight:900;
color:#0b8f3d;
text-transform:uppercase;
letter-spacing:.3px;
}

.event-card .ticket-button{
margin-top:auto;
width:100%;
flex-shrink:0;
}

#homeEventsGrid .event-card,
#allEventsGrid .event-card{
height:350px;
min-height:350px;
max-height:350px;
}

@media(max-width:900px){
.event-card,
#homeEventsGrid .event-card,
#allEventsGrid .event-card{
height:350px;
min-height:350px;
max-height:350px;
}
}


/* ===== SITE TO GOOGLE SHEET FORM STATUS ===== */
.form-status{
margin-top:16px;
text-align:center;
font-weight:900;
line-height:1.6;
color:#555;
}
.form-status.success{
color:#0b8f3d;
}
.form-status.error{
color:#c62828;
}
.site-registration-form select{
appearance:none;
cursor:pointer;
}


/* ===== DYNAMIC ROLE SECTIONS ===== */
.role-section{
  display:none;
}
.role-section.active{
  display:block;
}
.site-registration-form input[type="file"]{
  background:#fff;
  border:2px dashed rgba(11,143,61,.35);
}
.site-registration-form input[readonly]{
  color:#555;
  background:#eeeeee;
}
.guardian-section{
  border-left:6px solid #c62828;
}
.role-player{
  border-left:6px solid #0b8f3d;
}


/* ===== MOBILE HAMBURGER MENU - FINAL ===== */
.mobile-menu-button{
display:none;
width:46px;
height:46px;
border:none;
border-radius:14px;
background:#0b8f3d;
color:white;
font-size:1.7rem;
font-weight:900;
cursor:pointer;
box-shadow:0 10px 25px rgba(11,143,61,.18);
}
.mobile-menu-overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,.45);
z-index:998;
display:none;
}
body.mobile-menu-open .mobile-menu-overlay{
display:block;
}
body.mobile-menu-open{
overflow:hidden;
}
.nav-links a[data-key="navJoin"],
.nav-links a[data-key="navCamp"]{
color:#0b8f3d;
}
.role-section{display:none;}
.role-section.active{display:block;}
.site-registration-form input[type="file"]{
padding:13px;
background:#fff;
border:2px dashed rgba(11,143,61,.35);
}
.site-registration-form input[readonly]{
background:#eee;
color:#555;
}

@media(max-width:900px){
.navbar{
position:relative;
flex-direction:row;
justify-content:space-between;
align-items:center;
padding:14px 6%;
gap:10px;
}
.logo-text{
font-size:1.05rem;
letter-spacing:1px;
}
.nav-logo{
width:46px;
height:46px;
}
.mobile-menu-button{
display:flex;
align-items:center;
justify-content:center;
order:3;
}
.language-switch{
order:2;
margin-left:auto;
}
.language-switch button{
padding:7px 10px;
font-size:.75rem;
}
.nav-links{
position:fixed;
top:0;
left:-310px;
width:290px;
height:100vh;
background:rgba(255,255,255,.98);
backdrop-filter:blur(16px);
z-index:9999;
box-shadow:18px 0 45px rgba(0,0,0,.18);
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:flex-start;
gap:0;
padding:86px 26px 26px;
transition:left .28s ease;
}
body.mobile-menu-open .nav-links{
left:0;
}
.nav-links::before{
content:"FIL-ITALIA MENU";
position:absolute;
top:26px;
left:26px;
font-weight:900;
color:#0b8f3d;
letter-spacing:1px;
}
.nav-links a{
width:100%;
padding:15px 0;
font-size:1.05rem;
border-bottom:1px solid rgba(0,0,0,.08);
}
.nav-links a[data-key="navJoin"],
.nav-links a[data-key="navCamp"]{
font-weight:900;
color:#c62828;
}
}


/* ===== FINAL FIX: MENU LATERALE SU TUTTI I DISPOSITIVI ===== */
.navbar{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 6%;
}
.logo-area{
  flex-shrink:0;
}
.mobile-menu-button{
  display:flex !important;
  align-items:center;
  justify-content:center;
  order:3;
  flex-shrink:0;
}
.language-switch{
  order:2;
  margin-left:auto;
  flex-shrink:0;
}
.nav-links{
  position:fixed !important;
  top:0;
  left:-330px;
  width:310px;
  max-width:86vw;
  height:100vh;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(16px);
  z-index:9999;
  box-shadow:18px 0 45px rgba(0,0,0,.18);
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:0;
  padding:90px 28px 28px;
  transition:left .28s ease;
  overflow-y:auto;
}
body.mobile-menu-open .nav-links{
  left:0;
}
.nav-links::before{
  content:"FIL-ITALIA MENU";
  position:absolute;
  top:28px;
  left:28px;
  font-weight:900;
  color:#0b8f3d;
  letter-spacing:1px;
}
.nav-links a{
  width:100%;
  padding:15px 0;
  font-size:1.05rem;
  border-bottom:1px solid rgba(0,0,0,.08);
  text-align:left;
}
.nav-links a[data-key="navJoin"],
.nav-links a[data-key="navCamp"]{
  font-weight:900;
  color:#c62828 !important;
}
.mobile-menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  z-index:998;
  display:none;
}
body.mobile-menu-open .mobile-menu-overlay{
  display:block;
}
body.mobile-menu-open{
  overflow:hidden;
}
.hero,
.players-page{
  padding-top:120px;
}

/* ===== FINAL FIX: CARD ALLINEATE ===== */
.about-grid,
.staff-grid,
.events-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(260px, 300px));
  justify-content:center;
  align-items:stretch;
  gap:28px;
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}
.about-card,
.staff-card,
.event-card{
  width:100% !important;
  max-width:300px !important;
  height:100%;
  margin:0 auto;
}
.about-card{
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}
.staff-card{
  min-height:280px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.event-card{
  min-height:350px;
}

@media(max-width:900px){
  .navbar{
    position:relative;
    padding:14px 6%;
  }
  .logo-text{
    font-size:1.05rem;
    letter-spacing:1px;
  }
  .nav-logo{
    width:46px;
    height:46px;
  }
  .language-switch button{
    padding:7px 10px;
    font-size:.75rem;
  }
  .hero,
  .players-page{
    padding-top:70px;
  }
  .about-grid,
  .staff-grid,
  .events-grid{
    grid-template-columns:1fr;
    justify-items:center;
  }
  .about-card,
  .staff-card,
  .event-card{
    max-width:330px !important;
  }
}

/* ===== V6 FINAL: NAVBAR PULITA ===== */
.navbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  min-height:82px;
  padding:14px 6% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.mobile-menu-button{
  display:flex !important;
  position:absolute !important;
  left:6% !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  order:1 !important;
  z-index:1001;
}
.logo-area{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  order:2 !important;
  margin:0 !important;
  justify-content:center !important;
  white-space:nowrap;
}
.language-switch{
  position:absolute !important;
  right:6% !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  order:3 !important;
  margin:0 !important;
  z-index:1001;
}
.nav-links{
  left:-330px !important;
}
body.mobile-menu-open .nav-links{
  left:0 !important;
}

/* ===== V6 FINAL: SEZIONI IN LINEA COME I GIOCATORI ===== */
.about-grid,
.staff-grid,
.events-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(240px, 300px)) !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:28px !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.about-card,
.staff-card,
.event-card{
  width:100% !important;
  max-width:300px !important;
  margin:0 auto !important;
}
.about-card{
  min-height:230px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  text-align:center !important;
}
.staff-card{
  min-height:280px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
}
.event-card{
  min-height:350px !important;
}
@media(max-width:1050px){
  .about-grid,
  .staff-grid,
  .events-grid{
    grid-template-columns:repeat(2, minmax(240px, 300px)) !important;
  }
}
@media(max-width:700px){
  .navbar{
    min-height:78px;
    padding:12px 5% !important;
  }
  .mobile-menu-button{
    left:5% !important;
  }
  .language-switch{
    right:5% !important;
    gap:5px !important;
  }
  .language-switch button{
    padding:7px 9px !important;
    font-size:.72rem !important;
  }
  .logo-text{
    font-size:.95rem !important;
    letter-spacing:1px !important;
  }
  .nav-logo{
    width:42px !important;
    height:42px !important;
  }
  .about-grid,
  .staff-grid,
  .events-grid{
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }
}
@media(max-width:430px){
  .logo-text{
    display:none !important;
  }
}


/* ===== V8 FINAL: NEWS CARD PROFESSIONAL ===== */

.news-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(240px,300px)) !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:28px !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.news-card{
  width:100% !important;
  max-width:300px !important;
  min-height:380px !important;
  max-height:380px !important;
  margin:0 auto !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  text-align:center !important;
  overflow:hidden !important;
}

.news-card span{
  align-self:center !important;
}

.news-card h3{
  min-height:95px !important;
  line-height:1.35 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.news-card p{
  display:-webkit-box !important;
  -webkit-line-clamp:4 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  margin-top:auto !important;
}

#homeNewsGrid .news-card,
#allNewsGrid .news-card{
  min-height:380px !important;
  max-height:380px !important;
}

@media(max-width:1050px){
  .news-grid{
    grid-template-columns:repeat(2,minmax(240px,300px)) !important;
  }
}

@media(max-width:700px){
  .news-grid{
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }

  .news-card{
    max-width:330px !important;
  }
}

@media(max-width:1050px){
  .news-grid{
    grid-template-columns:repeat(2, minmax(240px, 300px)) !important;
  }
}

@media(max-width:700px){
  .news-grid{
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }
  .news-card{
    max-width:330px !important;
  }
}

/* ===== V7 FINAL: GRIGLIE CARD UNIFORMI ===== */
.about-grid,
.staff-grid,
.events-grid,
.news-grid{
  width:100% !important;
}

.about-card,
.staff-card,
.event-card,
.news-card{
  box-sizing:border-box !important;
}


/* ===== GALLERY CATEGORY FIX ===== */
#galleryCategoryGrid,
#galleryAlbumsGrid .events-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(240px, 300px)) !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:28px !important;
}

#galleryCategoryGrid .album-card,
#galleryAlbumsGrid .album-card{
  width:100% !important;
  max-width:300px !important;
  height:100% !important;
}

.empty-gallery-card{
  max-width:640px;
  margin:0 auto;
  background:white;
  border-radius:30px;
  padding:38px;
  text-align:center;
  box-shadow:0 18px 45px rgba(0,0,0,.07);
}

.empty-gallery-card h3{
  color:#0b8f3d;
  font-size:1.8rem;
  font-weight:900;
  margin-bottom:10px;
}

.empty-gallery-card p{
  color:#555;
  line-height:1.7;
  font-weight:700;
}

@media(max-width:1050px){
  #galleryCategoryGrid,
  #galleryAlbumsGrid .events-grid{
    grid-template-columns:repeat(2, minmax(240px, 300px)) !important;
  }
}

@media(max-width:700px){
  #galleryCategoryGrid,
  #galleryAlbumsGrid .events-grid{
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }
  #galleryCategoryGrid .album-card,
  #galleryAlbumsGrid .album-card{
    max-width:330px !important;
  }
}


/* ===== NEWS COVER IMAGE FIX ===== */
.news-card{
  padding:0 !important;
}

.news-cover{
  width:100%;
  height:155px;
  object-fit:cover;
  object-position:center;
  display:block;
  background:#f5f5f5;
  flex-shrink:0;
}

.news-card-content{
  padding:20px 22px 24px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.news-card-content span{
  align-self:center !important;
}

.news-card-content h3{
  min-height:70px !important;
  line-height:1.28 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.news-card-content p{
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  margin-top:auto !important;
}


/* ===== NEWS READABILITY + IMAGE SIZE FIX ===== */
.info-modal .modal-content{
  max-width:760px !important;
  text-align:left !important;
}

.info-modal #infoTitle,
.info-modal #infoSubtitle{
  text-align:center !important;
}

.info-modal #infoImage{
  display:block !important;
  width:100% !important;
  max-width:520px !important;
  max-height:260px !important;
  margin:0 auto 22px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#f5f5f5 !important;
  border-radius:20px !important;
}

#infoDescription{
  text-align:left !important;
  color:#444 !important;
  line-height:1.85 !important;
  font-size:1rem !important;
}

#infoDescription .info-paragraph{
  margin:0 0 16px !important;
}

#infoDescription .info-point{
  padding-left:14px !important;
  border-left:4px solid #0b8f3d !important;
  font-weight:600 !important;
}

.news-cover{
  height:145px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#f5f5f5 !important;
  padding:8px !important;
}

@media(max-width:700px){
  .info-modal .modal-content{
    padding:24px !important;
  }

  .info-modal #infoImage{
    max-height:210px !important;
  }

  #infoDescription{
    font-size:.95rem !important;
  }
}

/* ===== CAMP LANDING PAGES ===== */
.camp-landing-card{
  max-width:980px;
  margin:0 auto 26px;
  background:white;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(0,0,0,.07);
  display:grid;
  grid-template-columns:1fr 1fr;
  text-align:left;
}
.camp-landing-card img{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  background:#f5f5f5;
}
.camp-landing-info{
  padding:38px;
}
.camp-badge{
  display:inline-block;
  padding:8px 15px;
  border-radius:999px;
  background:#0b8f3d;
  color:white;
  font-weight:900;
  font-size:.82rem;
  margin-bottom:18px;
}
.camp-detail-list{
  display:grid;
  gap:12px;
  margin:24px 0;
}
.camp-detail-item{
  background:#f6f6f6;
  border-radius:18px;
  padding:14px 16px;
  font-weight:800;
}
.camp-detail-item span{
  color:#c62828;
  display:block;
  font-size:.78rem;
  text-transform:uppercase;
  margin-bottom:4px;
}
.camp-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}
.camp-actions .main-button,
.camp-actions .players-list-link{
  margin-top:0;
}
.thank-you-card{
  max-width:760px;
  margin:0 auto;
  background:white;
  border-radius:34px;
  padding:45px;
  box-shadow:0 18px 45px rgba(0,0,0,.07);
  text-align:center;
}
.thank-you-icon{
  width:82px;
  height:82px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 22px;
  background:#0b8f3d;
  color:white;
  font-size:2.8rem;
  font-weight:900;
}
@media(max-width:900px){
  .camp-landing-card{grid-template-columns:1fr;}
  .camp-landing-card img{min-height:260px;}
  .camp-landing-info{padding:26px;}
  .camp-actions{flex-direction:column;align-items:stretch;}
  .camp-actions .main-button,
  .camp-actions .players-list-link{text-align:center;width:100%;}
}


/* ===== HOTFIX 2026-06: CARD TRANSLATIONS DO NOT BREAK ===== */
.event-card,
#homeEventsGrid .event-card,
#allEventsGrid .event-card{
  height:auto !important;
  min-height:350px !important;
  max-height:none !important;
  overflow:visible !important;
}
.event-card h3,
.event-card p{
  min-height:0 !important;
  max-height:none !important;
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:unset !important;
  overflow:visible !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}
.event-card h3{
  line-height:1.28 !important;
  font-size:1.25rem !important;
}
.event-card p{
  line-height:1.5 !important;
  margin-bottom:8px !important;
}
.news-card,
#homeNewsGrid .news-card,
#allNewsGrid .news-card{
  height:auto !important;
  min-height:380px !important;
  max-height:none !important;
  overflow:visible !important;
}
.news-card-content h3,
.news-card-content p,
.news-card h3,
.news-card p{
  min-height:0 !important;
  max-height:none !important;
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:unset !important;
  overflow:visible !important;
  overflow-wrap:anywhere !important;
}
.news-card-content h3{
  line-height:1.25 !important;
  font-size:1.25rem !important;
  margin-bottom:10px !important;
}
.news-card-content p{
  line-height:1.55 !important;
  margin-top:0 !important;
}
.news-cover{
  height:145px !important;
  object-fit:contain !important;
  padding:8px !important;
}
.ticket-button{
  flex-shrink:0 !important;
}
@media(max-width:700px){
  .event-card,
  .news-card{
    max-width:330px !important;
  }
  .event-card h3,
  .news-card-content h3{
    font-size:1.15rem !important;
  }
}
/* FIX NEWS CARD LANGUAGE */
.news-card span,
.news-card-content span {
  background: transparent !important;
  color: inherit !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: inline !important;
  margin: 0 !important;
}

.news-card .news-date,
.news-card-content .news-date {
  display: inline-block !important;
  background: #0b8f3d !important;
  color: white !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  margin-bottom: 15px !important;
}
/* ===== RELEASE 300 - EVENTI COMPATTI COME NEWS ===== */
.event-card.event-card-news-style{
  width:300px !important;
  max-width:300px !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  text-align:center !important;
  background:white !important;
  border-radius:30px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.07) !important;
}
.event-card-main{
  display:block;
  color:inherit;
  text-decoration:none;
}
.event-cover{
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:contain;
  object-position:center;
  display:block;
  background:#f5f5f5;
}
.event-card-content{
  padding:18px 18px 8px;
}
.event-card.event-card-news-style span{
  display:block !important;
  background:transparent !important;
  color:#0b8f3d !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  margin:0 0 8px !important;
  padding:0 !important;
  min-height:0 !important;
}
.event-card.event-card-news-style h3{
  min-height:0 !important;
  font-size:1.18rem !important;
  line-height:1.2 !important;
  margin:0 0 8px !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.event-location-line{
  color:#c62828 !important;
  font-weight:800 !important;
  margin-bottom:10px !important;
}
.event-card.event-card-news-style p{
  color:#555 !important;
  line-height:1.55 !important;
  font-size:.92rem !important;
  margin:0 0 10px !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.event-card.event-card-news-style .event-read-more{
  margin-top:2px;
  font-size:.78rem;
  font-weight:900;
  color:#0b8f3d;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.event-card-actions{
  padding:0 18px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  margin-top:auto !important;
}
.event-main-action,
.event-card .ticket-button,
.event-share-action{
  width:100% !important;
  min-height:46px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:12px 18px !important;
  border-radius:999px !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:.9rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.3px !important;
  text-decoration:none !important;
  cursor:pointer !important;
}
.event-share-action{
  background:#fff !important;
  color:#c62828 !important;
  border:3px solid #c62828 !important;
  box-shadow:0 8px 20px rgba(198,40,40,.10) !important;
}
.event-share-action:hover{
  background:#c62828 !important;
  color:#fff !important;
}
.share-sheet-grid a,
.share-sheet-grid button{
  width:100% !important;
  min-height:46px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px 18px !important;
  border-radius:999px !important;
  border:3px solid #c62828 !important;
  background:#fff !important;
  color:#c62828 !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:.9rem !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  cursor:pointer !important;
}
.share-sheet-grid a:hover,
.share-sheet-grid button:hover{
  background:#c62828 !important;
  color:#fff !important;
}
.event-detail-page{padding-top:135px;}
.event-detail-card{
  max-width:980px;
  margin:0 auto 40px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  align-items:center;
  background:white;
  border-radius:34px;
  padding:38px;
  box-shadow:0 18px 45px rgba(0,0,0,.07);
  text-align:left;
}
.event-detail-image-wrap img{
  width:100%;
  height:520px;
  object-fit:cover;
  object-position:center top;
  border-radius:28px;
  background:#f5f5f5;
}
.event-detail-badge{
  display:inline-flex;
  padding:10px 18px;
  border-radius:999px;
  background:#0b8f3d;
  color:#fff;
  font-weight:900;
  font-size:.82rem;
  margin-bottom:16px;
}
.event-detail-info h1{
  font-size:2.2rem;
  line-height:1.12;
  margin-bottom:12px;
}
.event-detail-description{
  color:#555;
  line-height:1.65;
  margin-bottom:20px;
}
.event-detail-fields{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:22px;
}
.event-detail-fields div{
  background:#f6f6f6;
  border-radius:18px;
  padding:15px 18px;
}
.event-detail-fields strong{
  display:block;
  color:#c62828;
  font-size:.78rem;
  font-weight:900;
  margin-bottom:4px;
}
.event-detail-fields span{font-weight:800;color:#222;}
.event-detail-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:300px;
}
@media(max-width:900px){
  .event-card.event-card-news-style{width:100% !important;max-width:330px !important;}
  .event-detail-card{grid-template-columns:1fr;padding:24px;gap:22px;}
  .event-detail-image-wrap img{height:300px;}
  .event-detail-info h1{font-size:1.8rem;}
  .event-detail-actions{max-width:none;}
}


/* ===== RELEASE 400 - EVENTI PIÙ PICCOLI + SHARE VISIBILE ===== */
.event-card.event-card-news-style{
  width:260px !important;
  max-width:260px !important;
  border-radius:24px !important;
}
.event-card.event-card-news-style .event-cover{
  height:auto !important;
  aspect-ratio:1 / 1;
  object-fit:contain;
}
.event-card.event-card-news-style .event-card-content{
  padding:14px 14px 6px !important;
}
.event-card.event-card-news-style span{
  font-size:.76rem !important;
  margin-bottom:6px !important;
}
.event-card.event-card-news-style h3{
  font-size:1.04rem !important;
  line-height:1.16 !important;
  margin-bottom:6px !important;
}
.event-card.event-card-news-style .event-location-line{
  font-size:.82rem !important;
  margin-bottom:7px !important;
}
.event-card.event-card-news-style p{
  font-size:.82rem !important;
  line-height:1.45 !important;
  margin-bottom:8px !important;
}
.event-card.event-card-news-style .event-read-more{
  font-size:.70rem !important;
  margin-top:0 !important;
}
.event-card.event-card-news-style .event-card-actions{
  padding:0 14px 14px !important;
  gap:7px !important;
}
.event-card.event-card-news-style .event-main-action,
.event-card.event-card-news-style .event-share-action,
.event-card.event-card-news-style .ticket-button{
  min-height:36px !important;
  padding:8px 14px !important;
  font-size:.74rem !important;
  letter-spacing:.25px !important;
  border-width:2px !important;
}
.event-detail-actions .event-main-action,
.event-detail-actions .event-share-action{
  min-height:46px !important;
  padding:12px 18px !important;
  font-size:.9rem !important;
  border-width:3px !important;
}
.share-action-row{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin-top:22px !important;
}
.share-button,
.album-share-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:11px 22px !important;
  border-radius:999px !important;
  border:2px solid #0b8f3d !important;
  background:#0b8f3d !important;
  color:#fff !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:.84rem !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px rgba(11,143,61,.18) !important;
}
.share-button:hover,
.album-share-button:hover{
  background:#087633 !important;
  transform:translateY(-2px) !important;
}
.share-register-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:11px 22px !important;
  border-radius:999px !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:.84rem !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
}
.share-sheet-grid a,
.share-sheet-grid button{
  font-size:.84rem !important;
  min-height:42px !important;
  padding:11px 18px !important;
}
@media(max-width:900px){
  .event-card.event-card-news-style{
    width:100% !important;
    max-width:300px !important;
  }
}


/* ===== SOCIAL SHARE SHEET FIX ===== */
.share-sheet-overlay{
  position:fixed !important;
  inset:0 !important;
  background:rgba(0,0,0,.72) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:22px !important;
  z-index:2147483647 !important;
}
.share-sheet{
  width:min(92vw,420px) !important;
  background:#fff !important;
  border-radius:30px !important;
  padding:28px !important;
  box-shadow:0 28px 80px rgba(0,0,0,.35) !important;
  position:relative !important;
  text-align:center !important;
  font-family:'Montserrat',sans-serif !important;
}
.share-sheet h3{
  margin:0 0 18px !important;
  font-size:1.55rem !important;
  font-weight:900 !important;
  color:#111 !important;
  text-transform:uppercase !important;
}
.share-sheet-close{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  width:42px !important;
  height:42px !important;
  border:none !important;
  border-radius:50% !important;
  background:#c62828 !important;
  color:#fff !important;
  font-size:1.6rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.share-sheet-grid{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
.share-sheet-grid a,
.share-sheet-grid button{
  width:100% !important;
  min-height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px 18px !important;
  border-radius:999px !important;
  border:3px solid #c62828 !important;
  background:#fff !important;
  color:#c62828 !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:.86rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.25px !important;
  text-decoration:none !important;
  cursor:pointer !important;
}
.share-sheet-grid a:hover,
.share-sheet-grid button:hover{
  background:#c62828 !important;
  color:#fff !important;
}
.share-sheet-note{
  margin:14px 0 0 !important;
  color:#666 !important;
  font-size:.78rem !important;
  line-height:1.45 !important;
}
.share-toast{
  position:fixed !important;
  left:50% !important;
  bottom:26px !important;
  transform:translateX(-50%) !important;
  background:#0b8f3d !important;
  color:#fff !important;
  padding:12px 18px !important;
  border-radius:999px !important;
  font-family:'Montserrat',sans-serif !important;
  font-weight:900 !important;
  z-index:2147483647 !important;
  box-shadow:0 12px 35px rgba(0,0,0,.25) !important;
}


/* ===== NEWS DETAIL: FOTO NEL FLUSSO COME LE ALTRE NEWS ===== */
.news-detail-card{
  max-width:900px !important;
  grid-template-columns:1fr !important;
  align-items:start !important;
  gap:24px !important;
  padding:38px !important;
}

.news-detail-header,
.news-detail-body{
  width:100% !important;
  max-width:780px !important;
  margin:0 auto !important;
}

.news-detail-header{
  text-align:center !important;
}

.news-detail-header .event-detail-badge{
  margin-left:auto !important;
  margin-right:auto !important;
}

.news-detail-header h1{
  text-align:center !important;
  margin-bottom:10px !important;
}

.news-detail-date{
  text-align:center !important;
  margin-bottom:0 !important;
}

.news-detail-image-wrap{
  width:100% !important;
  max-width:780px !important;
  margin:0 auto !important;
}

.news-detail-image-wrap img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:620px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto !important;
  background:#f5f5f5 !important;
}

.news-detail-body .event-detail-description{
  width:100% !important;
  text-align:left !important;
}

.news-detail-body .event-detail-actions{
  margin:28px auto 0 !important;
}

@media(max-width:900px){
  .news-detail-card{
    padding:24px !important;
    gap:20px !important;
  }

  .news-detail-image-wrap img{
    height:auto !important;
    max-height:460px !important;
  }
}


/* FIL-ITALIA account navigation */
.nav-links a[aria-current="page"],
.nav-links a[data-filitalia-account-link="true"]:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
