@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Montserrat:wght@400;500;600;700&display=swap');:root{--navy:#101c30;--navy2:#192940;--panel:#26354b;--gold:#c7a76c;--ivory:#f4eee3;--muted:#c5c9d1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--ivory);font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.75}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.1}h2{font-size:clamp(42px,6vw,70px);margin:9px 0 18px}h3{font-size:32px}p{color:#d9dce3}.header{height:86px;padding:10px max(5%,calc((100vw - 1200px)/2));position:sticky;top:0;z-index:20;background:rgba(16,28,48,.96);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(199,167,108,.2)}.brand{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:11px;letter-spacing:.25em;font-weight:700}.brand img{width:65px;height:48px;object-fit:contain;filter:invert(1)}nav{display:flex;gap:27px}nav a,.footer-links a{font-size:11px;letter-spacing:.12em;font-weight:600;transition:color .2s}nav a:hover,.footer-links a:hover{color:var(--gold)}.hamburger{display:none;background:none;border:0;color:var(--gold);font-size:26px}.hero{height:min(790px,calc(100vh - 86px));min-height:570px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('assets/starsbox-photo.jpg') center 47%/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,16,27,.55),rgba(8,16,27,.62) 55%,rgba(8,16,27,.9))}.hero-inner{position:relative;z-index:1;max-width:960px;padding:30px}.eyebrow{font-size:10px;letter-spacing:.32em;color:var(--gold);font-weight:700}.hero h1{font-size:clamp(48px,7.4vw,100px);margin:23px 0;color:#fff}.hero h1 em{color:#e9c47b;font-weight:400}.hero p{font-size:15px;max-width:550px;margin:0 auto 35px}.hero-bottom{position:absolute;bottom:24px;color:#e1d5bd;font-size:10px;letter-spacing:.25em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 22px;border:0;border-radius:3px;text-align:center;font-size:10px;letter-spacing:.075em;font-weight:700;line-height:1.3;min-height:49px;transition:transform .2s,filter .2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn-gold{background:var(--gold);color:#101c30}.btn-whatsapp{background:#32965e;color:#fff}.section{padding:110px max(5%,calc((100vw - 1160px)/2));scroll-margin-top:80px}.section-heading{text-align:center;max-width:690px;margin:0 auto 55px}.section-heading p{font-size:14px}.gold-line{height:1px;width:60px;background:var(--gold);margin:20px auto 0}.intro{background:#142239}.intro-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.intro-photo img{display:block;width:100%;max-height:580px;object-fit:cover;border:1px solid rgba(199,167,108,.25)}.intro-copy h3{color:#e9c47b;font-size:clamp(34px,4vw,50px)}.intro-copy p{margin-bottom:19px}.muted{color:#bfc5ce}.text-link{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.12em;border-bottom:1px solid var(--gold);padding-bottom:8px;display:inline-block;margin-top:15px}.gallery-section{background:#101c30}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery-tile{position:relative;overflow:hidden;border:1px solid #43506a;background:#25354b;min-height:200px;aspect-ratio:4/3;cursor:pointer;padding:0}.gallery-tile:first-child{grid-column:span 2;grid-row:span 2}.gallery-tile img,.gallery-tile video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.gallery-tile:hover img{transform:scale(1.04)}.gallery-tile .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:45px;color:#fff;text-shadow:0 2px 8px #000}.gallery-hint{text-align:center;color:#aeb9c8;font-size:12px;margin-top:24px}.booking-section{background:#142239}.booking-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:25px;align-items:start}.panel{background:var(--panel);border:1px solid #394b65;border-radius:10px;padding:25px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.calendar-head h3{font-size:26px;margin:0;text-transform:capitalize}.calendar-head button{background:#34445b;border:1px solid #53617a;color:var(--gold);width:37px;height:37px;font-size:25px;border-radius:5px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.weekdays{color:#c7a76c;font-size:10px;font-weight:700;margin-bottom:9px}.day{aspect-ratio:1;min-width:0;border-radius:5px;border:1px solid transparent;color:#fff;background:#397d61;font-size:13px}.day.past,.day.empty{background:#526073;color:#d4d7dc}.day.empty{visibility:hidden}.day:disabled{cursor:default}.day.demo{cursor:pointer}.day.selected{outline:2px solid #e9c47b;outline-offset:2px}.legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:22px;font-size:10px}.legend span{display:flex;align-items:center;gap:6px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%}.dot.available{background:#397d61}.dot.booked{background:#c75c59}.dot.blocked{background:#526073}.fineprint{font-size:11px;color:#bfc6d2;margin:18px 0 0}.price{font-family:'Cormorant Garamond',serif;font-size:53px;color:#e9c47b;line-height:1}.price small{font-family:Montserrat,sans-serif;font-size:13px;color:#cbd2dc}.booking-details>p{font-size:12px;margin:10px 0 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}form label{display:block;font-size:11px;color:#e1e3e8;margin-bottom:15px}input:not([type=checkbox]),select,textarea{display:block;margin-top:7px;width:100%;border:1px solid #637086;background:#192940;color:white;border-radius:4px;padding:11px;font-size:13px;min-height:43px;color-scheme:dark}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:1px solid var(--gold)}.total{border-top:1px solid #526079;padding:18px 0;color:#e9c47b;font-size:15px}.duration-message{padding:12px;border:1px solid #c7a76c;color:#fff;margin-bottom:14px;font-size:12px}.duration-message a{text-decoration:underline;color:#e9c47b}.privacy-line{display:flex;gap:10px;align-items:center}.submit-disabled{width:100%;opacity:.6;cursor:not-allowed}.submit-disabled:hover{transform:none}.contacts{background:#101c30}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:25px}.contact-card{background:#26354b;padding:18px;border-radius:8px;min-height:100px;display:flex;align-items:center;justify-content:center}.contact-card .btn{width:100%;padding:14px 8px;font-size:10px;white-space:nowrap}.map-card{background:#26354b;border-radius:10px;padding:25px}.map-card h3{color:var(--gold);font-size:28px;margin:0 0 8px}.map-card p{font-size:13px}.map-card iframe{display:block;width:100%;height:360px;border:0;border-radius:5px;margin:20px 0}.map-card .btn{width:100%}footer{text-align:center;padding:75px 5% 35px;background:#0c1627;border-top:1px solid #39465b}.footer-brand img{width:100px;height:70px;object-fit:contain;filter:invert(1)}.footer-brand h3{font-family:Montserrat,sans-serif;letter-spacing:.18em;font-size:18px;color:var(--gold);margin:12px 0}.footer-brand p{font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic}.footer-links,.footer-policies{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;border-top:1px solid #3c4657;padding:25px 0;margin:25px auto 0;max-width:900px}.footer-policies{margin-top:0;color:var(--gold);font-size:10px;letter-spacing:.1em}.footer-policies span{opacity:.75}footer small{display:block;color:#aeb9c8;font-size:10px;margin:10px}.made{color:var(--gold)}dialog{border:1px solid var(--gold);background:#101c30;color:white;max-width:90vw;max-height:90vh;padding:25px}dialog::backdrop{background:#000d}#close-lightbox{position:absolute;right:5px;top:0;border:0;background:none;color:white;font-size:30px}#lightbox-content img,#lightbox-content video{display:block;max-width:80vw;max-height:77vh;object-fit:contain}@media(max-width:900px){.header{height:72px}.hamburger{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#101c30;padding:25px;flex-direction:column;text-align:center;border-bottom:1px solid var(--gold)}nav.open{display:flex}.hero{height:690px;min-height:520px}.intro-grid,.booking-layout{grid-template-columns:1fr;gap:28px}.section{padding:75px 5%}.contact-grid{grid-template-columns:1fr}.contact-card{min-height:78px}.contact-card .btn{max-width:420px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-tile:first-child{grid-column:span 2;grid-row:span 1;aspect-ratio:16/9}}@media(max-width:520px){.hero h1{font-size:47px}.hero-inner{padding:20px}.section{padding:65px 5%}.form-grid{grid-template-columns:1fr}.panel{padding:16px}.calendar-grid,.weekdays{gap:3px}.day{font-size:12px}.gallery-grid{grid-template-columns:1fr}.gallery-tile:first-child{grid-column:span 1;aspect-ratio:4/3}.footer-links{gap:15px}.map-card{padding:15px}.map-card iframe{height:290px}}

