/* Scoped public discovery. Uses the existing product fonts, palette and controls. */
.public-directory-root{min-width:0;margin-block:20px}
.public-directory-root .public-directory{--directory-bg:#14231b;--directory-raised:#21342a;--directory-line:#708776;--directory-text:#f3f6ed;--directory-muted:#c4d0c6;--directory-accent:#b7ff39;display:grid;gap:28px;min-width:0;padding:28px;border:1px solid var(--directory-line);border-radius:var(--bdr-radius-panel,12px);background:var(--directory-bg);color:var(--directory-text);font-family:var(--body,system-ui,sans-serif)}
.public-directory-root .public-directory *{box-sizing:border-box}
.public-directory-root .public-directory :is(h2,h3,h4,p,fieldset){margin:0;min-width:0;overflow-wrap:anywhere}
.public-directory-root .directory-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;padding:0;border:0;background:none}
.public-directory-root .directory-heading>div{display:grid;gap:12px;max-width:65ch}
.public-directory-root .directory-heading h2{color:var(--directory-text);font-family:var(--display,var(--body,system-ui,sans-serif));font-size:clamp(1.9rem,4vw,3rem);line-height:1.05}
.public-directory-root .directory-heading p{color:var(--directory-muted);font-size:15px;line-height:1.6}
.public-directory-root .directory-heading>svg{flex:0 0 32px;width:32px;height:32px;color:var(--directory-accent)}
.public-directory-root .directory-kicker{color:var(--directory-accent);font-size:12px;font-weight:750;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
.public-directory-root .directory-filters{display:grid;gap:20px;min-width:0;margin:0;padding:24px;border:1px solid var(--directory-line);border-radius:var(--bdr-radius-panel,12px);background:var(--directory-raised);color:var(--directory-text)}
.public-directory-root .directory-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,140px);gap:16px}
.public-directory-root .directory-location>label{display:grid;gap:8px;margin:0;color:var(--directory-text);font-size:14px;font-weight:650;line-height:1.4}
.public-directory-root .directory-location :is(input,select){display:block;width:100%;min-width:0;min-height:48px;margin:0;padding:12px 14px;border:1px solid #98ad9c;border-radius:var(--bdr-radius-control,8px);background:#14231b;color:var(--directory-text);font:500 16px/1.4 var(--body,system-ui,sans-serif);color-scheme:dark}
.public-directory-root .directory-location input::placeholder{color:#b3c3b6;opacity:1}
.public-directory-root .directory-location select{appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23f3f6ed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-size:14px;background-repeat:no-repeat}
.public-directory-root .directory-location option{background:#14231b;color:var(--directory-text)}
.public-directory-root .directory-choices{min-width:0;padding:0;border:0;background:none}
.public-directory-root .directory-choices legend{margin:0 0 10px;padding:0;color:var(--directory-text);font-size:14px;font-weight:650;line-height:1.4}
.public-directory-root .directory-choices>div{display:flex;flex-wrap:wrap;gap:8px}
.public-directory-root .directory-choices label{position:relative;display:inline-flex;margin:0;padding:0;min-width:0;color:var(--directory-text);cursor:pointer}
.public-directory-root .directory-choices input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.public-directory-root .directory-choices span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #94ab99;border-radius:var(--bdr-radius-control,8px);background:#14231b;color:var(--directory-text);font-size:14px;font-weight:600;line-height:1.4;transition:background-color 140ms ease,border-color 140ms ease}
.public-directory-root .directory-choices input:checked+span{border-color:var(--directory-accent);background:#b7ff39;color:#14200f}
.public-directory-root .directory-choices input:checked+span::before{content:'✓';margin-right:8px;font-weight:800}
.public-directory-root .directory-choices input:focus-visible+span{outline:2px solid var(--directory-accent);outline-offset:3px}
.public-directory-root .directory-hours{margin:0;padding:0;border:0;border-top:1px solid var(--directory-line);border-radius:0;background:none;color:var(--directory-text)}
.public-directory-root .directory-hours>summary{min-height:48px;padding:14px 0;color:var(--directory-text);font-size:14px;font-weight:650;line-height:1.5;cursor:pointer}
.public-directory-root .directory-hours>summary span{margin-left:8px;color:var(--directory-muted);font-size:12px;font-weight:400}
.public-directory-root .directory-hours>div{display:grid;gap:20px;padding-top:8px}
.public-directory-root .directory-filter-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.public-directory-root .public-directory :is(button,a){display:inline-flex;align-items:center;justify-content:center;gap:10px;justify-self:start;min-height:48px;min-width:44px;max-width:100%;margin:0;padding:12px 18px;border:1px solid #94ab99;border-radius:var(--bdr-radius-control,8px);background:var(--directory-raised);color:var(--directory-text);font:650 14px/1.4 var(--body,system-ui,sans-serif);text-decoration:none;text-align:center;white-space:normal;cursor:pointer;transition:background-color 140ms ease,border-color 140ms ease,transform 140ms ease}
.public-directory-root .public-directory :is(button,a)>svg{flex:0 0 20px;width:20px;height:20px}
.public-directory-root .directory-filter-actions button[type=submit]{border-color:var(--directory-accent);background:var(--directory-accent);color:#14200f}
.public-directory-root .directory-filter-actions button[type=button]{border-color:transparent;background:none;color:var(--directory-muted)}
.public-directory-root .public-directory button:disabled{border-color:#708776;background:#394b3e;color:#d4ded3;opacity:1;cursor:default}
.public-directory-root .directory-status{color:var(--directory-muted);font-size:14px;line-height:1.6}
.public-directory-root .directory-status:empty{display:none}
.public-directory-root .directory-status.is-error{padding-left:12px;border-left:3px solid #ffbf8d;color:#ffe6bd}
.public-directory-root .directory-results{display:grid;gap:16px;min-width:0}
.public-directory-root .directory-results>h3,.public-directory-root .directory-empty h3{color:var(--directory-text);font-size:1.35rem;line-height:1.3}
.public-directory-root .directory-applied,.public-directory-root .directory-count{color:var(--directory-muted);font-size:13px;line-height:1.6}
.public-directory-root .directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;min-width:0}
.public-directory-root .directory-card{display:flex;flex-direction:column;min-width:0;margin:0;padding:0;overflow:hidden;border:1px solid var(--directory-line);border-radius:var(--bdr-radius-panel,12px);background:var(--directory-raised);color:var(--directory-text)}
.public-directory-root .directory-card-art{position:relative;isolation:isolate;flex:0 0 auto;aspect-ratio:2/1;min-width:0;overflow:hidden;border-bottom:1px solid var(--directory-line);background:linear-gradient(145deg,#375040,#172a1f)}
.public-directory-root .directory-card-art::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(transparent 35%,#122118b3);pointer-events:none}
.public-directory-root .directory-cover{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 180ms ease}
.public-directory-root .directory-crest{position:absolute;left:16px;bottom:12px;z-index:1;display:grid;place-items:center;width:56px;height:56px;overflow:hidden;padding:5px;border:1px solid #9aae9d;border-radius:var(--bdr-radius-control,8px);background:#122118;color:var(--directory-accent);font-size:22px;font-weight:800}
.public-directory-root .directory-crest img{display:block;width:100%;height:100%;object-fit:contain}
.public-directory-root .directory-card img[hidden]{display:none}
.public-directory-root .directory-card-copy{display:flex;flex-direction:column;gap:12px;flex:1;min-width:0;padding:20px}
.public-directory-root .directory-sport{color:var(--directory-accent);font-size:11px;font-weight:750;line-height:1.5;letter-spacing:.04em;text-transform:uppercase}
.public-directory-root .directory-card h4{color:var(--directory-text);font-family:var(--display,var(--body,system-ui,sans-serif));font-size:1.65rem;line-height:1.1}
.public-directory-root .directory-city{display:flex;align-items:start;gap:8px;color:var(--directory-text);font-size:14px;line-height:1.5}
.public-directory-root .directory-city>svg{flex:0 0 17px;width:17px;height:20px}
.public-directory-root .directory-schedule{color:var(--directory-muted);font-size:13px;line-height:1.6}
.public-directory-root .directory-request-state{display:block;margin-top:auto;color:var(--directory-muted);font-size:12px;font-weight:600;line-height:1.6}
.public-directory-root .directory-request-state.is-open{color:#d2f7b2}
.public-directory-root .directory-card a{align-self:stretch;justify-content:space-between;min-width:0;border-color:#94ab99;background:#14231b;color:var(--directory-text)}
.public-directory-root .directory-empty{display:grid;gap:16px;padding:24px;border:1px dashed var(--directory-line);border-radius:var(--bdr-radius-panel,12px);background:var(--directory-raised);color:var(--directory-text)}
.public-directory-root .directory-empty p{color:var(--directory-muted);font-size:14px;line-height:1.6}
.public-directory-root .directory-privacy{padding-top:20px;border-top:1px solid var(--directory-line);color:var(--directory-muted);font-size:12px;line-height:1.6}
.public-directory-root .public-directory :is(button,a,input,select,summary,[tabindex]):focus-visible{outline:2px solid var(--directory-accent);outline-offset:3px}
@media(hover:hover){.public-directory-root .public-directory :is(button,a):not(:disabled):hover{border-color:var(--directory-accent);background:#314d3a}.public-directory-root .directory-filter-actions button[type=submit]:not(:disabled):hover{background:#ccff79;color:#14200f}.public-directory-root .directory-card:has(a:hover) .directory-cover{transform:scale(1.025)}}
.public-directory-root .public-directory button:not(:disabled):active{transform:translateY(1px)}
@media(max-width:1000px){.public-directory-root .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.public-directory-root .public-directory{gap:24px;padding:16px}.public-directory-root .directory-filters{padding:16px;gap:20px}.public-directory-root .directory-heading{gap:12px}.public-directory-root .directory-heading>svg{display:none}.public-directory-root .directory-grid{grid-template-columns:minmax(0,1fr);gap:16px}.public-directory-root .directory-filter-actions{align-items:stretch;flex-direction:column}.public-directory-root .directory-filter-actions button{width:100%}.public-directory-root .directory-card-art{aspect-ratio:2.3/1}.public-directory-root .directory-card-copy{padding:20px}.public-directory-root .directory-empty{padding:20px}}
@media(prefers-reduced-motion:reduce){.public-directory-root .public-directory :is(button,a),.public-directory-root .directory-cover,.public-directory-root .directory-choices span{transition:none}.public-directory-root .public-directory button:not(:disabled):active{transform:none}.public-directory-root .directory-card:has(a:hover) .directory-cover{transform:none}}

/* The product shell and horizontal logo are reused for anonymous discovery. */
#publicDirectoryScreen[hidden]{display:none!important}
#publicDirectoryScreen{max-width:1240px;margin-inline:auto;padding:24px}
#publicDirectoryScreen #publicDirectoryScreenTitle{margin-block:24px 8px;color:#f3f6ed;font-family:var(--display,"Barlow Condensed",sans-serif);font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}
/* Discovery follows the entry action; photo and panel contexts need separate contrast. */
#loginScreen #loginForm > .login-directory-link{order:14;margin-block:16px 0;text-align:center}
#loginScreen #loginForm .login-directory-link a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:var(--radius-control,8px);color:#264b38;background:transparent;font-weight:650;text-decoration:underline;text-underline-offset:4px}
body.organization-ui.matchday-ui.street-ui #loginScreen #loginForm:is(.is-entry-choice-only,.is-account-setup-done) .login-directory-link a{color:#eef5e9;background:#17271f;border-color:#718471}
#loginScreen #loginForm .login-directory-link a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:680px){#publicDirectoryScreen{padding:16px}}

@media(max-width:600px){.public-directory-root .directory-location{grid-template-columns:minmax(0,1fr) 80px}.public-directory-root .directory-location select{padding-left:10px;padding-right:30px;background-position:right 9px center}}
