/* ===== Getly — custom.css ===== */
:root{
  --primary-color:#185FA5;     /* blu principale */
  --secondary-color:#5DCAA5;   /* verde acqua CTA */
  --accent-color:#2E9A78;      /* verde testo */
  --primary-dark:#042C53;      /* navy */
  --navy-deep:#021E3A;         /* footer */
  --text-dark:#33475B;
  --text-light:#fff;
  --text-muted:#7A8A99;
  --bg-light:#F4F8FB;
  --bg-tint:#EAF7F1;
  --border-soft:#E8EEF4;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
/* overflow-x:clip (NON hidden) per evitare scroll orizzontale SENZA rompere position:sticky dell'header */
html,body{overflow-x:clip;max-width:100vw;}
body{margin:0;background:#FFFFFF;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:Inter,system-ui,sans-serif;}
img{max-width:100%;}
::placeholder{color:#9AA9B8;opacity:1;}

@keyframes getlyFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  [style*="getlyFloat"]{animation:none !important;}
}

/* ---- interazioni (sostituiscono gli attributi style-hover/style-focus del prototipo) ---- */
.g-navlink{transition:color .2s ease;}
.g-navlink:hover{color:var(--primary-color);}

.g-btn-green{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease;}
.g-btn-green:hover{transform:translateY(-3px);box-shadow:0 16px 30px -10px rgba(93,202,165,.9);}
.g-btn-green:disabled{opacity:.7;cursor:default;transform:none;}

.g-btn-outline{transition:background .25s ease,color .25s ease;}
.g-btn-outline:hover{background:var(--primary-color);color:#fff;}

.g-card{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease;}
.g-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px -20px rgba(4,44,83,.25);border-color:#CDE6DB;}

.g-input{transition:border-color .2s ease,box-shadow .2s ease;}
.g-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(24,95,165,.12);}

.g-fab{transition:transform .25s cubic-bezier(.2,.8,.2,1);}
.g-fab:hover{transform:scale(1.08);}

.g-footlink{transition:color .2s ease;}
.g-footlink:hover{color:var(--secondary-color);}

/* ---- placeholder immagini (hero mockup + portfolio) ---- */
.g-imgslot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;background:linear-gradient(135deg,#EAF7F1 0%,#F4F8FB 100%);color:#9DB1C2;}
.g-imgslot i{font-size:30px;color:#B9CBD8;}
.g-imgslot span{font-family:'Work Sans',sans-serif;font-size:13px;font-weight:500;letter-spacing:.02em;padding:0 16px;text-align:center;}

/* ---- header sticky: logo che si rimpicciolisce (-10%) allo scroll ---- */
.g-logo{height:38px;width:auto;display:block;transition:height .25s ease;}
#siteHeader{transition:box-shadow .25s ease;}
#siteHeader.scrolled{box-shadow:0 6px 20px -12px rgba(4,44,83,.25);}
#siteHeader.scrolled .g-logo{height:34px;}

/* ---- portfolio: hint "Visita il sito" ---- */
.g-work .g-visit{opacity:.85;transition:opacity .2s ease,gap .2s ease;}
.g-work:hover .g-visit{opacity:1;gap:8px;}

/* ---- form: tab Email / WhatsApp ---- */
.g-tab{color:#7A8A99;background:transparent;transition:background .2s ease,color .2s ease,box-shadow .2s ease;}
.g-tab.active{background:#FFFFFF;color:#042C53;box-shadow:0 2px 6px -2px rgba(4,44,83,.18);}
.g-tab:not(.active):hover{color:#042C53;}

/* ---- select con freccia custom ---- */
select.g-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#FFFFFF;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237A8A99' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:40px;}

/* ---- menu mobile (hamburger + drawer) ---- */
.g-burger{display:none;margin-left:auto;flex:0 0 auto;width:44px;height:44px;border:none;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;}
.g-burger span{display:block;width:24px;height:2.5px;background:#042C53;border-radius:2px;transition:transform .25s ease,opacity .25s ease;}
.g-burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.g-burger.open span:nth-child(2){opacity:0;}
.g-burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

.g-mobile-menu{display:none;flex-direction:column;gap:2px;padding:8px 24px 18px;border-top:1px solid #E8EEF4;background:rgba(255,255,255,0.98);}
.g-mobile-menu.open{display:flex;}
.g-mobile-menu a{font-family:'Work Sans',sans-serif;font-weight:500;font-size:16px;color:#33475B;text-decoration:none;padding:13px 4px;border-bottom:1px solid #F0F4F8;}
.g-mobile-menu .g-mobile-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#5DCAA5;color:#042C53;font-weight:600;border:none;border-radius:11px;padding:14px 18px;margin-top:12px;box-shadow:0 8px 18px -8px rgba(93,202,165,.7);}

@media (max-width:768px){
  .g-nav-desktop{display:none !important;}
  .g-cta-desktop{display:none !important;}
  .g-burger{display:flex;}
}

/* ---- validazione form (regola interna obbligatoria) ---- */
.form-control.is-invalid,.g-input.is-invalid,.form-check-input.is-invalid{
  border-color:#dc3545 !important;
  box-shadow:0 0 0 0.2rem rgba(220,53,69,0.25) !important;
}
.form-check-input.is-invalid ~ .form-check-label{color:#dc3545;}
