/* v. 1.2 - 18 Jun 2026 */
/* Built with PioneerAIO, framework by Gabriele Gobbo · https://www.pioneeraio.it */

/* TOPBAR */
.tb{background:var(--oro);color:var(--white);font-size:13px;font-weight:700;padding:7px 0}
.tb .w{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.tb a{color:var(--white);transition:opacity var(--ease)}
.tb a:hover{opacity:.7}
.tb-l{display:flex;align-items:center;gap:20px}
.tb-l i{margin-right:5px;font-size:11px}
.tb-r{display:flex;align-items:center;gap:12px}
.tb-r a{font-size:13px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r);transition:background var(--ease);color:var(--white)}
.tb-r a:hover{background:rgba(26,42,74,.12)}

/* NAVBAR */
.nav{background:var(--navy);position:sticky;top:0;z-index:100;border-bottom:2px solid var(--oro)}
.nav .w{display:flex;align-items:center;justify-content:space-between;height:66px;gap:12px}
/* Fix logo: non si stretchat */
.nav-logo{flex-shrink:0;display:block}
.nav-logo img{height:30px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none}
.nav-links a{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.78);padding:8px 13px;border-radius:var(--r);transition:color var(--ease),background var(--ease)}
.nav-links a:hover{color:var(--white);background:rgba(255,255,255,.08)}
.nav-links a.active{color:var(--oro)}
.nav-r{display:flex;align-items:center;gap:10px;flex-shrink:0}
.btn-book{background:var(--oro);color:var(--navy);border:none;padding:10px 22px;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;border-radius:var(--r);cursor:pointer;transition:background var(--ease);white-space:nowrap;display:inline-block}
.btn-book:hover{background:var(--oro-l)}
.hbg{display:flex;flex-direction:column;gap:5px;background:transparent;border:1.5px solid rgba(255,255,255,.55);border-radius:var(--r);cursor:pointer;padding:8px 9px;transition:border-color var(--ease)}
.hbg:hover{border-color:var(--white)}
.hbg span{display:block;width:20px;height:2px;background:var(--white);border-radius:2px;transition:all var(--ease)}
.btn-book-mob{display:none;background:var(--oro);color:var(--navy);border:none;padding:9px 16px;font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r);white-space:nowrap;text-decoration:none}

/* MOBILE MENU — drawer laterale destra */
.mob-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:199}
.mob-backdrop.on{display:block}
.mob{display:none;position:fixed;top:0;right:0;bottom:0;width:min(320px,90vw);z-index:200;background:var(--navy);flex-direction:column;overflow-y:auto;box-shadow:-4px 0 24px rgba(0,0,0,.4)}
.mob.on{display:flex}
.mob-hd{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.2);flex-shrink:0}
.mob-hd img{height:28px}
.mob-x{background:none;border:none;color:rgba(255,255,255,.7);font-size:28px;cursor:pointer;line-height:1;padding:4px}
.mob-x:hover{color:var(--white)}
.mob-body{flex:1;overflow-y:auto;padding:8px 0}
.mob-section{margin-bottom:4px}
.mob-section-label{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.35);padding:10px 20px 4px}
.mob-nav{list-style:none}
.mob-nav a{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.82);padding:8px 20px;transition:color var(--ease),padding-left var(--ease)}
.mob-nav a:hover{color:var(--oro-l);padding-left:28px}
.mob-nav i{font-size:11px;color:var(--oro);width:16px;text-align:center;flex-shrink:0}
.mob-ft{padding:12px 20px;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}
.mob-book{display:block;background:var(--oro);color:var(--navy);text-align:center;padding:13px;font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--r);text-decoration:none}

/* FOOTER */
footer{background:#111d30;color:rgba(255,255,255,.62);padding:60px 0 28px;border-top:3px solid var(--oro)}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.8fr;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.09)}
.ft-logo{display:block;margin-bottom:14px}
.ft-logo img{height:36px;display:block}
.ft-desc{font-size:14px;line-height:1.65;font-weight:400;max-width:250px;margin-bottom:18px;color:rgba(255,255,255,.78)}
.ft-social{display:flex;gap:9px;flex-wrap:wrap}
.ft-social a{width:33px;height:33px;border:1px solid rgba(255,255,255,.18);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:13px;color:rgba(255,255,255,.52);transition:all var(--ease)}
.ft-social a:hover{border-color:var(--oro);color:var(--oro)}
.ft-soc-cta{background:var(--oro)!important;border-color:var(--oro)!important;color:var(--navy)!important}
.ft-soc-cta:hover{background:var(--oro-l)!important;border-color:var(--oro-l)!important;color:var(--navy)!important}
.ft-col h3{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--oro);margin-bottom:16px}
.ft-nav{list-style:none;display:flex;flex-direction:column;gap:8px}
.ft-nav a{font-size:14px;color:rgba(255,255,255,.78);font-weight:300;transition:color var(--ease)}
.ft-nav a:hover{color:var(--oro-l)}
.ft-contacts{display:flex;flex-direction:column;gap:11px}
.ft-sub-h{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--oro);margin-bottom:6px;margin-top:4px}
.ft-c{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:rgba(255,255,255,.78);font-weight:300;word-break:break-word}
.ft-c i{color:var(--oro);font-size:12px;margin-top:2px;flex-shrink:0;width:13px;text-align:center}
.ft-c a{color:rgba(255,255,255,.78);transition:color var(--ease);word-break:break-all}
.ft-c a:hover{color:var(--oro-l)}
.ft-legal{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px;padding-top:22px}
.ft-legal-l{font-size:13px;color:rgba(255,255,255,.45);line-height:1.7}
.ft-legal-r{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ft-legal-r a{font-size:13px;color:rgba(255,255,255,.45);transition:color var(--ease)}
.ft-legal-r a:hover{color:rgba(255,255,255,.75)}
.ft-cols-row{display:contents}

/* RESPONSIVE */
/* ≤1024px: nav-links spariscono, hamburger rimane */
@media(max-width:1024px){
 .nav-links{display:none}
 .ft-grid{grid-template-columns:1fr 1fr;gap:28px}
}
/* ≤768px: mobile full */
@media(max-width:768px){
 .tb-r{display:none}
 .btn-book{display:none}
 .btn-book-mob{display:inline-block}
 .nav .w{height:56px}
 /* Footer mobile: flex colonna, Hotel+Esplora affiancati */
 .ft-grid{display:flex;flex-direction:column;gap:0}
 .ft-grid>div{padding:20px 16px}
 .ft-grid>div:first-child{padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}
 .ft-grid>div:first-child .ft-desc{max-width:100%}
 .ft-grid>div:last-child{border-top:1px solid rgba(255,255,255,.1);padding-top:20px}
 .ft-cols-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(255,255,255,.1)}
 .ft-cols-row .ft-col{padding:20px 16px}
 .ft-cols-row .ft-col:first-child{border-right:1px solid rgba(255,255,255,.08)}
 .ft-nav{gap:6px}
 .ft-nav a{font-size:13px}
 .w{padding:0 16px}
 .mob-section{grid-template-columns:1fr}
}
@media(max-width:380px){
 .ft-cols-row{grid-template-columns:1fr}
}
