
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;min-height:100%}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --lemuri-ink:#100708;
  --lemuri-ink-2:#190a0d;
  --lemuri-wine:#351016;
  --lemuri-wine-2:#5a1722;
  --lemuri-gold:#d7b66b;
  --lemuri-gold-2:#f1d58e;
  --lemuri-ivory:#f7f1e7;
  --lemuri-paper:#fffaf2;
  --lemuri-muted:#c8bdb7;
  --lemuri-line:rgba(215,182,107,.24);
  --lemuri-line-soft:rgba(255,255,255,.08);
  --lemuri-shadow:0 26px 70px rgba(0,0,0,.34);
  --lemuri-shadow-soft:0 14px 40px rgba(0,0,0,.22);
  --lemuri-serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --lemuri-sans:'Manrope', Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --lemuri-max:1180px;
}

html{scroll-behavior:smooth;background:var(--lemuri-ink)}
body{
  font-family:var(--lemuri-sans);
  background:
    radial-gradient(circle at 15% 0%, rgba(126,33,45,.18), transparent 34rem),
    radial-gradient(circle at 90% 16%, rgba(215,182,107,.08), transparent 30rem),
    linear-gradient(180deg,var(--lemuri-ink-2),var(--lemuri-ink) 55%,#0b0607);
  color:var(--lemuri-ivory);
  line-height:1.68;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.01) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom,black,transparent 92%);
}
::selection{background:var(--lemuri-gold);color:var(--lemuri-ink)}

/* Typography */
h1,h2,h3,h4,h5,h6{font-family:var(--lemuri-serif);font-weight:700;line-height:1.03;text-wrap:balance}
h1{letter-spacing:-.025em}
h2{letter-spacing:-.02em}
p{max-width:72ch}
.public-page p{margin-left:auto;margin-right:auto}
.public-page strong{color:var(--lemuri-paper)}
.public-page a{transition:color .22s ease,background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}

/* Shared public header */
.public-page > header{
  position:relative;
  z-index:30;
  background:
    linear-gradient(180deg,rgba(9,5,6,.96),rgba(20,7,10,.96)),
    radial-gradient(circle at 50% -20%,rgba(215,182,107,.16),transparent 28rem);
  color:var(--lemuri-paper);
  padding:28px 28px 0;
  border-bottom:1px solid var(--lemuri-line);
  box-shadow:0 18px 55px rgba(0,0,0,.22);
  text-align:center;
  overflow:visible;
}
.public-page > header::before{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--lemuri-gold),transparent);
  opacity:.9;
}
.public-page > header .logo{
  width:clamp(92px,10vw,138px);
  max-width:38vw;
  margin:0 auto 10px;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.32));
}
.public-page > header h1{
  margin:0;
  color:var(--lemuri-paper);
  font-size:clamp(2.2rem,5vw,4.1rem);
  font-weight:600;
}
.public-page > header p{
  margin:7px auto 20px;
  color:var(--lemuri-gold-2);
  font-size:.78rem;
  font-family:var(--lemuri-sans);
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-weight:700;
}

/* Navigation */
.public-page nav{
  width:min(100%,var(--lemuri-max));
  margin:22px auto 0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:0;
  background:transparent;
  border:0;
  border-top:1px solid var(--lemuri-line-soft);
  min-height:62px;
}
.public-page nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:61px;
  padding:0 13px;
  margin:0;
  color:rgba(255,250,242,.78);
  font-family:var(--lemuri-sans);
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.105em;
  text-decoration:none;
  border-radius:0;
  background:transparent;
}
.public-page nav a::after{
  content:"";
  position:absolute;
  left:13px;right:13px;bottom:0;height:2px;
  background:var(--lemuri-gold);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.public-page nav a:hover,.public-page nav a.active{color:var(--lemuri-paper);background:rgba(255,255,255,.025);text-decoration:none}
.public-page nav a:hover::after,.public-page nav a.active::after{transform:scaleX(1)}
.public-page nav a.membri-link{
  min-height:38px!important;
  margin-left:10px!important;
  padding:0 16px!important;
  border:1px solid var(--lemuri-gold)!important;
  border-radius:3px!important;
  background:var(--lemuri-gold)!important;
  color:var(--lemuri-ink)!important;
  letter-spacing:.08em!important;
  box-shadow:none!important;
}
.public-page nav a.membri-link::after{display:none}
.public-page nav a.membri-link:hover{background:var(--lemuri-gold-2)!important;transform:translateY(-1px)!important}

.site-menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:auto;
  margin:16px auto 0;
  padding:10px 14px;
  border:1px solid var(--lemuri-line);
  border-radius:3px;
  color:var(--lemuri-paper);
  background:rgba(255,255,255,.035);
  font-family:var(--lemuri-sans);
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
  cursor:pointer;
}
.site-menu-toggle .site-menu-lines{width:19px;height:12px;position:relative;display:inline-block}
.site-menu-toggle .site-menu-lines::before,.site-menu-toggle .site-menu-lines::after,.site-menu-toggle .site-menu-lines span{content:"";position:absolute;left:0;width:100%;height:1px;background:var(--lemuri-gold)}
.site-menu-toggle .site-menu-lines::before{top:0}.site-menu-toggle .site-menu-lines span{top:5px}.site-menu-toggle .site-menu-lines::after{bottom:0}

