/* =====================================================================
   OLYMPUS — SCHEMA CSS CONDIVISO
   Usato da: index.html, eventi.html, cookie.html, privacy.html, prenota.html
   Qualsiasi modifica qui si riflette automaticamente su tutte le pagine.
   Lo stile specifico di ogni pagina resta nel suo <style> locale.
   ===================================================================== */

*{box-sizing:border-box;margin:0;padding:0;}
:root{--blu:#1A8AC4;--blu-d:#0D5F8A;--blu-n:#071E2E;--blu-bg:#EBF5FB;--lime:#C8E000;--lime-d:#9AAB00;--white:#FAFCFF;}
html{scroll-behavior:smooth;}
body{font-family:'Montserrat',sans-serif;background:var(--white);color:var(--blu-n);overflow-x:hidden;}

/* ===== NAV ===== */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:0.5rem 3rem;background:rgba(7,30,46,0.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(200,224,0,0.08);transition:padding 0.3s;}
.nav-logo{cursor:pointer;text-decoration:none;display:block;}
.nav-logo img{height:52px;width:auto;display:block;}
.nav-links{display:flex;gap:1.8rem;list-style:none;}
.nav-links a{color:rgba(255,255,255,0.72);text-decoration:none;font-size:10px;letter-spacing:0.14em;font-weight:500;text-transform:uppercase;transition:color 0.2s;}
.nav-links a:hover{color:var(--lime);}
.nav-right{display:flex;align-items:center;gap:0.75rem;}
/* Lang dropdown */
.lang-dropdown{position:relative;}
.lang-selected{display:flex;align-items:center;gap:0.4rem;background:none;border:1px solid rgba(255,255,255,0.15);border-radius:8px;padding:0.3rem 0.6rem 0.3rem 0.5rem;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;letter-spacing:0.08em;color:rgba(255,255,255,0.75);text-transform:uppercase;transition:all 0.2s;}
.lang-selected:hover{border-color:rgba(200,224,0,0.35);color:var(--lime);}
.lang-arrow{font-size:8px;opacity:0.5;transition:transform 0.2s;margin-left:2px;}
.lang-dropdown.open .lang-arrow{transform:rotate(180deg);}
.lang-dropdown.open .lang-selected{border-color:rgba(200,224,0,0.35);color:var(--lime);}
.lang-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;background:rgba(7,30,46,0.98);border:1px solid rgba(200,224,0,0.15);border-radius:10px;overflow:hidden;min-width:110px;z-index:300;box-shadow:0 8px 24px rgba(0,0,0,0.3);}
.lang-dropdown.open .lang-menu{display:block;}
.lang-option{display:flex;align-items:center;gap:0.5rem;padding:0.65rem 1rem;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:500;letter-spacing:0.1em;color:rgba(255,255,255,0.6);text-transform:uppercase;transition:background 0.15s,color 0.15s;border:none;background:none;width:100%;text-align:left;}
.lang-option:hover{background:rgba(200,224,0,0.08);color:var(--lime);}
.lang-option.active{color:var(--lime);background:rgba(200,224,0,0.06);}
.lang-option .flag{font-size:15px;}
.flag{font-size:13px;line-height:1;}
.nav-cta{background:var(--lime);color:var(--blu-n);border:none;padding:0.55rem 1.3rem;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-family:'Montserrat',sans-serif;font-weight:700;cursor:pointer;border-radius:100px;transition:background 0.2s;white-space:nowrap;text-decoration:none;}
.nav-cta:hover{background:var(--lime-d);}
/* Hamburger */
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;margin-left:0.5rem;}
.nav-hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all 0.3s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* Mobile dropdown menu */
.nav-mobile-menu{display:none;position:fixed;top:68px;left:0;right:0;background:rgba(7,30,46,0.98);backdrop-filter:blur(14px);padding:0;flex-direction:column;z-index:199;border-bottom:1px solid rgba(200,224,0,0.1);max-height:0;overflow:hidden;transition:max-height 0.35s ease;}
.nav-mobile-menu.open{display:flex;max-height:400px;}
.nav-mobile-menu a{color:rgba(255,255,255,0.8);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,0.06);display:block;transition:color 0.2s,background 0.2s;}
.nav-mobile-menu a:hover{color:var(--lime);background:rgba(200,224,0,0.05);}
.nav-mobile-menu a:last-child{border-bottom:none;}

