@import url('/fonts/fonts.css');

/* Shared typography for /#rules and the standalone /rules page. */
.rules-content{--rules-body-size:14px;--rules-heading-size:18px;font-family:'Be Vietnam Pro',system-ui,sans-serif;font-size:var(--rules-body-size);line-height:1.8}
.rules-content :is(.card,.panel,.rule,.rule .t,.rule .d,.rule .q,.tier-perks,.note,.muted.small,table,th,td){font-family:inherit;font-size:var(--rules-body-size);line-height:1.8;letter-spacing:0}
.rules-content :is(.card,.panel)>h3{font-family:inherit;font-size:var(--rules-heading-size);line-height:1.5;font-weight:700;letter-spacing:0;margin:0 0 16px;text-transform:none;text-wrap:pretty}
.rules-content .rule .t{font-weight:600;margin:0 0 4px}
.rules-content .rule .d{font-weight:400;margin-top:0}
.rules-content .rule .q{font-weight:400;margin-top:10px}
.rules-content :is(b,strong,th){font-weight:600}
.rules-content .tier-perks{margin:0;padding:0;gap:8px}
.rules-content .tier-perks li{font-size:inherit;line-height:inherit;align-items:flex-start;gap:10px;white-space:normal;overflow:visible;text-overflow:clip;min-height:0;padding:0}
.rules-content .tier-perks .tick{margin-top:5px}
.rules-content .rule{gap:14px;padding:16px 0}
.rules-content .rule>div:last-child{min-width:0;flex:1}
.rules-content .rule .i{font-family:inherit;font-size:16px;line-height:1;font-weight:600;width:34px;height:34px;border-radius:10px}
.rules-content :is(.shrink-1line,.nowrap-1line){font-size:inherit;line-height:inherit;white-space:normal}
.rules-content :is(p,.rule .t,.rule .d,.rule .q,td){overflow-wrap:break-word;word-break:normal}
.rules-content .note{margin-top:14px;padding:14px 16px}
.rules-content .scroll{margin-top:0}
.rules-content table{min-width:0;width:100%;table-layout:auto}
.rules-content :is(th,td){padding:12px 14px;vertical-align:top;white-space:normal}
.rules-content td.num{font-family:inherit;font-size:var(--rules-body-size)}
.rules-content .rules-tier-table :is(th,td){white-space:nowrap}
.rules-tier-amount-label{display:none}
.rules-time-short{display:none}
@media(max-width:640px){
 .rules-time-full{display:none}
 .rules-time-short{display:inline}
 .rules-checkin{white-space:nowrap}
 .rules-location{font-size:inherit;white-space:nowrap;letter-spacing:0}
 .rules-content{--rules-body-size:11px;--rules-heading-size:14px}
 .rules-content :is(.card,.panel){padding:18px 16px}
 .rules-content :is(.card,.panel)>h3{margin-bottom:12px}
 .rules-content .rule{gap:10px;padding:14px 0}
 .rules-content .rule .i{width:28px;height:28px;font-size:14px;border-radius:8px}
 .rules-content :is(th,td){padding:10px}
 .rules-content .rules-tier-table,.rules-content .rules-tier-table tbody{display:block;width:100%}
 .rules-content .rules-tier-table thead{display:none}
 .rules-content .rules-tier-table tr{display:block;padding:12px 0;border-bottom:1px solid rgba(200,184,216,.18)}
 .rules-content .rules-tier-table tr:last-child{border-bottom:0}
 .rules-content .rules-tier-table td{display:block;width:100%;padding:0;border:0;text-align:left;font-size:var(--rules-body-size);white-space:normal}
 .rules-content .rules-tier-table td:first-child{font-weight:600;margin-bottom:4px}
 .rules-content .rules-tier-table td.num{white-space:nowrap}
 .rules-tier-amount-label{display:inline}
}