/* Public sections */
.public-page > section{
  width:min(calc(100% - 36px),var(--lemuri-max));
  max-width:var(--lemuri-max);
  margin:0 auto;
  padding:82px 0;
  text-align:center;
}
.public-page > section + section{border-top:1px solid var(--lemuri-line-soft)}
.public-page section > h2:not(.section-title){font-size:clamp(2.1rem,4vw,3.3rem);color:var(--lemuri-paper);margin:0 0 18px}
.public-page section > p{color:#d8cfca;font-size:1.02rem}
.public-page .section-tag,
.public-page .hero-label{
  display:inline-block;
  margin-bottom:14px;
  padding:0;
  background:transparent;
  color:var(--lemuri-gold);
  font-family:var(--lemuri-sans);
  font-size:.7rem;
  line-height:1.4;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.public-page .section-title{font-size:clamp(2.45rem,5vw,4rem);color:var(--lemuri-paper);margin:0 0 16px}
.public-page .section-subtitle,.public-page .intro{color:#cfc4bf;font-size:1.03rem;line-height:1.8;max-width:760px;margin:0 auto 32px}

/* Buttons */
.public-page .btn-gold,.public-page .btn-dark,.public-page .btn-outline,.public-page .btn,.public-page .open-btn,.public-page .back-link,
.member-page button,.admin-page .btn,.admin-page button:not(.lightbox-close):not(.lightbox-prev):not(.lightbox-next){
  font-family:var(--lemuri-sans);
  font-weight:800;
  letter-spacing:.045em;
}
.public-page .btn-gold,.public-page .btn,.public-page .open-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 22px;border:1px solid var(--lemuri-gold);border-radius:3px;
  background:var(--lemuri-gold);color:var(--lemuri-ink);text-decoration:none;box-shadow:0 10px 28px rgba(215,182,107,.12)
}
.public-page .btn-gold:hover,.public-page .btn:hover,.public-page .open-btn:hover{background:var(--lemuri-gold-2);border-color:var(--lemuri-gold-2);color:var(--lemuri-ink);transform:translateY(-2px);text-decoration:none}
.public-page .btn-outline,.public-page .btn-dark,.public-page .back-link{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 22px;border:1px solid rgba(255,255,255,.25);border-radius:3px;
  background:transparent;color:var(--lemuri-paper);text-decoration:none
}
.public-page .btn-outline:hover,.public-page .btn-dark:hover,.public-page .back-link:hover{border-color:var(--lemuri-gold);color:var(--lemuri-gold-2);background:rgba(215,182,107,.06);transform:translateY(-2px);text-decoration:none}

/* Home */
.page-index #introBanner{
  background:
    linear-gradient(180deg,rgba(7,4,5,.92),rgba(16,7,9,.97)),
    radial-gradient(circle at 50% 22%,rgba(117,27,40,.55),transparent 34rem);
  backdrop-filter:blur(8px);
}
.page-index #introBanner::after{content:"";position:absolute;inset:18px;border:1px solid rgba(215,182,107,.18);pointer-events:none}
.page-index .banner-content{position:relative;z-index:1;max-width:900px}
.page-index .banner-logo{width:145px;margin-bottom:26px}
.page-index .banner-tag{background:transparent;color:var(--lemuri-gold);padding:0;border-radius:0;letter-spacing:.25em;font-size:.68rem}
.page-index .banner-content h1{font-family:var(--lemuri-serif);font-size:clamp(4rem,10vw,8rem);font-weight:600;letter-spacing:-.035em;color:var(--lemuri-paper);text-shadow:0 18px 60px rgba(0,0,0,.44)}
.page-index .banner-content h2{font-family:var(--lemuri-sans);font-size:clamp(.85rem,2vw,1.05rem);letter-spacing:.25em;color:var(--lemuri-gold);font-weight:800}
.page-index .banner-content p{font-family:var(--lemuri-serif);font-size:clamp(1.5rem,3vw,2.3rem);font-weight:600;color:#efe6dc}
.page-index .banner-content button{border-radius:3px;background:var(--lemuri-gold);color:var(--lemuri-ink);box-shadow:none}

.page-index > section.hero{
  width:100%;max-width:none;min-height:65vh;margin:0;padding:110px 24px;
  display:grid;place-items:center;
  background:
    radial-gradient(circle at 50% 35%,rgba(119,28,42,.32),transparent 32rem),
    linear-gradient(180deg,rgba(11,6,7,.22),rgba(11,6,7,.92));
  border-top:0;border-bottom:1px solid var(--lemuri-line-soft)
}
.page-index .hero-content{max-width:920px;margin:auto}
.page-index .hero h2{font-size:clamp(4.6rem,10vw,8.5rem);font-weight:600;color:var(--lemuri-paper);margin:0;letter-spacing:-.045em;text-shadow:0 18px 60px rgba(0,0,0,.25)}
.page-index .hero h3{font-family:var(--lemuri-sans);font-size:clamp(1rem,2vw,1.25rem);text-transform:uppercase;letter-spacing:.18em;color:var(--lemuri-gold);margin:8px 0 24px}
.page-index .hero p{max-width:760px;color:#d9cfca;font-size:1.08rem;margin:0 auto 30px}
.page-index .hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

.page-index .spettacoli-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px;text-align:left}
.page-index .spettacolo-card{
  display:grid;grid-template-columns:minmax(0,42%) 1fr;min-height:340px;
  overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  border:1px solid var(--lemuri-line-soft);border-radius:4px;box-shadow:var(--lemuri-shadow-soft)
}
.page-index .spettacolo-card img,.page-index .spettacolo-placeholder{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:0}
.page-index .spettacolo-placeholder{display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(215,182,107,.16),transparent 50%),#160b0d;color:var(--lemuri-gold);font-size:4rem}
.page-index .spettacolo-content{padding:32px 28px;display:flex;flex-direction:column;align-items:flex-start}
.page-index .spettacolo-content h3{font-size:2rem;color:var(--lemuri-paper);margin:0 0 4px}
.page-index .spettacolo-content h4{font-family:var(--lemuri-sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--lemuri-gold);margin:0 0 20px}
.page-index .spettacolo-content p{color:#cfc5bf;margin:0 0 24px;font-size:.94rem}
.page-index .card-links{margin-top:auto;display:flex;gap:14px;flex-wrap:wrap}
.page-index .card-link{color:var(--lemuri-gold-2);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(215,182,107,.32);padding-bottom:3px}
.page-index .card-link:hover{color:var(--lemuri-paper);border-color:var(--lemuri-paper);text-decoration:none}
.page-index .about-box{width:100%;max-width:none;background:linear-gradient(90deg,rgba(215,182,107,.06),transparent 45%,rgba(126,33,45,.08));padding:88px 24px}
.page-index .about-inner{width:min(100%,var(--lemuri-max));margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;text-align:left}
.page-index .about-text p{margin-left:0;color:#d3c8c2}
.page-index .about-text h2{font-size:clamp(2.6rem,5vw,4.4rem);color:var(--lemuri-paper);margin:0 0 24px}
.page-index .about-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;box-shadow:var(--lemuri-shadow);border:1px solid var(--lemuri-line-soft)}
.page-index .features{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--lemuri-line-soft);border:1px solid var(--lemuri-line-soft);margin-top:38px}
.page-index .feature{background:#130a0c;padding:34px 22px;min-height:190px}
.page-index .feature i{color:var(--lemuri-gold);font-size:1.5rem;margin-bottom:16px}
.page-index .feature h3{font-size:1.55rem;color:var(--lemuri-paper);margin:0 0 9px}
.page-index .feature p{color:#bfb4af;font-size:.9rem;margin:0}
.page-index .gallery-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:32px}
.page-index .gallery-preview img{width:100%;aspect-ratio:1/1.08;object-fit:cover;border-radius:1px;filter:saturate(.92) contrast(1.03);transition:transform .4s ease,filter .4s ease}
.page-index .gallery-preview img:hover{transform:translateY(-5px);filter:saturate(1.05) contrast(1.04)}
.page-index .cta{width:100%;max-width:none;background:var(--lemuri-gold);color:var(--lemuri-ink);padding:74px 24px;border:0}
.page-index .cta-inner{max-width:850px;margin:auto}
.page-index .cta h2{font-size:clamp(2.6rem,5vw,4.3rem);color:var(--lemuri-ink);margin:0 0 14px}
.page-index .cta p{color:rgba(16,7,8,.76);font-weight:600;margin:0 auto 24px}
.page-index .cta .btn-dark{border-color:var(--lemuri-ink);color:var(--lemuri-ink);background:transparent}
.page-index .cta .btn-dark:hover{background:var(--lemuri-ink);color:var(--lemuri-paper)}

/* Story */
.page-storia > section:first-of-type{max-width:920px;padding-bottom:56px}
.page-storia > section:first-of-type p{font-family:var(--lemuri-serif);font-size:clamp(1.22rem,2.1vw,1.52rem);line-height:1.72;color:#e0d6d0;text-align:left;max-width:850px}
.page-storia .foto-gruppo{width:min(calc(100% - 36px),var(--lemuri-max));max-width:var(--lemuri-max)}
.page-storia .foto-container{margin-top:30px}
.page-storia .foto{width:min(100%,980px);border-radius:2px;box-shadow:var(--lemuri-shadow);border:1px solid var(--lemuri-line-soft)}

/* Shows */
.page-spettacoli .spettacoli-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:34px}
.page-spettacoli .spettacolo{background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.025));border:1px solid var(--lemuri-line-soft);border-radius:4px;padding:34px;text-align:left;box-shadow:var(--lemuri-shadow-soft)}
.page-spettacoli .spettacolo h2,.page-spettacoli .spettacolo h3{color:var(--lemuri-paper)}
.page-spettacoli .spettacolo img{width:100%;border-radius:2px;box-shadow:0 14px 38px rgba(0,0,0,.25);margin-bottom:24px}
.page-spettacoli .descrizione{color:#cfc4bf;line-height:1.8}

/* Contact / forms */
.page-contatti .contact-info{max-width:760px;margin:0 auto 30px;padding:28px;border-left:2px solid var(--lemuri-gold);background:rgba(255,255,255,.03);text-align:left}
.public-page .contact-form,.public-page .candidatura-section form{max-width:760px;margin:38px auto 0;text-align:left;display:grid;gap:16px}
.public-page .contact-form label,.public-page .candidatura-section label{color:var(--lemuri-gold-2);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.public-page input,.public-page textarea,.public-page select{
  width:100%;box-sizing:border-box;padding:14px 15px;border-radius:3px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);color:var(--lemuri-paper);font-family:var(--lemuri-sans);font-size:.95rem;outline:none
}
.public-page input:focus,.public-page textarea:focus,.public-page select:focus{border-color:var(--lemuri-gold);box-shadow:0 0 0 3px rgba(215,182,107,.08);background:rgba(255,255,255,.07)}
.public-page input::placeholder,.public-page textarea::placeholder{color:#8f8581}

/* Cast */
.page-cast .cast-hero{padding-bottom:38px}
.page-cast .cast-menu{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px}
.page-cast .cast-show-section{padding-top:70px}
.page-cast .cast-section-header{max-width:800px;margin:0 auto 34px}
.page-cast .cast-section-title{font-size:clamp(2.4rem,5vw,4rem);color:var(--lemuri-paper)}
.page-cast .cast-section-subtitle{color:#c6bbb5}
.page-cast .cast-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;max-width:var(--lemuri-max);padding:0;margin:0 auto}
.page-cast .cast-member{background:rgba(255,255,255,.035);border:1px solid var(--lemuri-line-soft);border-radius:3px;overflow:hidden;text-align:left;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.page-cast .cast-member:hover{transform:translateY(-6px);border-color:var(--lemuri-line);box-shadow:var(--lemuri-shadow-soft)}
.page-cast .cast-member img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:0;box-shadow:none;transition:transform .55s ease}
.page-cast .cast-member:hover img{transform:scale(1.025)}
.page-cast .cast-member p{font-family:var(--lemuri-serif);font-size:1.5rem;color:var(--lemuri-paper);padding:17px 16px 0;margin:0}
.page-cast .cast-character,.page-cast .cast-role{padding:4px 16px;color:var(--lemuri-gold-2);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.page-cast .cast-role{padding-bottom:18px;color:#a99e99}

/* Gallery */
.page-gallery .musical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:960px;margin:38px auto 0}
.page-gallery .musical-card{background:rgba(255,255,255,.035);border:1px solid var(--lemuri-line-soft);border-radius:4px;overflow:hidden;box-shadow:var(--lemuri-shadow-soft);transition:transform .3s ease,border-color .3s ease}
.page-gallery .musical-card:hover{transform:translateY(-6px);border-color:var(--lemuri-line)}
.page-gallery .musical-card img,.page-gallery .placeholder-cover{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:0}
.page-gallery .placeholder-cover{display:grid;place-items:center;background:radial-gradient(circle,rgba(215,182,107,.14),transparent 55%),#140a0c;color:var(--lemuri-gold);font-size:3rem}
.page-gallery .musical-card-content{padding:28px;text-align:left}
.page-gallery-vola-con-me .gallery,.page-gallery-figlio-del-sole .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:32px}
.page-gallery-vola-con-me .gallery img,.page-gallery-figlio-del-sole .gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1px;cursor:zoom-in;transition:transform .3s ease,filter .3s ease;filter:saturate(.92)}
.page-gallery-vola-con-me .gallery img:hover,.page-gallery-figlio-del-sole .gallery img:hover{transform:translateY(-4px);filter:saturate(1.04)}

/* Social + footer */
.public-page .social-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px}
.public-page .social-icon{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px;border:1px solid var(--lemuri-line-soft);border-radius:3px;background:rgba(255,255,255,.03);color:#dcd2cc;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.05em}
.public-page .social-icon:hover{border-color:var(--lemuri-gold);color:var(--lemuri-gold-2);background:rgba(215,182,107,.06);transform:translateY(-2px);text-decoration:none}
.public-page > footer{position:relative;background:#090506;border-top:1px solid var(--lemuri-line);color:#918884;text-align:center;padding:32px 20px;font-size:.78rem;letter-spacing:.06em}
.public-page > footer::before{content:"";position:absolute;top:-1px;left:50%;width:150px;height:1px;transform:translateX(-50%);background:var(--lemuri-gold)}
.public-page > footer p{margin:0 auto;max-width:none}

/* Member area visual language */
.member-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 0%,rgba(107,25,37,.2),transparent 30rem),
    linear-gradient(160deg,#15080a,#080506 68%);
  color:var(--lemuri-paper)
}
.member-page .login-form,.member-page .box{
  width:min(92vw,430px);box-sizing:border-box;padding:42px 36px!important;border-radius:4px!important;border:1px solid var(--lemuri-line)!important;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025))!important;box-shadow:var(--lemuri-shadow)!important;backdrop-filter:blur(18px)
}
.member-page .login-form h2,.member-page .box h2{font-size:2.6rem;color:var(--lemuri-paper)!important;margin:0 0 24px}
.member-page .login-form input,.member-page .box input{border-radius:3px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.055)!important;color:var(--lemuri-paper)!important;padding:13px 14px!important}
.member-page .login-form input:focus,.member-page .box input:focus{border-color:var(--lemuri-gold)!important;background:rgba(255,255,255,.075)!important}
.member-page button{border-radius:3px!important;background:var(--lemuri-gold)!important;color:var(--lemuri-ink)!important;border:1px solid var(--lemuri-gold)!important;box-shadow:none!important;transform:none!important}
.member-page button:hover{background:var(--lemuri-gold-2)!important;border-color:var(--lemuri-gold-2)!important;transform:translateY(-2px)!important}
.member-page a{color:var(--lemuri-gold-2)}
.page-area-privata{padding:70px 22px;text-align:center}
.page-area-privata > h2{font-size:3.2rem;margin:0 0 10px}.page-area-privata > p{color:#c8bdb7;margin:0 auto 28px}.page-area-privata > a{display:block;width:min(100%,460px);margin:10px auto;padding:13px 16px;border:1px solid var(--lemuri-line-soft);background:rgba(255,255,255,.03);text-decoration:none}.page-area-privata > a:hover{border-color:var(--lemuri-gold);background:rgba(215,182,107,.06)}

/* Audio/video reserved pages */
.page-audio > header,.page-video > header{background:transparent;color:var(--lemuri-paper);text-align:center;padding:42px 20px 16px;border:0}
.page-audio > header h1,.page-video > header h1{font-size:clamp(2.7rem,6vw,4.6rem);color:var(--lemuri-paper)}
.page-audio > nav,.page-video > nav{width:min(calc(100% - 32px),900px);margin:0 auto 32px;border:1px solid var(--lemuri-line-soft);background:rgba(255,255,255,.025);border-radius:3px;padding:8px;display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.page-audio > nav a,.page-video > nav a{padding:8px 12px;color:#d5cbc5;text-decoration:none;font-size:.78rem;font-weight:700;border-radius:2px}
.page-audio > nav a:hover,.page-video > nav a:hover,.page-audio > nav a.active,.page-video > nav a.active{background:rgba(215,182,107,.12);color:var(--lemuri-gold-2)}
.page-audio .audio-grid,.page-video .video-container{width:min(calc(100% - 36px),var(--lemuri-max));max-width:var(--lemuri-max);margin:0 auto;padding:28px 0 80px}
.page-audio .audio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.page-audio .audio-card,.page-video .video-box{background:rgba(255,255,255,.035);border:1px solid var(--lemuri-line-soft);border-radius:3px;box-shadow:none;padding:24px}
.page-audio .audio-card h3,.page-video .video-box p{color:var(--lemuri-paper)}
.page-audio audio,.page-video video{width:100%;border-radius:3px}

/* Dashboard + admin: keep functionality, upgrade finish */
.page-dashboard,.admin-page{font-family:var(--lemuri-sans);background:radial-gradient(circle at 10% 0%,rgba(105,25,37,.19),transparent 32rem),linear-gradient(160deg,#16090b,#080506 68%);color:var(--lemuri-paper)}
.page-dashboard header{padding:30px 20px 12px;background:transparent;border:0}.page-dashboard header .logo{max-width:118px}.page-dashboard header h1{font-family:var(--lemuri-serif);font-size:2.45rem;color:var(--lemuri-paper)}
.page-dashboard .section-title{font-family:var(--lemuri-serif);font-size:clamp(2.5rem,5vw,4rem);color:var(--lemuri-paper)}
.page-dashboard .dashboard-box,.page-dashboard .admin-tools-box,.page-dashboard .countdown-box,.page-dashboard .notices-box,.page-dashboard .calendar-box,
.admin-page .panel,.admin-page .authbox,.admin-page .topbar,.admin-page .right,.admin-page .preview{
  border-radius:4px!important;border:1px solid var(--lemuri-line)!important;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important;box-shadow:var(--lemuri-shadow-soft)!important;backdrop-filter:blur(16px)
}
.page-dashboard .dashboard-card,.page-dashboard .notice-card,.page-dashboard .event-details,.page-dashboard .countdown-item{border-radius:3px!important;border-color:var(--lemuri-line-soft)!important;background:rgba(255,255,255,.035)!important}
.page-dashboard button,.page-dashboard .admin-tools-link,.admin-page button,.admin-page .btn{border-radius:3px!important;box-shadow:none!important}
.page-dashboard .admin-tools-link{background:var(--lemuri-gold)!important;color:var(--lemuri-ink)!important}
.page-dashboard .calendar-table th{background:var(--lemuri-gold)!important;color:var(--lemuri-ink)!important;border-radius:2px!important}
.page-dashboard .calendar-table td{border-radius:2px!important;background:rgba(255,255,255,.035)!important}
.page-dashboard .calendar-table td.has-event{background:rgba(215,182,107,.09)!important}
.admin-page input,.admin-page textarea,.admin-page select{border-radius:3px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.05)!important;color:var(--lemuri-paper)!important}
.admin-page .topbar{border-radius:0!important;border-left:0!important;border-right:0!important;border-top:0!important}

/* CMS custom sections should match */
.cms-custom-section{width:min(calc(100% - 36px),var(--lemuri-max))!important;max-width:var(--lemuri-max)!important;margin:0 auto!important;padding:70px 0!important}
.cms-custom-section .cms-custom-inner{border-radius:4px!important;border:1px solid var(--lemuri-line-soft)!important;background:rgba(255,255,255,.035)!important;padding:38px!important}
.cms-custom-section .cms-custom-inner h2{font-size:clamp(2.2rem,4vw,3.5rem)!important;color:var(--lemuri-paper)!important}
.cms-custom-section .cms-custom-btn{border-radius:3px!important;background:var(--lemuri-gold)!important;color:var(--lemuri-ink)!important}

/* Reveal */
.js-reveal-enabled .reveal-on-scroll{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,.8,.32,1)}
.js-reveal-enabled .reveal-on-scroll.is-visible{opacity:1;transform:none}

.site-back-top{position:fixed;right:18px;bottom:18px;z-index:500;width:44px;height:44px;border:1px solid var(--lemuri-line);border-radius:50%;background:rgba(12,7,8,.86);color:var(--lemuri-gold);backdrop-filter:blur(12px);display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:.25s ease;font-size:18px}
.site-back-top.visible{opacity:1;pointer-events:auto;transform:none}.site-back-top:hover{border-color:var(--lemuri-gold);background:#14090b}

@media (max-width:1050px){
  .public-page nav a{padding:0 9px;font-size:.68rem;letter-spacing:.08em}
  .page-index .spettacolo-card{grid-template-columns:1fr}.page-index .spettacolo-card img,.page-index .spettacolo-placeholder{min-height:260px;max-height:320px}
  .page-index .features{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .public-page > header{padding:24px 18px 18px}
  .public-page > header p{margin-bottom:12px}
  .site-menu-toggle{display:inline-flex}
  .public-page nav{display:none;width:min(100%,560px);margin-top:12px;border:1px solid var(--lemuri-line-soft);background:rgba(7,4,5,.72);padding:7px;min-height:0;box-shadow:0 18px 45px rgba(0,0,0,.28)}
  .public-page nav.site-nav-open{display:flex;flex-direction:column;align-items:stretch}
  .public-page nav a{width:100%;min-height:43px;justify-content:flex-start;padding:0 13px;border-bottom:1px solid rgba(255,255,255,.04)}
  .public-page nav a::after{left:0;right:auto;top:10px;bottom:10px;width:2px;height:auto;transform:scaleY(0)}
  .public-page nav a:hover::after,.public-page nav a.active::after{transform:scaleY(1)}
  .public-page nav a.membri-link{margin:7px 0 0!important;justify-content:center!important}
  .public-page > section{padding:62px 0}
  .page-index > section.hero{min-height:58vh;padding:84px 20px}
  .page-index .spettacoli-preview,.page-spettacoli .spettacoli-container,.page-gallery .musical-grid{grid-template-columns:1fr}
  .page-index .about-inner{grid-template-columns:1fr;gap:34px;text-align:center}.page-index .about-text p{margin-left:auto}.page-index .about-image{order:-1}
  .page-index .gallery-preview{grid-template-columns:repeat(2,1fr)}
  .page-cast .cast-container{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .public-page > header .logo{width:92px}
  .public-page > header h1{font-size:2.35rem}
  .page-index .hero h2{font-size:4rem}
  .page-index .hero-actions{flex-direction:column;align-items:stretch}.page-index .hero-actions a{width:100%}
  .page-index .features{grid-template-columns:1fr}.page-index .gallery-preview{grid-template-columns:1fr 1fr;gap:5px}
  .page-cast .cast-container{grid-template-columns:1fr 1fr;gap:8px}.page-cast .cast-member p{font-size:1.2rem;padding:12px 11px 0}.page-cast .cast-character,.page-cast .cast-role{padding-left:11px;padding-right:11px;font-size:.63rem}
  .page-gallery-vola-con-me .gallery,.page-gallery-figlio-del-sole .gallery{grid-template-columns:1fr 1fr;gap:5px}
  .member-page .login-form,.member-page .box{padding:34px 24px!important}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-on-scroll,.reveal-on-scroll.is-visible{opacity:1!important;transform:none!important;transition:none!important}*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}


/* ======================================================================
   I LEMURI — COHERENCE SYSTEM v4
   Un solo linguaggio visivo per pagine pubbliche, area membri e admin.
   ====================================================================== */

:root{
  --lemuri-header-max:1180px;
  --lemuri-radius:4px;
  --lemuri-radius-soft:7px;
}

/* ---------- Logo: trasparente, senza riquadri ---------- */
.professional-theme img.logo,
.professional-theme img.banner-logo,
.professional-theme img.pro-injected-logo{
  background:transparent!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 12px 26px rgba(0,0,0,.28))!important;
}
.brand-logo-composite{
  position:relative;
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 auto 14px;
  line-height:0;
  isolation:isolate;
}
.brand-logo-composite > img{
  display:block!important;
  margin:0!important;
}
.brand-logo-composite .brand-logo-light-top{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  object-fit:contain!important;
  margin:0!important;
  pointer-events:none!important;
  user-select:none!important;
  filter:brightness(0) invert(1) drop-shadow(0 2px 2px rgba(0,0,0,.12))!important;
  opacity:.94!important;
  clip-path:inset(0 0 51% 0);
  z-index:2;
}
.brand-logo-composite .brand-logo-base{position:relative;z-index:1}
.page-index #introBanner .brand-logo-composite{margin-bottom:24px}
.page-index #introBanner .banner-logo{width:145px!important;max-width:54vw!important}

/* ---------- Titoli e spaziature comuni ---------- */
.professional-theme h1,
.professional-theme h2,
.professional-theme h3,
.professional-theme h4{margin-top:0;text-wrap:balance}
.professional-theme p{overflow-wrap:break-word}
.professional-theme button,
.professional-theme a,
.professional-theme input,
.professional-theme textarea,
.professional-theme select{font-family:var(--lemuri-sans)}

/* ---------- Header pubblico: stesso schema su tutte le pagine ---------- */
.public-page > header{
  width:100%;
  min-height:auto;
  margin:0!important;
  padding:34px 24px 0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  background:linear-gradient(180deg,rgba(10,5,6,.985),rgba(17,7,9,.965))!important;
  border:0!important;
  border-bottom:1px solid var(--lemuri-line)!important;
  box-shadow:0 16px 48px rgba(0,0,0,.18)!important;
}
.public-page > header .brand-logo-composite{margin-bottom:13px}
.public-page > header .logo{width:112px!important;max-width:30vw!important;height:auto!important}
.public-page > header h1{
  max-width:900px;
  margin:0 auto!important;
  color:var(--lemuri-paper)!important;
  font-family:var(--lemuri-serif)!important;
  font-size:clamp(2.35rem,4.8vw,4rem)!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:-.025em!important;
  text-align:center!important;
}
.public-page > header > p{
  width:auto!important;
  max-width:760px!important;
  margin:10px auto 0!important;
  padding:0!important;
  color:var(--lemuri-gold-2)!important;
  font-family:var(--lemuri-sans)!important;
  font-size:.72rem!important;
  line-height:1.5!important;
  font-style:normal!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.18em!important;
  text-align:center!important;
}
.public-page nav{
  width:min(100%,var(--lemuri-header-max))!important;
  margin:24px auto 0!important;
  padding:0!important;
  min-height:60px!important;
  align-self:center!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.075)!important;
  border-bottom:0!important;
  background:transparent!important;
  gap:0!important;
}
.public-page nav a{
  min-height:60px!important;
  padding:0 12px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#cfc5c0!important;
  font-size:.69rem!important;
  line-height:1.1!important;
  font-weight:800!important;
  letter-spacing:.095em!important;
  text-transform:uppercase!important;
  white-space:nowrap;
}
.public-page nav a:hover,
.public-page nav a.active{color:var(--lemuri-paper)!important;background:rgba(255,255,255,.025)!important}
.public-page nav a.membri-link{
  min-height:36px!important;
  margin:12px 0 12px 10px!important;
  padding:0 16px!important;
  align-self:center!important;
  border:1px solid var(--lemuri-gold)!important;
  border-radius:3px!important;
  background:var(--lemuri-gold)!important;
  color:var(--lemuri-ink)!important;
}

/* ---------- Sezioni pubbliche ---------- */
.public-page > section{
  width:min(calc(100% - 40px),var(--lemuri-max))!important;
  max-width:var(--lemuri-max)!important;
  margin:0 auto!important;
  padding:78px 0!important;
  text-align:center!important;
}
.public-page > section + section{border-top:1px solid rgba(255,255,255,.065)!important}
.public-page .section-title,
.public-page section > h2:not(.section-title){
  margin:0 auto 16px!important;
  color:var(--lemuri-paper)!important;
  font-family:var(--lemuri-serif)!important;
  font-size:clamp(2.45rem,5vw,4rem)!important;
  line-height:1.02!important;
  font-weight:600!important;
  letter-spacing:-.025em!important;
}
.public-page .section-subtitle,
.public-page .intro,
.public-page section > p{
  margin-left:auto!important;
  margin-right:auto!important;
  color:#cec3bd!important;
  line-height:1.78!important;
}

/* ---------- Pulsanti: mai testo chiaro su oro ---------- */
.public-page .btn-gold,
.public-page .btn,
.public-page .open-btn,
.public-page .card-link,
.public-page button[type="submit"],
.public-page input[type="submit"],
.member-page button,
.page-dashboard button,
.page-dashboard .admin-tools-link,
.admin-page button,
.admin-page .btn,
.cms-custom-section .cms-custom-btn{
  color:var(--lemuri-ink)!important;
  text-shadow:none!important;
}
.public-page .btn-gold,
.public-page .btn,
.public-page .open-btn,
.public-page .card-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:44px!important;
  padding:0 18px!important;
  border:1px solid var(--lemuri-gold)!important;
  border-radius:3px!important;
  background:var(--lemuri-gold)!important;
  color:var(--lemuri-ink)!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.public-page .btn-gold:hover,
.public-page .btn:hover,
.public-page .open-btn:hover,
.public-page .card-link:hover{
  background:var(--lemuri-gold-2)!important;
  border-color:var(--lemuri-gold-2)!important;
  color:var(--lemuri-ink)!important;
  transform:translateY(-2px)!important;
}

/* ---------- Home ---------- */
.page-index #introBanner{background:radial-gradient(circle at 50% 28%,rgba(104,25,36,.46),transparent 26rem),linear-gradient(180deg,#100708,#080405)!important}
.page-index #introBanner::after{border-color:rgba(215,182,107,.18)!important}
.page-index .banner-content{display:flex;flex-direction:column;align-items:center;max-width:920px!important}
.page-index .banner-tag{margin:0 0 16px!important;color:var(--lemuri-gold)!important;background:transparent!important;font-size:.66rem!important;letter-spacing:.26em!important}
.page-index .banner-content h1{margin:0!important;color:var(--lemuri-paper)!important;font-size:clamp(3.8rem,9vw,7.6rem)!important;line-height:.92!important}
.page-index .banner-content h2{margin:12px 0 16px!important;color:var(--lemuri-gold)!important;font-family:var(--lemuri-sans)!important;font-size:clamp(.78rem,1.7vw,1rem)!important;letter-spacing:.23em!important}
.page-index .banner-content p{margin:0 0 30px!important;color:#e2d8d2!important;font-size:clamp(1.4rem,3vw,2rem)!important}
.page-index .card-links{display:flex!important;flex-wrap:wrap!important;gap:9px!important;align-items:center!important}
.page-index .spettacolo-card{overflow:hidden!important}
.page-index .spettacolo-card .card-content{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important}

/* ---------- Dashboard: niente testi dispersi, tutto centrato nell'hero ---------- */
.page-dashboard{
  min-height:100vh;
  font-family:var(--lemuri-sans)!important;
  background:radial-gradient(circle at 12% 0%,rgba(105,25,37,.18),transparent 32rem),linear-gradient(160deg,#15080a,#080506 68%)!important;
  color:var(--lemuri-paper)!important;
}
.page-dashboard > header{
  width:min(calc(100% - 32px),var(--lemuri-header-max))!important;
  margin:0 auto!important;
  padding:38px 20px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:transparent!important;
  border:0!important;
}
.page-dashboard > header .brand-logo-composite{margin:0 auto 18px!important}
.page-dashboard > header .logo{width:104px!important;max-width:28vw!important;height:auto!important}
.page-dashboard > header h1{
  width:100%!important;
  max-width:900px!important;
  margin:0 auto!important;
  color:var(--lemuri-paper)!important;
  font-family:var(--lemuri-serif)!important;
  font-size:clamp(2.15rem,4vw,3.35rem)!important;
  line-height:1.02!important;
  font-weight:600!important;
  letter-spacing:-.02em!important;
  text-align:center!important;
}
.page-dashboard #user-email{
  display:block!important;
  max-width:100%!important;
  margin:10px auto 0!important;
  color:var(--lemuri-gold-2)!important;
  font-family:var(--lemuri-sans)!important;
  font-size:.43em!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  overflow-wrap:anywhere!important;
}
.page-dashboard > header p{
  width:auto!important;
  max-width:760px!important;
  margin:13px auto 0!important;
  padding:0!important;
  color:#bdb1ab!important;
  font-size:.72rem!important;
  line-height:1.5!important;
  text-align:center!important;
  text-transform:uppercase!important;
  letter-spacing:.17em!important;
}
.page-dashboard .section-title{
  margin:20px auto 10px!important;
  padding:0 20px!important;
  color:var(--lemuri-paper)!important;
  font-size:clamp(2.7rem,5vw,4.2rem)!important;
  font-weight:600!important;
  line-height:1!important;
  text-align:center!important;
}
.page-dashboard .section-subtitle{
  max-width:760px!important;
  margin:0 auto 24px!important;
  padding:0 20px!important;
  color:#c2b7b1!important;
  line-height:1.7!important;
  text-align:center!important;
}
.page-dashboard .musical-structure-bar{
  width:min(calc(100% - 40px),var(--lemuri-max))!important;
  margin:0 auto 28px!important;
  padding:0!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
}
.page-dashboard .dashboard{
  width:min(calc(100% - 40px),var(--lemuri-max))!important;
  max-width:var(--lemuri-max)!important;
  margin:0 auto!important;
  padding:0!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:start!important;
}
.page-dashboard .dashboard-box{
  margin:0!important;
  padding:28px!important;
  border:1px solid var(--lemuri-line)!important;
  border-radius:var(--lemuri-radius)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.024))!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
  text-align:left!important;
  transform:none!important;
}
.page-dashboard .dashboard-box:hover{transform:translateY(-3px)!important;border-color:rgba(215,182,107,.42)!important;box-shadow:0 22px 56px rgba(0,0,0,.28)!important}
.page-dashboard .dashboard-box > h3{
  margin:0 0 8px!important;
  color:var(--lemuri-gold)!important;
  justify-content:center!important;
  font-family:var(--lemuri-serif)!important;
  font-size:1.65rem!important;
  line-height:1.1!important;
  text-align:center!important;
}
.page-dashboard .musical-description{margin:0 auto 18px!important;color:#bdb2ac!important;text-align:center!important}
.page-dashboard .musical-admin-row{margin:0 0 18px!important;gap:8px!important;flex-wrap:wrap!important}
.page-dashboard .material-categories{gap:12px!important}
.page-dashboard .material-category{padding:15px!important;border-radius:3px!important;border:1px solid rgba(215,182,107,.18)!important;background:rgba(0,0,0,.16)!important}
.page-dashboard .material-category h4{margin:0 0 10px!important;color:var(--lemuri-gold)!important;font-family:var(--lemuri-serif)!important;font-size:1.15rem!important}
.page-dashboard .material-item{padding:13px!important;border-radius:3px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.075)!important}
.page-dashboard .material-item-title{color:var(--lemuri-paper)!important;font-size:.88rem!important}
.page-dashboard .material-item-description,.page-dashboard .material-item-meta{color:#aca29d!important}
.page-dashboard .add-material-btn,.page-dashboard .add-section-btn,.page-dashboard #newMusicalBtn,
.page-dashboard .material-open-link,.page-dashboard .material-delete-btn{
  min-height:42px!important;
  border-radius:3px!important;
  font-family:var(--lemuri-sans)!important;
  font-size:.75rem!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.page-dashboard .material-open-link{color:var(--lemuri-ink)!important;background:var(--lemuri-gold)!important;border:1px solid var(--lemuri-gold)!important;text-decoration:none!important}
.page-dashboard .material-delete-btn{background:transparent!important;color:#e6b8b8!important;border:1px solid rgba(230,135,135,.35)!important}
.page-dashboard .admin-tools-section,.page-dashboard .countdown-section,.page-dashboard .notices-section,.page-dashboard .calendar-section{
  width:min(calc(100% - 40px),var(--lemuri-max))!important;
  max-width:var(--lemuri-max)!important;
  margin:30px auto 0!important;
  padding:0!important;
}
.page-dashboard .admin-tools-box,.page-dashboard .countdown-box,.page-dashboard .notices-box,.page-dashboard .calendar-box{
  border-radius:var(--lemuri-radius)!important;
  border:1px solid var(--lemuri-line)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.022))!important;
  box-shadow:0 18px 48px rgba(0,0,0,.2)!important;
}
.page-dashboard .admin-tools-box h3,.page-dashboard .countdown-header h3,.page-dashboard .notices-header h3,.page-dashboard .calendar-header h3{font-family:var(--lemuri-serif)!important;color:var(--lemuri-paper)!important;font-size:1.65rem!important}

/* ---------- Area membri ---------- */
.member-page:not(.page-dashboard){min-height:100vh!important;background:radial-gradient(circle at 14% 0%,rgba(105,25,37,.18),transparent 30rem),linear-gradient(160deg,#15080a,#080506 68%)!important;color:var(--lemuri-paper)!important}
.member-brand-shell{width:min(calc(100% - 32px),540px);margin:38px auto 18px;text-align:center}
.member-brand-shell .brand-logo-composite{margin-bottom:12px}.member-brand-shell .pro-injected-logo{width:96px!important;max-width:28vw!important;height:auto!important}
.page-login,.page-cambia-password,.page-area-privata{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;padding:0 20px!important}
.page-login .login-form,.page-cambia-password .box{margin:0 auto!important}
.page-area-privata > h2{margin:0 auto 8px!important;color:var(--lemuri-paper)!important;font-family:var(--lemuri-serif)!important;font-size:clamp(2.3rem,5vw,3.4rem)!important;text-align:center!important}
.page-area-privata > p{margin:0 auto 26px!important;text-align:center!important}
.page-audio > header,.page-video > header{
  width:min(calc(100% - 32px),900px)!important;
  margin:0 auto!important;
  padding:38px 20px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  background:transparent!important;
  border:0!important;
}
.page-audio > header .logo,.page-video > header .logo{width:100px!important;max-width:28vw!important}
.page-audio > header h1,.page-video > header h1{margin:0!important;font-family:var(--lemuri-serif)!important;font-size:clamp(2.5rem,5vw,3.8rem)!important;font-weight:600!important;color:var(--lemuri-paper)!important}

/* ---------- Admin ---------- */
.admin-page{min-height:100vh!important;background:radial-gradient(circle at 12% 0%,rgba(105,25,37,.18),transparent 30rem),linear-gradient(160deg,#15080a,#080506 68%)!important;color:var(--lemuri-paper)!important}
.admin-page > header{
  width:min(calc(100% - 32px),960px)!important;
  margin:0 auto!important;
  padding:38px 20px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  background:transparent!important;
  border:0!important;
}
.admin-page > header .logo{width:100px!important;max-width:28vw!important}
.admin-page > header h1{margin:0!important;color:var(--lemuri-paper)!important;font-family:var(--lemuri-serif)!important;font-size:clamp(2.4rem,5vw,3.6rem)!important;font-weight:600!important}
.admin-page > header p{margin:9px auto 0!important;color:#bdb2ac!important;text-align:center!important;font-size:.78rem!important;text-transform:uppercase!important;letter-spacing:.13em!important}
.admin-page .top-actions{width:min(calc(100% - 40px),960px)!important;margin:0 auto 22px!important;display:flex!important;justify-content:center!important;gap:8px!important;flex-wrap:wrap!important}
.admin-page .topbar{
  min-height:64px!important;
  padding:12px 18px!important;
  background:rgba(10,5,6,.94)!important;
  border:0!important;
  border-bottom:1px solid var(--lemuri-line)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.18)!important;
}
.admin-page .topbar h1{color:var(--lemuri-paper)!important;font-family:var(--lemuri-serif)!important;font-size:1.45rem!important;font-weight:600!important}
.admin-page .panel,.admin-page .right,.admin-page .preview,.admin-page .authbox{border-radius:3px!important;background:rgba(255,255,255,.035)!important;border-color:rgba(215,182,107,.18)!important;box-shadow:none!important}
.admin-page .panel h2,.admin-page .panel h3{color:var(--lemuri-paper)!important;font-family:var(--lemuri-serif)!important}
.admin-page input,.admin-page textarea,.admin-page select{background:#160b0d!important;border:1px solid rgba(255,255,255,.13)!important;color:var(--lemuri-paper)!important}
.admin-page select option{background:#160b0d!important;color:var(--lemuri-paper)!important}

/* ---------- Footer unico ---------- */
.professional-theme footer.site-global-footer{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:64px 0 0!important;
  padding:30px 20px!important;
  background:#080405!important;
  border:0!important;
  border-top:1px solid rgba(215,182,107,.30)!important;
  color:#c9bfba!important;
  text-align:center!important;
  font-family:var(--lemuri-sans)!important;
  font-size:.76rem!important;
  font-weight:600!important;
  line-height:1.5!important;
  letter-spacing:.055em!important;
  box-shadow:none!important;
}
.professional-theme footer.site-global-footer::before{content:""!important;position:absolute!important;top:-1px!important;left:50%!important;width:160px!important;height:1px!important;transform:translateX(-50%)!important;background:var(--lemuri-gold)!important}
.professional-theme footer.site-global-footer p{margin:0 auto!important;max-width:none!important;color:#c9bfba!important}
.professional-theme footer.site-global-footer strong{color:var(--lemuri-gold-2)!important;font-weight:800!important}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .public-page nav a{padding:0 8px!important;font-size:.64rem!important;letter-spacing:.07em!important}
  .page-dashboard .dashboard{grid-template-columns:1fr!important;max-width:760px!important}
}
@media(max-width:820px){
  .public-page > header{padding:26px 18px 18px!important}
  .public-page > header .logo{width:96px!important}
  .public-page nav{display:none!important;width:min(100%,560px)!important;margin-top:14px!important;padding:7px!important;min-height:0!important;border:1px solid rgba(255,255,255,.08)!important;background:rgba(8,4,5,.94)!important}
  .public-page nav.site-nav-open{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .public-page nav a{width:100%!important;min-height:43px!important;padding:0 14px!important;justify-content:flex-start!important;border-bottom:1px solid rgba(255,255,255,.045)!important}
  .public-page nav a.membri-link{margin:8px 0 0!important;justify-content:center!important}
  .site-menu-toggle{display:inline-flex!important;margin:16px auto 0!important}
  .page-dashboard > header{padding-top:28px!important}
  .page-dashboard .dashboard,.page-dashboard .admin-tools-section,.page-dashboard .countdown-section,.page-dashboard .notices-section,.page-dashboard .calendar-section{width:min(calc(100% - 24px),760px)!important}
}
@media(max-width:520px){
  .brand-logo-composite .brand-logo-light-top{clip-path:inset(0 0 50% 0)}
  .public-page > section{width:min(calc(100% - 28px),var(--lemuri-max))!important;padding:58px 0!important}
  .page-dashboard .dashboard-box{padding:20px!important}
  .page-dashboard .musical-admin-row{display:grid!important;grid-template-columns:1fr!important}
  .page-dashboard .musical-admin-row button{width:100%!important;justify-content:center!important}
  .professional-theme footer.site-global-footer{margin-top:46px!important;padding:26px 14px!important;font-size:.7rem!important}
}


/* CMS image fix v5: logo nativo trasparente, nessuna sovrapposizione */
.professional-theme img.logo,
.professional-theme img.banner-logo,
.professional-theme img.pro-injected-logo{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}
.brand-logo-composite{display:contents!important}
.brand-logo-composite .brand-logo-light-top{display:none!important}

/* ======================================================================
   I LEMURI — MASTER VISUAL RESET v6
   Elimina definitivamente l'aspetto legacy dalle pagine pubbliche/membri.
   ====================================================================== */

/* Pagine pubbliche: nessun blocco bordeaux pieno o vecchia navbar */
.public-page{margin:0!important;background:radial-gradient(circle at 12% 0%,rgba(104,24,36,.18),transparent 34rem),linear-gradient(180deg,#13080a 0%,#0b0607 62%,#080405 100%)!important;color:var(--lemuri-paper)!important;text-align:center!important}
.public-page > header{background:rgba(10,5,6,.94)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
.public-page > section{background:transparent!important;border-radius:0!important;box-shadow:none!important}
.public-page > section:nth-of-type(even){background:transparent!important}
.public-page h2,.public-page h3{color:var(--lemuri-paper)!important}
.public-page p{color:#d4cac5!important}

/* Form candidature/contatti */
.page-entra-nella-compagnia .candidatura-section,
.page-contatti > section{max-width:980px!important}
.page-entra-nella-compagnia .candidatura-section form,
.page-contatti .contact-form{max-width:720px!important;margin:36px auto 0!important;padding:32px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px 20px!important;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;border:1px solid rgba(215,182,107,.18)!important;border-radius:6px!important;box-shadow:0 24px 70px rgba(0,0,0,.22)!important}
.page-entra-nella-compagnia form label,.page-contatti form label{grid-column:1/-1!important;margin:0 0 -10px!important;color:var(--lemuri-gold-2)!important;font-size:.7rem!important;text-transform:uppercase!important;letter-spacing:.13em!important;font-weight:800!important;text-align:left!important}
.page-entra-nella-compagnia form input,.page-entra-nella-compagnia form select,.page-entra-nella-compagnia form textarea,.page-contatti form input,.page-contatti form textarea{grid-column:1/-1!important;min-height:48px!important;margin:0!important;padding:13px 14px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:3px!important;background:#150b0d!important;color:var(--lemuri-paper)!important;box-shadow:none!important}
.page-entra-nella-compagnia form textarea,.page-contatti form textarea{min-height:130px!important;resize:vertical!important}
.page-entra-nella-compagnia form button[type="submit"],.page-contatti form button[type="submit"]{grid-column:1/-1!important;min-height:50px!important;border:1px solid var(--lemuri-gold)!important;border-radius:3px!important;background:var(--lemuri-gold)!important;color:var(--lemuri-ink)!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important;cursor:pointer!important}
.page-entra-nella-compagnia form button[type="submit"]:hover,.page-contatti form button[type="submit"]:hover{background:var(--lemuri-gold-2)!important;border-color:var(--lemuri-gold-2)!important;transform:translateY(-2px)!important}
.page-entra-nella-compagnia .candidatura-section > p[style]{max-width:720px!important;margin:18px auto 0!important;padding:14px 18px!important;border-left:2px solid var(--lemuri-gold)!important;background:rgba(215,182,107,.065)!important;color:var(--lemuri-gold-2)!important;font-family:var(--lemuri-sans)!important;font-size:.86rem!important;text-align:left!important}
.page-contatti .contact-info{max-width:720px!important;margin:28px auto 54px!important;padding:28px 30px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:24px!important;border:1px solid rgba(215,182,107,.18)!important;border-left:1px solid rgba(215,182,107,.18)!important;background:rgba(255,255,255,.025)!important;text-align:left!important}
.page-contatti .contact-info h3{margin:0 0 6px!important;color:var(--lemuri-gold)!important;font-family:var(--lemuri-sans)!important;font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.12em!important}
.page-contatti .contact-info p{margin:0!important;font-size:.94rem!important}
.page-contatti .contact-info a{color:var(--lemuri-gold-2)!important}

/* Gallery: card editoriali, nessun vecchio fondo bordeaux */
.page-gallery .musical-grid{max-width:1040px!important;gap:22px!important}
.page-gallery .musical-card{display:flex!important;flex-direction:column!important;min-height:0!important;background:#120a0b!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:4px!important;box-shadow:0 18px 52px rgba(0,0,0,.22)!important;text-decoration:none!important;overflow:hidden!important}
.page-gallery .musical-card img,.page-gallery .placeholder-cover{height:auto!important;min-height:280px!important;aspect-ratio:16/9!important;object-fit:cover!important}
.page-gallery .musical-card-content{flex:1!important;padding:26px 28px 28px!important;background:linear-gradient(180deg,#140b0d,#0f0809)!important;border-top:1px solid rgba(255,255,255,.06)!important}
.page-gallery .musical-card h3{margin:0 0 4px!important;color:var(--lemuri-paper)!important;font-size:1.8rem!important}
.page-gallery .musical-card p{margin:0 0 20px!important;color:#bdb2ad!important}
.page-gallery .open-btn{min-height:42px!important;padding:0 16px!important;font-size:.7rem!important;text-transform:uppercase!important;letter-spacing:.1em!important}

/* Cast: rimuove il vecchio grande pannello bordeaux */
.page-cast .cast-hero{width:min(calc(100% - 40px),900px)!important;margin:0 auto!important;padding:72px 0 46px!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important}
.page-cast .cast-hero h2{font-size:clamp(2.8rem,6vw,4.7rem)!important;margin:0 0 14px!important}
.page-cast .cast-hero p{color:#cfc5bf!important}
.page-cast .cast-menu a{display:inline-flex!important;align-items:center!important;min-height:44px!important;padding:0 17px!important;border:1px solid var(--lemuri-line)!important;border-radius:3px!important;background:rgba(215,182,107,.06)!important;color:var(--lemuri-gold-2)!important;font-family:var(--lemuri-sans)!important;font-size:.73rem!important;text-transform:uppercase!important;letter-spacing:.075em!important;font-weight:800!important;text-decoration:none!important}
.page-cast .cast-menu a:hover{background:var(--lemuri-gold)!important;color:var(--lemuri-ink)!important;transform:translateY(-2px)!important}
.page-cast .cast-show-section{width:min(calc(100% - 40px),var(--lemuri-max))!important;background:transparent!important;border-top:0!important;padding:74px 0!important}
.page-cast .cast-section-header{margin-bottom:38px!important}
.page-cast .section-disabled{display:none!important}
.page-cast .loading-message,.page-cast .empty-section{grid-column:1/-1!important;padding:28px!important;border:1px dashed rgba(215,182,107,.23)!important;color:#aaa09b!important}

/* Storia: foto integrata nella pagina, niente rettangolo bordeaux */
.page-storia > section:first-of-type{max-width:900px!important;padding-top:76px!important}
.page-storia > section:first-of-type p{font-size:clamp(1.16rem,1.8vw,1.38rem)!important;line-height:1.9!important;color:#ddd3ce!important}
.page-storia .foto-gruppo{padding-top:68px!important;padding-bottom:78px!important;background:transparent!important}
.page-storia .foto-container{position:relative!important;margin:34px auto 0!important;max-width:980px!important;padding:0!important;background:transparent!important}
.page-storia .foto-container::before{content:""!important;position:absolute!important;inset:-12px 12px 12px -12px!important;border:1px solid rgba(215,182,107,.22)!important;z-index:-1!important}
.page-storia .foto{display:block!important;width:100%!important;max-width:980px!important;margin:0 auto!important;border:0!important;border-radius:2px!important;box-shadow:0 28px 80px rgba(0,0,0,.3)!important}

/* Spettacoli */
.page-spettacoli .spettacoli-container{max-width:1000px!important;margin:38px auto 0!important}
.page-spettacoli .spettacolo{padding:0!important;overflow:hidden!important;background:#120a0b!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:4px!important;box-shadow:0 20px 60px rgba(0,0,0,.22)!important}
.page-spettacoli .spettacolo img{width:100%!important;max-height:520px!important;object-fit:cover!important;margin:0!important;border-radius:0!important;box-shadow:none!important}
.page-spettacoli .spettacolo h3,.page-spettacoli .spettacolo .descrizione,.page-spettacoli .spettacolo .btn{margin-left:30px!important;margin-right:30px!important}
.page-spettacoli .spettacolo h3{margin-top:28px!important;font-size:2rem!important}
.page-spettacoli .spettacolo .descrizione{margin-bottom:24px!important}
.page-spettacoli .spettacolo .btn{margin-bottom:30px!important}

/* Login / area membri: look identico al resto del brand */
.page-login{min-height:100vh!important;padding:54px 20px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;background:radial-gradient(circle at 50% 10%,rgba(115,28,42,.24),transparent 30rem),linear-gradient(155deg,#14080a,#080405 70%)!important}
.page-login .member-brand-shell{margin:0 auto 24px!important}
.page-login .member-brand-shell img{width:122px!important;max-width:34vw!important}
.page-login .login-form{width:min(92vw,460px)!important;margin:0!important;padding:42px 38px!important;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.022))!important;border:1px solid rgba(215,182,107,.22)!important;border-radius:6px!important;box-shadow:0 30px 90px rgba(0,0,0,.34)!important;text-align:left!important;backdrop-filter:blur(18px)!important}
.page-login .login-form h2{margin:0 0 30px!important;text-align:center!important;font-family:var(--lemuri-serif)!important;font-size:3rem!important;font-weight:600!important;color:var(--lemuri-paper)!important}
.page-login .login-form input{width:100%!important;min-height:50px!important;margin:0 0 14px!important;padding:0 15px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:3px!important;background:#130a0c!important;color:var(--lemuri-paper)!important}
.page-login .login-form #login-btn,.page-login #home-btn{width:100%!important;min-height:50px!important;margin:4px 0 0!important;border-radius:3px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:.78rem!important}
.page-login #change-password-link{display:block!important;margin:18px 0 0!important;text-align:center!important;color:var(--lemuri-gold-2)!important;font-size:.8rem!important;text-decoration:none!important}
.page-login #change-password-link:hover{text-decoration:underline!important}
.page-login #error-message{min-height:24px!important;margin:10px 0 14px!important;text-align:center!important;color:#e3a6a6!important;font-size:.8rem!important}

/* Social: tutti uguali */
.public-page .social-links{margin-top:30px!important}
.public-page .social-icon{border-color:rgba(255,255,255,.10)!important;background:rgba(255,255,255,.025)!important;color:#d9cfca!important}
.public-page .social-icon:hover{border-color:var(--lemuri-gold)!important;background:rgba(215,182,107,.07)!important;color:var(--lemuri-gold-2)!important}

@media(max-width:760px){
  .page-entra-nella-compagnia .candidatura-section form,.page-contatti .contact-form{padding:24px!important;grid-template-columns:1fr!important}
  .page-contatti .contact-info{grid-template-columns:1fr!important}
  .page-gallery .musical-card img,.page-gallery .placeholder-cover{min-height:210px!important}
}

/* ======================================================================
   I LEMURI — LAYOUT CORRECTION v7
   Home full-bleed, CTA leggibile, contatti correttamente accoppiati.
   ====================================================================== */

/* HOME HERO: nessun riquadro/card legacy. La scena occupa tutta la pagina. */
.page-index > section.hero{
  width:100%!important;
  max-width:none!important;
  min-height:72vh!important;
  margin:0!important;
  padding:clamp(105px,10vw,150px) 28px!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 28%,rgba(126,33,45,.18),transparent 32rem),
    linear-gradient(180deg,#13080a 0%,#0b0607 68%,#080405 100%)!important;
  border:0!important;
  border-bottom:1px solid rgba(215,182,107,.22)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.page-index > section.hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 50% 42%,transparent 0 18rem,rgba(5,2,3,.12) 37rem,rgba(5,2,3,.48) 100%)!important;
}
.page-index .hero-content{
  position:relative!important;
  z-index:2!important;
  width:min(100%,1020px)!important;
  max-width:1020px!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.page-index .hero-label{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 auto 22px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  color:var(--lemuri-gold-2)!important;
  font-family:var(--lemuri-sans)!important;
  font-size:.69rem!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.25em!important;
}
.page-index .hero h2{
  margin:0 auto 12px!important;
  color:var(--lemuri-paper)!important;
  font-size:clamp(4.2rem,9vw,7.4rem)!important;
  line-height:.88!important;
  font-weight:600!important;
  letter-spacing:-.045em!important;
  text-shadow:0 20px 70px rgba(0,0,0,.46)!important;
}
.page-index .hero h3{
  margin:20px auto 24px!important;
  color:var(--lemuri-gold-2)!important;
  font-size:clamp(.85rem,1.55vw,1.08rem)!important;
  line-height:1.4!important;
  letter-spacing:.20em!important;
}
.page-index .hero p{
  max-width:820px!important;
  margin:0 auto 34px!important;
  color:#e1d8d2!important;
  font-size:clamp(1rem,1.45vw,1.13rem)!important;
  line-height:1.85!important;
}
.page-index .hero-actions{gap:12px!important}
.page-index .hero-actions a{
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 22px!important;
}

/* HOME CTA: niente testo nero su fondo scuro e niente contenuto tagliato. */
.page-index > section.cta{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(78px,8vw,112px) 28px!important;
  overflow:visible!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(113,31,44,.28),transparent 28rem),
    linear-gradient(135deg,#1b0b0e,#0d0607 72%)!important;
  color:var(--lemuri-paper)!important;
  border:0!important;
  border-top:1px solid rgba(215,182,107,.28)!important;
  border-bottom:1px solid rgba(215,182,107,.20)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.page-index .cta-inner{
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin:0 auto!important;
  padding:0!important;
}
.page-index .cta h2{
  max-width:900px!important;
  margin:0 auto 20px!important;
  color:var(--lemuri-paper)!important;
  font-size:clamp(2.9rem,5.6vw,4.8rem)!important;
  line-height:1!important;
  overflow:visible!important;
}
.page-index .cta p{
  max-width:760px!important;
  margin:0 auto 30px!important;
  color:#d7cbc5!important;
  font-size:1.04rem!important;
  font-weight:500!important;
  line-height:1.8!important;
}
.page-index .cta .btn-dark{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:50px!important;
  padding:0 24px!important;
  background:var(--lemuri-gold)!important;
  border:1px solid var(--lemuri-gold)!important;
  border-radius:3px!important;
  color:var(--lemuri-ink)!important;
  font-family:var(--lemuri-sans)!important;
  font-size:.75rem!important;
  font-weight:800!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.10em!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:none!important;
}
.page-index .cta .btn-dark:hover{
  background:var(--lemuri-gold-2)!important;
  border-color:var(--lemuri-gold-2)!important;
  color:var(--lemuri-ink)!important;
  transform:translateY(-2px)!important;
}

/* CONTATTI: ogni titolo resta sopra al proprio valore, non in celle casuali. */
.page-contatti .contact-info{
  width:min(100%,820px)!important;
  max-width:820px!important;
  margin:32px auto 56px!important;
  padding:30px 32px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:auto auto!important;
  column-gap:34px!important;
  row-gap:8px!important;
  align-items:start!important;
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015))!important;
  border:1px solid rgba(215,182,107,.18)!important;
  border-radius:4px!important;
  text-align:left!important;
}
.page-contatti .contact-info h3,
.page-contatti .contact-info p{min-width:0!important}
.page-contatti .contact-info h3:nth-of-type(1){grid-column:1!important;grid-row:1!important}
.page-contatti .contact-info p:nth-of-type(1){grid-column:1!important;grid-row:2!important}
.page-contatti .contact-info h3:nth-of-type(2){grid-column:2!important;grid-row:1!important}
.page-contatti .contact-info p:nth-of-type(2){grid-column:2!important;grid-row:2!important}
.page-contatti .contact-info h3:nth-of-type(3){grid-column:3!important;grid-row:1!important}
.page-contatti .contact-info p:nth-of-type(3){grid-column:3!important;grid-row:2!important}
.page-contatti .contact-info h3{
  margin:0!important;
  color:var(--lemuri-gold-2)!important;
  font-family:var(--lemuri-sans)!important;
  font-size:.69rem!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.13em!important;
}
.page-contatti .contact-info p{
  margin:0!important;
  color:#eee4de!important;
  font-size:.96rem!important;
  line-height:1.65!important;
  overflow-wrap:anywhere!important;
}
.page-contatti .contact-info a{color:var(--lemuri-gold-2)!important;text-decoration:none!important}
.page-contatti .contact-info a:hover{color:var(--lemuri-paper)!important}

@media(max-width:760px){
  .page-index > section.hero{min-height:64vh!important;padding:88px 20px!important}
  .page-index .hero h2{font-size:clamp(3.5rem,18vw,5rem)!important}
  .page-index .hero-actions{display:grid!important;grid-template-columns:1fr!important;width:min(100%,360px)!important;margin:0 auto!important}
  .page-index .hero-actions a{width:100%!important}
  .page-index > section.cta{padding:72px 20px!important}
  .page-index .cta h2{font-size:clamp(2.55rem,12vw,3.65rem)!important}
  .page-contatti .contact-info{
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    row-gap:7px!important;
    padding:24px!important;
  }
  .page-contatti .contact-info h3:nth-of-type(n),
  .page-contatti .contact-info p:nth-of-type(n){grid-column:1!important;grid-row:auto!important}
  .page-contatti .contact-info p:not(:last-child){margin-bottom:18px!important}
}
