.sport-link2 {
  display: inline-block;
  padding: 18px 28px;
  background: linear-gradient(90deg,rgba(2, 0, 36, 1) 0%, rgba(9, 9, 121, 1) 25%, rgba(0, 212, 255, 1) 100%);
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 8px;
  transition: all 0.25s ease;
  box-shadow: 0 4px 15px grey;
  position: relative;
  overflow: hidden;
}

a.sport-link2 {
  text-decoration: none;
}

.sport-link2::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: rgba(255,255,255,0.2);
  transform: skewX(-25deg);
  transition: left 0.5s ease;
}

.sport-link2:hover::before {
  left: 125%;
}

.sport-link2:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 8px 25px #DEE0FF;
}


.sport-link3 {
  display: inline-block;
  padding: 6px 18px;              /* più basso */
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #1f4a7a;
  background: linear-gradient(to bottom, #e8f1ff, #d4e3fc);
  border: 1px solid #b7cceb;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

a.sport-link3 {
  text-decoration: none;
}

.sport-link3:hover {
  background: linear-gradient(to bottom, #f4f9ff, #c8dbfa);
  border-color: #9fbbe6;
  color: #163a66;
}

.sport-link3:active {
  background: #c3d7f7;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.15);
}

.rules-wrapper {
  max-width: 800px;
  margin: 40px auto;
}

.rules-title {
  font-size: 24px;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 20px;
  color: #111;
  border-left: 6px solid #d50000;
  padding-left: 12px;
}

.rules-table {
  width: 100%;
  border-collapse: collapse;
  background-color: #ffffff;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
  border-radius: 8px;
  overflow: hidden;
}

.olympic-title {
  font-family: Arial, sans-serif;
  font-size: 28px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  background: linear-gradient(90deg, #0033a0, #d4af37);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.rules-table thead {
  background-color: #1a1f2b;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 1px;
}

.rules-table th,
.rules-table td {
  padding: 7px 8px;
  text-align: left;
  line-height: 1.3;
  border-color: rgb(235, 235, 235);
}

.rules-table tbody tr {
  border-bottom: 1px solid #e6e9ef;
  transition: background-color 0.2s ease;
}

.rules-table tbody tr:hover {
  background-color: #f1f3f7;
}

.badge {
  display: inline-block;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: bold;
  border-radius: 20px;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.badge-max {
  background-color: #d50000;
}

.badge-limit {
  background-color: #ff6f00;
}

.badge-note {
  background-color: #455a64;
}

---------
.totallympics-table {
    width: 800px;
    margin: 30px auto;
    border-collapse: collapse;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    background: #ffffff;
}

.totallympics-table th {
    background-color: #1f5fa8;
    color: #ffffff;
    text-transform: uppercase;
    padding: 12px;
    border: 1px solid #dcdcdc;
}

.totallympics-table td {
    padding: 10px;
    border: 1px solid #dcdcdc;
    text-align: center;
}

.category {
    text-align: left;
    font-weight: bold;
    background-color: #f4f7fb;
}

.progress-cell {
    width: 260px;
}

.progress-bar {
    height: 18px;
    background-color: #e6e6e6;
    border-radius: 10px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    width: var(--percent);
    background-color: #2f87c8;
}

.reached .progress-fill {
    background-color: #2e7d32;
}

.nothing .progress-fill {
    background-color: grey;
}

.percent-text {
    font-weight: bold;
}

-----------

.page-header-olympic {
    width: 800px;
    margin: 40px auto 30px auto;
    text-align: center;
    padding: 30px 20px 25px 20px;
    box-sizing: border-box;
    border-top: 4px solid #c6a74a;
    border-bottom: 4px solid #c6a74a;
}

.page-header-olympic img {
    height: 70px; /* dimensione pictogram */
    margin-bottom: 18px;
}

.page-header-olympic h1 {
    margin: 0;
    font-size: 58px;
    letter-spacing: 8px;
    font-weight: 600;
    text-transform: uppercase;
    color: #0b2a4a;
}

.page-header-olympic .gold-divider {
    width: 390px;
    height: 2px;
    background-color: #c6a74a;
    margin: 5px auto 16px auto;
}

.page-header-olympic .subtitle {
    font-size: 16px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #c6a74a;
}

----------

.quota-wrapper {
    width: 800px;
    margin: 30px auto;
    font-family: Arial, Helvetica, sans-serif;
    color: #2f3b46;
}

/* Section Title */
.quota-section-title {
    background-color: #e5e5e5;
    font-weight: bold;
    font-size: 20px;
    padding: 12px 15px;
}

/* Subheader */
.quota-subheader {
    background-color: #cfcfcf;
    padding: 10px 15px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #000;
}

/* Table */
.quota-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 18px;
}

.quota-table td {
    padding: 14px 12px;
    border-bottom: 1px solid #333;
}

/* First column (labels) */
.label-cell {
    background-color: #d9dde2;
    font-weight: bold;
    width: 40%;
}

/* Men column */
.men-cell {
    background-color: #9fb8d6;
    text-align: center;
    width: 18%;
}

/* Women column */
.women-cell {
    background-color: #d8d2ad;
    text-align: center;
    width: 18%;
}

/* Total column */
.total-cell {
    background-color: #cfd4da;
    text-align: center;
    font-weight: bold;
    width: 18%;
}

/* Final total row stronger */
.total-row .label-cell {
    font-weight: bold;
}

.total-row td {
    font-weight: bold;
}

-----

.quota-table-men-only {
  width: 800px;
  margin: 30px auto;
  font-family: Arial, Helvetica, sans-serif;
  border-collapse: collapse;
  table-layout: fixed;
  color: #2c3e50;
}

.quota-table-men-only th,
.quota-table-men-only td {
  padding: 12px 10px;
  border-bottom: 1px solid #e1e4ea;
  text-align: center;
}

.quota-table-men-only th {
  background: #1f4a7a;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 14px;
}

.quota-table-event-name {
  text-align: left;
  font-weight: 600;
  color: #243a5b;
  background: #f9fbfd;
  width: 60%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-right: 2px solid #d1d9e6;
}

.quota-table-men-col {
  background: #d4e3fc;
  width: 20%;
  font-weight: 700;
  color: #1f4a7a;
}

.quota-table-nocs-col {
  background: #c5d1df;
  width: 20%;
  font-weight: 600;
  color: #25364a;
}

.quota-table-total-row {
  font-weight: 700;
  background: #c8d8ff;
}

.quota-table-total-row td {
  border-bottom: none;
}

.quota-table-minimal {
  width: 800px;
  margin: 25px auto;
  font-family: Arial, Helvetica, sans-serif;
  border-collapse: collapse;
  table-layout: fixed;
  color: #222;
}

/* Celle base */
.quota-table-minimal th,
.quota-table-minimal td {
  padding: 7px 10px;              /* più compatta */
  text-align: center;
  font-size: 14px;
  border: none;                   /* nessun bordo verticale */
}

/* Linea orizzontale sottile */
.quota-table-minimal tr {
  border-bottom: 1px solid #e2e2e2;
}

/* Header */
.quota-table-minimal thead tr {
  border-bottom: 2px solid #222;  /* linea più marcata sotto header */
}

.quota-table-minimal th {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.5px;
}

/* Colonna evento */
.quota-table-event-name {
  text-align: left;
  font-weight: 600;
  width: 60%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* Riga totale */
.quota-table-total-row {
  font-weight: 700;
  border-top: 2px solid #222;
  border-bottom: none;
}

/* Link evento */
.quota-table-event-link {
  color: #1f4a7a;
  text-decoration: none;
}

.quota-table-event-link:hover {
  text-decoration: underline;
}

/* Tabella principale */
.qqualtable {
  width: 800px;
  max-width: 100%;
  border-collapse: separate;
  border-spacing: 0 4px;      /* spazio verticale tra le righe */
  font-family: Arial, sans-serif;
  font-size:14px;
  margin:0 auto;
}

/* Header */
.qqualtable thead th {
  padding:8px 8px;
  text-align:left;
  border:1px solid #e5e7eb;
  background:#f8fafc;
  font-weight:600;
  font-size:11px;
  text-transform:uppercase;
  color:#6b7280;
}

/* Riga eventi */
.qqualtable tbody tr {
  transition: all 0.18s ease;
}

/* Hover sull'intera cella */
.qqualtable tbody td:hover {
  background-color: rgba(0, 87, 184, 0.1);
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

/* Categorie colori */
.qqualtable tbody tr.men td { background-color: rgb(190,221,255); }
.qqualtable tbody tr.women td { background-color: rgb(239,233,194); }
.qqualtable tbody tr.mixed td {
  background: linear-gradient(90deg, rgb(190,221,255) 0%, rgb(239,233,194) 100%);
}

/* Celle */
.qqualtable td {
  padding:4px 12px;
  vertical-align:middle;
  position:relative;
  border:none;          /* nessun bordo tra le celle */
  border-radius:0;      /* niente arrotondamento interno tra colonne */
}

/* Bordo arrotondato tra le righe */
.qqualtable tbody tr td:first-child { border-top-left-radius:6px; border-bottom-left-radius:6px; }
.qqualtable tbody tr td:last-child { border-top-right-radius:6px; border-bottom-right-radius:6px; }

/* Barre progresso */
.qqualtable .progress-bar {
  height:6px;
  background: rgba(0,0,0,0.08);
  border-radius:10px;
  overflow:hidden;
  margin-top:4px;
}

.qqualtable .progress-fill {
  height:100%;
  border-radius:10px;
  background:#0057b8;
  transition: width 0.4s ease;
}

.qqualtable .progress-fill.complete {
  background:#00853f;
}

/* Badge NOC */
.qqualtable .noc-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:22px;
  padding:0 10px;
  font-size:0.85em;
  font-weight:500;
  border-radius:16px;
  background:linear-gradient(135deg,#2c3e50 0%,#4b6cb7 100%);
  color:#f0f4f8;
  box-shadow: inset 0 -2px 4px rgba(255,255,255,0.2), 0 2px 6px rgba(44,62,80,0.4);
  border:1px solid rgba(255,255,255,0.3);
  user-select:text;
  cursor:text;
  line-height:1.2;
  white-space:nowrap;
  transition: all 0.3s ease;
}

/* Badge hover */
.qqualtable tbody tr:hover .noc-badge {
  background: linear-gradient(135deg,#0b2248 0%,#1e3c72 100%);
  box-shadow: inset 0 -2px 6px rgba(255,255,255,0.3), 0 4px 12px rgba(11,34,72,0.7);
  color: #e6f0ff;
  border-color: rgba(230,240,255,0.6);
}

/* Freccia hover */
.qqualtable .row-arrow {
  font-size:18px;
  margin-left:6px;
  color:transparent;
  transition: color 0.2s ease;
}

.qqualtable tbody tr:hover .row-arrow {
  color:#0057b8;
}

/* Link Event/NOC */
.qqualtable a.event-link, .qqualtable a.noc-link {
  text-decoration:none;
  color:inherit;
  display:inline-block;
  width:100%;
}

/* Bordo solo sulla colonna centrale */
.qqualtable tbody td:nth-child(2) {
  border-left: 1px solid #eeeeee;
  border-right: 1px solid #eeeeee;
  border-radius: 0; /* rimuove arrotondamenti interni */
}
/* Più visibili i numeri della qualifica */
.qqualtable .progress-bar + strong {
  font-size: 1rem;
  font-weight: 700;
  color: #1f2937;
  margin-right: 8px;
}

/* Leggero hover sulla colonna numerica */
.qqualtable tbody td:nth-child(2):hover {
  background: rgba(0, 87, 184, 0.08);
}

/* Badge NOC - versione più soft */
.qqualtable .noc-badge {
  font-weight: 600;
  background: linear-gradient(135deg,#3b4db7 0%,#6b81db 100%);
  box-shadow: none;
}

/* Allineamento orizzontale centrale per la colonna NOCs */
.qqualtable td:nth-child(3) {
  text-align: center; /* centra contenuti orizzontalmente */
  position: relative;
}

/* Numero NOC e freccia allineati al centro */
.qqualtable td:nth-child(3) .noc-wrapper {
  display: inline-block; /* permette centratura con text-align:center */
  position: relative;
}

/* Freccia posizionata accanto al numero */
.qqualtable td:nth-child(3) .row-arrow {
  position: absolute;
  right: -18px; /* distanza rispetto al numero */
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: transparent;
  transition: color 0.2s ease;
}

.qqualtable tbody tr:hover td:nth-child(3) .row-arrow {
  color: #0057b8;
}

.qualificalendar-wrapper{
  width:800px;
  margin:0 auto;
}

.qualificalendar-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:14px;
  border-top:2px solid #d6d6d6;
}

/* RESET IPS */
.qualificalendar-table td,
.qualificalendar-table th{
  float:none !important;
}

.qualificalendar-table td p,
.qualificalendar-table td div,
.qualificalendar-table td span{
  margin:0 !important;
  padding:0 !important;
}

/* HEADER */
.qualificalendar-table thead th{
  text-align:left;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.3px;
  padding:14px;
  background:#e9edf2;
  border-bottom:4px solid #cfd6dd;
}
.qualificalendar-table thead th:last-child{
  text-align:center;
}

/* ROW HEIGHT */
:root{ --qc-row-h:74px; }

.qualificalendar-table tbody tr{
  height:var(--qc-row-h);
}

.qualificalendar-table tbody td{
  height:var(--qc-row-h);
  padding:10px 14px;
  vertical-align:middle;
  border-bottom:1px solid #eeeeee;
  background:#fff;
  overflow:hidden; /* mantiene riga uniforme */
    transition:background .18s ease;
}

/* BORDI VERTICALI */
.qualificalendar-table tbody td+td{
  border-left:1px solid #efefef;
}

/* HOVER */
.qualificalendar-table tbody tr:hover td{
  background:#f3f6f9;
}

/* BARRA COLORATA */
.qualificalendar-table tbody td:first-child{
  position:relative;
  padding-left:20px;
}

.qualificalendar-table tbody td:first-child:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:4px;
  height:100%;
  border-radius:2px;
}

.completed td:first-child:before{background:#1f7a3a;}
.in-progress td:first-child:before{background:#c99700;}
.scheduled td:first-child:before{background:#003c88;}

/* LINK EVENT */
.qualificalendar-eventlink{
  display:block;
  position:relative;
  color:inherit;
  text-decoration:none !important;
  padding-right:28px;
}
.qualificalendar-eventlink *{ text-decoration:none !important; }

/* FRECCIA */
.qualificalendar-eventlink:after{
  content:"➔";
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  font-weight:900;
  opacity:.35;
  transition:.15s;
}

tbody tr:hover .qualificalendar-eventlink:after{
  opacity:.85;
  transform:translateY(-50%) translateX(3px);
}

/* TESTI EVENT */
.qualificalendar-date{
  display:block;
  font-weight:700;
  font-size:12px;
  color:#003c88;
  margin-bottom:4px;
  line-height:1.35;
}

.qualificalendar-title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;

  font-weight:700;
  font-size:14px;
  line-height:1.22;
  margin-bottom:4px;
}

.qualificalendar-location{
  display:block;
  font-size:12px;
  color:#777;
  line-height:1.35;
}

/* ===== QUOTA (IMPORTANTISSIMO) ===== */
/* Il TD resta pulito: niente -webkit-box qui */
.qualificalendar-quota{
  vertical-align:middle;
    padding-left:18px;
}

/* Clamp SOLO sul wrapper interno: evita “cella rotta” */
.qualificalendar-quotainner{
  font-size:13px;
  color:#444;
  line-height:1.35;

  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* STATUS */
.qualificalendar-status{
  text-align:center;
}

.status-badge{
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:110px;
  height:24px;
  margin:0 auto;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:#fff;
  border-radius:16px;
}

.status-completed{background:#1f7a3a;}
.status-in-progress{background:#c99700;}
.status-scheduled{background:#003c88;}


.eqp-topwrap{
  width:800px;
  margin:0 auto;
  font-family:Inter,Arial,sans-serif;
  color:#111;
}

/* ===== HEADER BAR ===== */
.eqp-headbar{
  position:relative;
  border:1px solid #d7dde4;
  border-bottom:none;
  background:linear-gradient(90deg,#19a9e5,#1497d2);
  padding:16px 16px;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.eqp-sport{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  font-size:11px;
  font-weight:900;
  letter-spacing:1.3px;
  text-transform:uppercase;
  color:rgba(255,255,255,.9);
}

.eqp-eventname{
  text-align:center;
  font-size:15px;
  font-weight:900;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#fff;
  padding:0 80px;
}

.eqp-headbar:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:rgba(255,255,255,.28);
}

/* ===== LAST UPDATE ===== */
.eqp-subheader{
  border:1px solid #d7dde4;
  background:#f3f6fa;
  padding:10px 12px;
  text-align:center;
  font-size:11.5px;
  letter-spacing:1.1px;
  text-transform:uppercase;
  color:#3b4250;
}

/* ===== KPI STRIP ===== */
.eqp-kpis{
  display:grid;
  grid-template-columns: 1fr 1fr;
  border:1px solid #d7dde4;
  border-top:none;
  background:linear-gradient(to bottom,#f8fafc,#eef3f8);
}

.eqp-kpi{
  padding:14px 10px 16px;
  text-align:center;
  position:relative;
}

.eqp-kpi + .eqp-kpi{
  border-left:1px solid #d7dde4;
}

.eqp-kpiValue{
  font-size:48px;
  font-weight:900;
  line-height:1;
  letter-spacing:-1px;
  color:#111;
}

.eqp-kpiValue small{
  font-size:16px;
  font-weight:900;
  color:#6b7280;
}

.eqp-kpiLabel{
  margin-top:6px;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:#3b4250;
}

/* decorative line */
.eqp-kpi:before{
  content:"";
  position:absolute;
  top:8px;
  left:50%;
  transform:translateX(-50%);
  width:28px;
  height:3px;
  border-radius:4px;
  background:rgba(20,151,210,.25);
}

/* ========= MAIN TABLE ========= */
.eqp-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin-top:16px;
  border:1px solid #d7dde4;
  background:#fff;
  table-layout:fixed;
}

/* Header row */
.eqp-table thead th{
  background:#ffffff;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1.2px;
  padding:12px 10px;
  text-align:left;
  border-bottom:3px solid #e5e9ef;
  color:#4b5563;
}

.eqp-table thead th:nth-child(2),
.eqp-table thead th:nth-child(3){
  text-align:center;
}

.eqp-table thead th + th{
  border-left:1px solid #eef1f4;
}

/* Body cells */
.eqp-table td{
  padding:12px 12px;
  border-top:1px solid #eef1f4;
  vertical-align:middle;
}

.eqp-table td + td{
  border-left:1px solid #f0f2f5;
}

/* ========= EVENT BLOCK (grouped tbody) ========= */
.eqp-block{
  background:#ffffff;
  box-shadow:0 2px 8px rgba(0,0,0,.04); /* card feel */
}

.eqp-block tr{
  transition:.15s ease;
}

/* subtle hover */
.eqp-block tr:hover td{
  background:#f7fafc;
}

/* space between blocks */
.eqp-block + .eqp-block{
  margin-top:14px;
  display:table-row-group;
}

/* Event cell styling */
.eqp-block .eqp-eventcell{
  width:52%;
  background:linear-gradient(to bottom,#fbfcff,#f4f7fb);
  font-size:14px;
  line-height:1.35;
  color:#111;
  padding:16px 14px;
  border-right:1px solid #eef1f4;
}

.eqp-event-title{
  font-weight:900;
  font-size:15px;
  display:block;
  margin-bottom:3px;
}

.eqp-event-meta{
  color:#6b7280;
  font-size:13px;
}

.eqp-event-date{
  margin-top:6px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.3px;
  color:#111;
}

/* Quota */
.eqp-quota{
  width:8%;
  text-align:center;
  background:#ffffff;
  font-size:28px;
  font-weight:900;
  color:#111;
  letter-spacing:-1px;
}

.eqp-quota:after{
  content:"QUOTAS";
  display:block;
  font-size:9px;
  letter-spacing:1.4px;
  font-weight:800;
  color:#9aa3ad;
  margin-top:2px;
}

/* NOC flag tile */
.eqp-noc{
  width:12%;
  text-align:center;
}

.eqp-noc img{
  width:44px;
  height:auto;
  border-radius:4px;
  border:1px solid #e6e9ee;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
  display:inline-block;
  transition:.15s;
}

.eqp-block tr:hover .eqp-noc img{
  transform:scale(1.08);
}

/* Athlete */
.eqp-athlete{
  width:28%;
  font-size:14px;
  font-weight:800;
  letter-spacing:.2px;
  color:#111;
}

/* Responsive (optional) */
@media (max-width: 980px){
  .eqp-wrapper{ width:100%; padding:0 12px; }
}
