.plan-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-left:auto}.plan-create{display:inline-flex;align-items:center;gap:7px;background:#C7EF45;color:#244B63;border:1px solid #b7db3c;border-radius:9px;padding:10px 14px;min-height:44px;font:600 13px var(--font-ui);white-space:nowrap}.plan-create:hover{background:#bce536}.plan-tools button:focus-visible{outline:3px solid #91C9E8;outline-offset:3px}#planes .section-head{gap:16px;flex-wrap:wrap}.mh-plans-slot .section-head{align-items:center}.mh-plans-slot .plan-tools{gap:8px}.mh-plans-slot .plan-create{font-size:12px}.activity-grid.plan-carousel,.mh-plans-slot .activity-grid.plan-carousel{display:flex;overflow-x:auto;gap:16px;padding:2px 2px 12px;scrollbar-width:thin;scrollbar-color:#91C9E8 transparent;overscroll-behavior-x:contain;direction:ltr}.plan-carousel>.activity{flex:0 0 calc((100% - 48px)/4);min-width:230px}.mh-plans-slot .plan-carousel>.activity{flex-basis:calc((100% - 16px)/2);min-width:240px}.plan-carousel .card-body{display:flex;flex-direction:column}.plan-carousel .organizer{margin-top:auto}.plan-carousel .card-action{margin-top:12px}@media(max-width:800px){.plan-tools{margin-left:0;width:100%;justify-content:flex-end}.plan-carousel>.activity,.mh-plans-slot .plan-carousel>.activity{flex-basis:85%;min-width:0}}
.plan-date-tools { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.plan-date-tools select, .plan-date-tools input { min-height:44px; min-width:0; padding:6px 10px; border:1px solid #244b6340; border-radius:9px; background:#fff; color:#244b63; font:650 12px var(--font-ui); }
.plan-date-tools :is(select,input):focus-visible { outline:2px solid #244b63; outline-offset:2px; }
.plan-date-tools #date-field { display:none; }
.plan-date-tools.is-exact #date-field:not([hidden]) { display:flex; }
.plan-tools > .plan-create[hidden] { display:none; }
@media(max-width:480px) { .plan-tools { justify-content:flex-start; } }

#results .activity-card-heading h3 {
 width:100%;
 text-align:center;
}
.activity-card-location, .activity-card-fees {
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
 gap:12px;
}
.activity-card-location {
 align-items:center;
}
.activity-card-fees {
 margin:12px 0 6px;
 font-size:11px;
 line-height:1.4;
}
.activity-card-fees > div + div { padding-left:10px; border-left:1px solid #244b6326; }
.activity-card-fees dt { font-weight:700; margin-bottom:3px; }
.activity-card-fees dd { margin:0; overflow-wrap:anywhere; }

#results > .activity.activity-style-court {
 background:#244b63;
 border-color:#244b63;
 color:#fff;
}
#results > .activity-style-court .card-body,
#results > .activity-style-court .activity-card-heading h3 {
 background:#244b63;
 color:#fff;
}
#results > .activity-style-court :is(.card-meta,.organizer,.activity-card-fees dd) {
 color:#e0edf4;
}
#results > .activity-style-court .activity-card-fees > div + div {
 border-left-color:#ffffff40;
}
#results > .activity-style-court .card-action:not(.activity-reserved-action) {
 background:transparent;
 border-color:#c7ef45;
 color:#fff;
}
#results > .activity-style-court .card-action:not(.activity-reserved-action):hover {
 background:#ffffff14;
}
#results > .activity-style-court .card-action:focus-visible {
 outline:2px solid #fff;
 outline-offset:3px;
}
#results > .activity-style-court .sport-tag {
 background:#244b63;
 color:#c7ef45;
}


/* The sport families share a content grid and differ in surface and cover treatment. */
#results > .activity-style-route {
 background:#e8f7ae;
 border-color:#c7df79;
}
#results > .activity-style-route .card-photo {
 border-bottom:3px solid #c7ef45;
}
#results > .activity-style-route .sport-tag {
 background:#c7ef45;
 color:#244b63;
}
#results > .activity-style-route .card-body {
 background:#e8f7ae;
}

#results > .activity-style-training {
 background:#edf6fa;
 border-color:#b9d6e5;
}
#results > .activity-style-training .card-body {
 background:#edf6fa;
}
#results > .activity-style-training .sport-tag {
 background:#244b63;
 color:#fff;
 border-radius:5px;
}

#results > .activity-style-wellness {
 background:#ede3d2;
 border-color:#d9cbb7;
}
#results > .activity-style-wellness .card-photo {
 padding:9px 9px 0;
}
#results > .activity-style-wellness .card-photo img {
 border-radius:14px;
}
#results > .activity-style-wellness .sport-tag {
 top:19px;
 left:19px;
 background:#fff;
 color:#244b63;
}
#results > .activity-style-wellness .card-body {
 background:#ede3d2;
}

#results > .activity-style-wellness .card-action {
 background:#fff5ed;
 border-color:#9e4d3b;
 color:#813b2d;
}
#results > .activity-style-wellness .card-action:hover {
 background:#f5dfd4;
}
#results > .activity-style-wellness .card-action.activity-reserved-action {
 background:#e6aa95;
 border-color:#a65744;
 color:#54271e;
}
#results > .activity-style-wellness .card-action.activity-reserved-action:hover {
 background:#dd9882;
}

#results > .activity-style-route .card-action {
 background:#f5fbdc;
 border-color:#63831b;
 color:#314600;
}
#results > .activity-style-route .card-action:hover {
 background:#e4f5a4;
}
#results > .activity-style-route .card-action.activity-reserved-action {
 background:#c7ef45;
 border-color:#63831b;
 color:#244b63;
}
#results > .activity-style-route .card-action.activity-reserved-action:hover {
 background:#b7de32;
}

#results .card-photo > .activity-orbita-link {
 position:absolute;
 top:13px;
 right:13px;
 max-width:48%;
 min-height:26px;
}
#results .activity-card-location :is(.activity-card-seats,.activity-card-timing) {
 display:inline-flex;
 align-items:center;
 gap:5px;
 margin-left:11px;
 min-width:0;
 color:inherit;
 font-weight:650;
}
#results .activity-card-location :is(.activity-card-seats,.activity-card-timing) .oi {
 width:16px;
 height:16px;
 vertical-align:middle;
 color:#244b63;
}
#results .activity-card-location :is(.activity-card-seats,.activity-card-timing) > span:first-child {
 flex:none;
}

/* Shared activity-card rhythm across all sport styles. */
#results > .activity .card-body {
 display:flex;
 flex-direction:column;
 flex:1;
 gap:14px;
 padding:clamp(13px,1.8vw,19px);
}
#results > .activity .activity-card-heading h3 {
 margin:0;
 line-height:1.3;
}
#results > .activity .card-meta {
 display:grid;
 gap:6px;
 margin:0;
 line-height:1.4;
}
#results > .activity .activity-card-location {
 min-height:20px;
}
#results > .activity .activity-card-fees {
 margin:0;
 padding-top:12px;
 border-top:1px solid #244b6326;
}
#results > .activity .card-action {
 min-height:42px;
 margin:auto 0 0;
}

#results .card-photo:has(> .activity-orbita-link) > .sport-tag {
 max-width:40%;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
#results .activity-style-wellness .card-photo > .activity-orbita-link {
 top:19px;
 right:19px;
}
#results > .activity-style-court .activity-card-fees { border-top-color:#ffffff40; }
#results > .activity-style-court .activity-card-location :is(.activity-card-seats,.activity-card-timing) .oi { color:#c7ef45; }
