:root{--primary:#2d8b8b;--secondary:#f9b233;--accent:#f6f6f6;--dark:#222;--light:#fff;--zprimary:#7fdbb6;--zsecondary:#d8d8d8;--zaccent:#faf9f6;--zdark:#4a4a4a;--zlight:#ff6f61;--z1light:#a3c4dc;--z2light:#9caf88;--z3light:#bde9ea;--ale-primary:#9cd0d1;--ale-primary-hover:#92c0c1;--ale-primary-active:#92c0c1}body{font-family:Montserrat,sans-serif;background:var(--zaccent);color:var(--zdark)}.navbar-nav.show .nav-link{opacity:1}.navbar-nav .nav-link{position:relative;color:#000;transition:color .3s}.navbar-nav .nav-link::after{content:'';position:absolute;width:0;height:2px;bottom:0;left:0;background-color:#6c7581;transition:width .3s}.navbar-nav .nav-link:hover::after{width:100%}.navbar-nav .nav-link:hover{color:#6c7581}.nav-link{color:var(--zdark);font-weight:100;transition:color .2s ease}.navbar-brand img{height:70px}.booking-bar{color:var(--light);padding:.2rem;position:relative;z-index:10}.booking-bar label{color:var(--light);font-weight:500;margin-bottom:.2rem}.booking-bar input,.booking-bar select{color:var(--dark)}.booking-bar-col{padding:.2rem}.phone-input{display:flex;align-items:center}.phone-input select{max-width:180px;font-size:.95rem}.phone-input input{flex:1}.phone-input input[name=phone_prefix]{text-align:center;font-weight:700}.hero-section{background:url(/assets/img/banner/isoladelliri.jpg) center/cover no-repeat;min-height:70vh;display:flex;align-items:center;justify-content:center;position:relative;color:var(--light)}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgb(189 233 234 / 23%);z-index:1}.hero-content{position:relative;z-index:2;text-align:center;padding:0 1rem}.hero-content h1{font-size:3rem;font-weight:700;color:#fff text-shadow: 0 2px 8px rgba(0,0,0,.2)}.hero-content p{font-size:1.4rem;margin-bottom:2rem}.section-title{color:var(--zdark);font-weight:700;margin-bottom:1.5rem;letter-spacing:1px}.card{border:none;border-radius:1rem;box-shadow:0 2px 16px rgba(0,0,0,.05);transition:transform .2s;cursor:pointer}.card:hover{transform:translateY(-8px) scale(1.02)}.footer{background:var(--z3light);color:var(--zdark);padding:2rem 0}.footer a{color:var(--zlight);text-decoration:none;margin-right:1rem}.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:999}.whatsapp-float button{display:flex;align-items:center;background:#25d366;color:#fff;padding:12px 20px;border-radius:50px;font-size:1.2rem;box-shadow:0 4px 16px rgba(0,0,0,.15);border:none;transition:background .2s;cursor:pointer}.whatsapp-float button:hover{background:#1ebe57;color:#fff}#bookingGuestsBox{background:#fff;border-radius:8px;padding:.5rem 1rem;box-shadow:0 2px 8px rgba(0,0,0,.06);min-width:220px;position:absolute;z-index:50;top:100%;left:0;display:none}#bookingGuestsBox.active{display:block}.guest-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}div#guestsBox .guest-row{padding:7px 7px 0}.guest-row label{margin-bottom:0;color:#222;font-weight:500}.guest-controls{display:flex;align-items:center;gap:.5rem}.guest-controls button{width:32px;height:32px;border-radius:50%;border:none;background:var(--ale-primary);color:#fff;font-size:1.2rem;font-weight:700;transition:background .2s}.guest-controls button:disabled{background:#ccc;color:#fff}.child-age-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.child-age-row label{font-size:.95rem;color:#333;margin-bottom:0}.child-age-row input{width:60px}.booking-bar .input-group-text{background:var(--z1light);color:#fff;border:none;font-size:1.2rem;border-radius:8px 0 0 8px}#loader{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--light);z-index:2000;display:flex;align-items:center;justify-content:center;transition:opacity .4s}#loader.hidden{opacity:0;pointer-events:none}.lds-ring{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid var(--primary);border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--primary) transparent transparent transparent}.lds-ring div:nth-child(1){animation-delay:-.45s}.lds-ring div:nth-child(2){animation-delay:-.3s}.lds-ring div:nth-child(3){animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.gallery-modal .modal-dialog{max-width:700px}.gallery-main-img{width:100%;max-height:440px;object-fit:contain;border-radius:10px;background:#fff;cursor:zoom-in;box-shadow:0 2px 16px rgba(0,0,0,.07);display:block;margin:auto}.gallery-modal .gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.gallery-modal .gallery-controls button{background:var(--primary);color:#fff;border:none;border-radius:50%;width:42px;height:42px;font-size:1.3rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.gallery-modal .gallery-controls button:focus{outline:2px solid var(--secondary)}.fullscreen-viewer{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(30,30,30,.95);z-index:3000;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .2s}.fullscreen-viewer img{max-width:95vw;max-height:85vh;border-radius:16px;box-shadow:0 4px 40px rgba(0,0,0,.35)}.fullscreen-viewer .close-btn,.fullscreen-viewer .nav-btn{position:absolute;top:24px;background:rgba(0,0,0,.5);border:none;color:#fff;font-size:2rem;padding:8px 16px;border-radius:50px;cursor:pointer;z-index:10;transition:background .2s}.fullscreen-viewer .close-btn{right:32px}.fullscreen-viewer .nav-btn.left{left:32px;top:50%;transform:translateY(-50%)}.fullscreen-viewer .nav-btn.right{right:32px;top:50%;transform:translateY(-50%)}.map-modal .modal-dialog{max-width:100vw;margin:0;height:100vh}.map-modal .modal-content{height:100vh;border-radius:0}.map-modal .modal-body{height:calc(100vh - 56px);padding:0}.map-preview{width:100%;height:200px;border-radius:8px;overflow:hidden;margin-bottom:1rem;box-shadow:0 2px 8px rgba(0,0,0,.08)}.feedback-scrollbox{max-height:420px;overflow-y:auto;padding:1rem .5rem;position:relative}.feedback-scrollbox:after,.feedback-scrollbox:before{content:"";position:sticky;left:0;right:0;height:35px;pointer-events:none;z-index:2}.feedback-scrollbox:before{top:0;background:linear-gradient(to bottom,#fff 80%,transparent)}.feedback-scrollbox:after{bottom:0;background:linear-gradient(to top,#fff 80%,transparent)}.feedback-item{border:2px solid var(--primary);border-radius:12px;background:#f8fafd;padding:1rem;margin-bottom:1.2rem;box-shadow:0 2px 8px rgba(59,140,158,.06);transition:box-shadow .2s}.feedback-item:last-child{margin-bottom:0}@media (max-width:600px){.gallery-main-img{max-height:220px}.fullscreen-viewer img{max-height:60vh}.map-preview{height:120px}.feedback-scrollbox{max-height:240px}}#childrenAges2{padding:7px}.loader-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,.6);display:flex;justify-content:center;align-items:center;z-index:999;pointer-events:all;border-radius:inherit}.loader-spinner{width:1.5em;height:1.5em;border:3px solid rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.7);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.review-card{border:2px solid var(--primary);border-radius:12px;background:#fff;padding:1rem 1.2rem;box-shadow:0 2px 12px rgba(0,0,0,.04);display:flex;flex-direction:column;height:100%;transition:transform .2s}.review-card:hover{transform:translateY(-4px)}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.review-stars{display:flex;align-items:center;gap:2px}.review-stars span{color:#ffc107;font-size:1.2em}.review-date{font-size:.85rem;color:#666;white-space:nowrap}.review-text{font-style:italic;color:#444;margin-bottom:.8rem;font-size:smaller}.review-footer{font-size:.9rem;color:#555}.review-footer cite{font-style:normal;color:var(--primary)}.litepicker .day-item.is-disabled,.litepicker .day-item.is-locked{color:#b2b2b2;position:relative}.litepicker .day-item.is-disabled::after,.litepicker .day-item.is-locked::after{content:"✗";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#d9534f;font-size:1.2em;font-weight:700}.litepicker .day-item.is-disabled span,.litepicker .day-item.is-locked span{opacity:0}#cookie-policy,#privacy-policy{scroll-margin-top:50px}@media (max-width:767px){#cookie-policy,#privacy-policy{scroll-margin-top:40px}}#cookie-policy::before,#privacy-policy::before{content:"";display:block;height:50px;margin-top:-50px}@media (max-width:767px){#cookie-policy::before,#privacy-policy::before{height:40px;margin-top:-40px}}section#camere,section#comfort,section#contatti,section#feedback,section#giardino,section#prenota{scroll-margin-top:120px}@media (max-width:767px){section#camere,section#comfort,section#contatti,section#feedback,section#giardino,section#prenota{scroll-margin-top:100px}}section#camere::before,section#comfort::before,section#contatti::before,section#feedback::before,section#giardino::before,section#prenota::before{content:"";display:block;height:120px;margin-top:-120px}@media (max-width:767px){section#camere::before,section#comfort::before,section#contatti::before,section#feedback::before,section#giardino::before,section#prenota::before{height:100px;margin-top:-100px}}#priceListForm ul{list-style-type:none;padding:0;margin:0}#priceListForm li{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:16px}#priceListForm .price{font-weight:700;color:#2a7ae2}.grecaptcha-badge{display:none!important}