/* A38 — Gold Premium: pulsante indicazioni stradali */
.map-card .btn-map-premium{width:100%;background:#c7a76c;color:#101c30;border-radius:999px;border:1px solid #e2c68f;font-weight:700;letter-spacing:.12em;box-shadow:0 5px 22px rgba(199,167,108,.16);gap:12px;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.map-card .btn-map-premium:hover{background:#e9c47b;box-shadow:0 7px 28px rgba(199,167,108,.3);transform:translateY(-2px);filter:none}
.map-card .btn-map-premium:focus-visible{outline:3px solid #fff;outline-offset:3px}
.map-card .btn-map-premium svg{flex-shrink:0}

/* V6: slideshow centrato Romantic Night */
.gallery-carousel{max-width:1050px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:14px}
.gallery-stage{position:relative;flex:1;min-width:0;height:clamp(320px,55vw,600px);border:1px solid #43506a;border-radius:12px;background:#0a1425;overflow:hidden;box-shadow:0 18px 50px #0004}
.gallery-slide{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;padding:12px;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s ease;cursor:zoom-in}
.gallery-slide.active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.gallery-slide img,.gallery-slide video{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;margin:auto;border-radius:5px}
.gallery-arrow{flex:0 0 42px;width:42px;height:52px;border:1px solid #c7a76c;border-radius:25px;background:#26354b;color:#e9c47b;font-size:35px;line-height:1;cursor:pointer;transition:background .2s,transform .2s}
.gallery-arrow:hover{background:#40516a;transform:scale(1.05)}
.gallery-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:20px auto 0;max-width:650px}
.gallery-dot{width:9px;height:9px;padding:0;border:1px solid #c7a76c;border-radius:50%;background:transparent;cursor:pointer}
.gallery-dot.active{background:#e9c47b;box-shadow:0 0 8px #e9c47b80}
@media(max-width:600px){.gallery-carousel{gap:6px}.gallery-stage{height:420px}.gallery-slide{padding:5px}.gallery-arrow{flex-basis:30px;width:30px;height:44px;font-size:26px}.gallery-dots{gap:8px}}
@media(prefers-reduced-motion:reduce){.gallery-slide{transition:none}}

/* V7 — Social links in header and contacts */
.header-social{display:flex;align-items:center;gap:9px;margin-right:auto;margin-left:18px}.header-social a{width:34px;height:34px;border:1px solid rgba(199,167,108,.55);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--gold);transition:background .2s,transform .2s,border-color .2s}.header-social a:hover,.header-social a:focus-visible{background:rgba(199,167,108,.15);border-color:var(--gold);transform:translateY(-2px)}.contact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.btn-instagram{background:linear-gradient(110deg,#833ab4,#c13584,#e1306c,#f77737);color:#fff}.btn-instagram svg{flex-shrink:0}@media(max-width:1100px){.contact-card{padding:12px}.contact-card .btn{font-size:9px;letter-spacing:0;padding:14px 5px;gap:5px}}@media(max-width:900px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-social{margin-left:12px;margin-right:12px}.header-social a{width:32px;height:32px}}@media(max-width:520px){.contact-grid{grid-template-columns:1fr}.header{padding-left:3%;padding-right:3%}.brand{gap:6px;letter-spacing:.1em;font-size:9px}.brand img{width:48px;height:40px}.header-social{gap:5px;margin-left:9px;margin-right:auto}.header-social a{width:30px;height:30px}.header-social svg{width:17px;height:17px}}

/* V9 — Titolo del modulo prenotazione */
.booking-form-title{color:#e9c47b;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(30px,3vw,40px);font-weight:500;line-height:1.15;margin:0 0 25px}
