/* Shared reader-facing cards, routes and document catalog. */
.page-content :is(.editorial-grid,.r-object-grid,.fc-club-grid,.fc-proposal-grid){gap:24px;align-items:stretch}
.page-content :is(.editorial-grid,.r-object-grid,.fc-club-grid,.fc-proposal-grid)>:is(article,div){
 --card-accent:#3548d4;--card-surface:#eef2ff;
 min-width:0;padding:26px!important;border:1px solid #d3dbea!important;border-top:5px solid var(--card-accent)!important;
 border-radius:20px!important;background:var(--card-surface)!important;box-shadow:0 8px 24px #20284e08;
 display:flex;flex-direction:column;gap:0;
}
.page-content :is(.editorial-grid,.r-object-grid,.fc-club-grid,.fc-proposal-grid)>:nth-child(3n+2){--card-accent:#21776a;--card-surface:#eaf5ef}
.page-content :is(.editorial-grid,.r-object-grid,.fc-club-grid,.fc-proposal-grid)>:nth-child(3n){--card-accent:#8c5b18;--card-surface:#fff4e1}
.page-content :is(.editorial-grid,.r-object-grid,.fc-club-grid,.fc-proposal-grid)>:is(article,div)>h3{margin:4px 0 14px;font-family:inherit;font-size:1.35rem;line-height:1.35;font-weight:750;letter-spacing:-.02em;color:#24252b}
.page-content :is(.editorial-grid,.r-object-grid,.fc-club-grid,.fc-proposal-grid)>:is(article,div)>p{font-size:1rem;line-height:1.65;margin:0 0 16px;max-width:100%}
.page-content :is(.editorial-grid,.r-object-grid,.fc-club-grid,.fc-proposal-grid)>:is(article,div)>a{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;margin-top:auto;padding:9px 13px;background:#fff;border:1px solid #bac7dd;border-radius:10px;color:var(--card-accent);font-weight:700;text-decoration:none;line-height:1.4}
.page-content :is(.editorial-grid,.r-object-grid,.fc-club-grid,.fc-proposal-grid)>:is(article,div)>a:hover{background:var(--card-accent);color:white;border-color:var(--card-accent)}
.page-content .editorial-grid details{margin-top:auto;padding:12px 0 0;border-top:1px solid #c5cfdf}
.page-content .editorial-grid details summary{font-size:.95rem;line-height:1.5}
.admission-checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.admission-checklist-grid>article{min-height:200px}
.page-content :is(.fc-club-grid,.fc-proposal-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0}
.food-clubs-page-update .fc-club-card dl{margin:0 0 18px}
.food-clubs-page-update .fc-club-card dl>div{padding:10px 0;border-bottom:1px solid #cbd6e4}
.food-clubs-page-update .fc-club-card dt{font-size:.8rem;color:#555764}
.food-clubs-page-update .fc-club-card dd{margin:3px 0 0;font-size:1rem}
.food-clubs-page-update .fc-club-card .fc-eyebrow{font-size:.8rem;font-weight:750;letter-spacing:.04em;color:var(--card-accent);margin-bottom:12px}
.fc-status{display:none}
.page-content #quick-route{margin:8px 0 42px;padding:28px;background:#edf1fa;border:1px solid #d3dcec;border-radius:24px}
.page-content #quick-route>h2{font-size:1.55rem;margin:8px 0 24px;line-height:1.3}
.page-content #quick-route>h2:before{display:none}
.page-content .visual-flow{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.page-content .visual-flow>li{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:24px;border:1px solid #ced8eb;border-radius:18px;background:#fff;box-shadow:0 4px 14px #3548d407;min-width:0;line-height:1.5}
.page-content .visual-flow>li>span{display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:13px;background:#3548d4;color:#fff;font-family:inherit;font-weight:750;font-size:1.125rem;line-height:1.2;flex:none}
.page-content .visual-flow>li>strong{font-size:1rem;line-height:1.5}
.page-content .visual-flow>li:before{content:none!important}
.page-content :is(.steps,.route-steps){list-style:none;padding:0;margin:26px 0;display:grid;gap:16px}
.page-content :is(.steps,.route-steps)>li{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:20px;padding:24px;border:1px solid #d5ddec;border-radius:18px;background:#fff;line-height:1.6}
.page-content :is(.steps,.route-steps)>li>span{display:grid;place-items:center;width:52px;min-height:52px;padding:9px;border-radius:14px;background:#e8edff;color:#3548d4;font-family:inherit;font-size:1.3rem;font-weight:800;line-height:1.2;align-self:start;box-sizing:border-box}
.page-content :is(.steps,.route-steps)>li h3{font-size:1.25rem;margin:2px 0 8px;line-height:1.35}
.page-content :is(.steps,.route-steps)>li p{margin:0;font-size:1rem;line-height:1.65}
.page-content .r-link-rows>a{padding:24px;border:1px solid #d8deeb;border-radius:16px;background:#fff;margin:12px 0;gap:20px}
.page-content .r-row-index{display:grid;place-items:center;min-width:36px;min-height:36px;border-radius:10px;background:#edf1ff;color:#3548d4;font-weight:750}
.registry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0 48px}
.registry-list>article{--catalog-accent:#3548d4;min-width:0;padding:26px!important;background:#fff!important;border:1px solid #d2daeb!important;border-top:5px solid var(--catalog-accent)!important;border-radius:20px!important;box-shadow:0 8px 24px #20284e08}
.registry-list>article:nth-child(3n+2){--catalog-accent:#21776a}
.registry-list>article:nth-child(3n){--catalog-accent:#8c5b18}
.registry-list>article>div{display:flex;flex-direction:column;align-items:flex-start;height:100%;gap:12px}
.page-content .registry-list h2{font-family:inherit;font-size:1.35rem!important;font-weight:750;line-height:1.4!important;letter-spacing:-.015em;max-width:100%;margin:0!important;text-wrap:wrap}
.registry-list p{font-size:.95rem;line-height:1.55;margin:0 0 8px;max-width:100%}
.registry-list article>div>a{display:inline-flex;align-items:center;min-height:44px;padding:10px 15px;background:#edf1ff;border:1px solid #bdc9ed;border-radius:10px;color:#3548d4;text-decoration:none;line-height:1.4;margin-top:auto;font-weight:700}
.registry-list article>div>a:hover{background:#3548d4;border-color:#3548d4;color:white}
.registry-list .status{font-size:.75rem;padding:6px 10px;max-width:100%;white-space:normal;line-height:1.4}
.registry-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;padding:22px;background:#edf1fa;border:1px solid #d3dcec;border-radius:18px}
.registry-filters>*{min-width:0;width:100%;margin:0}
.page-main .page-hero>:is(.text-link,.hero-action){display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:13px 20px;margin:20px 0 4px;border:0;border-radius:13px;background:#3548d4;color:#fff;font-size:1rem;font-weight:750;text-decoration:none}
.page-main .page-hero>:is(.text-link,.hero-action):hover{background:#2737ad;color:#fff}
.page-content .food-clubs-page-update{max-width:none}
.public-form-item{padding:26px;border:1px solid #d3dcec;border-left:5px solid #3548d4;border-radius:18px;background:#fff;margin:20px 0}
.public-form-item>h3{margin-top:0}
.public-form-item .document-actions{margin-top:18px}
.admission-legal-details{margin-top:28px;padding:22px 24px;background:#fff;border:1px solid #d4dcec;border-radius:16px}
.page-content .safety-guide-flow{display:grid;gap:8px;margin:16px 0 24px}
.page-content .safety-guide-flow>span{display:block;padding:10px 12px;border:1px solid #c5cede;border-radius:9px;background:#fff;font-size:.9rem;line-height:1.45}
.page-content .safety-guide-flow>span+span:before{content:'↓';display:block;color:var(--card-accent,#3548d4);font-weight:750;margin-bottom:6px}
@media(max-width:1000px){.page-content :is(.fc-club-grid,.fc-proposal-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .page-content :is(.editorial-grid,.r-object-grid,.fc-club-grid,.fc-proposal-grid),.admission-checklist-grid,.registry-list{grid-template-columns:1fr!important;gap:20px}
 .page-content .visual-flow{grid-template-columns:1fr;gap:14px}
 .page-content .visual-flow>li{flex-direction:row;padding:20px;align-items:center}
 .page-content #quick-route{padding:22px 20px}
 .page-content :is(.steps,.route-steps)>li{padding:20px;grid-template-columns:44px minmax(0,1fr);gap:16px}
 .page-content :is(.steps,.route-steps)>li>span{width:44px;min-height:44px;font-size:1.125rem;padding:8px}
 .registry-filters{grid-template-columns:1fr;padding:18px}
 .page-content .registry-list h2{font-size:1.25rem!important}
 .page-content :is(.editorial-grid,.r-object-grid,.fc-club-grid,.fc-proposal-grid)>:is(article,div),.registry-list>article{padding:24px!important}
}
