/* Digital Solution 2026 – Design System */
:root {
  --ac:  #00E0C6;
  --ac2: #00C7B0;
  --ac3: #008C7E;
  --r:   14px;
  --r2:  12px;
  --rb:  10px;
  --df:  'Space Grotesk';
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #F4F5F7; }
::selection { background: #00E0C6; color: #0B0E13; }
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--ac, #00E0C6) !important;
  box-shadow: 0 0 0 3px rgba(0,224,198,.15);
}

@keyframes ds-flow {
  0%   { transform: translateX(0);                  opacity: 0; }
  12%  { opacity: 1; }
  88%  { opacity: 1; }
  100% { transform: translateX(var(--flow-d, 40px)); opacity: 0; }
}
@keyframes ds-flowy {
  0%   { transform: translateY(0);                  opacity: 0; }
  12%  { opacity: 1; }
  88%  { opacity: 1; }
  100% { transform: translateY(var(--flow-d, 40px)); opacity: 0; }
}
@keyframes ds-pulse {
  0%, 100% { opacity: .3; }
  50%       { opacity: 1;  }
}

/* Desktop "Soluzioni" dropdown via CSS hover — reliable across gap between button and panel */
.ds-sol-parent:hover .ds-sol-dropdown { display: block !important; }

/* Nav visibility */
@media (max-width: 900px) {
  .ds-nav-desktop { display: none !important; }
  .ds-cta-desktop { display: none !important; }
  .ds-burger      { display: flex !important; }
}
@media (min-width: 901px) {
  .ds-burger       { display: none !important; }
  .ds-mobile-menu  { display: none !important; }
}

/* Responsive grid + padding */
@media (max-width: 768px) {
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  [style*="repeat(4,1fr)"],
  [style*="repeat(3,1fr)"]         { grid-template-columns: 1fr 1fr !important; }
  [style*="margin:0 auto;padding:"] { padding-left: 20px !important; padding-right: 20px !important; }
  h1[style*="font-size:56px"],
  h1[style*="font-size:58px"],
  h1[style*="font-size:52px"],
  h1[style*="font-size:48px"] { font-size: 33px !important; line-height: 1.08 !important; }
  h2[style*="font-size:48px"] { font-size: 31px !important; }
  h2[style*="font-size:42px"],
  h2[style*="font-size:40px"],
  h2[style*="font-size:38px"],
  h2[style*="font-size:36px"],
  h2[style*="font-size:34px"] { font-size: 26px !important; }
}
@media (max-width: 520px) {
  [style*="repeat(4,1fr)"],
  [style*="repeat(3,1fr)"] { grid-template-columns: 1fr !important; }
}
