.trail-card{background:var(--surface-color);border:1px solid var(--border-color);cursor:pointer;border-radius:14px;flex-direction:column;flex-shrink:0;min-height:fit-content;transition:transform .16s cubic-bezier(.22,1,.36,1),box-shadow .16s,border-color .16s;display:flex;position:relative;overflow:hidden}.trail-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--brand-green-light);transform:translateY(-1.5px)}.trail-card .card-header-badges{flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.trail-card .badge-hiked{background:var(--diff-easy-bg);color:var(--diff-easy-text);border-radius:6px;justify-content:center;align-items:center;padding:2px 6px;font-size:10.5px;font-weight:800;display:inline-flex}.trail-card .badge-fav{align-items:center;display:inline-flex}.trail-card .badge-rating{background:var(--diff-moderate-bg);color:var(--diff-moderate-text);font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;gap:2px;padding:2px 6px;font-size:10.5px;font-weight:700;display:inline-flex}.trail-card.view-full.has-photo{flex-direction:column}.trail-card.view-full .diff-strip{display:none}.trail-card.view-full.has-photo .card-image-box{background:var(--surface-variant);width:100%;height:138px;position:relative;overflow:hidden}.trail-card.view-full.has-photo .card-img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.trail-card.view-full.has-photo:hover .card-img{transform:scale(1.03)}.trail-card.view-full.has-photo .image-gradient-overlay{pointer-events:none;background:linear-gradient(#0a18121f 0%,#0a181294 100%);position:absolute;inset:0}.trail-card.view-full.has-photo .badge.on-image{z-index:2;position:absolute;top:10px;right:10px}.trail-card.view-full.has-photo .badge.in-header{display:none}.trail-card.view-full.has-photo .card-content-wrap{flex-direction:column;gap:6px;padding:12px 14px;display:flex}.trail-card.view-full.no-photo{flex-direction:row;align-items:stretch;gap:12px;padding:11px 12px}.trail-card.view-full.no-photo .card-image-box{background:var(--surface-variant);border:1px solid var(--border-color);border-radius:10px;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;width:68px;min-height:68px;display:flex;position:relative;overflow:hidden}.topo-pattern-bg{opacity:.45;pointer-events:none;background-image:radial-gradient(circle at 15% 85%,#0000 45%,#14332612 46% 48%,#0000 49%),radial-gradient(circle at 85% 20%,#0000 35%,#1433260f 36% 38%,#0000 39%);position:absolute;inset:0}.trail-card.view-full.no-photo .badge.on-image{display:none}.trail-card.view-full.no-photo .badge.in-header{display:inline-block}.trail-card.view-full.no-photo .card-content-wrap{flex-direction:column;flex:1;justify-content:center;gap:5px;min-width:0;padding:0;display:flex}.trail-card.view-compact{border-radius:12px;flex-direction:row;align-items:stretch;gap:10px;padding:9px 11px}.trail-card.view-compact .diff-strip{display:none}.trail-card.view-compact .card-image-box{background:var(--surface-variant);border:1px solid var(--border-color);border-radius:9px;flex-shrink:0;align-self:center;width:56px;height:56px;position:relative;overflow:hidden}.trail-card.view-compact .card-img{object-fit:cover;width:100%;height:100%}.trail-card.view-compact .image-gradient-overlay,.trail-card.view-compact .badge.on-image,.trail-card.view-compact .trail-color-badge.on-image{display:none}.trail-card.view-compact .badge.in-header{display:inline-block}.trail-card.view-compact .card-content-wrap{flex-direction:column;flex:1;justify-content:center;gap:3px;min-width:0;padding:0;display:flex}.trail-card.view-compact .card-title{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.trail-card.view-compact .card-meta{gap:5px;font-size:11.5px}.trail-card.view-compact .card-tags{flex-wrap:nowrap;gap:4px;display:flex;overflow:hidden}.trail-card.view-compact .card-tags .tag-pill{white-space:nowrap;padding:1.5px 6px;font-size:10px}.trail-card.view-compact .card-tags .tag-pill:nth-child(n+4){display:none}.trail-card.view-list{border-left:none;border-radius:10px;flex-direction:row;align-items:center;height:auto;min-height:48px;padding:8px 11px 8px 0}.trail-card.view-list .card-image-box{display:none}.trail-card.view-list .diff-strip{border-radius:0 3px 3px 0;flex-shrink:0;align-self:stretch;width:4px;margin-right:10px;display:block}.trail-card.view-list .diff-strip.diff-easy{background:var(--diff-easy)}.trail-card.view-list .diff-strip.diff-moderate{background:var(--diff-moderate)}.trail-card.view-list .diff-strip.diff-hard{background:var(--diff-hard)}.trail-card.view-list .card-content-wrap{flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:0;display:flex}.trail-card.view-list .card-header{flex:1;min-width:0}.trail-card.view-list .card-title{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.trail-card.view-list .card-meta{flex-shrink:0;align-items:center;gap:5px;font-size:11.5px}.trail-card.view-list .card-meta .loc{white-space:nowrap;text-overflow:ellipsis;max-width:105px;overflow:hidden}.trail-card.view-list .card-tags,.trail-card.view-list .badge.in-header,.trail-card.view-list .card-weather-badge{display:none}.trail-card .card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.trail-card .card-title-link{color:inherit;flex:1;min-width:0;text-decoration:none}.trail-card .card-title{font-family:var(--font-heading);color:var(--text-main);letter-spacing:-.01em;font-size:14.5px;font-weight:700;line-height:1.28}.trail-card .badge{letter-spacing:.01em;border-radius:6px;flex-shrink:0;padding:2.5px 7px;font-size:10.5px;font-weight:700}.trail-card .diff-easy{background:var(--diff-easy-bg);color:var(--diff-easy-text)}.trail-card .diff-moderate{background:var(--diff-moderate-bg);color:var(--diff-moderate-text)}.trail-card .diff-hard{background:var(--diff-hard-bg);color:var(--diff-hard-text)}.trail-card .badge.on-image.diff-easy{backdrop-filter:blur(4px);color:#fff;background:#145a3ae0}.trail-card .badge.on-image.diff-moderate{backdrop-filter:blur(4px);color:#fff;background:#b45309e6}.trail-card .badge.on-image.diff-hard{backdrop-filter:blur(4px);color:#fff;background:#b91c1ce6}.trail-card .card-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;line-height:1.3;display:flex}.trail-card .meta-dot{color:var(--border-color);user-select:none;font-weight:700}.trail-card .meta-item strong{color:var(--text-main);font-weight:700}.trail-card .meta-item.loc{color:var(--text-muted);font-weight:500}.trail-card .card-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.trail-card .tag-pill{background:var(--tag-pill-bg);border:1px solid var(--tag-pill-border);color:var(--tag-pill-text);letter-spacing:.01em;border-radius:6px;padding:2px 7px;font-size:10.5px;font-weight:600}.trail-card .tag-pill.more{color:var(--text-muted);background:0 0}.trail-card .btn-focus-map.icon-only{background:var(--surface-variant);border:1px solid var(--border-color);width:26px;height:26px;color:var(--text-muted);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.trail-card .btn-focus-map.icon-only:hover{background:var(--primary-container);color:var(--brand-green);border-color:var(--brand-green)}.trail-card .trail-shape-preview.center-hero{z-index:2;pointer-events:none;color:var(--brand-green);justify-content:center;align-items:center;display:flex;position:absolute;inset:4px}.trail-card .trail-shape-preview.corner-badge{backdrop-filter:blur(4px);z-index:2;pointer-events:none;background:#0e1613b8;border:1px solid #ffffff38;border-radius:9px;width:42px;height:42px;padding:3px;position:absolute;bottom:8px;right:8px}.trail-card .trail-color-badge.on-image{z-index:2;backdrop-filter:blur(4px);color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#0e1613c2;border:1px solid #fff3;border-radius:7px;align-items:center;gap:5px;max-width:calc(100% - 95px);padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px;overflow:hidden}.trail-card .trail-color-badge .color-dot,.trail-card .inline-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.trail-card .inline-color-dot{vertical-align:1px;margin-right:5px}.trail-card.view-full.has-photo .inline-color-dot{display:none}.trail-card .card-weather-badge{background:var(--diff-easy-bg);color:var(--diff-easy-text);border:1px solid var(--border-color);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:5px;width:fit-content;max-width:100%;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex;overflow:hidden}.trail-card .card-weather-badge.good{background:var(--diff-moderate-bg);color:var(--diff-moderate-text)}.trail-card .card-select-checkbox{z-index:5;background:var(--surface-color);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:none;position:absolute;top:10px;left:10px;box-shadow:0 2px 6px #0000002e}.trail-card .card-select-checkbox input{width:15px;height:15px;accent-color:var(--brand-green);cursor:pointer;margin:0}.selectable-mode .trail-card .card-select-checkbox{display:inline-flex}.selectable-mode .trail-card.view-full.has-photo .trail-color-badge.on-image{left:40px}.selectable-mode .trail-card.view-list .card-select-checkbox{box-shadow:none;background:0 0;border:none;margin-right:8px;position:static}.trail-card.selected-card{border:2px solid var(--brand-green);box-shadow:0 0 0 2px #14332629}
