/* FIL-ITALIA HOME SOCIAL + CONTACT HUB */
.navbar .home-nav-page-controls{
  grid-column:2;
  grid-row:1;
  justify-self:center;
  min-width:0;
}

.navbar .logo-area{display:none!important}

.home-nav-page-controls .home-horizontal-controls{
  position:static!important;
  inset:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:0!important;
  padding:5px!important;
  gap:5px!important;
  border-color:#d5e5dc!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 8px 22px rgba(23,37,30,.1)!important;
}

.home-nav-page-controls .home-horizontal-control-button{
  width:32px!important;
  height:32px!important;
  font-size:1rem!important;
}

.home-nav-page-controls .home-horizontal-counter{
  min-width:100px!important;
  padding:0 7px!important;
  font-size:.64rem!important;
}

.home-nav-left{
  overflow:visible!important;
}

.home-nav-left .mobile-menu-button,
.home-auth-link{
  flex-shrink:0!important;
}

.navbar .language-switch{
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}

.home-nav-social{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border:1px solid #cfe1d6;
  border-radius:50%;
  color:#075332;
  background:rgba(255,255,255,.94);
  box-shadow:0 7px 18px rgba(7,83,50,.08);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}

.home-nav-social svg{
  width:16px;
  height:16px;
  display:block;
  fill:currentColor;
}

.home-nav-social:hover{
  color:#fff;
  border-color:#087a43;
  background:#087a43;
  transform:translateY(-2px);
}

body[data-horizontal-ready="true"] .home-hero-eyebrow{
  display:inline-flex!important;
  align-items:center;
  gap:11px;
  padding:7px 12px 7px 8px!important;
  border:1px solid #d6e7dd;
  border-radius:999px;
  background:rgba(255,255,255,.86);
}

body[data-horizontal-ready="true"] .home-hero-eyebrow img{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:block;
  object-fit:contain;
}

button.home-hero-button{
  font:inherit;
  cursor:pointer;
}

.home-contact-modal{
  position:fixed;
  z-index:6000;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  visibility:hidden;
  background:rgba(5,24,15,.66);
  backdrop-filter:blur(12px);
  transition:opacity .22s ease,visibility .22s ease;
}

.home-contact-modal.is-open{
  opacity:1;
  visibility:visible;
}

.home-contact-panel{
  position:relative;
  width:min(760px,100%);
  max-height:min(760px,calc(100vh - 48px));
  overflow:auto;
  display:grid;
  grid-template-columns:minmax(210px,.72fr) minmax(300px,1.28fr);
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  color:#fff;
  background:
    radial-gradient(circle at 12% 14%,rgba(63,210,131,.25),transparent 28%),
    linear-gradient(135deg,#071d14 0%,#0a3f29 48%,#08623b 100%);
  box-shadow:0 34px 90px rgba(0,0,0,.36);
  transform:translateY(14px) scale(.985);
  transition:transform .22s ease;
}

.home-contact-modal.is-open .home-contact-panel{transform:none}

.home-contact-intro{
  padding:36px 30px;
  border-right:1px solid rgba(255,255,255,.14);
}

.home-contact-intro img{
  width:68px;
  height:68px;
  object-fit:contain;
  margin-bottom:24px;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.2));
}

.home-contact-intro small{
  display:block;
  margin-bottom:10px;
  color:#8be1b4;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-contact-intro h2{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:.92;
  letter-spacing:-.055em;
}

.home-contact-intro p{
  margin:0;
  color:#d3e8dc;
  font-size:.84rem;
  font-weight:600;
  line-height:1.55;
}

.home-contact-direct{
  display:grid;
  gap:8px;
  margin-top:26px;
}

.home-contact-direct a{
  color:#fff;
  font-size:.76rem;
  font-weight:800;
  text-decoration:none;
}

.home-contact-form{
  display:grid;
  gap:12px;
  padding:36px 34px;
  background:rgba(255,255,255,.97);
}

.home-contact-form input,
.home-contact-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d5e4db;
  border-radius:14px;
  color:#183126;
  background:#f8fbf9;
  font:inherit;
  font-size:.82rem;
  font-weight:600;
  outline:none;
}

.home-contact-form input{height:48px;padding:0 15px}
.home-contact-form textarea{min-height:132px;padding:14px 15px;resize:vertical}

.home-contact-form input:focus,
.home-contact-form textarea:focus{
  border-color:#48a675;
  box-shadow:0 0 0 4px rgba(8,122,67,.1);
}

.home-contact-form button{
  min-height:48px;
  border:0;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#087a43,#075332);
  font:inherit;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 13px 28px rgba(7,83,50,.22);
}

.home-contact-privacy{
  color:#708077;
  font-size:.66rem;
  font-weight:600;
  line-height:1.45;
}

.home-contact-privacy a{color:#087a43;font-weight:900}

.home-contact-close{
  position:absolute;
  z-index:2;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #d6e4dc;
  border-radius:50%;
  color:#183126;
  background:#fff;
  font-size:1.35rem;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.12);
}

body.home-contact-open{overflow:hidden!important}

@media(max-width:1180px){
  .home-nav-page-controls .home-horizontal-counter{min-width:76px!important;font-size:.58rem!important}
  .home-nav-page-controls .home-horizontal-control-button{width:30px!important;height:30px!important}
}

@media(max-width:980px){
  .home-nav-social{width:31px;height:31px;flex-basis:31px}
  .home-nav-social svg{width:14px;height:14px}
  .home-nav-page-controls .home-horizontal-counter{display:none}
}

@media(max-width:760px){
  .navbar .language-switch{gap:4px}
  .home-nav-social{width:29px;height:29px;flex-basis:29px}
  .home-nav-page-controls .home-horizontal-controls{padding:4px!important}
  .home-nav-page-controls .home-horizontal-control-button{width:29px!important;height:29px!important}
  body[data-horizontal-ready="true"] .home-hero-eyebrow img{width:29px;height:29px;flex-basis:29px}
  .home-contact-modal{padding:12px}
  .home-contact-panel{grid-template-columns:1fr;max-height:calc(100vh - 24px);border-radius:22px}
  .home-contact-intro{padding:26px 22px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .home-contact-intro img{width:52px;height:52px;margin-bottom:16px}
  .home-contact-intro h2{font-size:2.15rem}
  .home-contact-direct{margin-top:18px}
  .home-contact-form{padding:24px 20px}
}

@media(max-width:520px){
  .home-nav-social{display:none}
  .home-nav-page-controls .home-horizontal-controls{display:none!important}
  body[data-horizontal-ready="true"] .home-hero-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body[data-horizontal-ready="true"] .home-hero-button{font-size:.62rem!important;padding-left:5px!important;padding-right:5px!important}
}