/* ===== HERO (index/eventi) ===== */
.hero{height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;}
.hero-img{position:absolute;inset:0;background:url('../immagini/hero.webp') center center/cover no-repeat;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(7,30,46,0.85) 0%,rgba(7,30,46,0.5) 55%,rgba(7,30,46,0.1) 100%);}
.hero-overlay2{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,30,46,0.75) 0%,transparent 50%);}
.hero-content{position:relative;z-index:2;padding:0 4rem 6rem;max-width:650px;}
.hero-pill{display:inline-flex;align-items:center;gap:0.5rem;background:rgba(200,224,0,0.12);border:1px solid rgba(200,224,0,0.25);border-radius:100px;padding:0.38rem 1rem;font-size:9px;letter-spacing:0.28em;text-transform:uppercase;color:var(--lime);font-weight:500;margin-bottom:1.75rem;}
.hero-pill-dot{width:5px;height:5px;background:var(--lime);border-radius:50%;animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.4;transform:scale(0.8);}}
.hero-title{font-size:68px;font-weight:800;line-height:0.95;color:#fff;margin-bottom:1.4rem;letter-spacing:-0.03em;text-transform:uppercase;}
.hero-title em{font-style:italic;font-weight:300;color:var(--lime);text-transform:none;display:block;}
.hero-sub{font-size:13px;font-weight:300;color:rgba(255,255,255,0.62);line-height:1.85;margin-bottom:2.25rem;max-width:430px;}
.hero-btns{display:flex;gap:0.75rem;flex-wrap:wrap;}
.btn-lime{background:var(--lime);color:var(--blu-n);border:none;padding:0.9rem 2rem;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;font-family:'Montserrat',sans-serif;font-weight:700;cursor:pointer;border-radius:100px;transition:background 0.2s;text-decoration:none;display:inline-block;}
.btn-lime:hover{background:var(--lime-d);}
.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.3);padding:0.9rem 2rem;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;font-family:'Montserrat',sans-serif;font-weight:400;cursor:pointer;border-radius:100px;transition:all 0.2s;text-decoration:none;display:inline-block;}
.btn-outline:hover{background:rgba(255,255,255,0.08);}
.hero-scroll{position:absolute;bottom:2.5rem;right:4rem;z-index:2;display:flex;flex-direction:column;align-items:center;gap:0.5rem;}
.hero-scroll-text{font-size:8px;letter-spacing:0.35em;text-transform:uppercase;color:rgba(255,255,255,0.3);font-weight:500;writing-mode:vertical-rl;}
.hero-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(200,224,0,0.5),transparent);}

/* ===== STRIP ===== */
.strip{background:var(--blu-n);display:grid;grid-template-columns:repeat(4,1fr);}
.strip-item{padding:1.6rem 1rem;text-align:center;border-right:1px solid rgba(255,255,255,0.05);}
.strip-item:last-child{border-right:none;}
.strip-val{font-size:26px;font-weight:800;color:var(--lime);line-height:1;margin-bottom:0.4rem;letter-spacing:-0.02em;}
.strip-lbl{font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.35);font-weight:300;}

/* ===== LABEL ===== */
.label{font-size:9px;letter-spacing:0.42em;text-transform:uppercase;color:var(--blu);font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:0.6rem;}
.label::before{content:'';display:block;width:20px;height:1px;background:var(--blu);}
.label.light{color:var(--lime);}
.label.light::before{background:var(--lime);}

/* ===== INTRO ===== */
.intro{display:grid;grid-template-columns:1fr 1fr;}
.intro-left{padding:5rem 4rem;border-right:1px solid rgba(26,138,196,0.1);display:flex;flex-direction:column;justify-content:center;}
.section-title{font-size:38px;font-weight:800;line-height:1.0;color:var(--blu-n);margin-bottom:1.25rem;letter-spacing:-0.025em;text-transform:uppercase;}
.section-title em{font-style:italic;font-weight:300;color:var(--blu);text-transform:none;}
.section-body{font-size:13px;font-weight:300;color:#3A5A70;line-height:1.95;margin-bottom:1.5rem;}
.services-mini{display:flex;flex-direction:column;gap:0.6rem;margin-bottom:2rem;}
.svc-row{display:flex;align-items:center;gap:0.75rem;padding:0.65rem 1rem;background:var(--blu-bg);border-radius:10px;border:1px solid rgba(26,138,196,0.1);}
.svc-dot{width:7px;height:7px;background:var(--lime);border-radius:50%;flex-shrink:0;}
.svc-text{font-size:12px;font-weight:400;color:var(--blu-n);}
.intro-right{position:relative;overflow:hidden;min-height:520px;}
.intro-right-img{position:absolute;inset:0;background:url('../immagini/parco.webp') center center/cover no-repeat;}
.intro-right-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(7,30,46,0.08),transparent);}

