/* Small additions to the existing FTJ layouts. */
.event-country-filter {display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:24px 0;margin:24px 0 40px;border-block:2px solid #0a0a0a}
.event-country-filter>div {flex:1 1 280px;max-width:480px;min-width:0}
.event-country-filter label {display:block;margin-bottom:8px;font:700 14px var(--mono)}
.event-country-filter select {width:100%;height:48px;padding:10px;background:transparent;border:1px solid #777;border-radius:0;font:16px var(--body)}
.event-country-filter button {min-height:48px;padding:12px 20px;background:#0a0a0a;color:#ffcf00;border:1px solid #0a0a0a;font:700 14px var(--body);cursor:pointer}
.event-country-filter a {padding:14px 0;text-decoration:underline;font:700 13px var(--mono)}
.event-country-filter button:hover {background:#ffcf00;color:#0a0a0a}
.calendar-section-title {font:700 clamp(24px,4vw,36px)/1.1 var(--display);margin:0 0 24px;overflow-wrap:anywhere}
.country-past-events {margin-top:64px}
.athlete-search>.athlete-category-filter {flex-basis:240px}
.athlete-search input,
.athlete-search select {display:block;width:100%;min-width:0;box-sizing:border-box}
.athlete-search [data-slot=native-select-wrapper] {position:relative;width:100%;min-width:0}
.athlete-search select {appearance:none;-webkit-appearance:none;padding-right:40px}
.athlete-search [data-slot=native-select-icon] {position:absolute;top:50%;right:13px;transform:translateY(-50%);display:block;width:16px;height:16px;pointer-events:none;color:#0a0a0a}
.athlete-search :is(input,select,button):focus-visible {outline:3px solid #997b00;outline-offset:3px}
.athlete-category-labels {font:700 14px/1.6 var(--mono);max-width:60ch}
.watch-tools form {width:min(760px,100%)}
.watch-search-row {align-items:end;gap:8px}
.watch-search-row input {flex:1 1 200px;width:0}
.watch-year {flex:0 0 130px}
.watch-year label {font-size:12px;margin-bottom:5px}
.watch-year select {width:100%;height:48px;padding:10px;color:#f4f3ee;background:#171717;border:1px solid #747474;border-radius:0;font:16px var(--body)}
.newsletter-section {display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:48px max(24px,5vw);border-top:1px solid #0a0a0a;background:#f4f3ee;color:#0a0a0a}
.newsletter-section h2 {font:700 clamp(32px,4vw,52px)/1 var(--display);margin:14px 0}
.newsletter-section p {font:16px/1.6 var(--body);max-width:48ch}
.newsletter-section form {align-self:center;min-width:0}
.newsletter-section label {display:block;font:700 13px var(--mono);margin-bottom:8px}
.newsletter-fields {display:flex}
.newsletter-fields input {min-width:0;flex:1;width:0;border:1px solid #777;padding:12px;border-radius:0;font:16px var(--body);background:transparent}
.newsletter-fields button {flex-shrink:0;min-height:48px;padding:12px 18px;border:1px solid #0a0a0a;background:#ffcf00;color:#0a0a0a;font:700 14px var(--body);cursor:pointer}
.newsletter-fields button:hover {background:#0a0a0a;color:#ffcf00}
.newsletter-fields button:disabled {opacity:.7;cursor:wait}
.newsletter-section .newsletter-consent {font-size:12px;margin:12px 0 0;max-width:70ch}
.newsletter-section .newsletter-status {font-weight:700;margin:10px 0 0;min-height:26px;max-width:70ch}
.newsletter-trap {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.newsletter-fields :focus-visible,.event-country-filter :focus-visible,.watch-year select:focus-visible {outline:3px solid #997b00;outline-offset:3px}
@media(max-width:760px) {
  .newsletter-section {grid-template-columns:1fr;gap:24px;padding:36px 24px}
  .watch-search-row {flex-wrap:wrap}
  .watch-search-row input {flex-basis:100%;width:100%}
  .watch-year {flex:1 1 130px}
  .watch-search-row button {flex:1 1 100px}
  .athlete-search>.athlete-category-filter {flex-basis:100%}
}
@media(max-width:380px) {
  .newsletter-fields {flex-direction:column;gap:8px}
  .newsletter-fields input {width:100%}
}
