@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--bg:#11100e;--bg2:#191714;--text:#f5eee4;--muted:#aaa298;--gold:#d6aa6b;--gold2:#e6c28a;--line:#3a3228}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.18}h1{font-size:clamp(2.7rem,5.5vw,5.8rem);letter-spacing:-.025em}h2{font-size:clamp(2.2rem,4vw,4.2rem)}h3{font-size:1.4rem}em{color:var(--gold2);font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{max-width:1320px;margin:auto;padding:0 35px}.skip{position:absolute;top:-100px;left:10px;z-index:20;background:#fff;color:#000;padding:10px}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:10;background:rgba(13,12,11,.97);border-bottom:1px solid #383024;backdrop-filter:blur(12px)}.nav{min-height:98px;display:flex;align-items:center;gap:40px;justify-content:space-between}.brand img{width:62px;height:auto;display:block}.main-nav{display:flex;gap:32px;align-items:center}.main-nav a,.languages{font-size:.85rem}.main-nav a:hover,.main-nav a:focus,.footer-main a:hover{color:var(--gold)}.actions{display:flex;gap:24px;align-items:center}.languages{color:var(--gold)}.languages .muted{color:#aaa}.btn{min-height:48px;border-radius:2px;border:1px solid var(--gold);padding:13px 27px;display:inline-flex;gap:20px;align-items:center;justify-content:center;text-transform:uppercase;font-weight:700;font-size:.76rem;letter-spacing:.045em;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:linear-gradient(135deg,#ebc992,#bd8d4d);border-color:#e1b879;color:#18130e}.btn-outline{color:#f6e7d2;background:rgba(0,0,0,.24)}.nav-toggle{display:none}.hero{min-height:660px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url('assets/locale-3.webp');background-position:center 48%;background-size:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,6,6,.88),rgba(7,6,6,.56) 43%,rgba(7,6,6,.06) 100%),linear-gradient(0deg,rgba(10,9,8,.5),transparent 30%)}.hero-copy{position:relative;z-index:1;width:100%;padding-top:90px;padding-bottom:100px}.hero-copy h1{max-width:790px;margin:16px 0 24px}.hero-copy p{max-width:540px;font-size:1.1rem;color:#ebddd0}.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.24em;color:var(--gold);display:block}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-bottom{position:absolute;bottom:26px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:.66rem;letter-spacing:.2em;color:#e6d4bc}.pillars{padding-top:52px;padding-bottom:52px;display:grid;grid-template-columns:repeat(4,1fr)}.pillars>div{padding:6px 26px;text-align:center;border-right:1px solid var(--line)}.pillars>div:last-child{border-right:0}.pillars h3{margin:12px 0 8px}.pillars p{font-size:.84rem;color:var(--muted);margin:0}.symbol{font-size:2rem;line-height:1;color:var(--gold)}.section{padding:60px 0}.section-menu,.gallery-section{background:var(--bg2)}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center}.split.reverse{grid-template-columns:1fr 1.1fr}.image-frame{height:435px;overflow:hidden;position:relative}.image-frame img{height:100%;width:100%;object-fit:cover;display:block}.copy-panel{padding:35px 0}.copy-panel h2{margin:16px 0}.copy-panel p{max-width:420px;color:#c9c1b6;margin-bottom:32px}.accent-line{height:2px;width:50px;background:var(--gold);display:block;margin:26px 0}.copy-panel .small-note{font-size:.76rem;color:#817a72;margin:21px 0 0}.sport-section{background:#12110f}.sport-overlay{position:absolute;inset:auto 0 0;padding:30px;background:linear-gradient(0deg,rgba(0,0,0,.86),transparent)}.sport-overlay span{font-size:.7rem;letter-spacing:.2em;color:var(--gold);display:block}.sport-overlay strong{font:500 2rem 'Playfair Display',serif}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-heading h2{margin:12px 0 0}.subtle{color:#958a7e;font-size:.8rem}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-tile{height:200px;overflow:hidden;padding:0;border:1px solid #3a3128;cursor:pointer;background:#222}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-tile:hover img{transform:scale(1.06)}.booking{padding:72px 0;background:linear-gradient(90deg,#292015,#15120f);border-top:1px solid #53412b}.booking-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.booking h2{font-size:clamp(2rem,3vw,3.2rem);margin:12px 0}.booking p{color:#c8b8a5}.footer-main{padding-top:55px;padding-bottom:45px;display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:30px}.footer-main p,.footer-main a{font-size:.86rem;color:#beb4a7}.footer-main img{width:68px;height:auto}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;padding-bottom:25px;color:#857b70}.lightbox{max-width:90vw;max-height:90vh;background:#0d0b09;border:1px solid var(--gold);padding:20px}.lightbox::backdrop{background:rgba(0,0,0,.88)}.lightbox img{max-width:80vw;max-height:75vh;display:block}.close{position:absolute;top:0;right:3px;background:#16110c;color:white;border:0;font-size:2rem;cursor:pointer}.internal-hero{padding:100px 0 60px;background:radial-gradient(circle at 80% 0,#3b261a,#11100e 60%)}.internal-hero p{max-width:680px;color:#c4b9ad}.event-list{display:grid;gap:12px;margin:30px 0 70px}.event-item{border:1px solid var(--line);background:#1b1814;padding:20px;display:flex;align-items:center;gap:28px;justify-content:space-between}.event-item strong{font-size:1.1rem}.event-item span{color:var(--gold)}.empty{padding:36px;border:1px solid var(--line);color:#c8c1b8;background:#1b1814}.info{font-size:.87rem;color:#9b9084}.menu-placeholder{padding:75px 0 110px}.menu-card{border:1px solid var(--line);padding:35px;background:#1b1814;max-width:720px}.menu-card p{color:#c6b9aa}.secondary-link{color:var(--gold);text-decoration:underline;text-underline-offset:5px}
@media(max-width:950px){.nav{gap:15px}.main-nav{gap:15px}.wrap{padding-left:24px;padding-right:24px}.navbook{padding:12px}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.nav{min-height:76px;justify-content:space-between}.brand img{width:47px}.nav-toggle{display:block;background:none;border:1px solid #665037;color:var(--gold);width:42px;height:42px;font-size:1.3rem;margin-left:auto;order:3}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#14110f;padding:25px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--gold)}.main-nav.open{display:flex}.actions{gap:10px}.languages{font-size:.72rem}.navbook{display:none}.hero{min-height:660px;align-items:end}.hero-image{background-position:62% center}.hero-shade{background:linear-gradient(0deg,rgba(8,7,6,.96),rgba(8,7,6,.26) 85%)}.hero-copy{padding-top:140px;padding-bottom:84px}.hero-copy h1{font-size:clamp(2.65rem,10vw,4rem)}.hero-copy p{font-size:.95rem}.hero-copy .buttons{flex-direction:column}.hero-copy .btn{width:100%}.pillars{grid-template-columns:repeat(2,1fr);padding-top:35px;padding-bottom:35px;gap:25px 0}.pillars>div{padding:6px 12px}.pillars>div:nth-child(2){border-right:0}.pillars h3{font-size:1.2rem}.pillars p{font-size:.75rem}.section{padding:25px 0}.split,.split.reverse{grid-template-columns:1fr;gap:0}.image-frame{height:300px}.copy-panel{padding:36px 0}.sport-section .copy-panel{order:2}.sport-section .sport-photo{order:1}.gallery-grid{gap:8px}.gallery-tile{height:145px}.section-heading{display:block}.subtle{display:block;margin-top:12px}.booking{padding:48px 0}.booking-inner{display:block}.booking .btn{margin-top:18px}.footer-main{grid-template-columns:1fr 1fr;gap:34px 15px}.event-item{align-items:flex-start;flex-direction:column;gap:8px}}

/* Copertina configurabile da /admin/visual.php. L'overlay resta separato dalla foto originale. */
.hero[data-hero-settings="1"] { min-height:var(--jc-height-d,660px); }
.hero[data-hero-settings="1"] .hero-image {
 background-position:var(--jc-focus-x-d,50%) var(--jc-focus-y-d,48%);
 filter:brightness(var(--jc-brightness-d,1)) contrast(var(--jc-contrast,1));
}
.hero[data-hero-settings="1"] .hero-shade {
 background:
  linear-gradient(90deg,rgba(var(--jc-overlay-rgb,7,6,6),var(--jc-overlay-d,.88)) 0%,rgba(var(--jc-overlay-rgb,7,6,6),calc(var(--jc-overlay-d,.88) * .63)) 43%,rgba(var(--jc-overlay-rgb,7,6,6),0) 100%),
  linear-gradient(0deg,rgba(var(--jc-overlay-rgb,7,6,6),calc(var(--jc-overlay-d,.88) * .35)),transparent 30%);
}
.hero[data-hero-settings="1"][data-overlay-style="solid"] .hero-shade {
 background:rgba(var(--jc-overlay-rgb,7,6,6),var(--jc-overlay-d,.88));
}
@media(max-width:720px){
 .hero[data-hero-settings="1"] { min-height:var(--jc-height-m,660px); }
 .hero[data-hero-settings="1"] .hero-image {
   background-position:var(--jc-focus-x-m,62%) var(--jc-focus-y-m,50%);
   filter:brightness(var(--jc-brightness-m,1)) contrast(var(--jc-contrast,1));
 }
 .hero[data-hero-settings="1"] .hero-shade {
   background:linear-gradient(0deg,rgba(var(--jc-overlay-rgb,7,6,6),var(--jc-overlay-m,.96)) 0%,rgba(var(--jc-overlay-rgb,7,6,6),calc(var(--jc-overlay-m,.96) * .6)) 46%,rgba(var(--jc-overlay-rgb,7,6,6),.04) 100%);
 }
 .hero[data-hero-settings="1"][data-overlay-style="solid"] .hero-shade {
   background:rgba(var(--jc-overlay-rgb,7,6,6),var(--jc-overlay-m,.96));
 }
}

/* Foto indipendenti: filtri non distruttivi e solo per le immagini personalizzate. */
.jazz-photo-frame {position:relative; isolation:isolate;}
.jazz-photo-inline {display:inline-block;max-width:100%;vertical-align:top;}
.jazz-photo-inline img {display:block;max-width:100%;}
.jazz-photo-filtered img {filter:brightness(var(--photo-brightness-d,1)) contrast(var(--photo-contrast,1)) saturate(var(--photo-saturation,1));object-position:var(--photo-focus-d,50% 50%);}
.jazz-photo-filtered::after {content:"";pointer-events:none;position:absolute;inset:0;z-index:1;background:rgba(var(--photo-rgb,0,0,0),var(--photo-overlay,0));}
.jazz-photo-filtered[data-photo-mode="gradient"]::after {background:linear-gradient(90deg,rgba(var(--photo-rgb,0,0,0),var(--photo-overlay,0)),rgba(var(--photo-rgb,0,0,0),0));}
.jazz-photo-filtered .sport-overlay {z-index:2;}
@media(max-width:720px){.jazz-photo-filtered img {filter:brightness(var(--photo-brightness-m,1)) contrast(var(--photo-contrast,1)) saturate(var(--photo-saturation,1));object-position:var(--photo-focus-m,50% 50%);}}
