/* AlbaCore 1.0.21 — scoped responsive race presentations */
.alba121-events{display:grid;gap:24px;grid-template-columns:minmax(0,1fr);max-width:1380px;margin-inline:auto}
.alba121-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.alba121-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.alba121-card{min-width:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);border:3px solid #263a33;border-radius:16px;background:#f4f2eb;box-shadow:0 12px 36px #0d242117;color:#1d302c}
.alba121-race-image{min-height:450px;padding:24px;display:flex;flex-direction:column;gap:20px;position:relative;isolation:isolate;background-color:#2a4037;background-image:linear-gradient(145deg,#122b28e8,#332f2780),var(--alba121-image);background-position:center;background-size:cover;color:#fff}
.alba121-race-image:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#112521cb,transparent 65%)}
.alba121-overline{font-size:11px;letter-spacing:.18em;font-weight:900;color:#e6f1ed}
.alba121-state{display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1.35;font-weight:900;border-radius:30px;padding:9px 14px;border:1px solid #ffffff55;box-shadow:0 2px 9px #0002;max-width:100%;text-align:center;background:#29383d;color:#fff}
.alba121-race-image>.alba121-state{position:absolute;top:19px;right:20px;max-width:60%}
.alba121-state-upcoming{background:#e39c22;color:#231a0b}.alba121-state-open{background:#0d9857;color:#fff}.alba121-state-closed{background:#ca1524;color:#fff}.alba121-state-full{background:#800e22;color:#fff}.alba121-state-unavailable{background:#394d60;color:#fff}
.alba121-event-description{margin-top:auto}.alba121-event-description h2{color:#fff!important;font-size:clamp(24px,3vw,42px);line-height:1.04;margin:0 0 20px;text-transform:uppercase;letter-spacing:-.035em;overflow-wrap:anywhere}.alba121-event-description p{font-size:14px;line-height:1.5;color:#f5faf9;margin:6px 0}.alba121-event-description a{color:#f6fff9!important;text-decoration:underline;text-underline-offset:3px}
.alba121-event-races{min-width:0;padding:20px 21px;display:flex;flex-direction:column;justify-content:center;gap:12px}.alba121-races-header{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;letter-spacing:.13em;font-weight:900;color:#506159;margin-bottom:4px}.alba121-races-header strong{color:#9f542e}
.alba121-race-line{display:grid;grid-template-columns:minmax(110px,1fr) 34px minmax(140px,.8fr) minmax(110px,.65fr);gap:10px;align-items:center;border-bottom:1px solid #dadbd3;padding:9px 0}
.alba121-race-line:last-of-type{border-bottom:0}.alba121-mini{min-height:64px;border-radius:7px;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:10px 11px;color:#fff!important;background:#20352f;background-position:center;background-size:cover}.alba121-mini>b{font-size:13px;color:#fff;line-height:1.25}.alba121-mini-stats{display:flex;flex-wrap:wrap;gap:4px 9px;font-size:11px}.alba121-mini-stats span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.alba121-mini-stats svg{width:15px!important;height:15px!important;min-width:15px!important;max-width:15px!important;min-height:15px!important;max-height:15px!important;display:inline-block!important;fill:none!important;stroke:currentColor!important}
.alba121-info-btn{display:inline-grid;place-items:center;border:2px solid #18658d;border-radius:50%;width:30px;height:30px;min-width:30px;font-weight:900;font-size:14px;background:#fff;color:#135e84;cursor:pointer;padding:0;transition:background .15s,color .15s}.alba121-info-btn:hover,.alba121-info-btn:focus-visible{background:#185b7f;color:#fff;outline-offset:3px}
.alba121-row-actions{display:flex;flex-direction:column;gap:5px}.alba121-action{display:inline-flex;align-items:center;justify-content:center;padding:10px 11px;border:0;border-radius:5px;text-decoration:none!important;text-align:center;font-weight:800;font-size:12px;line-height:1.35;transition:filter .15s;min-width:0}.alba121-action:hover{filter:brightness(.9)}.alba121-action-primary{background:#e4774c;color:#14261d!important}.alba121-action-register{background:#126c91;color:#fff!important}
.alba121-availability{text-align:right;display:flex;flex-direction:column;gap:5px;line-height:1.35}.alba121-availability strong{font-size:14px;white-space:nowrap}.alba121-availability small{font-size:11px;color:#576963}
/* When several events are in columns, prioritize readable full-width rows inside each card. */
.alba121-cols-2 .alba121-card,.alba121-cols-3 .alba121-card{grid-template-columns:1fr}.alba121-cols-2 .alba121-race-image,.alba121-cols-3 .alba121-race-image{min-height:230px}.alba121-cols-2 .alba121-event-description h2,.alba121-cols-3 .alba121-event-description h2{font-size:26px}
.alba121-cols-2 .alba121-race-line,.alba121-cols-3 .alba121-race-line{grid-template-columns:minmax(90px,1fr) 32px minmax(110px,.9fr);gap:8px}.alba121-cols-2 .alba121-availability,.alba121-cols-3 .alba121-availability{grid-column:1/-1;flex-direction:row;justify-content:space-between;text-align:left;padding-bottom:7px}
/* Separate 1:1 highlight: compact single selected distance and distance tabs */
.alba121-square{aspect-ratio:1/1;min-height:650px;max-width:920px;margin-inline:auto;grid-template-columns:44% 56%}.alba121-square .alba121-race-image{min-height:0}.alba121-square .alba121-event-description h2{font-size:clamp(22px,2.5vw,38px)}.alba121-square .alba121-event-races{justify-content:flex-start;gap:15px;padding:20px}
.alba121-square-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.alba121-square-tab{border:1px solid #c9cfc8;border-radius:4px;background:#e6e7df;color:#536057;font-size:clamp(17px,2vw,25px);font-weight:900;min-width:0;padding:10px 4px;cursor:pointer}.alba121-square-tab small{font-size:9px}.alba121-square-tab.is-selected{background:#22362d;color:#fff;border-bottom:3px solid #ed784e}
.alba121-square-main{min-width:0}.alba121-square-main h3{font-size:clamp(22px,3vw,37px);font-weight:900;margin:4px 0 10px;color:#172b25}.alba121-square-main p{color:#52615a;line-height:1.5;margin:12px 0}.alba121-square-stats{display:flex;gap:16px;padding:14px 0;border-top:1px solid #d6d9d1;border-bottom:1px solid #d6d9d1}.alba121-square-stats span{display:inline-flex;align-items:center;gap:6px;font-size:14px}.alba121-square-stats svg{width:17px!important;height:17px!important;min-width:17px!important;max-width:17px!important;stroke:currentColor}.alba121-square-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.alba121-square-buttons a{flex:1}.alba121-square-buttons a[hidden]{display:none}
/* Product hero directly replacing the gallery, independent from the checkout column */
.alba115-gallery .alba121-product-hero{width:100%}.alba121-product-hero{min-height:370px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:24px;box-sizing:border-box;border-radius:14px;overflow:hidden;background-color:#213a33;background-size:cover;background-position:center;color:#fff;text-shadow:0 1px 3px #0008}
.alba121-product-head{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}.alba121-product-head small{font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#fff}.alba121-product-head .alba121-state{flex:0 0 auto;max-width:65%;text-shadow:none}
.alba121-product-bottom h2{color:#fff!important;font-size:clamp(23px,3vw,42px);line-height:1.1;overflow-wrap:anywhere}.alba121-product-bottom p{color:#fff;font-size:15px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.alba121-product-chips{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.alba121-product-chips>span{background:#102c2bc9;border:1px solid #ffffff55;border-radius:7px;padding:9px 12px;display:inline-flex;gap:7px;align-items:center;font-size:13px}.alba121-product-hero svg{display:inline-block!important;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important;stroke:currentColor;fill:none}
/* GF: render true links, not the default scrollable consent-description box. */
.gfield.albacore-106-rules .gfield_consent_description,.gfield.albacore-106-privacy .gfield_consent_description{display:none!important}.alba121-consent-link{margin:8px 0 13px;line-height:1.5}.alba121-consent-link a{color:#0876b1!important;font-weight:700;text-decoration:underline!important;text-underline-offset:3px}
/* CSS limits theme SVG overrides to this module */
.alba121-card svg,.alba121-dialog svg{width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important;flex:0 0 17px;stroke:currentColor;fill:none;display:inline-block!important}
.alba121-dialog{max-width:min(540px,calc(100vw - 32px));width:100%;box-sizing:border-box;border:1px solid #d7dfdb;border-radius:14px;padding:26px;color:#172d28;background:#fff;box-shadow:0 28px 90px #12252166;position:fixed;max-height:85vh;overflow-y:auto}.alba121-dialog::backdrop{background:#102d2bc0}.alba121-dialog:not([open]){display:none}.alba121-dialog-head{display:flex;gap:16px;align-items:start;justify-content:space-between}.alba121-dialog-head small{font-size:10px;font-weight:900;letter-spacing:.13em;color:#6e7b73}.alba121-dialog-head h3{font-size:24px;margin:8px 0 15px;color:#152c26}.alba121-dialog-close{background:#eff3f0;border:0;border-radius:50%;width:36px;height:36px;cursor:pointer;font-size:26px;line-height:1}.alba121-dialog dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.alba121-dialog dl div{border:1px solid #e1e6e1;padding:9px 12px;border-radius:7px}.alba121-dialog dt{font-size:11px;color:#66766e}.alba121-dialog dd{margin:3px 0 0;font-weight:800}.alba121-dialog p{line-height:1.6}
/* Global state accents for existing AlbaCore views without affecting other Woo products */
.alba108-state-upcoming{background:#ffd889!important;color:#563200!important}.alba108-state-open{background:#128a55!important;color:#fff!important}.alba108-state-closed{background:#c81726!important;color:#fff!important}.alba108-state-full{background:#800e22!important;color:#fff!important}.alba108-state-unavailable{background:#3c5061!important;color:#fff!important}
@media(max-width:1450px){.alba121-overview .alba121-race-line{grid-template-columns:minmax(105px,1fr) 32px minmax(130px,.9fr);gap:8px}.alba121-overview .alba121-availability{grid-column:1/-1;flex-direction:row;justify-content:space-between;gap:10px;text-align:left}.alba121-cols-2 .alba121-race-line{grid-template-columns:minmax(110px,1fr) 32px minmax(130px,1fr)}.alba121-square{min-height:650px}}
@media(max-width:1100px){.alba121-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.alba121-card{grid-template-columns:1fr}.alba121-race-image{min-height:290px}.alba121-square{max-width:800px;grid-template-columns:42% 58%}.alba121-square .alba121-race-image{min-height:320px}}
@media(max-width:780px){.alba121-events.alba121-cols-2,.alba121-events.alba121-cols-3{grid-template-columns:1fr}.alba121-card,.alba121-square{grid-template-columns:1fr;aspect-ratio:auto;min-height:0}.alba121-race-image{min-height:250px;padding:22px}.alba121-square .alba121-race-image{min-height:240px}.alba121-race-line,.alba121-overview .alba121-race-line,.alba121-cols-2 .alba121-race-line,.alba121-cols-3 .alba121-race-line{grid-template-columns:minmax(0,1fr) 34px;gap:8px;padding:12px 0}.alba121-mini{min-height:70px}.alba121-info-btn{justify-self:end}.alba121-row-actions{grid-column:1/-1;flex-direction:row}.alba121-row-actions .alba121-action{flex:1}.alba121-availability,.alba121-overview .alba121-availability,.alba121-cols-2 .alba121-availability,.alba121-cols-3 .alba121-availability{grid-column:1/-1;display:flex;flex-direction:row;justify-content:space-between;text-align:left;align-items:center;padding:0}.alba121-race-image>.alba121-state{top:54px;left:20px;right:auto;max-width:75%}}
@media(max-width:470px){.alba121-event-races{padding:17px 14px}.alba121-mini-stats{font-size:11px}.alba121-row-actions{flex-wrap:wrap}.alba121-row-actions .alba121-action{flex:1 1 100%}.alba121-dialog{padding:18px}.alba121-dialog dl{grid-template-columns:1fr}.alba121-product-hero{min-height:370px;padding:18px}.alba121-product-bottom h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.alba121-action,.alba121-info-btn{transition:none}}

.alba121-cols-2 .alba121-square,.alba121-cols-3 .alba121-square{grid-template-columns:44% 56%}
@media(max-width:780px){.alba121-cols-2 .alba121-square,.alba121-cols-3 .alba121-square{grid-template-columns:1fr}}

.alba121-square-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.alba121-square-head h3{flex:1;min-width:0}

/* Badge dimensions approved for desktop; compact sizes on narrow screens. */
@media(min-width:1025px){.single-product .alba110-badge{left:clamp(6px,1vw,8px);top:15px}.alba110-badge{border-radius:30px;padding:9px 13px;background:#cd0d16a8;color:#fff;font-size:14px;letter-spacing:.03em;font-weight:800;box-shadow:0 3px 12px #0002;border:2px solid #fff;pointer-events:none}}
@media(max-width:1024px){.single-product .alba110-badge{left:9px;top:10px}.alba110-badge{font-size:12px;border:2px solid #fff;padding:6px 10px}}
@media(max-width:767px){.single-product .alba110-badge{left:8px;top:8px}.alba110-badge{font-size:11px;padding:5px 9px}}
.alba121-woo-detail{display:block!important;text-align:center;background:#cd2a2a!important;color:#fff!important;min-height:38px;padding:10px 14px!important;text-transform:uppercase;font-weight:800;text-decoration:none!important}

.alba115-list>header>.alba121-state{color:#fff;font-size:12px;border-radius:30px;padding:9px 14px}
.alba115-list>header>.alba121-state-upcoming{background:#e39c22;color:#231a0b}
.alba115-list>header>.alba121-state-open{background:#0d9857;color:#fff}
.alba115-list>header>.alba121-state-closed{background:#ca1524;color:#fff}
.alba115-list>header>.alba121-state-full{background:#800e22;color:#fff}
.alba115-list>header>.alba121-state-unavailable{background:#394d60;color:#fff}

/* AlbaCore 1.0.22 – restored framed split (not the separate detailed cards layout).
   The main image remains only on the left; compact distance rows on the right have no thumbnails. */
.alba122-series{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;max-width:1360px;margin-inline:auto;container-type:inline-size}
.alba122-series .alba122-framed{display:grid;grid-template-columns:minmax(0,41%) minmax(0,59%);border:3px solid #243b33;border-radius:17px;overflow:hidden;min-width:0;background:#f5f3ed;box-shadow:0 17px 48px rgba(12,37,30,.16)}
.alba122-framed .alba121-race-image{height:100%;min-height:440px}
.alba122-framed .alba121-event-races{justify-content:center;gap:13px;padding:clamp(17px,2.5vw,31px);background:#f5f3ed}
.alba122-framed .alba121-races-header{padding:0 5px 4px;margin-bottom:5px}
.alba122-race-item{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(94px,auto) minmax(97px,auto);gap:10px;align-items:center;padding:14px 12px;background:#fffefa;border:1px solid #d4dbd4;border-radius:12px;box-shadow:inset 4px 0 0 #cbd7ca,0 2px 9px rgba(26,51,44,.04);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;min-width:0}
.alba122-race-item:hover,.alba122-race-item:focus-within{border-color:#d88b61;box-shadow:inset 4px 0 0 #e4774c,0 6px 22px rgba(26,51,44,.12)}
.alba122-race-info{min-width:0}
.alba122-race-title{color:#1b332a;font-size:clamp(13px,1.2vw,16px);font-weight:850;line-height:1.25;overflow-wrap:break-word}
.alba122-race-meta{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:7px;color:#54675d;font-size:12px}
.alba122-race-meta>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.alba122-framed .alba121-info-btn{width:34px;height:34px;min-width:34px;border:1px solid #cddad3;background:#edf4f1;color:#1b514b;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;padding:0;cursor:pointer;justify-self:center}
.alba122-framed .alba121-info-btn svg,.alba121-info-btn svg{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;display:inline-block!important}
.alba122-framed .alba121-info-btn:is(:hover,:focus-visible){background:#1b514b;color:#fff;border-color:#1b514b}
.alba122-race-cost{min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-end;text-align:right}
.alba122-race-cost strong{font-size:13px;color:#24382f;white-space:nowrap}
.alba122-race-cost small{font-size:10px;line-height:1.4;color:#607269;max-width:148px}
.alba122-race-actions{display:flex;flex-direction:column;gap:6px;align-self:stretch;justify-content:center}
.alba122-race-actions .alba121-action{font-size:11px;min-height:37px;padding:8px 10px;white-space:normal;border-radius:6px}
.alba122-race-actions .alba121-action-register{background:#137e53;color:#fff!important}
.alba121-quick-description{padding-top:6px;border-top:1px solid #e2e8e4;margin-top:14px}
.alba121-quick-description h4{font-size:15px;color:#1b332a;margin:8px 0}
.alba121-quick-description p{white-space:pre-line}
/* The entire split must remain usable even when WPBakery uses a narrow content column. */
@container (max-width:1040px){
  .alba122-series .alba122-framed{grid-template-columns:minmax(0,1fr)}
  .alba122-framed .alba121-race-image{min-height:260px;height:auto}
  .alba122-framed .alba121-event-races{padding:18px}
}
@container (max-width:640px){
  .alba122-race-item{grid-template-columns:minmax(0,1fr) 36px minmax(88px,auto);gap:7px;padding:12px}
  .alba122-race-cost{grid-column:3;grid-row:1}
  .alba122-race-actions{grid-column:1/-1;flex-direction:row;justify-content:stretch}
  .alba122-race-actions .alba121-action{flex:1}
  .alba122-framed .alba121-info-btn{grid-column:2;grid-row:1}
  .alba122-framed .alba121-event-description h2{font-size:clamp(24px,7vw,35px)}
}
@container (max-width:380px){
  .alba122-race-item{grid-template-columns:minmax(0,1fr) 36px}
  .alba122-race-cost{grid-column:1/-1;grid-row:auto;align-items:flex-start;text-align:left}
  .alba122-race-actions{grid-column:1/-1}
}
@media(max-width:1040px){
  /* Fallback for browsers without CSS container queries. */
  .alba122-series .alba122-framed{grid-template-columns:minmax(0,1fr)}
  .alba122-framed .alba121-race-image{min-height:250px;height:auto}
}
@media(prefers-reduced-motion:reduce){.alba122-race-item{transition:none}}
