.xc-intro { background: #eaf2f5; padding: 36px 0 28px; }
.xc-intro h1 { margin: 6px 0 10px; }
.xc-intro .lead { color: #173e50; font-size: 24px; margin: 10px 0; }
.xc-intro p { max-width: 760px; }
.xc-summary { font-weight: 700; color: #31566a; }
.xc-section-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 22px; font-weight: 700; }
.xc-section-nav a { padding: 6px 0; }
.xc-location-type { margin: 0; font-size: 13px; font-weight: 700; color: #475e6a; }
.xc-resources { border-top: 1px solid var(--line); scroll-margin-top: 20px; }
.xc-resource-card { border: 1px solid var(--line); border-radius: 8px; padding: 22px; }
.xc-resource-card h3 { font-size: 21px; line-height: 1.3; margin: 10px 0; }
.xc-resource-card p { line-height: 1.6; }
.xc-resource-card .xc-card-meta { margin: 0; }
.xc-resource-card .xc-links { margin-top: 16px; }
.xc-directory { padding-top: 24px; }
.xc-report-note { padding: 16px 20px; border-left: 4px solid #267388; background: #f1f6f7; margin-bottom: 24px; line-height: 1.6; }
.xc-report-note strong { display: block; }
.xc-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; padding: 20px; background: #f5f7f8; border: 1px solid var(--line); border-radius: 8px; }
.xc-filters label { display: grid; gap: 7px; font-weight: 700; flex: 1; min-width: 150px; }
.xc-filters label:first-child { flex: 2; min-width: 230px; }
.xc-filters input,.xc-filters select { width: 100%; min-height: 44px; padding: 10px; border: 1px solid #9baeb6; border-radius: 4px; font: inherit; background: white; color: #183b4c; }
.xc-filters .button.secondary { color: #183b4c; background: white; border: 1px solid #9baeb6; }
.xc-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.xc-card { padding: 24px; border: 1px solid var(--line); border-top: 3px solid #267388; border-radius: 8px; background: white; scroll-margin-top: 24px; }
.xc-card h2 { font-size: 22px; line-height: 1.25; margin: 14px 0 10px; }
.xc-card p { line-height: 1.65; }
.xc-card-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; color: #415d6a; }
.xc-badge { background: #eaf3ef; color: #20503f; padding: 4px 8px; border-radius: 4px; font-weight: 700; }
.xc-card[data-kind="ungroomed"] .xc-badge { color: #6c4c20; background: #f7efdd; }
.xc-access,.xc-review { font-size: 14px; color: #475e6a; }
.xc-links { display: flex; flex-wrap: wrap; gap: 12px 20px; border-top: 1px solid var(--line); padding-top: 16px; font-size: 14px; }
.xc-natural-snow { color: #6c4c20; }
.xc-review { margin-top: 24px; }
.xc-planning { background: #f5f7f8; }
.xc-planning-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.xc-planning-grid h3 { font-size: 19px; }
[data-xc-coverage] time { color: #475e6a; font-size: 14px; }
.xc-filters[hidden],.xc-card[hidden],[data-xc-empty][hidden] { display: none; }
@media(max-width: 700px) { .xc-grid,.xc-planning-grid { grid-template-columns: 1fr; } .xc-card { padding: 20px; } .xc-intro { padding-top: 24px; } }
