:root{--paper:#f8f7f2;--ink:#293c35;--olive:#536247;--muted:#777d72}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{height:105px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.brand{font-family:'Italiana',Georgia,serif;font-size:43px;letter-spacing:-2px;line-height:1}.brand span{font-family:'DM Sans',sans-serif;display:block;font-size:8px;letter-spacing:3px;margin-top:10px;text-align:center}nav{display:flex;gap:36px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--olive);color:#fff;padding:19px 25px;font-size:13px}.small{padding:16px 22px}.hero{height:690px;min-height:580px;position:relative;margin:0 20px;color:white;overflow:hidden}.hero>img,.shade{position:absolute;width:100%;height:100%;object-fit:cover}.hero>img{object-position:center 53%}.shade{background:linear-gradient(90deg,rgba(12,31,28,.58),rgba(12,31,28,.05)),linear-gradient(0deg,rgba(10,25,22,.35),transparent 40%)}.hero-text{position:relative;padding:95px 7%}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:500;margin:0 0 27px}h1,h2,h3{font-family:'Italiana',Georgia,serif;font-weight:400;margin:0}h1{font-size:clamp(60px,6.8vw,100px);line-height:1.03;letter-spacing:-2px}em{font-weight:400}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;font-size:.92em}p{line-height:1.9}.hero-text>p:not(.eyebrow){font-size:14px;line-height:1.7;margin:25px 0}.hero-link{display:inline-flex;gap:60px;border-bottom:1px solid #ffffff80;padding:10px 0;font-size:12px}.hero-bottom{position:absolute;bottom:32px;left:7%;right:6%;display:flex;justify-content:space-between;align-items:end;font-size:9px;line-height:1.8;letter-spacing:1.7px}.hero-bottom a{display:flex;gap:20px;align-items:center}.hero-bottom a span{font-size:25px}.side-note{position:absolute;right:28px;top:36%;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px}.wrap{max-width:1220px;margin:auto;padding:100px 50px}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;padding-top:110px;padding-bottom:110px}h2{font-size:52px;line-height:1.12;letter-spacing:-1px}.intro p:not(.eyebrow){font-size:14px;margin:0 0 20px}.muted{color:var(--muted)}.text-link{display:inline-block;font-size:12px;padding:12px 0;border-bottom:1px solid #a7aea0}.text-link span{margin-left:35px}.rooms{border-top:1px solid #d8dbd1;padding-top:65px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-head>p{font-size:13px;color:var(--muted);margin:0}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 32px}.room-photo{display:block;position:relative;width:100%;height:330px;border:0;padding:0;overflow:hidden;background:#dedfd6}.room-photo img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.room-photo:hover img{transform:scale(1.045)}.room-photo span{position:absolute;bottom:20px;left:22px;color:white;font-size:9px;letter-spacing:2px;text-shadow:0 1px 8px #000;background:#24362a80;padding:9px 12px}.room-label{display:flex;justify-content:space-between;align-items:center;padding-top:20px}small{font-size:9px;letter-spacing:1.8px;color:var(--muted)}h3{font-size:35px;margin-top:8px}.circle{width:40px;height:40px;border:1px solid #cdd0c4;border-radius:50%;background:transparent;color:var(--ink);font-size:20px}.island{display:grid;grid-template-columns:1.05fr 1fr;background:#e9ecdf;margin:20px 20px 0}.island-image{position:relative;min-height:600px}.island-image img{width:100%;height:100%;position:absolute;object-fit:cover}.island-image span{position:absolute;bottom:28px;left:35px;color:white;font-size:10px;letter-spacing:3px;text-shadow:0 1px 5px #000}.island-copy{padding:85px 15% 80px 12%}.island-copy p:not(.eyebrow){font-size:13px;margin:30px 0 15px}.booking{text-align:center;padding-top:110px;padding-bottom:100px}.booking>p:not(.eyebrow){color:var(--muted);font-size:13px}.booking-widget{margin:35px auto 20px;min-height:90px;border-top:1px solid #d8dbd1;border-bottom:1px solid #d8dbd1;padding:20px 0}.booking-help a{color:var(--ink);text-decoration:underline}.contact{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px;border-top:1px solid #d8dbd1;padding-top:65px;padding-bottom:75px}.contact h2{font-size:42px}.contact p{font-size:13px}footer{background:#293c35;color:#e8ecdf;padding:48px 5%;display:flex;justify-content:space-between;align-items:center}footer .brand{font-size:38px}footer>div:not(.brand),footer>a{font-size:10px;line-height:2;color:#c0c9bb}dialog{padding:0;border:0;width:min(850px,92vw);max-height:90vh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#14291ecc;backdrop-filter:blur(5px)}dialog>img{width:100%;height:320px;object-fit:cover}.dialog-copy{padding:32px 40px}.dialog-copy h2{font-size:42px}.dialog-copy p{font-size:14px}.dialog-copy .text-link{margin-left:20px}.close{position:absolute;right:15px;top:15px;background:var(--paper);border:0;border-radius:50%;width:38px;height:38px;font-size:28px}a:hover{opacity:.8}a:focus-visible,button:focus-visible{outline:3px solid #bb953f;outline-offset:5px}@media(min-width:1550px){.hero{height:780px}.hero-text{padding-top:130px}}@media(max-width:800px){header{height:90px;padding:0 6%}.brand{font-size:34px}nav{display:none}.small{padding:14px;font-size:11px;gap:14px}.hero{margin:0 10px;height:650px}.hero-text{padding:100px 7%}.hero h1{font-size:65px}.side-note{display:none}.wrap{padding:65px 26px}.intro{grid-template-columns:1fr;gap:30px}h2{font-size:43px}.section-head{display:block}.section-head>p{margin-top:25px}.room-grid{gap:35px 20px}.room-photo{height:240px}.room-photo span{display:none}h3{font-size:28px}.island{grid-template-columns:1fr;margin:0 10px}.island-image{min-height:400px}.island-copy{padding:55px 28px}.contact{grid-template-columns:1fr;gap:35px}footer{flex-wrap:wrap;gap:30px;padding:40px 26px}footer>div:not(.brand){width:100%}.dialog-copy{padding:25px}.dialog-copy .text-link{margin:15px 0 0}dialog>img{height:230px}}@media(max-width:450px){.room-grid{grid-template-columns:1fr}.room-photo{height:290px}.eyebrow{font-size:9px;letter-spacing:2px}.hero h1{font-size:58px}.hero-text>p:not(.eyebrow){font-size:13px}.hero{height:610px}.brand span{font-size:7px}.small{max-width:155px}.contact h2{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Logo ufficiale nell’intestazione */
header .brand-logo{display:block;flex-shrink:0;line-height:0}header .brand-logo img{display:block;width:auto;height:84px}@media(max-width:800px){header .brand-logo img{height:68px}}

/* KrossBooking su mobile: calendario e pannello ospiti non devono superare l'altezza dello schermo */
@media(max-width:1023px){#kb-widget-container .KB-daterangepicker,#kb-widget-container .kb-select{max-height:100vh;max-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}

/* KrossBooking: colori e caratteri di Bellamania (il widget di default usa il rosso #c93027) */
html:root{--kross_widget_primary:#536247}
body .kross-container,body .kross-container *,body #kb-widget-container,body #kb-widget-container *{font-family:'DM Sans',sans-serif}
body .kross-container .kb-label{color:var(--muted);letter-spacing:1.8px;font-size:10px}
body .kross-container .kb-date .kb-d,body .kross-container .kb-qt{color:var(--ink);font-weight:400}
body .kross-container .kb-mmmm{color:var(--ink)}
body .kross-container .kross-transparency{background:transparent;padding:0}
body .kross-container .kb-btn,body #kb-widget-container .kb-btn,body #kb-widget-container .kb-btn-done{background-color:var(--olive);color:#fff;letter-spacing:.5px}
body .kross-container .kb-btn:hover,body #kb-widget-container .kb-btn:hover{background-color:var(--ink)}
body #kb-widget-container .KB-daterangepicker th.month{color:var(--ink);letter-spacing:2px;font-weight:500}
body #kb-widget-container .KB-daterangepicker .kb-legend .kb-l1 .kb-sq{background-color:#dfe4d6}
body #kb-widget-container .cnt-controls .kb-btn-p{color:var(--olive)!important}
body #kb-widget-container .cnt-controls .kb-btn-p:hover{border-color:var(--olive);background-color:var(--olive);color:#fff!important}

/* Pulsante WhatsApp fisso (resta sotto i pannelli di KrossBooking, z-index 10000) */
.wa-float{position:fixed;right:22px;bottom:22px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:900;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--olive);color:#fff;box-shadow:0 6px 20px rgba(20,41,30,.28);transition:transform .25s,background-color .25s}
.wa-float:hover{opacity:1;transform:translateY(-3px);background:var(--ink)}
@media(max-width:800px){.wa-float{right:16px;bottom:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:54px;height:54px}}
@media print{.wa-float{display:none}}

/* Selettore lingua IT / EN */
.header-end{display:flex;align-items:center;gap:30px}.lang{display:flex;gap:6px;font-size:11px;letter-spacing:1.5px}.lang a{padding:6px 3px;color:var(--muted);border-bottom:1px solid transparent}.lang a[aria-current]{color:var(--ink);border-bottom-color:var(--ink)}
@media(max-width:800px){.header-end{gap:14px}.lang{gap:2px}}
@media(max-width:380px){header .brand-logo img{height:58px}.small span{display:none}.header-end{gap:12px}}

/* ===== Pagine interne: Camere e Gallery ===== */
nav a[aria-current]{border-bottom:1px solid var(--ink);padding-bottom:4px}
.page-head{padding-top:70px;padding-bottom:30px;max-width:1220px}
.page-head h1{font-size:clamp(46px,6vw,82px);line-height:1.05;letter-spacing:-1.5px;margin-bottom:28px}
.page-head>p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:14px}
.room-index{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.room-index a{border:1px solid #cdd0c4;padding:10px 18px;font-size:12px;letter-spacing:1px;border-radius:40px}
.room-index a:hover{background:var(--ink);color:#fff;opacity:1}

.room-detail{display:grid;grid-template-columns:1.15fr 1fr;gap:28px 70px;border-top:1px solid #d8dbd1;padding-top:70px;padding-bottom:70px;scroll-margin-top:20px}
.room-detail.flip{grid-template-columns:1fr 1.15fr}.room-detail.flip .rd-photos{order:2}.rd-story{order:3}.rd-photos a[hidden]{display:none}
.rd-photos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:540px}
.rd-photos a{display:block;position:relative;overflow:hidden;background:#dedfd6}
.rd-photos img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.rd-photos a:hover img{transform:scale(1.04)}
.rd-photos a:hover{opacity:1}
.rd-main{grid-row:1 / span 2}
.rd-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(20,41,30,.5);color:#fff;font-size:13px;letter-spacing:1.5px}
.rd-copy{align-self:center}
.rd-copy h2{font-size:58px;margin:10px 0 6px}
.rd-meta{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--olive);margin:0 0 18px}
.rd-copy>p:not(.rd-meta){font-size:14px;margin:0 0 14px}
.rd-features{list-style:none;padding:0;margin:22px 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;font-size:13px}
.rd-features li{padding-left:18px;position:relative;line-height:1.5}
.rd-features li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border:1px solid var(--olive);transform:rotate(45deg)}
.rd-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.rd-story{grid-column:1 / -1;display:grid;grid-template-columns:360px 1fr;background:#e9ecdf;margin-top:20px}
.rd-story img{width:100%;height:100%;min-height:240px;object-fit:cover}
.rd-story>div{padding:40px 48px}
.rd-story .eyebrow{margin-bottom:14px;color:var(--olive)}
.rd-story h3{font-size:32px;margin:0 0 14px}
.rd-story p:not(.eyebrow){font-size:13px;margin:0;max-width:720px}

.gal-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.gal-filters button{border:1px solid #cdd0c4;background:transparent;color:var(--ink);padding:10px 18px;font-size:12px;letter-spacing:1px;border-radius:40px}
.gal-filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.gallery{padding-top:10px}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:210px;grid-auto-flow:dense;gap:14px}
.gal-item{display:block;position:relative;overflow:hidden;background:#dedfd6}.gal-item.tall{grid-row:span 2}
.gal-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gal-item:hover{opacity:1}.gal-item:hover img{transform:scale(1.035)}
.gal-item span{position:absolute;left:12px;bottom:12px;background:#24362a99;color:#fff;font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:7px 10px}
.gal-item.is-filtered{display:none}
.gal-cta{display:flex;justify-content:space-between;align-items:end;gap:30px;border-top:1px solid #d8dbd1;padding-top:65px}
.gal-cta>div{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px}

.lightbox{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(12,24,19,.96);color:#fff}
.lightbox::backdrop{background:rgba(12,24,19,.96)}
.lightbox figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 80px 30px}
.lightbox img{max-width:100%;max-height:calc(100% - 50px);object-fit:contain}
.lightbox figcaption{display:flex;gap:24px;justify-content:space-between;width:100%;max-width:1200px;font-size:12px;letter-spacing:1px;color:#d7ddd3;padding-top:16px}
.lightbox button{position:absolute;background:transparent;border:0;color:#fff;font-size:44px;line-height:1;width:60px;height:60px}
.lb-close{top:10px;right:14px}.lb-prev{left:10px;top:50%;transform:translateY(-50%)}.lb-next{right:10px;top:50%;transform:translateY(-50%)}
.lightbox button:hover{color:#cfd8c5}

.rooms-more{display:flex;flex-wrap:wrap;gap:14px 36px;margin-top:44px}
.room-label .circle{display:inline-flex;align-items:center;justify-content:center}
a.room-photo{color:inherit}

@media(max-width:1000px){.room-detail,.room-detail.flip{grid-template-columns:1fr;gap:34px}.room-detail.flip .rd-photos{order:0}.rd-photos{height:460px}.rd-story{grid-template-columns:1fr}.rd-story img{height:240px}}
@media(max-width:800px){.page-head{padding-top:40px}.rd-photos{grid-template-columns:1fr 1fr;grid-template-rows:260px 150px;height:auto}.rd-main{grid-row:auto;grid-column:1 / -1}.rd-copy h2{font-size:46px}.rd-features{grid-template-columns:1fr}.rd-story>div{padding:30px 26px}.rd-story h3{font-size:28px}.room-detail{padding-top:50px;padding-bottom:50px}.gal-grid{grid-template-columns:1fr 1fr;grid-auto-rows:140px;gap:8px}.gal-item span{display:none}.gal-cta{display:block}.gal-cta>div{margin-top:26px}.lightbox figure{padding:60px 10px 24px}.lightbox figcaption{padding:12px 6px 0}.lb-prev,.lb-next{top:auto!important;bottom:6px;transform:none!important}}