/* ===== DOVE SIAMO ===== */
.dove{background:var(--blu-n);padding:5rem 4rem;}
.dove-inner{display:grid;grid-template-columns:1fr 1fr 0.75fr;gap:2rem;}
.dove-title{font-size:38px;font-weight:800;color:#fff;line-height:1.0;letter-spacing:-0.025em;text-transform:uppercase;margin-bottom:1.25rem;}
.dove-title em{font-style:italic;font-weight:300;color:var(--lime);text-transform:none;}
.dove-body{font-size:13px;font-weight:300;color:rgba(255,255,255,0.55);line-height:1.95;margin-bottom:1.5rem;}
.transport-item{display:flex;align-items:flex-start;gap:0.75rem;padding:0.75rem 1rem;background:rgba(255,255,255,0.04);border-radius:10px;border:1px solid rgba(255,255,255,0.07);margin-bottom:0.75rem;}
.transport-icon{font-size:18px;flex-shrink:0;}
.transport-text{font-size:12px;font-weight:300;color:rgba(255,255,255,0.5);line-height:1.65;}
.transport-text strong{color:rgba(255,255,255,0.8);font-weight:500;}
.maps-embed{border-radius:16px;overflow:hidden;border:1px solid rgba(200,224,0,0.15);height:100%;min-height:280px;}
.maps-embed iframe{width:100%;height:100%;min-height:280px;border:none;display:block;}

/* ===== PISCINE ===== */
.pools{background:var(--blu-n);padding:5rem 4rem;border-top:1px solid rgba(255,255,255,0.05);}
.pools-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;}
.pools-title{font-size:40px;font-weight:800;color:#fff;line-height:1.0;letter-spacing:-0.025em;text-transform:uppercase;}
.pools-title em{font-style:italic;font-weight:300;color:var(--lime);text-transform:none;}
.pools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.pool-card{border-radius:16px;overflow:hidden;position:relative;aspect-ratio:3/4;cursor:default;}
.pool-card-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.5s ease;}
.pool-card:hover .pool-card-img{transform:scale(1.04);}
.pool-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,30,46,0.9) 0%,rgba(7,30,46,0.15) 55%,transparent 100%);}
.pool-card-content{position:absolute;bottom:0;left:0;right:0;padding:1.75rem 1.5rem;}
.pool-temp{font-size:38px;font-weight:800;color:var(--lime);line-height:1;margin-bottom:0.5rem;letter-spacing:-0.03em;}
.pool-name{font-size:12px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.4rem;}
.pool-desc{font-size:11px;font-weight:300;color:rgba(255,255,255,0.58);line-height:1.6;}
.pool-badge{position:absolute;top:1.25rem;right:1.25rem;background:var(--lime);color:var(--blu-n);font-size:8px;letter-spacing:0.2em;text-transform:uppercase;padding:0.28rem 0.7rem;border-radius:100px;font-weight:700;}

/* ===== AMENITIES ===== */
.amenities{display:grid;grid-template-columns:repeat(3,1fr);background:var(--blu-bg);border-top:3px solid var(--lime);}
.amenity{padding:2.5rem;border-right:1px solid rgba(26,138,196,0.12);display:flex;flex-direction:column;gap:0.75rem;}
.amenity:last-child{border-right:none;}
.amenity-icon{font-size:28px;line-height:1;}
.amenity-title{font-size:12px;font-weight:700;color:var(--blu-n);text-transform:uppercase;letter-spacing:0.08em;}
.amenity-body{font-size:12px;font-weight:300;color:#3A5A70;line-height:1.75;}

/* ===== DRONE ===== */
.drone-banner{position:relative;height:400px;overflow:hidden;}
.drone-img{position:absolute;inset:0;background:url('../immagini/drone.webp') center 40%/cover no-repeat;}
.drone-overlay{position:absolute;inset:0;background:rgba(7,30,46,0.52);}
.drone-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;}
.drone-title{font-size:44px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:-0.02em;line-height:1;margin-bottom:0.75rem;}
.drone-title em{font-style:italic;font-weight:300;color:var(--lime);text-transform:none;}
.drone-sub{font-size:11px;font-weight:300;color:rgba(255,255,255,0.58);letter-spacing:0.18em;text-transform:uppercase;}

