.ds-gg-areas{
  --ds-white:#FFFFFF;
  --ds-paper:#F5F8FB;
  --ds-blue50:#EDF3F9;
  --ds-blue100:#D4E4F2;
  --ds-blue:#005CAA;
  --ds-blue-dark:#004A8C;
  --ds-ink:#001A49;
  --ds-text2:#42505F;
  --ds-rule:#CBD6E1;
  display:grid;
  gap:14px;
  width:100%;
  min-width:0;
  color:var(--ds-ink);
}

.ds-gg-areas *{box-sizing:border-box}

.ds-gg-area{
  overflow:hidden;
  min-width:0;
  background:var(--ds-white);
  border:1px solid var(--ds-rule);
  border-radius:16px;
  box-shadow:0 8px 24px rgba(0,26,73,.06);
}

.ds-gg-area__summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:28px 30px;
  background:var(--ds-blue50);
}

.ds-gg-area__meta{min-width:0}

.ds-gg-area__eyebrow{
  display:block;
  margin:0 0 9px;
  color:var(--ds-blue);
  font-family:"IBM Plex Mono",monospace;
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.ds-gg-area__title{
  margin:0;
  color:var(--ds-ink);
  font-family:"Red Hat Display",sans-serif;
  font-size:clamp(24px,1.15rem + .8vw,32px);
  line-height:1.08;
  font-weight:700;
  letter-spacing:-.012em;
  overflow-wrap:anywhere;
}

.ds-gg-area__dna{
  margin:9px 0 0;
  color:var(--ds-text2);
  font-family:"Red Hat Text",sans-serif;
  font-size:15px;
  line-height:1.45;
}

/* Reset mirato per evitare che Elementor/tema trasformino il controllo in un bottone pieno. */
.ds-gg-areas .ds-gg-area__toggle,
.ds-gg-areas .ds-gg-area__toggle:hover,
.ds-gg-areas .ds-gg-area__toggle:focus,
.ds-gg-areas .ds-gg-area__toggle:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  text-decoration:none!important;
}

.ds-gg-areas .ds-gg-area__toggle{
  min-height:44px;
  margin:0!important;
  padding:8px 0!important;
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--ds-blue)!important;
  font-family:"Red Hat Text",sans-serif;
  font-size:15px;
  line-height:1;
  font-weight:800;
  text-align:left;
  white-space:nowrap;
  cursor:pointer;
}

.ds-gg-areas .ds-gg-area__toggle:hover{color:var(--ds-blue-dark)!important}

.ds-gg-areas .ds-gg-area__toggle:focus-visible{
  outline:3px solid var(--ds-blue)!important;
  outline-offset:4px;
  border-radius:5px!important;
}

.ds-gg-area__arrow{
  display:block;
  flex:0 0 18px;
  width:18px;
  height:18px;
  transform-origin:50% 50%;
  transition:transform .2s ease;
}

.ds-gg-area__toggle[aria-expanded="true"] .ds-gg-area__arrow{
  transform:rotate(180deg);
}

.ds-gg-area__panel{
  padding:26px 30px 30px;
  border-top:1px solid var(--ds-blue100);
  background:var(--ds-white);
  color:var(--ds-text2);
  font-family:"Red Hat Text",sans-serif;
  font-size:16px;
  line-height:1.62;
}

.ds-gg-area__panel[hidden]{display:none!important}

.ds-gg-area__panel p{
  margin:0 0 14px;
  font:inherit;
  color:inherit;
}

.ds-gg-area__panel p:last-child{margin-bottom:0}

@media(max-width:680px){
  .ds-gg-areas{gap:14px}

  .ds-gg-area{
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,26,73,.08);
  }

  .ds-gg-area__summary{
    grid-template-columns:minmax(0,1fr);
    gap:14px;
    padding:24px 22px 22px;
  }

  .ds-gg-area__title{
    font-size:23px;
    line-height:1.1;
  }

  .ds-gg-area__dna{
    margin-top:8px;
    font-size:14.5px;
  }

  .ds-gg-areas .ds-gg-area__toggle{
    justify-self:start;
    min-height:44px;
    font-size:16px;
  }

  .ds-gg-area__panel{
    padding:22px;
    font-size:16px;
    line-height:1.6;
  }

  .ds-gg-area__panel p{margin-bottom:13px}
}

@media(prefers-reduced-motion:reduce){
  .ds-gg-area__arrow{transition:none}
}
