/*
 * Carmelo Barbera — visual refinement 2.5
 * Append after cb-editorial.css. No menu, footer, content or script changes.
 * Keep the existing azure / cool gray / copper palette.
 */

/* Quiet surfaces: less visual noise and a clear hierarchy of depth. */
body.cb-theme,
body.cb-theme.neon-page,
body.cb-theme.cb-metodo {
  background:
    radial-gradient(ellipse at 88% 0, rgba(47,120,183,.055), transparent 42rem),
    linear-gradient(180deg, #fafcfd 0, #f4f6f7 44rem) !important;
}
body.cb-theme::before,
body.cb-theme.neon-page::before { background: none !important; }

body.cb-theme main .glass,
body.cb-theme main .glass-soft {
  background: #fff !important;
  border-color: #dce3e8 !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 24px rgba(37,49,59,.045) !important;
}
body.cb-theme main .card-hover {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
body.cb-theme main .card-hover:hover {
  border-color: #9abbd5 !important;
  box-shadow: 0 12px 30px rgba(37,49,59,.075) !important;
  transform: translateY(-2px) !important;
}
body.cb-theme main .section-line::after { height: 2px; background: #b86a3c !important; }
body.cb-theme main .hero-lead { max-width: 65ch; line-height: 1.75; }

/* Main actions remain azure; secondary actions are quiet and outlined. */
body.cb-theme main .btn-primary,
body.cb-theme main .button--dark,
body.cb-theme main .cb-talk-cta .cb-talk-primary {
  min-height: 44px;
  color: #fff !important;
  background: #2f78b7 !important;
  border-color: #2f78b7 !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 14px rgba(47,120,183,.14) !important;
}
body.cb-theme main .btn-primary:hover,
body.cb-theme main .button--dark:hover,
body.cb-theme main .cb-talk-cta .cb-talk-primary:hover {
  color: #fff !important;
  background: #246293 !important;
  border-color: #246293 !important;
  box-shadow: 0 7px 18px rgba(47,120,183,.18) !important;
  transform: translateY(-1px) !important;
}
body.cb-theme main .btn-secondary,
body.cb-theme main .button--ghost,
body.cb-theme main .cb-talk-cta .cb-talk-secondary {
  min-height: 44px;
  color: #25313b !important;
  background: #fff !important;
  border-color: #aab5bc !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
body.cb-theme main .btn-secondary:hover,
body.cb-theme main .button--ghost:hover,
body.cb-theme main .cb-talk-cta .cb-talk-secondary:hover {
  color: #25313b !important;
  background: #e4eef6 !important;
  border-color: #2f78b7 !important;
  transform: translateY(-1px) !important;
}

/* Closing contact panels: one deliberately light surface. */
body.cb-theme main div.cb-talk-cta,
body.cb-theme main div.strategy-cta {
  background: #f8fbfd !important;
  border: 1px solid #cfdae3 !important;
  border-left: 4px solid #b86a3c !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 28px rgba(37,49,59,.055) !important;
}

/*
 * Consulenza: explicit component rules outrank the generic rounded-panel skin.
 * Set the surface and every foreground together to prevent white-on-white.
 */
body.cb-theme.cb-consult-page main div.cb-consult-cta {
  color: #25313b !important;
  background: #f8fbfd !important;
  border: 1px solid #cfdae3 !important;
  border-left: 4px solid #b86a3c !important;
  border-radius: 12px !important;
  padding: clamp(24px, 3.2vw, 44px) !important;
  box-shadow: 0 8px 28px rgba(37,49,59,.055) !important;
  isolation: isolate;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta > .absolute { display: none !important; }
body.cb-theme.cb-consult-page main div.cb-consult-cta > .relative {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center;
  gap: 32px;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta > .relative > div {
  min-width: 0;
  grid-column: auto !important;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta h2 {
  margin: 0;
  color: #25313b !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: clamp(1.75rem, 1.15rem + 1.8vw, 2.35rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em !important;
  text-shadow: none !important;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta p {
  max-width: 66ch;
  color: #56636e !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: .95rem !important;
  line-height: 1.75 !important;
  text-shadow: none !important;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta :is(h2, p) :is(span, strong, em) {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease !important;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta a[href*="contatti.html"] {
  color: #fff !important;
  -webkit-text-fill-color: currentColor !important;
  background: #2f78b7 !important;
  border: 1px solid #2f78b7 !important;
  box-shadow: 0 5px 14px rgba(47,120,183,.14) !important;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta a[href*="contatti.html"]:hover {
  color: #fff !important;
  background: #246293 !important;
  border-color: #246293 !important;
  transform: translateY(-1px) !important;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta a[href*="servizi"] {
  color: #25313b !important;
  -webkit-text-fill-color: currentColor !important;
  background: #fff !important;
  border: 1px solid #aab5bc !important;
  box-shadow: none !important;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta a[href*="servizi"]:hover {
  color: #25313b !important;
  background: #e4eef6 !important;
  border-color: #2f78b7 !important;
  transform: translateY(-1px) !important;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta a :is(span, svg) {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
body.cb-theme.cb-consult-page main div.cb-consult-cta a:focus-visible {
  outline: 2px solid #246293 !important;
  outline-offset: 4px !important;
}

@media (max-width: 900px) {
  body.cb-theme.cb-consult-page main div.cb-consult-cta > .relative { grid-template-columns: 1fr !important; gap: 24px; }
  body.cb-theme.cb-consult-page main div.cb-consult-cta > .relative > div:last-child { justify-content: flex-start !important; }
}
@media (max-width: 560px) {
  body.cb-theme.cb-consult-page main div.cb-consult-cta a { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  body.cb-theme main .card-hover,
  body.cb-theme main .card-hover:hover,
  body.cb-theme.cb-consult-page main div.cb-consult-cta a,
  body.cb-theme.cb-consult-page main div.cb-consult-cta a:hover {
    transform: none !important;
    transition: none !important;
  }
}