/* ===== RISTORANTE ===== */
.rist{display:grid;grid-template-columns:1fr 1fr;}
.rist-left{padding:5rem 4rem;background:var(--white);display:flex;flex-direction:column;justify-content:center;}
.rist-title{font-size:38px;font-weight:800;line-height:1.0;color:var(--blu-n);margin-bottom:1.25rem;letter-spacing:-0.025em;text-transform:uppercase;}
.rist-title em{font-style:italic;font-weight:300;color:var(--blu);text-transform:none;}
.rist-body{font-size:13px;font-weight:300;color:#3A5A70;line-height:1.95;margin-bottom:1.75rem;}
.menu-list{display:flex;flex-direction:column;margin-bottom:2.25rem;}
.menu-row{display:flex;align-items:center;gap:1rem;padding:0.8rem 0;border-bottom:1px solid rgba(26,138,196,0.07);transition:padding-left 0.2s;}
.menu-row:first-child{border-top:1px solid rgba(26,138,196,0.07);}
.menu-row:hover{padding-left:6px;}
.menu-num{font-size:10px;font-weight:700;color:var(--blu);opacity:0.35;min-width:26px;}
.menu-name{font-size:13px;font-weight:400;color:var(--blu-n);flex:1;}
.rist-photos{display:grid;grid-template-columns:1fr 1fr;}
.rist-photo{aspect-ratio:3/4;overflow:hidden;position:relative;}
.rist-photo-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.5s ease;}
.rist-photo:hover .rist-photo-img{transform:scale(1.05);}
/* Menu PDF download btn */
.btn-pdf{display:inline-flex;align-items:center;gap:0.6rem;background:var(--blu-n);color:#fff;text-decoration:none;padding:0.9rem 2rem;border-radius:100px;font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;transition:background 0.2s;align-self:flex-start;border:none;cursor:pointer;font-family:'Montserrat',sans-serif;}
.btn-pdf:hover{background:var(--blu-d);}

/* ===== TARIFFE ===== */
.tariffe{padding:5rem 4rem;background:var(--white);}
.tariffe-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.5rem;}
.tariffa-block{background:var(--blu-bg);border-radius:16px;padding:2rem;border:1px solid rgba(26,138,196,0.12);}
.tariffa-block h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--blu-n);margin-bottom:1.25rem;padding-bottom:0.75rem;border-bottom:2px solid var(--lime);}
table{width:100%;border-collapse:collapse;}
th{font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(7,30,46,0.4);font-weight:600;padding:0.5rem 0.5rem;text-align:left;border-bottom:1px solid rgba(26,138,196,0.1);}
td{font-size:12px;font-weight:300;color:var(--blu-n);padding:0.6rem 0.5rem;border-bottom:1px solid rgba(26,138,196,0.06);}
td:last-child{font-weight:700;color:var(--blu-d);text-align:right;}
tr:last-child td{border-bottom:none;}
tr.highlight-row td{background:rgba(200,224,0,0.12);font-weight:600;}
tr.highlight-row td:last-child{font-weight:800;color:var(--blu-n);}
.tariffa-note{font-size:11px;font-weight:300;color:#3A5A70;margin-top:1rem;line-height:1.6;font-style:italic;}

/* ===== GALLERY ===== */
.gallery{padding:5rem 4rem;background:var(--blu-bg);}
.gallery-header{margin-bottom:2.5rem;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem;}
.gallery-title{font-size:36px;font-weight:800;color:var(--blu-n);text-transform:uppercase;letter-spacing:-0.02em;line-height:1;}
.gallery-title em{font-style:italic;font-weight:300;color:var(--blu);text-transform:none;}
.gallery-ig-link{display:inline-flex;align-items:center;gap:0.5rem;background:var(--blu-n);color:#fff;text-decoration:none;padding:0.65rem 1.25rem;border-radius:100px;font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;transition:background 0.2s;}
.gallery-ig-link:hover{background:var(--blu-d);}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;}
.gallery-item{border-radius:12px;overflow:hidden;position:relative;aspect-ratio:1/1;cursor:pointer;}
.gallery-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.5s ease;}
.gallery-item:hover .gallery-img{transform:scale(1.06);}
.gallery-ig-cta{margin-top:1.5rem;text-align:center;}
.gallery-ig-cta a{display:inline-flex;align-items:center;gap:0.6rem;background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff;text-decoration:none;padding:0.85rem 2rem;border-radius:100px;font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;}