/* Full programme terms: pagination only between complete lettered sections. */
.programme-terms{max-width:1040px;margin:20px auto;scroll-margin-top:110px}
.programme-terms-heading{text-align:center;margin-bottom:24px}
.programme-terms-heading>p{color:#f5b738;font-weight:700;letter-spacing:.06em;margin:0 0 10px}
.rules-content .programme-terms-heading h2{font-size:clamp(20px,3vw,30px);line-height:1.5;margin:0;color:#fff;display:block}
.terms-pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0}
.terms-pagination button{font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;padding:10px 14px;border:1px solid #715181;border-radius:9px;background:#281537;color:#f8f0fc;cursor:pointer}
.terms-pagination button[aria-current=page]{background:#a83e59;border-color:#e2b675;color:#fff}
.terms-pagination button:disabled{opacity:.4;cursor:default}
.terms-pagination button:focus-visible{outline:2px solid #f5b738;outline-offset:3px}
.terms-page-status{text-align:center;color:#d4badf;font-size:13px}
.programme-terms .terms-page[hidden]{display:none!important}
.rules-content .terms-section{display:block;padding:24px;margin:0 0 18px;background:rgba(23,9,36,.88);border:1px solid #60406f;border-radius:16px}
.rules-content .terms-section h3{font-size:18px;line-height:1.5;margin:0 0 20px;color:#f5c66c}
.rules-content .terms-section h4{font-size:15px;line-height:1.65;margin:24px 0 12px;color:#f1d4f9}
.rules-content .terms-section p{font-size:14px;line-height:1.9;margin:0 0 12px;max-width:none;overflow-wrap:break-word}
.terms-table-scroll{overflow-x:auto;max-width:100%;margin-bottom:16px}
.rules-content .terms-table-scroll table{width:100%;min-width:420px;border-collapse:collapse}
.rules-content .terms-table-scroll :is(th,td){padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid #63416d;white-space:normal}
.rules-content .terms-table-scroll tbody th{width:30%}
@media(max-width:640px){.rules-content .terms-section{padding:18px 14px}.rules-content .terms-section p{font-size:12px;line-height:1.85}.rules-content .terms-section h3{font-size:16px}.rules-content .terms-section h4{font-size:13px}.terms-pagination{gap:5px}.terms-pagination button{padding:9px 11px;font-size:12px}}

.rules-content .terms-section .terms-bullets{display:block;list-style:disc outside;margin:10px 0 16px;padding-left:24px}
.rules-content .terms-section .terms-bullets li{display:list-item;margin:6px 0;padding:0;font-size:14px;line-height:1.9;color:inherit}
.rules-content .terms-section .terms-sublist{margin-left:20px;list-style:circle outside}
.rules-content .terms-section .terms-step{position:relative;padding-left:20px;margin-top:18px}
.rules-content .terms-section .terms-step::before{content:'•';position:absolute;left:2px;color:#f5c66c}
.rules-content .terms-table-scroll td p:last-child{margin-bottom:0}
@media(max-width:640px){.rules-content .terms-section .terms-bullets li{font-size:12px;line-height:1.85}.rules-content .terms-section .terms-sublist{margin-left:12px}.rules-content .terms-table-scroll table{min-width:0;table-layout:fixed}.rules-content .terms-table-scroll :is(th,td){overflow-wrap:anywhere;font-size:12px}}

/* Keep the complete approved terms readable at every viewport width. */
.programme-terms,.programme-terms .terms-page,.rules-content .terms-section{height:auto;max-height:none;min-width:0;overflow:visible}
.programme-terms :is(p,li,h3,h4,th,td){white-space:normal;overflow-wrap:anywhere;word-break:normal;text-overflow:clip;-webkit-line-clamp:unset;max-height:none}
.programme-terms .terms-keep{white-space:normal!important}
.rules-content .terms-table-scroll table{min-width:0;table-layout:fixed}
.rules-content .terms-table-scroll :is(th,td){overflow-wrap:anywhere}
