/* RACE Activities v2 – tab bar, activity panel, photo viewer */
.rca{--a-navy:#032465;--a-ink:#07123E;--a-blue:#123A7A;--a-gold:#FAD80B;--a-red:#E90A0C;--a-paper:#F7F8FA;--a-muted:#5f6b86;--a-line:rgba(3,36,101,.12);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--a-ink);width:100%;max-width:1240px;margin:0 auto;padding:8px 0 32px}
.rca *,.rca *::before,.rca *::after{box-sizing:border-box}
.rca [hidden]{display:none!important}
.rca a{text-decoration:none}
.rca-intro{max-width:720px;margin:0 0 22px;font-size:16px;line-height:1.65;color:var(--a-muted)}

/* ---------- tab bar ---------- */
.rca-tabs{display:flex;align-items:center;gap:10px;margin:0 0 26px;position:relative}
.rca-track{flex:1 1 auto;min-width:0;display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;
  padding:6px 2px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.rca-track::-webkit-scrollbar{display:none}
.rca-tabs.can-left .rca-track{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px);mask-image:linear-gradient(90deg,transparent 0,#000 28px)}
.rca-tabs.can-right .rca-track{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.rca-tabs.can-left.can-right .rca-track{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent)}
.rca .rca-tab{flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 18px 0 7px;border-radius:999px;
  background:var(--a-paper);border:1.5px solid transparent;color:var(--a-ink);font-size:14px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;line-height:1;
  box-shadow:none;transform:none;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}
.rca .rca-tab::before,.rca .rca-tab::after{content:none}
.rca .rca-tab:hover{background:#fff;border-color:var(--a-line);color:var(--a-ink);box-shadow:0 10px 24px -16px rgba(3,36,101,.5)}
.rca .rca-tab:focus-visible{outline:3px solid var(--a-gold);outline-offset:2px}
.rca-tab-ic{flex:none;width:40px;height:40px;border-radius:999px;background:#fff;color:var(--a-navy);display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--a-line);overflow:hidden}
.rca-tab-ic svg{width:21px;height:21px}
.rca-tab-ic img,.rca-big-ic img{width:70%;height:70%;object-fit:contain}
.rca .rca-tab.is-active{background:var(--a-navy);border-color:var(--a-navy);color:#fff;box-shadow:0 14px 30px -16px rgba(3,36,101,.9)}
.rca .rca-tab.is-active .rca-tab-ic{background:var(--a-gold);box-shadow:none}

.rca .rca-arrow{flex:none;appearance:none;margin:0;padding:0;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--a-line);background:#fff;color:var(--a-navy);
  display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 20px -14px rgba(3,36,101,.6);transform:none;transition:background .2s,color .2s,opacity .2s,border-color .2s;font:inherit;line-height:1}
.rca .rca-arrow svg{width:20px;height:20px}
.rca .rca-arrow:hover:not(:disabled){background:var(--a-navy);border-color:var(--a-navy);color:var(--a-gold)}
.rca .rca-arrow:focus-visible{outline:3px solid var(--a-gold);outline-offset:2px}
.rca .rca-arrow:disabled{opacity:.3;cursor:default;box-shadow:none}
.rca-tabs.no-scroll .rca-arrow{display:none}

/* ---------- panel ---------- */
.rca-panel{border-radius:30px;background:#fff;box-shadow:0 40px 90px -40px rgba(3,36,101,.45),0 0 0 1px rgba(3,36,101,.07);overflow:hidden}
.rca-panel-in{display:flex;flex-wrap:wrap}
.rca-info{flex:1 1 320px;padding:44px 42px;background:var(--a-navy);color:#fff;position:relative;overflow:hidden}
.rca-info::after{content:"";position:absolute;right:-80px;bottom:-80px;width:240px;height:240px;border-radius:50%;border:40px solid rgba(250,216,11,.12);pointer-events:none}
.rca-count{font-size:12px;font-weight:900;letter-spacing:2.2px;color:var(--a-gold);margin:0 0 18px;display:flex;align-items:center;gap:12px}
.rca-count::after{content:"";width:40px;height:2px;background:var(--a-gold)}
.rca-big-ic{width:64px;height:64px;border-radius:20px;background:var(--a-gold);color:var(--a-navy);display:grid;place-items:center;margin-bottom:20px;overflow:hidden}
.rca-big-ic svg{width:32px;height:32px}
.rca .rca-h{margin:0 0 16px;font-size:clamp(28px,3.6vw,46px);line-height:.95;font-weight:900;letter-spacing:-.045em;text-transform:uppercase;color:#fff;overflow-wrap:break-word}
.rca-desc{position:relative;z-index:1;font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.86)}
.rca-desc p{margin:0 0 10px;color:inherit}.rca-desc p:last-child{margin:0}
.rca-nophotos .rca-info{flex-basis:100%}

.rca-photos{flex:1.45 1 420px;padding:24px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,minmax(140px,1fr));gap:12px;background:#fff}
.rca .rca-ph{appearance:none;font:inherit;border:0;padding:0;margin:0;cursor:zoom-in;position:relative;border-radius:18px;overflow:hidden;background:var(--a-paper);min-height:0;box-shadow:none;transform:none}
.rca-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.rca-ph:hover img{transform:scale(1.06)}
.rca .rca-ph:focus-visible{outline:3px solid var(--a-gold);outline-offset:3px}
.rca-ph:first-child{grid-column:span 2;grid-row:span 2}
.rca-photos:has(> .rca-ph:nth-child(1):last-child){grid-template-columns:1fr;grid-template-rows:minmax(300px,1fr)}
.rca-photos:has(> .rca-ph:nth-child(1):last-child) .rca-ph{grid-column:auto;grid-row:auto}
.rca-photos:has(> .rca-ph:nth-child(2):last-child),.rca-photos:has(> .rca-ph:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
.rca-photos:has(> .rca-ph:nth-child(2):last-child) .rca-ph:nth-child(2){grid-row:span 2}
.rca-more{position:absolute;inset:0;background:rgba(3,36,101,.72);color:#fff;display:grid;place-content:center;text-align:center;font-size:26px;font-weight:900;letter-spacing:-.02em;z-index:1}
.rca-more small{display:block;font-size:11px;letter-spacing:1.6px;font-weight:800;text-transform:uppercase;color:var(--a-gold);margin-top:2px}

/* ---------- previous / next ---------- */
.rca-pager{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.rca .rca-pg{display:flex;flex-direction:column;gap:4px;padding:14px 20px;border-radius:18px;background:var(--a-paper);color:var(--a-ink);max-width:48%;transition:background .2s,box-shadow .2s}
.rca .rca-pg:hover{background:#fff;box-shadow:0 12px 30px -18px rgba(3,36,101,.55),0 0 0 1px var(--a-line)}
.rca .rca-pg:focus-visible{outline:3px solid var(--a-gold);outline-offset:2px}
.rca-pg-next{text-align:right;margin-left:auto}
.rca-pg-k{font-size:10.5px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;color:var(--a-red)}
.rca-pg-t{font-size:15px;font-weight:800;color:var(--a-ink)}

/* ---------- lightbox (appended to <body>) ---------- */
.rca-lb{--a-navy:#032465;--a-gold:#FAD80B;position:fixed;inset:0;z-index:999999;background:rgba(4,12,40,.96);display:none;flex-direction:column;align-items:center;justify-content:center;
  padding:72px 84px 92px;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.rca-lb.open{display:flex;animation:rcaFade .2s ease}
@keyframes rcaFade{from{opacity:0}to{opacity:1}}
.rca-lb img{max-width:100%;max-height:100%;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.5);user-select:none;-webkit-user-drag:none;background:#0b1a4a}
.rca-lb-top{position:absolute;top:18px;left:24px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.rca-lb-title{font-size:12px;font-weight:900;letter-spacing:2.2px;text-transform:uppercase;color:var(--a-gold)}
.rca-lb-cap{position:absolute;bottom:28px;left:84px;right:84px;margin:0;text-align:center;color:rgba(255,255,255,.85);font-size:14px;font-weight:600}
.rca-lb-cap b{color:#fff;margin-right:10px}
.rca-lb .rca-btn{appearance:none;border:0;padding:0;margin:0;cursor:pointer;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;transition:background .2s,color .2s;box-shadow:none}
.rca-lb .rca-btn:hover{background:var(--a-gold);color:var(--a-navy)}
.rca-lb .rca-btn:focus-visible{outline:3px solid var(--a-gold);outline-offset:2px}
.rca-lb .rca-btn svg{width:22px;height:22px}
.rca-lb .rca-prev,.rca-lb .rca-next{position:absolute;top:50%;transform:translateY(-50%)}
.rca-lb .rca-prev{left:18px}.rca-lb .rca-next{right:18px}
.rca-lb.single .rca-prev,.rca-lb.single .rca-next{display:none}
html.rca-lock{overflow:hidden}

/* Themes that keep page text in a narrow reading column (e.g. RACE theme .race-classic__content = 820px):
   let the Activities section use the full content width instead. */
.race-classic__content:has(> .rca),.entry-content:has(> .rca),.page-content:has(> .rca),.post-content:has(> .rca),
.wp-block-post-content:has(> .rca){max-width:none!important;width:100%}
.is-layout-constrained > .rca{max-width:var(--wp--style--global--wide-size,1240px)!important}

/* Elementor: make sure the widget wrapper gives the section full width */
.elementor-widget:has(.rca),.elementor-shortcode:has(.rca),.elementor-widget-container:has(.rca){width:100%;max-width:100%;min-width:0;flex-grow:1}

@media (max-width:900px){.rca-info{padding:34px 30px}}
@media (max-width:640px){
  .rca{padding:0 0 20px}
  .rca-tabs{gap:6px;margin-bottom:18px}
  .rca .rca-arrow{width:36px;height:36px}.rca .rca-arrow svg{width:17px;height:17px}
  .rca-track{gap:8px}
  .rca .rca-tab{height:46px;padding:0 14px 0 5px;gap:8px;font-size:13px}
  .rca-tab-ic{width:34px;height:34px}.rca-tab-ic svg{width:18px;height:18px}
  .rca-panel{border-radius:24px}
  .rca-info{padding:28px 22px}
  .rca-big-ic{width:54px;height:54px;border-radius:16px}.rca-big-ic svg{width:27px;height:27px}
  .rca-photos{flex-basis:100%;padding:12px;gap:8px;grid-template-columns:repeat(2,1fr);grid-template-rows:none;grid-auto-rows:120px}
  .rca .rca-ph{border-radius:14px}
  .rca-photos:has(> .rca-ph:nth-child(1):last-child){grid-template-rows:none;grid-auto-rows:240px}
  .rca-photos:has(> .rca-ph:nth-child(2):last-child),.rca-photos:has(> .rca-ph:nth-child(3):last-child){grid-template-columns:repeat(2,1fr)}
  .rca .rca-pg{padding:12px 14px;border-radius:14px}
  .rca-pg-t{font-size:13.5px}
  .rca-lb{padding:64px 10px 88px}
  .rca-lb .rca-prev,.rca-lb .rca-next{top:auto;bottom:16px;transform:none;width:48px;height:48px}
  .rca-lb .rca-prev{left:14px}.rca-lb .rca-next{right:14px}
  .rca-lb-cap{bottom:30px;left:72px;right:72px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){.rca *,.rca-lb{animation:none!important;transition:none!important}.rca-track{scroll-behavior:auto}}
