.elementor-36929 .elementor-element.elementor-element-71430fa > .elementor-widget-container{border-radius:0px 0px 0px 0px;}.elementor-36929 .elementor-element.elementor-element-8cea43f{text-align:center;}.elementor-36929 .elementor-element.elementor-element-8cea43f .elementor-heading-title{color:#05b1f1;}.elementor-36929 .elementor-element.elementor-element-cdae403{text-align:center;}.elementor-36929 .elementor-element.elementor-element-cdae403 .elementor-heading-title{color:#0B86B4;}.elementor-36929 .elementor-element.elementor-element-4e4567e{text-align:center;}.elementor-36929 .elementor-element.elementor-element-4e4567e .elementor-heading-title{color:#0B86B4;}.elementor-36929 .elementor-element.elementor-element-be3a635{text-align:center;}.elementor-36929 .elementor-element.elementor-element-be3a635 .elementor-heading-title{color:#0B86B4;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}/* Start custom CSS for html, class: .elementor-element-3a257d6 *//* Variabili base: puoi armonizzare con il tema */
:root{
  --reg-border:#e4e6ea;
  --reg-head-bg:#f7f8fa;
  --reg-text:#2b2f36;
  --reg-muted:#6c7480;
}

/* Contenitore */
.regolamento-section{max-width: 920px; margin: 0 auto; color:var(--reg-text);}
.regolamento-titolo{margin: 8px 0 12px;}
.regolamento-sottotitolo{margin: 18px 0 8px;}
.regolamento-intro{margin: 0 0 14px; line-height: 1.6;}
.regolamento-note{margin-top: 16px; color:var(--reg-muted); font-style: italic;}

/* Wrapper per lo scroll mobile mantenendo l'allineamento perfetto */
.table-wrap{width:100%; overflow-x:auto; -webkit-overflow-scrolling: touch; margin: 10px 0 22px;}
.table-wrap::-webkit-scrollbar{height:8px}
.table-wrap::-webkit-scrollbar-thumb{background:#d5d9df;border-radius:4px}

/* Tabella */
.reg-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed; /* colonne coerenti */
  font-size: 15px;
  background: #fff;
  border: 1px solid var(--reg-border);
  border-radius: 8px;
  overflow: hidden; /* per bordi arrotondati */
}

/* Caption */
.reg-table caption{
  text-align: left;
  font-size: 14px;
  color: var(--reg-muted);
  padding: 10px 12px 6px;
}

/* Head */
.reg-table thead th{
  background: var(--reg-head-bg);
  font-weight: 600;
  text-align: left;
  padding: 12px 14px;
  border-bottom: 1px solid var(--reg-border);
}
.reg-table thead th + th{
  border-left: 1px solid var(--reg-border);
}

/* Body */
.reg-table td{
  padding: 12px 14px;
  vertical-align: middle;
  border-top: 1px solid var(--reg-border);
}
.reg-table td + td{
  border-left: 1px solid var(--reg-border);
}

/* Righe zebra leggere per leggibilità */
.reg-table tbody tr:nth-child(even) td{
  background: #fbfcfd;
}

/* Allineamento numeri/quantità */
.reg-table .num{
  text-align: right;
  font-variant-numeric: tabular-nums; /* colonne ordinate */
}

/* Spaziatura più compatta su schermi piccoli */
@media (max-width: 767px){
  .reg-table{font-size: 14px;}
  .reg-table td, .reg-table th{padding: 10px 12px;}
  .regolamento-section{padding: 0 6px;}
}/* End custom CSS */