/* ===== CONTATTI ===== */
.contatti{background:var(--white);}
.contatti-inner{display:grid;grid-template-columns:1fr 1fr;}
.contatti-left{padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center;}
.contatti-title{font-size:36px;font-weight:800;line-height:1.0;color:var(--blu-n);margin-bottom:1.25rem;letter-spacing:-0.025em;text-transform:uppercase;}
.contatti-title em{font-style:italic;font-weight:300;color:var(--blu);text-transform:none;}
.contatti-body{font-size:13px;font-weight:300;color:#3A5A70;line-height:1.9;margin-bottom:1.5rem;}
.contact-extra{font-size:12px;font-weight:300;color:#3A5A70;line-height:1.8;margin-bottom:1.75rem;padding:1rem 1.25rem;background:var(--blu-bg);border-radius:10px;border-left:3px solid var(--lime);}
.contact-extra a{color:var(--blu);text-decoration:none;font-weight:500;}
/* WA Form */
.wa-form{display:flex;flex-direction:column;gap:0.85rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.85rem;}
.form-group{display:flex;flex-direction:column;gap:0.35rem;}
.form-group label{font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:var(--blu);font-weight:600;}
.form-group label .req{color:#e53935;margin-left:2px;}
.form-group input,.form-group textarea,.form-group select{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:300;color:var(--blu-n);background:var(--blu-bg);border:1px solid rgba(26,138,196,0.18);border-radius:8px;padding:0.7rem 0.9rem;outline:none;transition:border-color 0.2s;width:100%;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--blu);}
.form-group textarea{resize:vertical;min-height:90px;}
.privacy-note{font-size:10px;font-weight:300;color:#5A7A8A;line-height:1.6;}
.privacy-note a{color:var(--blu);text-decoration:none;}
.wa-submit{background:#25D366;color:#fff;border:none;padding:0.9rem 2rem;font-size:10px;letter-spacing:0.18em;text-transform:uppercase;font-family:'Montserrat',sans-serif;font-weight:700;cursor:pointer;border-radius:100px;display:flex;align-items:center;gap:0.6rem;align-self:flex-start;transition:background 0.2s;}
.wa-submit:hover{background:#1ebe5a;}
/* Right side */
.contatti-right{background:var(--blu-n);padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center;gap:2rem;}
.maps-embed-sm{border-radius:16px;overflow:hidden;border:1px solid rgba(200,224,0,0.15);height:240px;}
.maps-embed-sm iframe{width:100%;height:100%;border:none;display:block;}
.quick-contacts{display:flex;flex-direction:column;gap:0.75rem;}
.qc-row{display:flex;align-items:center;gap:0.75rem;font-size:13px;font-weight:300;color:rgba(255,255,255,0.55);}
.qc-icon{font-size:16px;width:34px;height:34px;background:rgba(255,255,255,0.06);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.qc-row a{color:rgba(255,255,255,0.65);text-decoration:none;transition:color 0.2s;}
.qc-row a:hover{color:var(--lime);}
.wa-btn-big{display:inline-flex;align-items:center;gap:0.65rem;background:#25D366;color:#fff;text-decoration:none;padding:0.85rem 1.75rem;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;transition:background 0.2s;align-self:flex-start;}
.wa-btn-big:hover{background:#1ebe5a;}

/* ===== FOOTER completo (index) ===== */
footer{background:var(--blu-n);padding:4rem;display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:3rem;border-top:1px solid rgba(200,224,0,0.08);}
.footer-logo{margin-bottom:1rem;}
.footer-logo a{display:block;}
.footer-logo img{height:48px;width:auto;}
.footer-tagline{font-size:12px;font-weight:300;color:rgba(255,255,255,0.3);line-height:1.75;max-width:230px;margin-bottom:1.5rem;}
.footer-pill{display:inline-flex;align-items:center;gap:0.5rem;background:rgba(200,224,0,0.08);border:1px solid rgba(200,224,0,0.18);border-radius:100px;padding:0.35rem 1rem;font-size:9px;color:var(--lime);letter-spacing:0.22em;text-transform:uppercase;font-weight:500;}
.social-icons{display:flex;gap:0.6rem;margin-top:1.25rem;}
.social-icon{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;text-decoration:none;color:rgba(255,255,255,0.7);transition:background 0.2s,color 0.2s;}
.social-icon:hover{background:rgba(200,224,0,0.15);}
.social-icon[title="Instagram"]:hover{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff;}
.social-icon[title="Facebook"]:hover{background:#1877F2;color:#fff;}
.social-icon[title="TikTok"]:hover{background:#000;color:#fff;}
.footer-col-title{font-size:8px;letter-spacing:0.45em;text-transform:uppercase;color:var(--lime);font-weight:700;margin-bottom:1.5rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:0.6rem;}
.footer-links li{font-size:12px;font-weight:300;color:rgba(255,255,255,0.35);cursor:pointer;transition:color 0.2s;}
.footer-links li:hover{color:rgba(255,255,255,0.7);}
.footer-links a{color:inherit;text-decoration:none;}
.footer-social{display:flex;gap:1.25rem;}
.footer-social a{font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.28);text-decoration:none;font-weight:500;transition:color 0.2s;}
.footer-social a:hover{color:var(--lime);}
.footer-bottom{background:#030F18;padding:1rem 4rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;}
.copy{font-size:10px;color:rgba(255,255,255,0.18);font-weight:300;letter-spacing:0.06em;}

/* ===== COOKIE BANNER ===== */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:999;background:rgba(7,30,46,0.97);backdrop-filter:blur(12px);border-top:1px solid rgba(200,224,0,0.15);padding:1.25rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;transition:transform 0.4s ease;}
.cookie-banner.hidden{transform:translateY(110%);}
.cookie-text{font-size:12px;font-weight:300;color:rgba(255,255,255,0.65);line-height:1.6;max-width:700px;}
.cookie-text a{color:var(--lime);text-decoration:none;cursor:pointer;}
.cookie-btns{display:flex;gap:0.6rem;flex-shrink:0;}
.cookie-accept{background:var(--lime);color:var(--blu-n);border:none;padding:0.6rem 1.5rem;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-family:'Montserrat',sans-serif;font-weight:700;cursor:pointer;border-radius:100px;}
.cookie-decline{background:transparent;color:rgba(255,255,255,0.45);border:1px solid rgba(255,255,255,0.15);padding:0.6rem 1.25rem;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-family:'Montserrat',sans-serif;font-weight:400;cursor:pointer;border-radius:100px;}

/* ===== MODAL (Privacy/Cookie inline su index) ===== */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(7,30,46,0.88);z-index:1000;align-items:center;justify-content:center;padding:2rem;}
.modal-overlay.open{display:flex;}
.modal-box{background:#fff;border-radius:16px;max-width:720px;width:100%;max-height:80vh;overflow-y:auto;padding:2.5rem;}
.modal-box h2{font-size:20px;font-weight:800;color:var(--blu-n);margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:-0.01em;}
.modal-box h3{font-size:13px;font-weight:700;color:var(--blu-n);margin:1.25rem 0 0.5rem;text-transform:uppercase;letter-spacing:0.05em;}
.modal-box p,.modal-box li{font-size:12px;font-weight:300;color:#3A5A70;line-height:1.8;margin-bottom:0.5rem;}
.modal-box ul{padding-left:1.25rem;margin-bottom:0.75rem;}
.modal-box a{color:var(--blu);}
.modal-close{display:block;margin-top:1.5rem;background:var(--blu-n);color:#fff;border:none;padding:0.75rem 2rem;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;border-radius:100px;}

/* ===== PAGINA SECONDARIA: hero + testo (cookie/privacy/eventi/prenota) ===== */
.page-hero{padding:8.5rem 4rem 3.5rem;background:var(--blu-n);position:relative;overflow:hidden;}
.page-hero-deco{position:absolute;right:-80px;top:-80px;width:400px;height:400px;border-radius:50%;border:1px solid rgba(200,224,0,0.08);pointer-events:none;}
.page-hero-deco2{position:absolute;right:40px;top:40px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(200,224,0,0.05);pointer-events:none;}
.page-label{font-size:9px;letter-spacing:0.42em;text-transform:uppercase;color:var(--lime);font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:0.6rem;}
.page-label::before{content:'';display:block;width:20px;height:1px;background:var(--lime);}
.page-title{font-size:52px;font-weight:800;color:#fff;line-height:1.0;letter-spacing:-0.03em;text-transform:uppercase;margin-bottom:0.75rem;}
.page-title em{font-style:italic;font-weight:300;color:var(--lime);text-transform:none;}
.page-sub{font-size:13px;font-weight:300;color:rgba(255,255,255,0.5);line-height:1.75;max-width:580px;}
.event-tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.5rem;}
.event-tag{background:rgba(200,224,0,0.08);border:1px solid rgba(200,224,0,0.2);border-radius:100px;padding:0.3rem 0.85rem;font-size:10px;font-weight:600;letter-spacing:0.1em;color:var(--lime);text-transform:uppercase;}
.content-wrap{max-width:820px;margin:0 auto;padding:5rem 4rem;}
.content-section{display:none;}
.content-section.active{display:block;}
.content-wrap h3{font-size:13px;font-weight:700;color:var(--blu-n);text-transform:uppercase;letter-spacing:0.08em;margin:2.25rem 0 0.75rem;padding-top:1.5rem;border-top:1px solid rgba(26,138,196,0.1);}
.content-wrap h3:first-child{border-top:none;margin-top:0;padding-top:0;}
.content-wrap h4{font-size:11px;font-weight:700;color:var(--blu-d);text-transform:uppercase;letter-spacing:0.1em;margin:1.5rem 0 0.6rem;}
.content-wrap p{font-size:13px;font-weight:300;color:#3A5A70;line-height:1.95;margin-bottom:1rem;}
.content-wrap ul,.content-wrap ol{padding-left:1.5rem;margin-bottom:1rem;}
.content-wrap li{font-size:13px;font-weight:300;color:#3A5A70;line-height:1.85;margin-bottom:0.4rem;}
.content-wrap a{color:var(--blu);text-decoration:none;font-weight:500;}
.content-wrap a:hover{text-decoration:underline;}
.content-wrap strong{font-weight:600;color:var(--blu-n);}
.info-box{background:var(--blu-bg);border-radius:12px;padding:1.5rem 2rem;border-left:3px solid var(--lime);margin-bottom:2.5rem;}
.info-box p{margin-bottom:0;font-size:13px;color:#2A4F66;line-height:1.75;}

/* ===== REEL INSTAGRAM (index) ===== */
.reel-box{margin-top:0;display:flex;flex-direction:column;height:100%;}
.reel-label{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;}
.reel-label-line{flex:1;height:1px;background:rgba(200,224,0,0.2);}
.reel-label-text{font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.45);white-space:nowrap;}
.reel-embed{border-radius:14px;overflow:hidden;border:1px solid rgba(200,224,0,0.12);background:#000;display:flex;align-items:center;justify-content:center;flex:1;}
.reel-embed iframe{width:100%;height:100%;min-height:300px;border:none;display:block;}
.reel-ig-link{display:flex;align-items:center;justify-content:center;gap:0.5rem;margin-top:1rem;font-size:10px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.45);text-decoration:none;transition:color 0.2s;}
.reel-ig-link:hover{color:var(--lime);}
.no-link{pointer-events:none;user-select:text;color:inherit;text-decoration:none;}
.dove-right-main{display:flex;flex-direction:column;gap:1rem;}

/* ===== EVENTI teaser (index) ===== */
.eventi{background:var(--blu-n);padding:5rem 4rem;}
.eventi-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.eventi-text .label{color:var(--lime);}
.eventi-title{font-size:42px;font-weight:800;color:#fff;line-height:1.0;letter-spacing:-0.025em;text-transform:uppercase;margin-bottom:1rem;}
.eventi-title em{font-style:italic;font-weight:300;color:var(--lime);text-transform:none;}
.eventi-body{font-size:13px;font-weight:300;color:rgba(255,255,255,0.55);line-height:1.95;margin-bottom:1.5rem;}
.eventi-tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:2rem;}
.eventi-tag{background:rgba(200,224,0,0.08);border:1px solid rgba(200,224,0,0.2);border-radius:100px;padding:0.35rem 0.9rem;font-size:10px;font-weight:600;letter-spacing:0.12em;color:var(--lime);text-transform:uppercase;}
.btn-eventi{display:inline-flex;align-items:center;gap:0.5rem;background:var(--lime);color:var(--blu-n);text-decoration:none;padding:0.85rem 2rem;border-radius:100px;font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;transition:background 0.2s;}
.btn-eventi:hover{background:var(--lime-d);}

/* Carosello eventi (index/eventi/cookie) */
.eventi-carousel{position:relative;overflow:hidden;border-radius:20px;}
.carousel-track{display:flex;transition:transform 0.45s cubic-bezier(0.4,0,0.2,1);will-change:transform;}
.carousel-slide{flex:0 0 100%;aspect-ratio:1/1;background-size:cover;background-position:center;border-radius:20px;position:relative;}
.carousel-slide::after{content:'';position:absolute;inset:0;border-radius:20px;background:linear-gradient(180deg,transparent 50%,rgba(7,30,46,0.6) 100%);}
.carousel-caption{position:absolute;bottom:1.25rem;left:1.25rem;right:1.25rem;z-index:2;font-size:11px;font-weight:500;color:rgba(255,255,255,0.75);letter-spacing:0.06em;}
.carousel-controls{position:absolute;bottom:1.25rem;right:1.25rem;z-index:3;display:flex;gap:0.5rem;}
.carousel-btn{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;backdrop-filter:blur(8px);transition:background 0.2s;}
.carousel-btn:hover{background:rgba(200,224,0,0.3);border-color:rgba(200,224,0,0.5);}
.carousel-dots{position:absolute;bottom:1.25rem;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:3;}
.carousel-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.3);cursor:pointer;transition:all 0.2s;}
.carousel-dot.active{background:var(--lime);width:18px;border-radius:3px;}

/* ===== HOW TO CHANGE IMAGES NOTE =====
   Le immagini sono incorporate come base64 nell'HTML. Per cambiarle:
   1. Apri l'HTML della pagina in un editor di testo
   2. Cerca la classe dell'immagine da cambiare (es. "pool-card-img")
   3. Sostituisci la stringa base64 dopo "url('data:image/jpeg;base64,"
   Genera il base64 da un'immagine su: base64.guru/converter/encode/image */

/* ===== MOBILE (comune) ===== */
@media(max-width:900px){
  nav{padding:0.5rem 1.25rem;}
  .nav-links{display:none !important;}
  .nav-hamburger{display:flex;}
  .nav-cta{padding:0.48rem 0.9rem;font-size:9px;}
  .lang-selected{font-size:9px;padding:0.25rem 0.5rem;}
  .hero-title{font-size:40px;}
  .hero-content{padding:0 1.5rem 5rem;}
  .hero-sub{font-size:12px;}
  .hero-scroll{display:none;}
  .strip{grid-template-columns:repeat(2,1fr);}
  .strip-item{padding:1.2rem 0.75rem;}
  .strip-val{font-size:22px;}
  .intro{grid-template-columns:1fr;}
  .intro-right{min-height:280px;}
  .intro-left{padding:3rem 1.5rem;}
  .section-title{font-size:28px;}
  .dove{padding:3rem 1.5rem;}
  .dove-title{font-size:28px;}
  .dove-inner{grid-template-columns:1fr !important;}
  .pools{padding:3rem 1.5rem;}
  .pools-header{flex-direction:column;align-items:flex-start;gap:1.25rem;}
  .pools-title{font-size:28px;}
  .pools-grid{grid-template-columns:1fr;}
  .pool-card{aspect-ratio:4/3;}
  .amenities{grid-template-columns:1fr;}
  .amenity{border-right:none;border-bottom:1px solid rgba(26,138,196,0.12);padding:2rem 1.5rem;}
  .amenity:last-child{border-bottom:none;}
  .drone-banner{height:240px;}
  .drone-title{font-size:26px;}
  .rist{grid-template-columns:1fr;}
  .rist-photos{grid-template-columns:1fr 1fr;}
  .rist-photo{aspect-ratio:1/1;}
  .rist-left{padding:3rem 1.5rem;}
  .rist-title{font-size:28px;}
  .tariffe{padding:3rem 1.5rem;}
  .tariffe-grid{grid-template-columns:1fr;}
  .gallery{padding:3rem 1.5rem;}
  .gallery-header{flex-direction:column;align-items:flex-start;}
  .gallery-title{font-size:26px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:0.5rem;}
  .contatti-inner{grid-template-columns:1fr;}
  .contatti-left{padding:3rem 1.5rem;}
  .contatti-title{font-size:26px;}
  .contatti-right{padding:2.5rem 1.5rem;}
  .form-row{grid-template-columns:1fr;}
  footer{grid-template-columns:1fr;padding:3rem 1.5rem;gap:2rem;}
  .footer-bottom{padding:1rem 1.5rem;flex-direction:column;text-align:center;}
  .cookie-banner{flex-direction:column;align-items:flex-start;padding:1.25rem 1.5rem;gap:1rem;}
  .modal-box{padding:1.5rem;}
  .maps-embed{height:240px;}
  .reel-embed{max-width:100%;}
  .reel-embed iframe{width:100%;height:480px;}
  .eventi-inner{grid-template-columns:1fr;gap:2.5rem;}
  .eventi{padding:3.5rem 1.5rem;}
  .eventi-title{font-size:30px;}
  .page-hero{padding:7rem 1.5rem 3rem;}
  .page-title{font-size:34px;}
  .content-wrap{padding:3rem 1.5rem;}
}
