* ============ PRICING / CHARGES TABLE (reused pattern from timings page) ============ */
.table-responsive-wrap{width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;}
.price-table{width:100%; min-width:560px; border-collapse:collapse; background:var(--panel); border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden;}
.price-table th, .price-table td{padding:16px 18px; text-align:left; font-size:14.5px; border-bottom:1px solid var(--line-soft);}
.price-table th{background:var(--panel-2); color:var(--gold); font-size:12.5px; text-transform:uppercase; letter-spacing:.05em;}
.price-table tr:last-child td{border-bottom:none;}
.price-note{margin-top:16px; font-size:13px; color:var(--gold-deep); display:flex; gap:8px; align-items:flex-start;}

/* Below 600px: stack each row as a card instead of squeezing columns */
@media (max-width:600px){
  .table-responsive-wrap{overflow-x:visible;}
  .price-table{min-width:0; border:none; border-radius:0; background:none;}
  .price-table thead{display:none;}
  .price-table, .price-table tbody, .price-table tr, .price-table td{display:block; width:100%;}
  .price-table tr{margin-bottom:14px; background:var(--panel); border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden;}
  .price-table td{display:flex; justify-content:space-between; align-items:flex-start; gap:14px; text-align:right; padding:10px 14px; font-size:13.5px;}
  .price-table td::before{content:attr(data-label); flex:0 0 42%; text-align:left; font-weight:700; font-size:11.5px; text-transform:uppercase; letter-spacing:.03em; color:var(--gold-deep);}
  /* colspan cells (e.g. "Free" spanning both nationality columns) span the full row width as plain text, no label column */
  .price-table td[colspan]{display:block; text-align:left;}
  .price-table td[colspan]::before{content:none;}
}

/* ============ PRICING / CHARGES TABLE (reused pattern from timings page) ============ */
.price-table{width:100%; border-collapse:collapse; background:var(--panel); border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden;}
.price-table th, .price-table td{padding:16px 18px; text-align:left; font-size:14.5px; border-bottom:1px solid var(--line-soft);}
.price-table th{background:var(--panel-2); color:var(--gold); font-size:12.5px; text-transform:uppercase; letter-spacing:.05em;}
.price-table tr:last-child td{border-bottom:none;}
.price-note{margin-top:16px; font-size:13px; color:var(--gold-deep); display:flex; gap:8px; align-items:flex-start;}