.table-heading { position: relative; }
.disclosure-inline{
  display:inline-flex; align-items:center; gap:8px;
  margin-top:24px; padding:6px 10px;
  font-size:12px; line-height:1.4; color:#6b7280;
  background:#f9fafb; border:1px solid #e5e7eb; border-radius:9999px;
}
.disclosure-inline strong{ font-weight:600; color:#4b5563; }
.di-icon{
  width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; border:1px solid currentColor; font-size:12px; font-weight:700;
}
@media (max-width: 640px){
  .disclosure-inline{ display:block; border-radius:10px; }
  .di-icon{ margin-right:6px; }
}

/* RG sticky banner */
#rg-banner{
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 9999 !important;

  display: flex;
  align-items: center;
  gap: 12px;

  background: #111 !important;
  color: #fff !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  line-height: 1.5;

  box-shadow: 0 -2px 12px rgba(0,0,0,.3);
  border-top: 1px solid rgba(255,255,255,.1);
}

#rg-banner span{
  flex: 1 1 auto;
}

#rg-banner button{
  margin-left: 12px;
  background: #fff !important;
  color: #111 !important;
  border: 0;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
}

#rg-banner button:hover{
  filter: brightness(0.95);
}

#rg-banner button:focus{
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Mobile tweaks */
@media (max-width: 640px){
  #rg-banner{
    font-size: 13px !important;
    padding: 10px 12px !important;
    gap: 8px;
  }
  #rg-banner button{
    padding: 6px 10px;
    border-radius: 6px;
  }
}

/* FAQ block */
.faq-wrap{
  margin: 28px 0;
  border-top: 1px solid #e5e7eb;
}
.faq-wrap h4{
  margin-bottom: 14px;
}
.faq{
  margin: 0;
}
.faq details{
  border-bottom: 1px solid #e5e7eb;
  padding: 10px 0;
}
.faq summary{
  list-style: none;
  cursor: pointer;
  font-weight: 600;
  color: #111827;
  outline: none;
}


.faq .q-line{
  display: flex; align-items: center; gap: 10px;
}
.faq .q-badge{
  width: 22px; height: 22px; border-radius: 50%;
  border: 1px solid #9ca3af;
  display: inline-flex; align-items:center; justify-content:center;
  font-size: 12px; color:#6b7280;
  background:#fff;
}

.faq .answer{
  margin-top: 8px;
  color:#4b5563;
  line-height: 1.6;
}

@media (min-width: 768px){
  .faq-wrap{ margin: 36px 0; }
}

/* Nasconde il marker nativo */
.faq summary::-webkit-details-marker{ display:none; }

.faq summary{
  position: relative;
  padding-right: 26px;
  cursor: pointer;
  user-select: none;
}

/* Freccia con bordi CSS */
.faq summary::after{
  content: "";
  position: absolute;
  right: 4px; top: .55em;
  border-width: 6px 5px 0 5px;    /* triangolo verso il basso */
  border-style: solid;
  border-color: #6b7280 transparent transparent transparent;
  transition: transform .2s ease, border-color .2s ease;
}

.faq details[open] > summary::after{
  transform: rotate(180deg);      /* punta verso l’alto quando aperta */
  border-color: #374151 transparent transparent transparent;
}

.faq summary:focus{
  outline: 2px solid #111827;
  outline-offset: 2px;
}

/* base */
.rc-nav{ display:flex; flex-wrap:wrap; gap:16px; margin:0; padding:0; list-style:none; }
.rc-nav > li{ position:relative; }
.rc-nav > li > a{ display:inline-block; padding:10px 12px; }

/* dropdown */
.rc-nav .has-sub .has-sub-link{ padding-right:24px; position:relative; }
.rc-nav .has-sub .has-sub-link::after{
  content:"\f107"; font-family:"FontAwesome"; font-weight:900;
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  font-size:12px; opacity:.7;
}

.rc-nav .sub{
  position:absolute; left:0; top:100%; min-width:220px;
  background:#fff; border:1px solid #e5e7eb; border-radius:10px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  padding:8px; margin-top:8px; list-style:none; display:none; z-index:50;
}
.rc-nav .sub li a{
  display:block; padding:10px 12px; border-radius:8px; white-space:nowrap; color:#111827;
}
.rc-nav .sub li a:hover{ background:#f3f4f6; }

/* open on hover (desktop) */
.rc-nav .has-sub:hover > .sub{ display:block; }
.rc-nav .has-sub:hover > .has-sub-link::after{ transform:translateY(-50%) rotate(180deg); }

/* open on focus/tap (mobile & accessibility) */
.rc-nav .has-sub:focus-within > .sub{ display:block; }
.rc-nav .has-sub:focus-within > .has-sub-link::after{ transform:translateY(-50%) rotate(180deg); }

/* mobile tweaks: all full-width and submenu drops nicely */
@media (max-width: 768px){
  .rc-nav{ gap:8px; }
  .rc-nav > li{ width:auto; }
  .rc-nav .sub{ position:absolute; min-width:200px; }
}

