/* Shared card and discovery layout; factual copy and media remain supplied by the existing renderers. */
html body[data-b3-page] .btp-card.btp-card{background:var(--btp-surface);color:var(--btp-ink);border-color:var(--btp-line);border-radius:16px;box-shadow:none;isolation:isolate}
html body[data-b3-page] .btp-card .btp-card-body{padding:20px;display:flex;flex-direction:column;gap:0}
html body[data-b3-page] .btp-card .btp-card-title{font-size:1.5rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
html body[data-b3-page] .btp-card .btp-card-title a{border:0;border-radius:0;background:transparent;box-shadow:none!important;padding:0;color:inherit;max-width:100%;white-space:normal}
html body[data-b3-page] .btp-card :is(.btp-card-description,.btp-card-extra,address){color:var(--btp-ink-soft);font-style:normal;line-height:1.6;white-space:normal;overflow:visible;text-overflow:clip;-webkit-line-clamp:unset;max-height:none}
html body[data-b3-page] .btp-card .btp-card-description{margin:0 0 16px}
html body[data-b3-page] .btp-card .btp-card-details{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border-color:var(--btp-line);padding-top:12px;color:var(--btp-ink);font-weight:600;line-height:1.5}
html body[data-b3-page] .btp-card .btp-card-details:empty{display:none}
html body[data-b3-page] .btp-card .btp-card-extra{margin-top:12px}
html body[data-b3-page] .btp-card .btp-card-extra:empty{display:none}
html body[data-b3-page] .btp-card .btp-card-title a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:16px}
html body[data-b3-page] .btp-card :is(.photo-credit,.event-art-credit){position:relative;z-index:2;color:var(--btp-ink-soft);background:var(--btp-surface);padding:0 20px 16px;margin:0;line-height:1.6}
html body[data-b3-page] .btp-card :is(.photo-credit,.event-art-credit) a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding-block:6px;color:var(--btp-link);text-decoration:underline;text-underline-offset:3px}
html body[data-b3-page] .btp-card .btp-card-extra :is(a,summary,button,input,select){position:relative;z-index:2}
html body[data-b3-page] .btp-card .btp-card-extra :is(a,summary){display:inline-flex;align-items:center;min-height:44px;max-width:100%}
html body[data-b3-page] .btp-card .btp-card-extra :is(.event-fact-check,.hours-summary,.why-fit){margin:12px 0 0}
html body[data-b3-page] .btp-card:focus-within{outline:3px solid var(--btp-coral);outline-offset:3px}
html body[data-b3-page] .btp-card:has(.btp-card-title a:focus-visible){outline-offset:4px}
html body[data-b3-page] :is(#browse-form,#event-filters){position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:16px;overflow:visible;padding:20px;background:var(--btp-surface);border:1px solid var(--btp-line);border-radius:16px;margin-block:20px 8px}
html body[data-b3-page] :is(#browse-form,#event-filters) label{display:grid;gap:8px;min-width:0;max-width:100%;white-space:normal;font-size:0.875rem;font-weight:700;color:var(--btp-ink)}
html body[data-b3-page] :is(#browse-form,#event-filters) :is(select,input[type=date]){display:block;width:100%;min-width:0;max-width:100%;min-height:48px;font:500 1rem/1.4 var(--btp-font-body);border:1px solid var(--btp-control);border-radius:10px;padding:10px 8px;background:var(--btp-surface);color:var(--btp-ink)}
html body[data-b3-page] #event-filters .check{display:flex;align-items:center;min-height:48px;grid-column:1/-1;gap:12px}
html body[data-b3-page] #event-filters input[type=checkbox]{width:24px;height:24px;flex:none;accent-color:var(--btp-teal);margin:0}
.btp-filter-more{grid-column:1/-1;border-top:1px solid var(--btp-line);padding-top:8px;min-width:0}
.btp-filter-more>summary{display:list-item;min-height:44px;padding:10px 4px;cursor:pointer;color:var(--btp-link);font-weight:700;font-size:0.875rem}
.btp-area-shortcuts{margin:12px 0}
.btp-area-shortcuts>summary{min-height:44px;padding:10px 4px;color:var(--btp-link);cursor:pointer;font-weight:700}
.btp-area-shortcuts .area-hub-links{margin:8px 0 16px}
.btp-area-shortcuts .area-hub-links a{display:inline-flex;align-items:center;min-height:44px}
.btp-full-map-guide{margin:16px 0;border:1px solid var(--btp-line);border-radius:14px;background:var(--btp-surface);padding:8px 16px}
.btp-full-map-guide>summary{min-height:44px;padding:10px 4px;color:var(--btp-link);font-weight:700;cursor:pointer}
.btp-full-map-guide>p{margin:8px 0 16px;color:var(--btp-ink-soft)}
.btp-filter-more-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:12px}
.btp-filter-reset{grid-column:1/-1;justify-self:start;font:700 0.875rem/1.4 var(--btp-font-body);min-height:44px;border:1px solid var(--btp-control);padding:10px 14px;background:var(--btp-surface);color:var(--btp-link)}
html body[data-b3-page] .btp-active-filters{white-space:normal;overflow:visible;flex-wrap:wrap;min-height:0;padding-block:8px 16px;gap:8px}
html body[data-b3-page] .btp-active-filters .btp-chip{white-space:normal;color:var(--btp-link);background:var(--btp-teal-tint);border-color:var(--btp-control);text-align:left}
html body[data-b3-page] .btp-area-controls>.btp-chip-row{position:static;flex-wrap:wrap;overflow:visible;border:0;padding:0;gap:8px;background:transparent}
html body[data-b3-page] .btp-area-controls .btp-chip{white-space:normal;min-height:44px;font-size:0.875rem;padding:10px 14px;color:var(--btp-link);background:var(--btp-surface);border-color:var(--btp-control)}
html body[data-b3-page] .btp-area-controls .btp-chip[aria-pressed=true]{background:var(--btp-teal);color:var(--btp-on-dark);border-color:var(--btp-teal)}
html body[data-b3-page] .btp-view-switch{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid var(--btp-control);border-radius:14px;padding:4px;background:var(--btp-surface);width:min(100%,240px);margin:20px 0 8px}
html body[data-b3-page] .btp-view-switch button{border:0;box-shadow:none!important;min-height:44px}
.btp-map-note,.btp-area-empty{padding:20px;border:1px solid var(--btp-line);background:var(--btp-surface);border-radius:14px;grid-column:1/-1;margin-block:12px}
.btp-map-note p,.btp-area-empty p{margin:0 0 12px}
.btp-map-note button{min-height:44px;margin:4px 8px 0 0}
html body[data-b3-page] .btp-map-picker select{font-size:1rem;color:var(--btp-ink);background:var(--btp-surface);border-color:var(--btp-control)}
html body[data-b3-page] .btp-area-map .leaflet-control-attribution{font-size:0.8125rem;line-height:1.5;white-space:normal;max-width:100%}
@media(max-width:767px){
 html body.btp-discovery-page .page-heading h1{font-size:2.25rem;line-height:1.15}
 html body.btp-discovery-page .page-heading .lead{font-size:1rem;line-height:1.6;margin-bottom:12px}
 html body[data-b3-page] .btp-card .btp-card-title{font-size:1.5rem}
 html body[data-b3-page] :is(.moment-link-row,.moment-grid,.rest-day-grid){grid-template-columns:1fr;gap:20px}
 html body[data-b3-page] .moment-link-row>.btp-card{width:100%;max-width:none;min-height:0;margin:0}
 html body[data-b3-page] .moment-link-row .btp-card :is(.btp-card-media,.btp-card-media picture){aspect-ratio:16/9;height:auto}
 html body[data-b3-page] :is(.place-grid,.btp-events-group .event-grid){gap:20px}
 html body[data-b3-page] .btp-card .btp-card-body{padding:18px}
 html body[data-b3-page] :is(#browse-form,#event-filters){padding:16px;gap:12px}
}
@media(max-width:359px){html body[data-b3-page] :is(#browse-form,#event-filters),.btp-filter-more-fields{grid-template-columns:1fr}}
@media(min-width:768px){html body[data-b3-page] #browse-form{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}html body[data-b3-page] #event-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}html body[data-b3-page] #event-filters .check{grid-column:auto}}
