/* Scenari Perfetti — Public design system & chrome v9.12.0
   Single source of truth for navbar, mobile navigation, footer and generic pages. */

:root{
  --sp-black:#050505;
  --sp-ink:#111111;
  --sp-white:#ffffff;
  --sp-paper:#f3f3f1;
  --sp-line:rgba(17,17,17,.15);
  --sp-muted:#6c6c6c;
  --sp-shell:1240px;
  --sp-gutter:48px;
  --sp-gutter-mobile:28px;
  --sp-adminbar-offset:0px;
  --sp-navbar-height:56px;
}
body.admin-bar{--sp-adminbar-offset:32px}

.navbar{
  position:fixed;top:var(--sp-adminbar-offset);left:0;right:0;width:100%;z-index:9990;
  color:#fff;background:rgba(0,0,0,.30);
  border-bottom:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  transition:background-color .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.navbar.scrolled{background:rgba(0,0,0,.90);box-shadow:0 10px 34px rgba(0,0,0,.14)}
.navbar .container{
  width:min(calc(100% - var(--sp-gutter,48px)),var(--sp-shell,1240px));max-width:none!important;
  min-height:var(--sp-navbar-height);margin:0 auto!important;padding:var(--sp-navbar-pad-y,15px) 0!important;
  display:flex;align-items:center;justify-content:space-between;gap:28px;box-sizing:border-box;
}
.navbar .logo{display:flex;align-items:center;min-width:0;flex:0 1 auto}
.navbar-logo{display:flex;align-items:center;height:auto;text-decoration:none;color:#fff;min-width:0}
.logo-navbar{display:block;width:auto;height:var(--sp-navbar-logo-height,25px);max-width:min(240px,42vw);object-fit:contain}
.nav-menu{
  display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-navbar-gap,28px)!important;
  margin:0;padding:0;list-style:none;min-width:0;
}
.nav-menu li{margin:0!important;padding:0;list-style:none}
.nav-menu li a{
  display:block;color:#fff;text-decoration:none;font-size:var(--sp-nav-size,10px)!important;
  font-weight:var(--sp-nav-weight,650)!important;text-transform:uppercase;letter-spacing:var(--sp-nav-letter,.09em)!important;
  line-height:1.2;white-space:nowrap;transition:opacity .2s ease,color .2s ease;
}
.nav-menu li a:hover{opacity:.72}
.burger{
  display:none;width:44px;height:44px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;flex:0 0 44px;
}
.burger__line{display:block;width:21px;height:1.5px;background:currentColor;transition:transform .22s ease,opacity .18s ease}
.burger[aria-expanded="true"] .burger__line:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded="true"] .burger__line:nth-child(2){opacity:0}
.burger[aria-expanded="true"] .burger__line:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Anchor targets never hide behind the fixed navbar. */
#capabilities,#crew,#work,#process,#about,#clienti,#contatti{scroll-margin-top:calc(var(--sp-adminbar-offset) + 88px)}

.site-footer{
  display:block!important;padding:58px max(24px,var(--sp-gutter,48px)) 18px!important;
  border-top:1px solid rgba(255,255,255,.14);font-size:var(--sp-footer-size,12px)!important;box-sizing:border-box;
}
.footer-top{
  width:min(100%,var(--sp-shell,1240px));max-width:none!important;margin:0 auto!important;padding-bottom:38px!important;
  display:grid;grid-template-columns:minmax(210px,1fr) minmax(210px,.8fr) minmax(330px,1.35fr);gap:56px!important;
}
.footer-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;min-width:0}
.footer-col,.footer-subcol{min-width:0!important}
.site-footer h4{font-size:9px!important;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.5)!important;margin:0 0 14px!important}
.site-footer p,.site-footer li{color:rgba(255,255,255,.72);line-height:1.65}
.site-footer p{margin:0}
.site-footer ul{margin:0;padding:0;list-style:none}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.footer-subcol ul li{margin:6px 0!important}
.footer-bottom{
  width:min(100%,var(--sp-shell,1240px));margin:0 auto!important;padding:18px 0 0!important;
  border-top:1px solid rgba(255,255,255,.14)!important;text-align:left!important;color:rgba(255,255,255,.48)!important;
}
.footer-bottom p{margin:0}

/* Fallback WordPress per pagine/post senza template dedicato. */
.sp-default-page{min-height:60vh;padding:clamp(120px,14vw,180px) var(--sp-gutter,48px) 90px;box-sizing:border-box}
.sp-default-page__inner{width:min(100%,var(--sp-shell,1240px));margin:0 auto}
.sp-default-entry__title{margin:0 0 32px;font-size:clamp(44px,7vw,92px);line-height:.95;letter-spacing:-.045em;overflow-wrap:anywhere}
.sp-default-entry__content{max-width:840px;line-height:1.7}
.sp-default-entry__content img{max-width:100%;height:auto}

@media(max-width:1080px){
  .navbar .container{gap:20px}
  .nav-menu{gap:18px!important}
}

@media(max-width:960px){
  .burger{display:flex}
  .nav-menu{
    display:none;position:absolute;top:100%;left:0;right:0;width:100%;
    background:rgba(5,5,5,.98);border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.12);
    padding:18px max(20px,calc((100vw - min(calc(100vw - var(--sp-gutter-mobile,32px)),var(--sp-shell,1240px))) / 2)) 24px;
    flex-direction:column;align-items:stretch;gap:0!important;box-shadow:0 22px 40px rgba(0,0,0,.22);
  }
  .nav-menu.active{display:flex}
  .nav-menu li a{padding:14px 0;font-size:12px!important;border-bottom:1px solid rgba(255,255,255,.10)}
  .nav-menu li:last-child a{border-bottom:0}
  body.sp-nav-open{overflow:hidden}
}

@media(max-width:782px){body.admin-bar{--sp-adminbar-offset:46px}}

@media(max-width:768px){
  .sp-default-page{padding:110px var(--sp-gutter-mobile,28px) 64px}
  .navbar .container{width:calc(100% - var(--sp-gutter-mobile,28px))!important;min-height:54px}
  .logo-navbar{height:var(--sp-navbar-logo-mobile-height,33px)!important;max-width:min(220px,58vw)}
  .site-footer{padding:46px max(16px,var(--sp-gutter-mobile,28px)) 16px!important}
  .footer-top{grid-template-columns:1fr;gap:30px!important}
  .footer-group{gap:28px!important}
}

@media(max-width:520px){
  .footer-group{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .navbar,.burger__line,.nav-menu li a{transition:none!important}
}
