[data-theme='light']{--svg-invert:invert(0);--primary-100:#9cc8e8ff;--primary-200:#6fb0e0ff;--primary-300:#4997d6ff;--primary-400:#2e86d0ff;--primary-500:#1275caff;--primary-600:#0f68b5ff;--primary-700:#0c589dff;--primary-800:#0a4c88ff;--primary-900:#004699ff;--secondary-100:#ffe6cc;--secondary-200:#ffcc99;--secondary-300:#ffb066;--secondary-400:#ff983d;--secondary-500:#ff7f0e;--secondary-600:#e66f09;--secondary-700:#c45a05;--secondary-800:#9c4603;--secondary-900:#7a3600;--text-bold:#333333;--text:#3b3b3b;--warning:#ffc107;--success:#28a745;--error:#911f1f;--delete:#dc3545;--neutral-0:#ffffff;--neutral-100:#f5f5f5;--neutral-200:#e0e0e0;--neutral-250:#cac8c6;--neutral-300:#a8a29e;--neutral-400:#78716c;--neutral-500:#57534e;--neutral-600:#44403c;--shadow-primary:rgba(15, 104, 181, 0.3)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--neutral-100);color:var(--text-bold);line-height:1.6;font-size:16px;min-height:100vh;display:flex;flex-direction:column;margin:0}.sr-only,.skip-to-content{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:rect(0,0,0,0);white-space:nowrap;border-width:0}#breadcrumb{background-color:var(--neutral-250);margin:1.5rem 0;text-align:center;border-radius:12px;padding:4px 8px;width:fit-content;align-self:center}#breadcrumb p{color:var(--text)}.breadcrumb-page{color:var(--text-bold);font-weight:500}.creationDate{color:var(--text-bold);font-weight:500}.banner{width:100%;height:100%;background:linear-gradient(rgb(0 0 0 / .5),rgb(0 0 0 / .5)),url(../assets/bannerhome.jpg);background-size:cover;background-position:center;color:var(--neutral-0);padding:6rem 2rem;text-align:center}.banner-container{max-width:1200px;margin:0 auto}.banner-container h1{font-size:4rem;margin-bottom:1rem;font-weight:700;color:var(--neutral-0)}.banner-subtitle{font-size:0rem;font-weight:300;margin-bottom:2rem;color:var(--neutral-0)}.primary-button{background:#fff;color:var(--primary-600);padding:.8rem 2rem;border-radius:25px;font-weight:700;border:2px solid #fff;cursor:pointer;transition:transform 0.3s,box-shadow 0.3s,background 0.3s;font-size:1rem;display:inline-block}.primary-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgb(0 0 0 / .2);background:var(--neutral-100)}.primary-button:focus{outline:2px solid var(--text-bold);outline-offset:2px}.primary-button:active{transform:translateY(0)}.icon-button{margin-bottom:1rem;border-radius:20px;padding:.8rem 1rem .5rem 1rem}input,button{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.main-account{display:grid;place-items:center;padding:1.5rem;gap:2rem}.info-container{max-width:600px;width:100%;margin-bottom:3rem}#profileForm{padding:3rem}.info-header{text-align:center;margin-bottom:2rem}.info-header h1{font-size:1.75rem;color:var(--primary-600);margin-bottom:.5rem;font-weight:700}.reservation-header{text-align:center;margin-bottom:2rem}.reservation-header h1{font-size:2.25rem;color:var(--primary-600);margin-bottom:.5rem;font-weight:700}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.95rem;color:var(--text-bold);font-weight:600;margin-bottom:.5rem}.form-input{position:relative;display:flex;align-items:center}.form-input input{width:100%;padding:.875rem 1rem;border-radius:8px;font-size:1rem;border:2px solid var(--primary-600);transition:all 0.3s ease}.form-input input[readonly]{background:var(--neutral-100);border:1px solid var(--neutral-400);color:var(--text-bold);cursor:default;font-weight:500}.form-input input#email[readonly],input#username[readonly]{cursor:not-allowed}.form-input input:not([readonly]){border:1px solid var(--neutral-400);background:var(--neutral-0);box-shadow:0 4px 6px var(--shadow-primary);color:var(--text-bold)}.form-input input:not([readonly]):focus{outline:2px solid #fff0;outline-offset:2px;border-color:var(--primary-800);box-shadow:0 0 0 3px var(--shadow-primary)}.account-button{width:100%;padding:.875rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;transition:all 0.3s ease;cursor:pointer;text-align:center;text-decoration:none;display:block;margin-bottom:10px;color:#fff}.account-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgb(0 0 0 / .1)}.account-button:active{transform:translateY(0)}.button-container{margin-top:2rem;display:flex;flex-direction:column}#editBtn{background-color:var(--primary-500);cursor:pointer;border:none}#editBtn:disabled{background-color:var(--neutral-400);cursor:not-allowed;transform:none;box-shadow:none}#saveBtn{background-color:var(--primary-700);margin-top:1rem;display:block;cursor:pointer;border:none}#saveBtn:disabled{background-color:var(--neutral-400);cursor:not-allowed;transform:none;box-shadow:none}a.account-button[href*='logout']{background-color:var(--delete);margin-top:1rem}a.account-button[href*='logout']:hover{background-color:var(--error)}.error-page{display:flex;justify-content:center;align-items:center;text-align:center;padding:1rem}.error-container{max-width:480px}.footer{background:var(--text-bold);color:#fff;padding:2rem;text-align:center}.footer p{margin-bottom:1rem}.footer .cta-primary-button.icon-button{padding:.7rem 1rem .3rem 1rem;margin-bottom:1rem}header{position:sticky;top:0;z-index:100}.skip-to-content:focus{color:var(--text);z-index:1000;clip-path:auto;margin:.5em;box-sizing:border-box;padding:1em;width:auto;height:auto;border-radius:1em;background-color:var(--neutral-200)}.navbar{background:#fff;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:0 2rem}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:70px}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:var(--text-bold);text-decoration:none;transition:color 0.3s}.logo-icon{width:50px;height:50px}.nav-menu{display:flex;list-style:none;gap:2rem;align-items:center}.nav-menu .nav-link{color:var(--text);text-decoration:none;font-weight:500;transition:color 0.3s;position:relative;padding:.5rem}.nav-menu .nav-link::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--primary-600);transition:width 0.3s}.nav-menu .nav-link:hover::after{width:100%}.nav-menu .nav-link.active{color:var(--primary-600)}.nav-menu .nav-link.active::after{width:100%}.subscribe-button{background:var(--primary-600);color:white!important;padding:.6rem 1.5rem;border-radius:15px;font-weight:600;transition:all 0.3s ease;text-decoration:none;display:inline-block}.subscribe-button:hover{background:var(--primary-800);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-primary)}.menu-toggle{display:none;flex-direction:column;cursor:pointer;gap:5px;background:none;border:none;padding:.5rem;border-radius:4px}.menu-toggle:focus{outline:2px solid var(--primary-600);outline-offset:2px}.menu-toggle span{width:25px;height:3px;background:var(--text-bold);border-radius:3px;transition:0.3s}.container-info{list-style:none;max-width:1500px;margin:0 auto;padding:0 2rem;width:100%;display:flex;align-items:center;gap:8rem}.container-cards{gap:4rem}.container-paragraph{flex:1}.container-image img{max-width:400px;max-height:400px;border-radius:5%}.about-section{background:var(--neutral-100);padding:4rem 2rem;width:100%}.about-section h2{font-size:2rem;margin-bottom:2rem;color:var(--primary-600)}.about-section p{font-size:1rem;line-height:1.8;margin-bottom:1rem;color:var(--text)}.hours-section{background:var(--neutral-0);padding:4rem 2rem;width:100%}.hours-section h2{font-size:2rem;margin-bottom:3rem;text-align:center;color:var(--primary-600)}.notices-section{background:#fff;width:100%;padding:7rem 2rem}.notices-section h2{font-size:2rem;margin-bottom:3rem;text-align:center;color:var(--primary-600)}.notice-card{background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:8px;padding:2rem;position:relative;transition:transform 0.3s,box-shadow 0.3s;box-shadow:0 2px 8px rgb(0 0 0 / .1);word-wrap:break-word;word-break:break-word;text-align:center}.notice-card h3{font-size:1.25rem;margin:0rem 0 .5rem 0;color:var(--text-bold)}.notice-card p{color:var(--text);line-height:1.8;margin:0rem 2rem 0rem 2rem}.mySlides{display:none;text-align:center}.slideshow-container{max-width:1000px;position:relative;margin:auto}.fade{animation-name:fade;animation-duration:1.5s}@keyframes fade{from{opacity:.4}to{opacity:1}}.prev,.next{cursor:pointer;position:absolute;top:50%;width:auto;padding:16px;margin-top:-22px;color:var(--primary-600);border-radius:3px 0 0 3px;border:var(--primary-600);font-weight:700;font-size:18px;transition:0.6s ease;border-radius:0 3px 3px 0;user-select:none}.next{right:0}.subscribe-section{background:linear-gradient(135deg,var(--primary-600) 0%,#1a5fb8 100%);color:#fff;padding:4rem 2rem;text-align:center;margin-bottom:0;width:100%}.subscribe-section h2{font-size:2rem;margin-bottom:1rem}.subscribe-section p{font-size:1.1rem;margin-bottom:2rem}main{display:grid;place-items:center;flex:1}main.main-login{min-height:unset;padding:2rem 0 4rem 0}.login-container{max-width:600px;width:100%}.login-form{background:#fff;padding:3rem;border-radius:12px;box-shadow:0 4px 20px rgb(0 0 0 / .1)}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:1.75rem;color:var(--primary-600);margin-bottom:.5rem;font-weight:700}.login-header p{color:var(--text);font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.95rem;color:var(--text-bold);font-weight:600;margin-bottom:.5rem}.form-input{position:relative;display:flex;align-items:center}.form-input input{width:100%;padding:.875rem 1rem;border:2px solid var(--primary-600);border-radius:8px;font-size:1rem;transition:all 0.3s ease;background:var(--neutral-0);color:var(--text-bold)}.form-input input:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px rgb(15 104 181 / .1)}.form-input input::placeholder{color:var(--neutral-300)}.form-input input.error{border-color:var(--error)}.form-input input.error:focus{box-shadow:0 0 0 3px rgb(145 31 31 / .1)}.toggle-password{position:absolute;right:1rem;cursor:pointer;font-size:1.25rem;user-select:none;transition:transform 0.2s;height:26px;width:26px;background:none;border:none;cursor:pointer}.toggle-password:hover{transform:scale(1.1)}.eye-icon{height:26px;width:26px}.error-message{color:var(--error);font-weight:600;text-align:center}.success-message{color:var(--success);font-weight:600;text-align:center}.btn-login{width:100%;padding:.875rem;background:var(--primary-600);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;transition:all 0.3s ease;margin-top:.5rem;cursor:pointer}.btn-login:hover{background:var(--primary-800);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-primary)}.btn-login:active{transform:translateY(0)}.btn-login:disabled{background:var(--neutral-400);cursor:not-allowed;transform:none}.form-footer{text-align:center;margin-top:1.5rem;font-size:.95rem;color:var(--text)}.form-footer a{color:var(--primary-600);text-decoration:none;font-weight:600;transition:color 0.3s}.form-footer a:hover{color:var(--primary-800);text-decoration:underline}.forgot-password{text-align:right;margin-top:.5rem}.forgot-password a{color:var(--primary-600);text-decoration:none;font-size:.9rem;transition:color 0.3s}.forgot-password a:hover{color:var(--primary-800);text-decoration:underline}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:var(--primary-600);font-size:.9rem}.divider::before,.divider::after{content:'';flex:1;border-bottom:1px solid var(--neutral-200)}.divider::before{margin-right:1rem}.divider::after{margin-left:1rem}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.shake{animation:shake 0.5s}main.reservation-title{min-height:unset}.main-user{display:grid;place-items:center;padding:2rem}.info-container{max-width:700px;width:100%}.info-form{background:var(--neutral-0);padding:2rem;border-radius:12px;box-shadow:0 4px 20px var(--shadow-primary)}.info-header{text-align:center;margin-bottom:2rem}.info-header h1{font-size:1.75rem;color:var(--primary-600);margin-bottom:.5rem;font-weight:700}.table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--neutral-250);width:90%}table{width:100%;border-collapse:collapse;background:var(--neutral-0)}thead{background:var(--primary-600);color:var(--neutral-0)}th{padding:1rem;text-align:left;font-weight:600;letter-spacing:.5px}th[scope="row"]{border-bottom:1px solid var(--neutral-200)}th[scope='col']{font-size:.9rem;text-transform:uppercase}td{padding:1rem;border-bottom:1px solid var(--neutral-200);color:var(--text)}tbody tr{transition:background-color 0.2s}tbody tr:hover{background-color:var(--neutral-100)}.status{display:inline-block;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600}.status.confermata{background-color:#d4edda;color:var(--success)}.status.in-attesa{background-color:#fff3cd;color:#856404}.status.annullata{background-color:#f8d7da;color:var(--error)}.actions{display:flex;gap:.5rem}.action-btn{padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:transform 0.2s,opacity 0.2s}.action-btn:hover{transform:scale(1.05);opacity:.9}.btn-edit{background:var(--primary-500);color:var(--neutral-0)}.btn-delete{background:var(--delete);color:var(--neutral-0)}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding:1rem;background:var(--neutral-100);border-radius:8px;width:90%;margin-bottom:4rem}.pagination-info{color:var(--text);font-size:.9rem}.pagination-controls{display:flex;gap:.5rem;align-items:center}.pagination-btn{padding:.5rem 1rem;border:2px solid var(--neutral-250);background:var(--neutral-0);color:var(--text-bold);border-radius:6px;cursor:pointer;font-weight:500;transition:all 0.3s}.pagination-btn:hover:not(:disabled){background:var(--primary-600);color:var(--neutral-0);border-color:var(--primary-600)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.active{background:var(--primary-600);color:var(--neutral-0);border-color:var(--primary-600)}.page-number{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}.pagination-dots{padding:.5rem;color:var(--text)}tbody tr.pagination-hidden{display:none!important}.reservation-title h1{text-align:center;margin-bottom:2rem}.main-announcement h1{text-align:center;margin-bottom:2rem}.form-container{text-align:center;background-color:var(--neutral-0);margin:auto;width:50%;padding:10px;border-collapse:collapse;overflow:hidden;box-shadow:0 0 20px rgb(0 0 0 / .1);border-radius:1em}.create-announcement-form{margin:10rem 0;padding:2rem 0 0 0}#createAnnouncementForm>*{padding:1rem}.submit-button{background:var(--primary-600);color:white!important;padding:.6rem 1.5rem;border-radius:15px;font-weight:600;transition:all 0.3s ease;margin-top:auto;border:none;cursor:pointer;font-family:inherit;font-size:inherit;line-height:normal;-webkit-appearance:none;appearance:none}.submit-button:hover{background:var(--primary-800);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-primary)}form{text-align:center}.date-form label{display:flex;width:100%;align-items:center;gap:10px}.date-form input[type='date']{flex-grow:1;width:100%;padding:.5rem;font-size:1rem;border:1px solid var(--neutral-400);border-radius:6px}.form-separation{display:flex;gap:2rem}.separation{flex:1;display:flex;flex-direction:column}fieldset{border:0;padding:0;margin:0 2rem 2rem 2rem}.sport-radio-label{margin-top:.5rem}.timetable-form label.disabled{color:var(--neutral-400);cursor:not-allowed;text-decoration:line-through}.sport-form label.disabled{color:var(--neutral-400);cursor:not-allowed;text-decoration:line-through}.sport-form{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.sport-form label{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #ccc;border-radius:12px;padding:1rem;cursor:pointer}.date-form{width:100%;border:2px solid #ccc;border-radius:12px;padding:1rem;cursor:pointer}.timetable-form{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.timetable-form label{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #ccc;border-radius:12px;padding:1rem;cursor:pointer}.sport-form input[type='radio'],.timetable-form input[type='radio']{position:absolute;opacity:0}.sport-form label:has(input:checked),.timetable-form label:has(input:checked){border-color:var(--primary-600)}.sport-form label:has(input:focus-visible),.timetable-form label:has(input:focus-visible){outline:3px solid var(--primary-600);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .5);z-index:999;animation:fadeIn 0.3s ease}.overlay.active{display:flex;align-items:center;justify-content:center}.dialog{background:#fff;border-radius:12px;padding:30px;max-width:450px;width:90%;box-shadow:0 20px 60px rgb(0 0 0 / .3);animation:slideUp 0.3s ease}.dialog-icon{width:60px;height:60px;background:#fff3cd;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:32px;padding-bottom:12px}.dialog h1{color:var(--text-bold);margin-bottom:15px;text-align:center;font-size:22px}.dialog p{color:var(--text);text-align:center;margin-bottom:25px;line-height:1.5}.dialog-actions{display:flex;gap:12px;justify-content:center}.dialog-actions .btn{padding:12px 28px;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500;transition:all 0.3s ease}.btn-dl-cancel{background:var(--neutral-250);color:var(--text)}.btn-dl-cancel:hover{background:var(--neutral-300)}.btn-dl-delete{background:var(--delete);color:#fff}.btn-dl-delete:hover{background:var(--error);transform:translateY(-1px);box-shadow:0 4px 12px rgb(220 53 69 / .3)}.dialog-box{background:var(--neutral-0);border-radius:12px;padding:2rem;max-width:500px;width:90%;box-shadow:0 8px 24px rgb(0 0 0 / .3);animation:slideIn 0.3s ease-out;text-align:center}.dialog-edit .dialog-icon{background:#e6f3ff}.dialog-edit .dialog-header h2{color:var(--primary-700);margin-bottom:1rem;font-size:1.5rem}.btn-dl-confirm{background:var(--primary-600);color:#fff}.btn-dl-confirm:hover{background:var(--primary-800);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-primary)}.form-group{margin-bottom:1.2rem}.form-group label{display:block;margin-bottom:.4rem;color:var(--text-bold);font-weight:500;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.7rem;border:2px solid var(--neutral-400);border-radius:8px;font-size:.95rem;transition:border-color 0.3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-600)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center;width:90%}.filter-group{display:flex;flex-direction:column;gap:.3rem}.filter-group label{font-size:.85rem;color:var(--text);font-weight:500}.filter-group input,.filter-group select{padding:.6rem;border:2px solid var(--neutral-400);border-radius:8px;font-size:.95rem;transition:border-color 0.3s}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary-600)}.filter-button{background:var(--primary-600);color:var(--neutral-0);padding:.65rem 1.5rem;border-radius:12px;font-weight:600;border:none;cursor:pointer;transition:transform 0.3s,box-shadow 0.3s,background 0.3s;font-size:1rem;margin-top:auto}.filter-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-primary);background:var(--primary-700)}.container{max-width:1500px;margin:0 auto;padding:3 2rem;width:100%}.service-banner{background:linear-gradient(135deg,var(--primary-600) 0%,#1a5fb8 100%);color:#fff;padding:5rem 2rem;text-align:center;margin-bottom:3rem}.service-banner-container{max-width:1200px;margin:0 auto}.service-banner-container h1{font-size:2.5rem;margin-bottom:1rem;font-weight:700}.service-banner-subtitle{font-size:1.15rem;font-weight:300;opacity:.95}.service-intro{background:#fff;padding:3rem 2rem;width:100%}.service-intro h2{font-size:1.75rem;margin-bottom:1.5rem;color:var(--primary-600)}.service-intro p{font-size:1rem;line-height:1.8;margin-bottom:1rem;color:var(--text)}.service-detail{background:var(--neutral-100);padding:3rem;width:100%}.service-detail-alt{background:#fff}.service-card{margin:0 auto;background:#fff;border-radius:8px;padding:2.5rem;box-shadow:0 2px 12px rgb(0 0 0 / .08)}.service-detail-alt .service-card{background:var(--neutral-100);box-shadow:none;border:1px solid var(--neutral-200)}.service-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:3px solid var(--primary-600);flex-wrap:wrap;gap:1rem}.service-header h2{font-size:2rem;color:var(--text-bold);margin:0}.service-badge{background:var(--primary-600);color:#fff;padding:.5rem 1.25rem;border-radius:20px;font-size:.9rem;font-weight:600;display:inline-block}.service-content{display:flex;gap:2rem}.service-info{max-width:50%}.service-info h3{font-size:1.25rem;color:var(--primary-600);margin-top:1.5rem;margin-bottom:1rem}.service-info h3:first-child{margin-top:0}.service-info p{font-size:1rem;line-height:1.8;color:var(--text);margin-bottom:1rem}.service-info ul{list-style:none;padding-left:0;margin:1rem 0 1.5rem 0}.service-info li{padding:.5rem 0 .5rem 1.75rem;position:relative;color:var(--text);line-height:1.6}.service-info li::before{content:'•';color:var(--primary-600);font-weight:700;font-size:1.5rem;position:absolute;left:.25rem;top:.1rem}.service-info strong{color:var(--text-bold);font-weight:600}.facility-map{background:#fff;padding:4rem 2rem;text-align:center;width:100%}.facility-map h2{font-size:2rem;margin-bottom:1rem;text-align:center;color:var(--primary-600)}.map-description{text-align:center;color:var(--text);font-size:1.05rem;margin-bottom:2.5rem;max-width:700px;margin-left:auto;margin-right:auto}.map-image img{display:flex;justify-content:center;align-items:center;border-radius:5%;height:100%;width:100%}.service-card:focus-within{outline:2px solid var(--primary-600);outline-offset:4px}a.cta-primary-button:focus{outline:2px solid #fff;outline-offset:4px}.service-gallery{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--neutral-200);flex:1;min-width:50%}.service-gallery h3{font-size:1.25rem;color:var(--primary-600);margin-bottom:1.5rem}.gallery-grid{display:grid;gap:1.5rem}.gallery-item{margin:0;overflow:hidden;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0 / .1);transition:transform 0.3s ease,box-shadow 0.3s ease;background:var(--neutral-100)}.gallery-item:hover,.gallery-item:focus-within{transform:translateY(-4px);box-shadow:0 4px 16px rgb(0 0 0 / .15)}.gallery-item img{display:block;width:100%;height:300px;object-fit:cover}.gallery-item figcaption{padding:1rem;font-size:.95rem;line-height:1.6;color:var(--text);background:#fff;font-weight:500}.grid-wrapper>div{display:flex;justify-content:center;align-items:center}.grid-wrapper>div>img{width:100%;height:100%;object-fit:cover;border-radius:5px}.grid-wrapper{display:grid;grid-gap:10px;grid-auto-rows:200px;grid-auto-flow:dense}.grid-wrapper .wide{grid-column:span 2}.grid-wrapper .tall{grid-row:span 2}.grid-wrapper .big{grid-column:span 2;grid-row:span 2}.subscribe-section{background:linear-gradient(135deg,var(--primary-600) 0%,#1a5fb8 100%);color:#fff;padding:4rem 2rem;text-align:center;margin-bottom:0}.subscribe-section h2{font-size:2rem;margin-bottom:1rem}.subscribe-section p{font-size:1.1rem;margin-bottom:2rem}.service-content{display:flex;gap:2rem;flex-wrap:wrap}.service-info{flex:1;max-width:100%}.create-announcement-form{max-width:700px;margin:3rem auto;padding:2rem;background:var(--neutral-0);border-radius:12px;text-align:center}.create-announcement-form .form-group{margin-bottom:1.5rem}.create-announcement-form .form-group label{display:block;font-size:.95rem;color:var(--text-bold);font-weight:600;margin-bottom:.5rem}.create-announcement-form .form-input-announcement{position:relative;display:flex;align-items:flex-start}.create-announcement-form .form-input-announcement input,.create-announcement-form .form-input-announcement textarea{width:100%;padding:.5rem 1rem;border:2px solid var(--primary-600);border-radius:8px;font-size:1rem;background:var(--neutral-0);color:var(--text-bold);font-family:inherit}.create-announcement-form textarea{resize:none;min-height:110px}.create-announcement-form .submit-button{width:100%;padding:.875rem;background:var(--primary-600);color:white!important;border:none;border-radius:8px;font-size:1rem;font-weight:600;transition:all 0.3s ease;cursor:pointer;margin-top:1rem}.content-columns{display:flex;gap:2rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:4rem;width:90%}.content-columns .table-container{flex:1 1 60%;min-width:320px;overflow-x:auto}.content-columns .create-announcement-form{flex:0 0 35%;min-width:280px;margin:0;width:100%}.content-columns .table-container{min-width:280px}.announcement-action-title{font-size:1.75rem;color:var(--primary-600)}#dialogDelete{text-align:center}@media (max-width:1400px){.content-columns{flex-direction:column;align-items:center}.content-columns .create-announcement-form{width:90%;margin-top:1.5rem}}@media (max-width:1700px){.ann{flex-direction:column}}