/* ====================== Home Services (2 boxes: privati/aziende) ====================== */

:root{
  --home-services-bg: #f3f4f6;

  --services-box-shadow: 0 10px 30px rgba(16,24,40,0.08);
  --services-box-shadow-hover: 0 18px 48px rgba(16,24,40,0.14);

  --services-row-bg: rgba(2, 6, 23, 0.03);
  --services-row-bg-dark: rgba(255,255,255,0.08);

  --services-focus-ring: 0 0 0 3px rgba(11,95,255,0.28);
}

/* full-bleed background */
.home-services{
  position: relative;
  isolation: isolate;
  padding: 64px 0;
}
.home-services::before{
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  background: var(--home-services-bg);
}
.home-services .container{
  background: transparent !important;
}

/* IMPORTANT: remove the "black lines" (underline) coming from global theme link styles */
.home-services a,
.home-services a:hover,
.home-services a:focus,
.home-services a:active,
.home-services a:visited{
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none;
}

/* header */
.home-services__header{
  text-align: center;
  margin-bottom: 34px;
}
.home-services__eyebrow{
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color:#0b5fff;
  margin:0 0 10px;
}
.home-services__title{
  margin:0;
  font-size: 3rem;
  font-weight: 900;
  color:#111827;
  line-height:1.05;
}
.home-services__lead{
  margin: 14px auto 0;
  max-width: 820px;
  color:#667085;
  font-size: 1.15rem;
  line-height: 1.6;
}
@media (max-width: 820px){
  .home-services__title{ font-size: 2.1rem; }
  .home-services__lead{ font-size: 1.05rem; }
}

/* layout */
.home-services__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: start;
}
@media (max-width: 980px){
  .home-services__grid{ grid-template-columns:1fr; }
}

/* boxes */
.services-box{
  border-radius: 26px;
  padding: 26px;
  background:#fff;
  border: 1px solid rgba(16,24,40,0.08);
  box-shadow: var(--services-box-shadow);
  transition: box-shadow .18s ease, transform .18s ease;
}
.services-box:hover{
  box-shadow: var(--services-box-shadow-hover);
  transform: translateY(-2px);
}

.services-box--aziende{
  background:#0f1b33;
  color:#fff;
}
.services-box--aziende .services-box__title,
.services-box--aziende .services-item__title{ color:#fff; }
.services-box--aziende .services-box__subtitle,
.services-box--aziende .services-item__subtitle{ color: rgba(255,255,255,0.72); }
.services-box--aziende .services-item__arrow{ color: rgba(255,255,255,0.55); }

.services-box__head{
  display:flex;
  gap:16px;
  align-items:center;
  margin-bottom: 18px;
}
.services-box__badge{
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(11,95,255,0.10);
  flex: 0 0 auto;
  overflow:hidden;
}
.services-box__badge-img{
  width: 32px;
  height: 32px;
  object-fit: contain;
  display:block;
}

.services-box__title{
  margin:0;
  font-size: 1.6rem;
  font-weight: 900;
  color:#111827;
}
.services-box__subtitle{
  margin:4px 0 0;
  color:#667085;
  font-size: 1.05rem;
}

/* list rows */
.services-box__list{
  display:flex;
  flex-direction:column;
  gap: 14px;
  margin-top: 18px;
}

.services-item{
  display:flex;
  gap: 14px;
  align-items: center;
  border-radius: 18px;
  padding: 18px 18px;
  color: inherit;

  outline: none;
  -webkit-tap-highlight-color: transparent;

  transition: background-color .15s ease, transform .15s ease;
}
.services-item:hover{
  background: var(--services-row-bg);
  transform: translateY(-1px);
}
.services-box--aziende .services-item:hover{
  background: var(--services-row-bg-dark);
}

.services-item:focus-visible{
  box-shadow: var(--services-focus-ring);
}

.services-item__icon{
  width: 40px;
  height: 40px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}
.services-item__icon-img{
  width: 24px;
  height: 24px;
  object-fit: contain;
  display:block;
}

.services-item__text{
  flex: 1 1 auto;
  min-width: 0;
}
.services-item__title{
  margin:0;
  font-size: 1.1rem;
  font-weight: 900;
  color:#111827;
}
.services-item__subtitle{
  margin-top: 4px;
  color:#667085;
  font-size: 1.02rem;
}

/* arrow */
.services-item__arrow{
  font-size: 24px;
  line-height: 1;
  padding: 6px 10px;
  border-radius: 12px;
  color:#667085;
  flex: 0 0 auto;
}
.services-item:hover .services-item__arrow{
  color: #0b5fff;
}
.services-box--aziende .services-item:hover .services-item__arrow{
  color: rgba(11,95,255,0.95);
}