/* Public AST widgets; all styles stay inside the shortcode containers. */
.ast-front{--ast-ink:#18252e;--ast-muted:#64717b;--ast-line:#e3e8ec;--ast-soft:#f6f8fa;--ast-accent:var(--e-global-color-primary,#183e50);font-family:inherit;color:var(--ast-ink);box-sizing:border-box;width:100%;margin:1.5rem 0;padding:clamp(18px,3vw,32px);border:1px solid var(--ast-line);border-radius:12px;background:#fff;box-shadow:0 4px 20px rgba(24,37,46,.035);line-height:1.5;text-align:left}
.ast-front *{box-sizing:border-box}.ast-front h2{font-family:inherit;color:var(--ast-ink);font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:600;line-height:1.25;letter-spacing:-.025em;margin:0 0 1.25rem}.ast-front p{margin:.85rem 0;color:var(--ast-muted);font-size:.9rem}.ast-front label{font-size:.82rem;font-weight:500;color:var(--ast-muted)}
.ast-event{border-top:3px solid var(--ast-accent)}.ast-event h2{margin-bottom:.4rem}.ast-event-status{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:20px;background:#edf5f1;color:#276547;font-size:.75rem;font-weight:600;margin-bottom:14px}.ast-event-status:before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}.ast-event dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:24px 0;padding:18px 0;border-top:1px solid var(--ast-line);border-bottom:1px solid var(--ast-line)}.ast-event dl>div{padding:0 18px;border-right:1px solid var(--ast-line)}.ast-event dl>div:first-child{padding-left:0}.ast-event dl>div:last-child{border-right:0}.ast-front dt{font-size:.78rem;color:var(--ast-muted)}.ast-front dd{margin:5px 0 0;font-size:1rem;font-weight:600;color:var(--ast-ink);overflow-wrap:anywhere}
.ast-front .ast-front-link,.ast-front .ast-front-filters button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--ast-accent);border-radius:6px;background:var(--ast-accent);color:#fff;font-family:inherit;font-size:.85rem;font-weight:500;line-height:1.3;text-decoration:none;cursor:pointer;transition:opacity .15s;box-shadow:none}.ast-front .ast-front-link{margin:0 8px 6px 0}.ast-front .ast-front-link:hover,.ast-front .ast-front-filters button:hover{opacity:.85}.ast-event .ast-front-link:first-of-type{background:#fff;color:var(--ast-accent)}
.ast-front-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:16px;background:var(--ast-soft);border:1px solid var(--ast-line);border-radius:8px;margin-bottom:18px}.ast-front-filters label{flex:1;min-width:180px}.ast-front select,.ast-front input{display:block;width:100%;height:44px;min-height:44px;font-family:inherit;font-size:.9rem;font-weight:400;line-height:1.3;color:var(--ast-ink);background-color:#fff;padding:10px 12px;border:1px solid #ccd5dc;border-radius:6px;margin:6px 0 0;box-shadow:none}.ast-front select{padding-right:32px}.ast-front input::placeholder{color:#89939c;opacity:1}.ast-front input:focus,.ast-front select:focus{outline:2px solid var(--ast-accent);outline-offset:2px;border-color:var(--ast-accent)}.ast-front-search{display:block;max-width:340px;margin:0 0 18px}
.ast-front-table{overflow-x:auto;width:100%;border:1px solid var(--ast-line);border-radius:8px;overscroll-behavior-x:contain}.ast-front table{width:100%;border-collapse:collapse;border:0;margin:0;background:#fff;font-size:.86rem;font-variant-numeric:tabular-nums}.ast-front th,.ast-front td{padding:13px 14px;text-align:left;border:0;border-bottom:1px solid var(--ast-line);vertical-align:top;line-height:1.45}.ast-front th{background:var(--ast-soft);color:var(--ast-muted);font-size:.76rem;font-weight:600;white-space:nowrap}.ast-front tbody tr:last-child td{border-bottom:0}.ast-front tbody tr:nth-child(even){background:#fafbfc}.ast-front tbody tr:hover{background:#f0f5f7}.ast-front .ast-ranking-caption{font-size:.82rem;margin:0 0 12px}.ast-front th button{font-family:inherit;font-size:inherit;line-height:inherit;font-weight:600;color:inherit;background:transparent;border:0;border-radius:0;padding:0;min-height:0;box-shadow:none;cursor:pointer;white-space:nowrap}.ast-front th button:hover{color:var(--ast-accent);background:transparent}.ast-front th[aria-sort=ascending],.ast-front th[aria-sort=descending]{color:var(--ast-accent)}.ast-ranking td:first-child,.ast-hall> .ast-front-table td:first-child{font-weight:600;color:var(--ast-muted);width:65px}.ast-ranking td:nth-child(2),.ast-hall> .ast-front-table td:nth-child(2){font-weight:500;min-width:160px}.ast-ranking td:nth-child(3),.ast-hall> .ast-front-table td:nth-child(3){font-weight:600;color:var(--ast-accent)}.ast-front button:focus-visible,.ast-front a:focus-visible,.ast-front summary:focus-visible{outline:2px solid var(--ast-accent);outline-offset:3px}.ast-front tr[hidden],.ast-front [hidden]{display:none!important}.ast-mobile-details{display:none}
.ast-hall-history{margin-top:22px;border-top:1px solid var(--ast-line);padding-top:18px}.ast-hall-history summary{cursor:pointer;font-weight:500;font-size:.9rem;color:var(--ast-accent)}.ast-hall-history[open] summary{margin-bottom:14px}.ast-hall .ast-medal-label{display:block;font-size:.72rem;font-weight:400;margin-top:3px}.ast-hall-history td{min-width:100px}
@media(max-width:767px){.ast-front{margin:1rem 0;padding:18px 14px;border-radius:8px}.ast-event dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0;padding:16px 0}.ast-event dl>div{padding:0;border:0}.ast-event dd{font-size:.92rem}.ast-front-filters{gap:12px;padding:12px}.ast-front-filters label{min-width:100%}.ast-front-filters button{width:100%}.ast-front-search{max-width:none}.ast-ranking .ast-extra{display:none}.ast-ranking th,.ast-ranking td{padding:12px 8px}.ast-ranking td:nth-child(2){min-width:0;overflow-wrap:anywhere}.ast-ranking td:first-child{width:45px}.ast-mobile-details{display:block;margin-top:6px;font-size:.78rem;font-weight:400}.ast-mobile-details summary{cursor:pointer;color:var(--ast-muted)}.ast-mobile-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 0;padding:10px;background:var(--ast-soft);border-radius:6px}.ast-mobile-details dd{font-size:.82rem}.ast-hall th,.ast-hall td{padding:11px 10px}.ast-hall> .ast-front-table td:nth-child(2){min-width:140px}.ast-front-table:focus-visible{outline:2px solid var(--ast-accent);outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.ast-front .ast-front-link,.ast-front .ast-front-filters button{transition:none}}
/* Readable typography shared by all public shortcodes. */
.ast-front{font-family:"Roboto",Arial,sans-serif;font-size:.85rem;line-height:1.6;letter-spacing:normal}
.ast-front h2,.ast-front h3{font-family:"Roboto",Arial,sans-serif;font-size:1.2rem;font-weight:700;line-height:1.35;letter-spacing:normal;color:var(--ast-ink)}
.ast-front p,.ast-front label,.ast-front dt,.ast-front dd,.ast-front input,.ast-front select,.ast-front table,.ast-front th,.ast-front td,.ast-front .ast-ranking-caption,.ast-front .ast-event-status,.ast-front .ast-medal-label,.ast-front .ast-hall-history summary,.ast-front .ast-mobile-details,.ast-front .ast-mobile-details dd,.ast-front .ast-front-link,.ast-front .ast-front-filters button{font-family:"Roboto",Arial,sans-serif;font-size:.85rem;line-height:1.6;letter-spacing:normal}
.ast-front p,.ast-front label,.ast-front dt,.ast-front th,.ast-front .ast-mobile-details summary{color:#44525d}
.ast-front input::placeholder{color:#64717b}
.ast-front th,.ast-front th button{font-weight:700}
.ast-front th button{font-family:"Roboto",Arial,sans-serif;font-size:.85rem;line-height:1.6;letter-spacing:normal}
/* Keep theme and Elementor typography from shrinking shortcode contents. */
.ast-front,.ast-front *{font-family:"Roboto",Arial,sans-serif!important;letter-spacing:normal!important}
.ast-front,.ast-front p,.ast-front label,.ast-front dt,.ast-front dd,.ast-front input,.ast-front select,.ast-front table,.ast-front th,.ast-front td,.ast-front th button,.ast-front td span,.ast-front td strong,.ast-front summary,.ast-front .ast-ranking-caption,.ast-front .ast-event-status,.ast-front .ast-medal-label,.ast-front .ast-mobile-details,.ast-front .ast-front-link,.ast-front .ast-front-filters button{font-size:max(.85rem,14px)!important;line-height:1.6!important}
.ast-front h2,.ast-front h3,.ast-front h2 *,.ast-front h3 *{font-size:max(1.2rem,20px)!important;font-weight:700!important;line-height:1.35!important}
.ast-front td{font-weight:400}.ast-ranking td:nth-child(2){font-weight:500}.ast-front th,.ast-front th button{font-weight:700!important}

/* Fixed readable sizes for builders with a 10px root font. */
.ast-front,.ast-front p,.ast-front label,.ast-front dt,.ast-front dd,.ast-front input,.ast-front select,.ast-front table,.ast-front th,.ast-front td,.ast-front th button,.ast-front td span,.ast-front td strong,.ast-front summary,.ast-front .ast-ranking-caption,.ast-front .ast-event-status,.ast-front .ast-medal-label,.ast-front .ast-mobile-details,.ast-front .ast-front-link,.ast-front .ast-front-filters button{font-size:16px!important;line-height:1.5!important}
.ast-front h2,.ast-front h3,.ast-front h2 *,.ast-front h3 *{font-size:22px!important;font-weight:700!important;line-height:1.35!important}
.ast-front th,.ast-front td{padding:14px 12px}.ast-front .ast-front-filters{gap:12px;padding:16px}.ast-front .ast-front-search{margin-bottom:20px}.ast-front .ast-front-filters label{min-width:200px}.ast-front .ast-medal-label{font-size:14px!important}
@media(max-width:767px){.ast-front .ast-front-filters label{min-width:100%}.ast-front th,.ast-front td{padding:12px 8px}}
.ast-portal{font-family:Roboto,Arial,sans-serif;width:100%;max-width:1200px;margin:0 auto;color:#18252e}.ast-portal-header{text-align:center;padding:32px 16px 0}.ast-portal-header img{display:block;width:240px;max-width:70%;height:auto;margin:0 auto 28px}.ast-portal-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid #e3e8ec;padding-bottom:12px}.ast-portal-tabs a{font:500 16px/1.4 Roboto,Arial,sans-serif;padding:12px 18px;color:#44525d;text-decoration:none;background:#f6f8fa;border-radius:6px}.ast-portal-tabs a.active{color:#fff;background:#183e50}.ast-portal-main{padding:0 16px;min-height:220px}.ast-portal-panel[hidden]{display:none!important}.ast-portal-footer{text-align:center;padding:28px 16px;border-top:1px solid #e3e8ec;margin-top:24px}.ast-portal-footer nav{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.ast-portal-footer a{color:#183e50;text-decoration:none;font:500 16px/1.5 Roboto,Arial,sans-serif}.ast-portal-footer .ast-social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}.ast-portal-footer p{font:400 14px/1.6 Roboto,Arial,sans-serif;color:#44525d;margin:16px 0 0}.ast-portal a:focus-visible{outline:2px solid #183e50;outline-offset:3px}@media(max-width:600px){.ast-portal-header{padding-top:24px}.ast-portal-tabs{gap:5px}.ast-portal-tabs a{padding:10px;font-size:14px}.ast-portal-main{padding:0 8px}.ast-portal-footer nav{gap:12px}}

.ast-front-pagination{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:14px 0}.ast-front-pagination a,.ast-front-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:30px;padding:3px 8px;border:1px solid #ccc;border-radius:4px;text-decoration:none}.ast-front-pagination [aria-current=page]{font-weight:700;background:#eef1f5}.ast-portal-footer .ast-social-link{display:inline-flex;align-items:center;gap:6px;width:auto;min-width:44px;min-height:44px;height:auto;white-space:nowrap}.ast-portal-footer .ast-social-link svg{flex:none}.ast-history-count{font-size:12px}
