/* Shared native select styling. Keep the browser's keyboard, touch picker,
   form submission and dynamic-option behavior; replace its platform chrome. */
:root{
 --atlas-select-arrow:url("/assets/select-chevron.svg");
 --atlas-select-border:var(--a-line,#7f8f7b);
 --atlas-select-shadow:0 1px 2px #173e3508;
}
html[data-theme=dark]{
 --atlas-select-arrow:url("/assets/select-chevron-dark.svg");
 --atlas-select-border:var(--a-line,#607360);
 --atlas-select-shadow:0 1px 2px #00000014;
}
/* The common component takes precedence over page-specific field decoration.
   Page widths and reading-room text scaling are deliberately retained. */
:root[data-theme] body[data-atlas-page] select,
:root:not([data-theme]) body[data-atlas-page] select{
 -webkit-appearance:none;
 appearance:none;
 box-sizing:border-box;
 min-width:0;
 max-width:100%;
 min-height:40px;
 padding:7px 12px;
 border:1px solid var(--a-line,var(--atlas-select-border));
 border-radius:9px;
 background:var(--a-card,#faf9f4);
 color:var(--a-ink,#243b32);
 box-shadow:var(--atlas-select-shadow);
 font:400 1rem/1.4 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 text-align:start;
 text-overflow:ellipsis;
 color-scheme:inherit;
 cursor:pointer;
 transition:border-color .15s ease,box-shadow .15s ease;
}
:root body[data-atlas-page] select:not([multiple]):not([size]),
:root body[data-atlas-page] select:not([multiple])[size="1"],
:root body[data-atlas-page] select:not([multiple])[size="0"]{
 padding-inline-end:44px;
 background-image:var(--atlas-select-arrow);
 background-repeat:no-repeat;
 background-position:right 12px center;
 background-size:20px 20px;
}
:root body[data-atlas-page] select:enabled:hover{
 border-color:var(--a-accent,#8c6b38);
}
:root body[data-atlas-page] select:focus-visible{
 border-color:var(--a-accent,#8c6b38);
 outline:2px solid var(--a-accent,#8c6b38);
 outline-offset:3px;
}
:root body[data-atlas-page] select:disabled,
:root body[data-atlas-page] fieldset:disabled select{
 opacity:.55;
 cursor:not-allowed;
}
:root body[data-atlas-page] select:is([multiple],[size]:not([size="1"]):not([size="0"])){
 padding:8px;
 border-radius:9px;
 background-image:none;
 cursor:default;
}
:root body[data-atlas-page] select[multiple]{min-height:145px;}
:root body[data-atlas-page] select option,
:root body[data-atlas-page] select optgroup{
 background-color:var(--a-card,#faf9f4);
 color:var(--a-ink,#243b32);
}
/* Listboxes retain their visible rows and multi-selection behavior. */
:root body[data-atlas-page] select:is([multiple],[size]:not([size="1"]):not([size="0"])) option{padding:7px 9px;}
:root body[data-atlas-page] select:dir(rtl){background-position:left 12px center;}

/* A compact, shared filter system. Page-specific grid columns stay intact. */
html body[data-atlas-room] main :is(.resource-filter-panel,.gv-controls,.sangha-search,.library-controls){
 --content-size:1rem;padding:14px 16px;border:1px solid var(--a-line);border-radius:12px;
 background:var(--a-surface);box-shadow:none;
}
html body[data-atlas-room] main :is(.resource-primary-filters,.talk-primary-filters,.talk-secondary-filters,.gv-search-row,.gv-filters,.sangha-filter-grid,.sangha-filterbar,.library-controls){gap:10px 14px;align-items:end}
html body[data-atlas-room] main :is(.resource-filter-panel,.gv-controls,.sangha-search,.sangha-filterbar,.sangha-filter-grid,.library-controls,.library-tools,.glossary-controls,.bat-toolbar,.bat-geo-controls) label{
 font-size:12px;line-height:1.4;font-weight:500;color:var(--a-muted);gap:5px;min-width:0;
}
html body[data-atlas-room] main :is(input[type=search],.sangha-location input[type=text]){
 box-sizing:border-box;min-height:40px;min-width:0;max-width:100%;padding:7px 12px;
 border:1px solid var(--a-line);border-radius:9px;background:var(--a-card);color:var(--a-ink);
 font:400 16px/1.4 var(--type-sans,system-ui,sans-serif);box-shadow:var(--atlas-select-shadow);
}
html body[data-atlas-room] main :is(input[type=search],.sangha-location input[type=text])::placeholder{color:var(--a-muted);opacity:.85}
html body[data-atlas-room] main :is(input[type=search],.sangha-location input[type=text]):focus-visible{outline:2px solid var(--a-accent);outline-offset:3px;border-color:var(--a-accent)}
html body[data-atlas-room] main :is(.resource-filter-panel,.gv-controls,.library-controls) :is(select,input[type=search]){margin-top:4px}
html body[data-atlas-room] main :is(.talk-secondary-filters,.gv-filters){margin-top:12px}
html body[data-atlas-room] main :is(.resource-more-filters,.resource-filter-foot,.talk-filter-foot){margin-top:10px;gap:10px 16px}
html body[data-atlas-room] main .resource-more-filters>div{gap:12px;padding-top:10px}
html body[data-atlas-room] main .resource-more-filters>div>label:first-child{min-width:0;flex:1}
html body[data-atlas-room] main .resource-more-filters>summary{font:500 13px/1.5 var(--type-sans,system-ui,sans-serif);color:var(--a-muted);padding:8px 0;cursor:pointer}
html body[data-atlas-room] main :is(.resource-filter-foot,.talk-filter-foot,.gv-controls) button,
html body[data-atlas-room] main :is(#library-reset,#sangha-reset){
 min-height:36px;padding:7px 11px;border:1px solid var(--a-line);border-radius:8px;
 font:500 13px/1.4 var(--type-sans,system-ui,sans-serif);background:var(--a-card);color:var(--a-accent);text-decoration:none;cursor:pointer;
}
/* More filters and reset share one row rather than leaving an empty row. */
html body[data-atlas-room] main .resource-filter-panel:has(>.resource-more-filters){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px}
html body[data-atlas-room] main .resource-filter-panel:has(>.resource-more-filters)>:not(.resource-more-filters):not(.resource-filter-foot){grid-column:1/-1}
html body[data-atlas-room] main .resource-filter-panel:has(>.resource-more-filters)>:is(.resource-more-filters,.resource-filter-foot){margin:0;align-self:start}
html body[data-atlas-room] main .resource-filter-panel:has(>.resource-more-filters[open]){grid-template-columns:minmax(0,1fr)}
html body[data-atlas-room] main .resource-filter-panel:has(>.resource-more-filters[open])>.resource-filter-foot{justify-self:end}
html body[data-atlas-room] main .talk-starts{gap:8px;margin-bottom:18px}
html body[data-atlas-room] main .talk-starts a{
 display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid var(--a-line);
 border-radius:20px;background:var(--a-card);color:var(--a-accent);font:500 14px/1.4 var(--type-sans,system-ui,sans-serif);text-decoration:none;
}
html body[data-atlas-room] main :is(.talk-starts a,.resource-filter-foot button,.talk-filter-foot button,.gv-controls button):hover{background:var(--a-surface);border-color:var(--a-accent)}
html body[data-atlas-room] main :is(.talk-starts a,.resource-filter-foot button,.talk-filter-foot button,.gv-controls button):focus-visible{outline:2px solid var(--a-accent);outline-offset:3px}
html body[data-atlas-room] main :is(.people-filter-options,.glossary-filters,.teachings-filters) button{padding:6px 11px;min-height:36px;font-size:14px;border-radius:20px}
@media(pointer:coarse),(max-width:700px){
 :root[data-theme] body[data-atlas-page] select,
 :root:not([data-theme]) body[data-atlas-page] select,
 html body[data-atlas-room] main :is(input[type=search],.sangha-location input[type=text],.talk-starts a,.resource-filter-foot button,.talk-filter-foot button,.gv-controls button,.people-filter-options button,.glossary-filters button,.teachings-filters button,#library-reset,#sangha-reset){min-height:44px}
 html body[data-atlas-room] main :is(.resource-filter-panel,.gv-controls,.sangha-search,.library-controls){padding:12px}
}
@media(prefers-reduced-motion:reduce){
 :root[data-theme] body[data-atlas-page] select,
 :root:not([data-theme]) body[data-atlas-page] select{transition:none;}
}
@media(forced-colors:active){
 :root[data-theme] body[data-atlas-page] select,
 :root:not([data-theme]) body[data-atlas-page] select{
  -webkit-appearance:auto;appearance:auto;background:Canvas;color:CanvasText;border-color:ButtonText;box-shadow:none;
 }
 :root body[data-atlas-page] select:not([multiple]):not([size]),
 :root body[data-atlas-page] select:not([multiple])[size="1"],
 :root body[data-atlas-page] select:not([multiple])[size="0"]{background-image:none;}
 :root body[data-atlas-page] select:focus-visible{outline-color:Highlight;}
}
/* Retreats: one compact heading, a joined location control and aligned fields. */
main[data-resource-page=retreats] #resource-filters{padding:14px 16px;gap:8px 14px;border-radius:12px}
main[data-resource-page=retreats] #resource-filters .retreat-filter-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;padding-bottom:12px;margin:0 0 2px;border-bottom:1px solid var(--a-line)}
main[data-resource-page=retreats] #resource-filters .retreat-window{display:flex;align-items:center;gap:10px;margin:0;min-width:0}
main[data-resource-page=retreats] #resource-filters .retreat-calendar-icon{flex:none;color:var(--a-accent)}
main[data-resource-page=retreats] #resource-filters .retreat-window-label{display:block;color:var(--a-muted);font:500 11px/1.4 var(--type-sans,system-ui,sans-serif);letter-spacing:.06em;text-transform:uppercase}
main[data-resource-page=retreats] #resource-filters #retreat-window-dates{--content-size:.875rem;--type-leading:1.4;margin:2px 0 0;max-width:none;color:var(--a-ink);font-weight:500;font-variant-numeric:tabular-nums}
main[data-resource-page=retreats] #resource-filters .resource-scope{position:relative;display:flex;flex-wrap:nowrap;gap:3px;margin:0;padding:3px;border:1px solid var(--a-line);border-radius:10px;background:var(--a-card);min-width:0}
main[data-resource-page=retreats] #resource-filters .resource-scope legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
main[data-resource-page=retreats] #resource-filters .resource-scope label{margin:0;min-width:0}
main[data-resource-page=retreats] #resource-filters .resource-scope span{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:34px;padding:5px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--a-muted);font:500 13px/1.4 var(--type-sans,system-ui,sans-serif);white-space:nowrap;transition:background-color .15s,color .15s,border-color .15s}
main[data-resource-page=retreats] #resource-filters .resource-scope label:hover span{background:var(--a-surface);color:var(--a-ink)}
main[data-resource-page=retreats] #resource-filters .resource-scope input:checked+span{background:var(--a-selected);border-color:var(--a-accent);color:var(--a-ink)}
main[data-resource-page=retreats] #resource-filters .resource-scope input:focus-visible+span{outline:2px solid var(--a-accent);outline-offset:2px}
main[data-resource-page=retreats] #resource-filters .resource-primary-filters{gap:10px 12px}
main[data-resource-page=retreats] #resource-filters :is(select,input[type=search]){min-height:40px;padding-block:7px;border-radius:9px}
main[data-resource-page=retreats] #resource-filters .resource-more-filters>summary{padding:5px 0;min-height:30px;box-sizing:border-box}
main[data-resource-page=retreats] #resource-filters #resource-reset{min-height:30px;padding:4px 8px;border-color:transparent;background:transparent;border-radius:6px;font-size:12px}
main[data-resource-page=retreats] #resource-filters #resource-reset:hover{background:var(--a-card);border-color:var(--a-line)}
main[data-resource-page=retreats] .retreat-review{--content-size:.8125rem;color:var(--a-muted);margin:20px 0 12px}
@media(max-width:760px){
 main[data-resource-page=retreats] #resource-filters{padding:12px}
 main[data-resource-page=retreats] #resource-filters .retreat-filter-heading{align-items:stretch;gap:10px;padding-bottom:10px}
 main[data-resource-page=retreats] #resource-filters .retreat-window{width:100%}
 main[data-resource-page=retreats] #resource-filters .resource-scope{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;box-sizing:border-box}
 main[data-resource-page=retreats] #resource-filters .resource-scope span{padding-inline:5px;font-size:12px}
}
@media(max-width:699px),(pointer:coarse){
 main[data-resource-page=retreats] #resource-filters :is(select,input[type=search],.resource-scope span,.resource-more-filters>summary,#resource-reset){min-height:44px}
}
/* Teacher discovery starts with search; optional facets do not crowd the page. */
html body[data-atlas-room] main[data-resource-page=teachers]>.page-heading{margin-bottom:18px}
html body[data-atlas-room] main[data-resource-page=teachers]>.page-heading h1{margin-bottom:8px}
html body[data-atlas-room] main[data-resource-page=teachers] #resource-page-intro{--content-size:1rem;--type-leading:1.5;margin:0}
main[data-resource-page=teachers] #resource-filters{padding:12px 14px;gap:5px 12px;border-radius:12px}
main[data-resource-page=teachers] #resource-filters .teacher-search-row{display:block}
main[data-resource-page=teachers] #resource-filters .teacher-search{position:relative;display:block}
main[data-resource-page=teachers] #resource-filters .teacher-search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
main[data-resource-page=teachers] #resource-filters .teacher-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--a-muted);pointer-events:none}
main[data-resource-page=teachers] #resource-filters #resource-q{margin:0;min-height:40px;padding:8px 12px 8px 40px;border-radius:9px}
main[data-resource-page=teachers] #resource-filters .resource-more-filters>summary{min-height:30px;box-sizing:border-box;padding:5px 0;font-size:12px}
main[data-resource-page=teachers] #resource-filters .teacher-filter-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:8px}
main[data-resource-page=teachers] #resource-filters .teacher-filter-options select{min-height:40px}
main[data-resource-page=teachers] #resource-filters #resource-reset{min-height:30px;padding:4px 8px;border:1px solid transparent;background:transparent;font-size:12px}
main[data-resource-page=teachers] #resource-filters #resource-reset:hover{background:var(--a-card);border-color:var(--a-line)}
html body[data-atlas-room] main[data-resource-page=teachers] .resource-results-heading{margin:12px 0;gap:8px;align-items:center;flex-direction:row}
main[data-resource-page=teachers] #resource-context:empty{display:none}
main[data-resource-page=teachers] #resource-context{--content-size:.8125rem;margin:0}
main[data-resource-page=teachers] #resource-count{font-size:13px;font-weight:500}
main[data-resource-page=teachers] #resource-results>.editorial-group{margin:0 0 24px}
main[data-resource-page=teachers] .teacher-group-heading{display:flex;align-items:baseline;gap:10px;margin:0 0 12px}
html body[data-atlas-room] main[data-resource-page=teachers] .teacher-group-heading h2{font-family:var(--type-sans)!important;font-size:1rem!important;margin:0}
main[data-resource-page=teachers] .teacher-group-heading>span{font-size:13px;color:var(--a-muted)}
@media(max-width:650px){main[data-resource-page=teachers] #resource-filters .teacher-filter-options{grid-template-columns:1fr}main[data-resource-page=teachers] .resource-results-heading{flex-wrap:wrap}}
@media(pointer:coarse){main[data-resource-page=teachers] #resource-filters :is(input[type=search],select,.resource-more-filters>summary,#resource-reset){min-height:44px}}
@media(max-width:699px),(pointer:coarse){main[data-resource-page=teachers] #resource-filters #resource-q,main[data-resource-page=teachers] #resource-filters .teacher-filter-options select{min-height:44px}}
/* A single search, with optional choices kept together. */
main.sangha-main .sangha-heading{margin-bottom:18px}
main.sangha-main .sangha-heading h1{margin:3px 0 8px}
main.sangha-main .sangha-search{padding:14px;gap:10px;align-items:end;border-radius:12px;background:var(--a-panel,#edf2e9)}
main.sangha-main .sangha-location>span{font-size:12px;font-weight:600}
main.sangha-main .sangha-location-status{min-height:0;margin:10px 0;font-size:13px}
main.sangha-main .sangha-location-status:empty{display:none}
main.sangha-main .sangha-browse-bar{position:relative;margin:12px 0 18px;display:flex;gap:16px;align-items:start;justify-content:space-between}
main.sangha-main .sangha-more{margin:0;padding:0;border:0;flex:1;min-width:0}
main.sangha-main .sangha-more>summary{display:list-item;width:max-content;padding:10px 4px;font-size:14px}
main.sangha-main .sangha-filter-content{padding:16px;margin-top:6px;border:1px solid var(--a-line,#cbd5c5);border-radius:10px;background:var(--a-paper,#fffdf7)}
main.sangha-main .sangha-offerings{gap:6px;margin-bottom:16px}
main.sangha-main .sangha-offerings span{padding:8px 12px;min-height:38px;font-size:13px}
main.sangha-main .sangha-format{min-height:0;margin-bottom:15px;gap:16px}
main.sangha-main .sangha-format legend{margin-bottom:8px}
main.sangha-main .sangha-filter-grid{gap:14px;padding-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}
main.sangha-main .sangha-result-bar{margin:0;gap:12px;flex-wrap:wrap;justify-content:flex-end}
main.sangha-main .sangha-result-bar p{margin:10px 0;font-size:14px;font-weight:400}
main.sangha-main .sangha-result-bar button{min-height:40px;padding:8px 12px;min-width:0}
main.sangha-main .sangha-card{padding:18px}
main.sangha-main .sangha-photo{display:block;margin:16px 0}
main.sangha-main .sangha-photo img{width:100%;height:190px;object-fit:cover;max-width:none}
main.sangha-main .sangha-photo figcaption{margin-top:6px;font-size:11px;line-height:1.4}
main.sangha-main .sangha-photo details{display:inline-block;margin-left:5px}
main.sangha-main .sangha-photo summary{cursor:pointer}
@media(max-width:650px){main.sangha-main .sangha-browse-bar{flex-wrap:wrap;gap:0}main.sangha-main .sangha-more{flex-basis:100%}main.sangha-main .sangha-result-bar{width:100%;justify-content:flex-start}main.sangha-main .sangha-result-bar p{margin-right:auto}main.sangha-main .sangha-filter-grid{grid-template-columns:1fr 1fr}main.sangha-main .sangha-search{gap:8px}main.sangha-main .sangha-location{flex-basis:100%;min-width:0}}
/* Retreat list and map share one set of filters. */
main[data-resource-page=retreats] .resource-results-heading{align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:space-between;margin:12px 0 16px;gap:8px 14px}
main[data-resource-page=retreats] #resource-context{margin:0;flex-basis:100%}
main[data-resource-page=retreats] #resource-context:empty{display:none}
main[data-resource-page=retreats] #resource-results>.directory-group:first-child>h2{margin-top:0}
main[data-resource-page=retreats] .retreat-view-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--a-line,#cbd5c0);border-radius:8px;margin-left:auto;background:var(--a-paper,#fffdf7)}
.retreat-view-switch button{font:500 13px system-ui;padding:8px 15px;min-height:36px;border:0;border-radius:5px;background:transparent;color:var(--a-ink,#294d39);cursor:pointer}
.retreat-view-switch button[aria-pressed=true]{background:var(--room-accent,#315a45);color:var(--a-paper,#fffdf7)}
#retreat-map{height:520px;max-height:65vh;min-height:300px;border:1px solid var(--a-line,#cbd5c0);border-radius:12px;z-index:0;background:#e5eae1}
#retreat-map-status,.retreat-map-note{font:13px/1.6 system-ui;color:var(--a-muted,#586758);margin:12px 0}
#retreat-map-panel h2{font:25px/1.2 Georgia,serif;margin:24px 0 12px}
#retreat-map-panel ul{list-style:none;padding:0;margin:0}
#retreat-map-panel li button,.retreat-popup li button{border:0;background:transparent;color:var(--a-ink,#294d39);font:14px/1.5 system-ui;text-align:left;padding:10px 0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
#retreat-map-panel>section li{border-bottom:1px solid var(--a-line,#cbd5c0)}
.retreat-map-pin{background:#315a45;border:2px solid white;color:white;border-radius:50%;text-align:center;font:bold 13px/30px system-ui;box-shadow:0 2px 7px #0004}
.retreat-popup{max-height:320px;overflow:auto;color:#294d39}.retreat-popup h3{font:22px/1.2 Georgia,serif;margin:0 0 8px}.retreat-popup img{width:100%;max-height:135px;object-fit:cover;border-radius:5px}.retreat-popup ul{list-style:none;margin:0;padding:0}.retreat-popup p{font-size:12px}.retreat-popup li button{color:#294d39}
main[data-resource-page=teachers] .resource-card.resource-teacher .resource-preview img{width:106px;height:116px;border-radius:8px;object-fit:cover;object-position:50% 25%;max-height:none}
main[data-resource-page=teachers] .resource-teacher .resource-preview>a{padding:0;min-height:116px;background:transparent}
main.sangha-main .sangha-photo-logo img{object-fit:contain;background:#fff;padding:16px;box-sizing:border-box}

/* Retreat cards keep date and duration beneath the image, with actions in Details. */
html body main[data-resource-page=retreats] .resource-card.retreat-row{--retreat-card-background:#fff;position:relative;display:grid;grid-template-columns:144px minmax(0,1fr);gap:14px 20px;align-items:start;margin:0 0 16px;padding:0 20px 16px 0;border:1px solid var(--a-line);border-radius:9px;background:var(--retreat-card-background);box-shadow:none;overflow:visible;transition:none;-webkit-tap-highlight-color:transparent}
html[data-theme=dark] body main[data-resource-page=retreats] .resource-card.retreat-row{--retreat-card-background:var(--a-card)}
html body main[data-resource-page=retreats] .resource-card.retreat-row:is(:hover,:active,:focus-within){background:var(--retreat-card-background);border-color:var(--a-line);box-shadow:none}
main[data-resource-page=retreats] .retreat-media{grid-column:1;align-self:center;min-width:0;text-align:center;padding-bottom:2px}
main[data-resource-page=retreats] .retreat-photo{width:100%;margin:0;border-radius:8px 0 0 0;overflow:hidden}
main[data-resource-page=retreats] .retreat-photo img{display:block;width:100%;height:150px;object-fit:cover;border-radius:0}
main[data-resource-page=retreats] :is(.retreat-photo-logo,.retreat-photo-portrait) img{object-fit:contain;background:#fff;padding:12px;box-sizing:border-box}
html body main[data-resource-page=retreats] .retreat-media :is(.retreat-date,.retreat-duration){font:400 13px/1.45 var(--type-sans,system-ui)!important;color:var(--a-muted);margin:3px 8px 0;overflow-wrap:normal}
html body main[data-resource-page=retreats] .retreat-media .retreat-date{font-weight:500!important;color:var(--a-ink);margin-top:8px;font-variant-numeric:tabular-nums}
main[data-resource-page=retreats] .retreat-date time{white-space:nowrap}
main[data-resource-page=retreats] .retreat-row:not(.retreat-has-photo) .retreat-media{padding-top:8px}
main[data-resource-page=retreats] .retreat-row-body{grid-column:2;grid-row:1;min-width:0;padding-top:16px}
main[data-resource-page=retreats] .retreat-header{min-height:38px;padding-right:32px}
html body main[data-resource-page=retreats] .retreat-organizer{font:500 11px/1.45 var(--type-sans,system-ui)!important;letter-spacing:.05em;margin:0;color:var(--a-muted)}
html body main[data-resource-page=retreats] .retreat-location{font:400 13px/1.45 var(--type-sans,system-ui)!important;letter-spacing:0;margin:3px 0 0;color:var(--a-ink)}
main[data-resource-page=retreats] .retreat-badges{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:10px 0}
html body main[data-resource-page=retreats] .retreat-status{display:inline-flex;align-items:center;font:500 11px/1.4 var(--type-sans,system-ui)!important;padding:3px 7px;margin:0;white-space:normal}
html body main[data-resource-page=retreats] .retreat-format{color:var(--a-muted);border-color:var(--a-line);background:transparent}
html body main[data-resource-page=retreats] .retreat-row-body :is(h2,h3){font:400 26px/1.18 var(--type-display,Georgia,serif);letter-spacing:-.01em;margin:0 0 8px;color:var(--a-ink)}
html body main[data-resource-page=retreats] .retreat-row-body .resource-author{font:400 13px/1.5 var(--type-sans,system-ui)!important;margin:0;color:var(--a-muted)}
main[data-resource-page=retreats] .retreat-row-actions{position:absolute;top:9px;right:9px;display:block;margin:0;padding:0}
main[data-resource-page=retreats] .retreat-row-actions .resource-save{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-height:44px;padding:0;margin:0;border:0!important;border-radius:50%!important}
main[data-resource-page=retreats] .retreat-row-actions .resource-save:before{width:18px;height:22px}
main[data-resource-page=retreats] .retreat-details{grid-column:1/-1;min-width:0;margin:0 0 0 20px}
html body main[data-resource-page=retreats] .retreat-details>summary{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:44px;margin:0;padding:9px 12px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-selected);list-style:none;font:500 13px/1.4 var(--type-sans,system-ui);color:var(--a-ink);cursor:pointer}
main[data-resource-page=retreats] .retreat-details>summary::-webkit-details-marker{display:none}
main[data-resource-page=retreats] .retreat-details>summary::marker{content:''}
main[data-resource-page=retreats] .retreat-detail-body{--content-size:.8125rem;--type-leading:1.6;padding-top:6px}
main[data-resource-page=retreats] .retreat-detail-body>p{max-width:760px}
html body main[data-resource-page=retreats] .retreat-detail-body p{font-size:13px!important;line-height:1.6;margin:8px 0;color:var(--a-muted)}
main[data-resource-page=retreats] .retreat-detail-body ul{padding-left:18px;font:13px/1.6 var(--type-sans,system-ui)}
main[data-resource-page=retreats] .retreat-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}
main[data-resource-page=retreats] .retreat-availability-row{display:flex;align-items:center;gap:8px}
main[data-resource-page=retreats] .retreat-availability-row>p{flex:1;min-width:0}
main[data-resource-page=retreats] .retreat-source-info{flex:none;margin-left:auto}
html body main[data-resource-page=retreats] .retreat-source-info>summary{width:44px;min-height:44px;padding:0}
main[data-resource-page=retreats] .retreat-source-info>summary svg{width:20px;height:20px}
main[data-resource-page=retreats] .retreat-source-info .resource-reviewed{margin:0;font-size:12px!important;line-height:1.6;color:var(--a-muted)}
main[data-resource-page=retreats] .retreat-source-info .teacher-action-popover ul{padding:0;margin:10px 0 0}
html body main[data-resource-page=retreats] .retreat-action{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:44px;margin:0;padding:9px 14px;border:1px solid var(--a-line);border-radius:6px;background:var(--a-selected);color:var(--a-ink);font:500 13px/1.4 var(--type-sans,system-ui);text-decoration:none;white-space:nowrap;overflow-wrap:normal;text-align:center}
html body main[data-resource-page=retreats] .retreat-action-secondary{background:transparent;font-weight:400}
html body main[data-resource-page=retreats] :is(.retreat-action,.retreat-details>summary):hover{border-color:var(--a-accent)}
main[data-resource-page=retreats] .retreat-row :is(a,button,summary):focus-visible{outline:2px solid var(--a-accent);outline-offset:3px}
@media(min-width:801px){
 html body main[data-resource-page=retreats] .retreat-details>summary{width:fit-content;min-width:100px;min-height:32px;padding:5px 13px}
}
@media(max-width:800px){
 html body main[data-resource-page=retreats] .resource-card.retreat-row{grid-template-columns:112px minmax(0,1fr);gap:14px 16px;padding-right:16px}
 main[data-resource-page=retreats] .retreat-photo img{height:128px}
 main[data-resource-page=retreats] .retreat-details{margin-left:16px}
 main[data-resource-page=retreats] .retreat-row-actions{top:6px;right:6px}
}
@media(max-width:550px){
 html body main[data-resource-page=retreats] .resource-card.retreat-row{grid-template-columns:96px minmax(0,1fr);gap:12px;padding-right:12px;padding-bottom:12px}
 main[data-resource-page=retreats] .retreat-photo img{height:112px}
 main[data-resource-page=retreats] .retreat-row-body{padding-top:12px}
 html body main[data-resource-page=retreats] .retreat-row-body :is(h2,h3){font-size:23px}
 html body main[data-resource-page=retreats] .retreat-media :is(.retreat-date,.retreat-duration){font-size:12px!important;margin-left:5px;margin-right:5px}
 main[data-resource-page=retreats] .retreat-header{padding-right:30px}
 main[data-resource-page=retreats] .retreat-details{margin-left:12px}
 main[data-resource-page=retreats] .retreat-detail-actions .retreat-action:first-child{flex:1 0 auto}
 main[data-resource-page=retreats] .retreat-row-actions{top:4px;right:3px}
 .retreat-view-switch button{min-height:40px}
}
@media(max-width:360px){
 html body main[data-resource-page=retreats] .resource-card.retreat-row{grid-template-columns:84px minmax(0,1fr);column-gap:10px}
 main[data-resource-page=retreats] .retreat-photo img{height:100px}
}
main[data-resource-page=retreats] .retreat-photo-logo img{height:auto;max-height:150px}

/* Directory search uses the same visible field and native filter button as talks. */
html body[data-atlas-room] main :is(#resource-filters,#sangha-search,#gv-controls,#sits-filters,#bt-search-filters).atlas-search-filters{
 display:block;position:relative;margin:28px 0 20px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;min-height:48px;
}
html body[data-atlas-room] main .atlas-search-filters>.atlas-search-field{
 display:block;position:static;width:calc(100% - 122px);min-width:0;margin:0;padding:0;
}
.atlas-search-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
html body[data-atlas-room] main .atlas-search-filters>.atlas-search-field input,
html body[data-atlas-room] main #resource-filters.atlas-search-filters #resource-q{
 display:block;box-sizing:border-box;width:100%;min-width:0;min-height:48px;height:48px;margin:0;padding:11px 14px;border:1px solid var(--a-line);border-radius:7px;background:var(--a-card);color:var(--a-ink);font:400 1rem/1.5 var(--type-sans,system-ui);
}
.atlas-search-field input::placeholder{color:var(--a-muted);opacity:1}
html body[data-atlas-room] main .atlas-search-filters>.atlas-filter-disclosure{display:block;margin:0;padding:0;border:0;background:transparent;min-width:0}
html body[data-atlas-room] main .atlas-search-filters>.atlas-filter-disclosure>summary{
 position:absolute;right:0;top:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:7px;width:110px;min-height:48px;margin:0;padding:10px;border:1px solid var(--a-line);border-radius:7px;background:var(--a-surface);color:var(--a-ink);font:500 .875rem/1.4 var(--type-sans,system-ui);cursor:pointer;list-style:none;white-space:nowrap;
}
.atlas-filter-disclosure>summary::-webkit-details-marker{display:none}
html body[data-atlas-room] main .atlas-filter-disclosure>summary svg{flex:none;width:18px;height:18px;margin:0;transform:none}
html body[data-atlas-room] main .atlas-search-filters>.atlas-filter-disclosure[open]>summary{background:var(--a-selected);border-radius:7px}
html body[data-atlas-room] main .atlas-search-filters .atlas-filter-fields{
 display:block;box-sizing:border-box;min-width:0;margin:24px 0 0;padding:16px;border:1px solid var(--a-line);border-radius:8px;background:var(--a-surface);
}
html body[data-atlas-room] main .atlas-filter-fields :is(.resource-primary-filters,.atlas-filter-options,.gv-search-row){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end;min-width:0}
html body[data-atlas-room] main .atlas-filter-fields .atlas-filter-options{margin-top:14px}
html body[data-atlas-room] main .atlas-filter-fields .teacher-filter-options{margin-top:0}
html body[data-atlas-room] main .atlas-filter-fields .gv-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.atlas-filter-fields .teacher-tradition-hint,.atlas-filter-fields .resource-filter-foot{grid-column:1/-1}
.atlas-location-actions{display:flex;justify-content:flex-start;margin-bottom:16px}
.atlas-filter-count{position:absolute;top:100%;right:0;margin-top:2px;color:var(--a-muted);font-size:.6875rem;line-height:1.5;white-space:nowrap}
html body[data-atlas-room] main .gv-browse-tools:has(>.atlas-search-filters){margin-top:28px}
html body[data-atlas-room] main .gv-browse-tools #gv-controls.atlas-search-filters{margin:0}
.atlas-search-filters :is(input,summary,button):focus-visible{outline:2px solid var(--a-accent);outline-offset:3px}
@media(max-width:550px){
 html body[data-atlas-room] main .atlas-search-filters>.atlas-search-field{width:calc(100% - 102px)}
 html body[data-atlas-room] main .atlas-search-filters>.atlas-filter-disclosure>summary{width:92px;gap:5px;padding:9px 6px;font-size:.8125rem}
 html body[data-atlas-room] main .atlas-filter-fields :is(.resource-primary-filters,.atlas-filter-options,.gv-search-row,.gv-filters,.sangha-filter-grid){grid-template-columns:minmax(0,1fr)}
 html body[data-atlas-room] main .atlas-search-filters .atlas-filter-fields{padding:14px}
}
@media(max-width:650px){
 html body[data-atlas-room] main[data-resource-page=retreats]{padding-top:16px}
 html body[data-atlas-room] main[data-resource-page=retreats] #resource-filters.atlas-search-filters{margin:0 0 12px}
}

/* Date and venue lanes for the retreat directory. */
#retreat-timeline-tools,#retreat-timeline-panel{--rt-ink:var(--a-ink,#284435);--rt-line:var(--a-line,#c9d5c4);--rt-paper:var(--a-paper,#fffdf7);--rt-accent:var(--room-accent,#345b44);color:var(--rt-ink)}
#retreat-timeline-tools[hidden],#retreat-timeline-panel[hidden]{display:none}
.rt-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:4px 0 12px}
.rt-paging{display:flex;align-items:center;gap:8px;margin-right:8px}
.rt-paging[hidden],main[data-resource-page=retreats] #resource-count[hidden]{display:none}
.rt-paging strong{font:500 14px/1.4 var(--type-sans,system-ui);font-variant-numeric:tabular-nums}
.rt-controls :is(input,select){font:inherit;color:var(--rt-ink)}
.rt-controls button,.rt-picker>summary{display:inline-flex;align-items:center;justify-content:center;gap:9px;box-sizing:border-box;min-height:34px;padding:6px 12px;border:1px solid var(--rt-line);border-radius:6px;background:var(--a-selected,#e3ebdf);color:var(--rt-ink);font:500 13px/1.4 var(--type-sans,system-ui);cursor:pointer}
.rt-controls :is(button,summary):hover{border-color:var(--rt-accent)}
.rt-controls :is(button,summary,input):focus-visible{outline:2px solid var(--rt-accent);outline-offset:2px}
.rt-controls button:disabled,.retreat-view-switch button:disabled{opacity:.45;cursor:default}
.rt-paging button{width:34px;padding:0}
.rt-picker{position:relative}
.rt-picker>summary{list-style:none}
.rt-picker>summary::-webkit-details-marker{display:none}
.rt-picker>summary::after{content:"";width:6px;height:6px;margin-top:-3px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.rt-picker[open]>summary::after{margin-top:3px;transform:rotate(225deg)}
.rt-picker>div{position:absolute;z-index:6;top:calc(100% + 5px);left:0;box-sizing:border-box;width:min(248px,80vw);display:grid;gap:8px;padding:12px;background:var(--a-card,#fffdf7);border:1px solid var(--rt-line);border-radius:8px;box-shadow:0 5px 18px #0002;font:400 14px/1.4 var(--type-sans,system-ui)}
.rt-dates label{display:grid;gap:4px}
.rt-dates :is(input,select){min-width:0;padding:6px;border:1px solid var(--rt-line);border-radius:5px;background:var(--rt-paper)}
.rt-picker .rt-options{max-height:min(340px,55vh);overflow:auto;gap:0}
.rt-options label{display:flex;align-items:center;gap:8px;min-height:34px;cursor:pointer}
.rt-options input{accent-color:var(--rt-accent)}
.rt-options button{margin-bottom:5px}
.rt-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;font:400 13px/1.5 var(--type-sans,system-ui);color:var(--a-muted);border-bottom:1px solid var(--rt-line);padding:4px 0 8px}
#retreat-timeline-panel{--rt-label:min(24%,180px);--rt-zen:#497292;--rt-insight:#47734f;--rt-tibetan:#905b85;--rt-jhana:#9c691c;--rt-other:#697077;padding-bottom:1rem}
html[data-theme=dark] #retreat-timeline-panel{--rt-zen:#81afce;--rt-insight:#8ab78d;--rt-tibetan:#c592ba;--rt-jhana:#d7ab62;--rt-other:#a2a9ad}
[data-rt-group=zen]{--rt-color:var(--rt-zen)}
[data-rt-group=insight]{--rt-color:var(--rt-insight)}
[data-rt-group=tibetan]{--rt-color:var(--rt-tibetan)}
[data-rt-group=jhana]{--rt-color:var(--rt-jhana)}
[data-rt-group=other]{--rt-color:var(--rt-other)}
.rt-legend{display:flex;flex-wrap:wrap;gap:3px 14px;font-size:12px}
.rt-legend>span,.rt-card-key{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.rt-symbol{position:relative;display:inline-block;flex:none;width:15px;height:8px;border-radius:3px;background:var(--rt-color)}
.rt-intensive::after{content:"";position:absolute;top:50%;left:50%;width:6px;height:6px;transform:translate(-50%,-50%) rotate(45deg);background:var(--rt-paper);box-shadow:0 0 0 1px var(--rt-color)}
.rt-diamond-key{display:inline-block;width:6px;height:6px;margin:0 3px;transform:rotate(45deg);background:currentColor}
.rt-card-key{font:400 12px/1.4 var(--type-sans,system-ui);color:var(--rt-ink)}
.rt-axis,.rt-city{display:grid;grid-template-columns:var(--rt-label) minmax(0,1fr);align-items:center}
.rt-axis{font-size:.78rem;position:sticky;top:0;background:var(--rt-paper);z-index:1}
.rt-scale{position:relative;height:34px;cursor:crosshair;touch-action:none;user-select:none;overflow:hidden}
.rt-scale span{position:absolute;top:7px;white-space:nowrap}
.rt-scale i{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--rt-accent) 25%,transparent);pointer-events:none}
.rt-group>h3,.rt-week>h3{color:var(--rt-ink);margin:12px 0 2px;padding:7px 0 4px;border-top:1px solid var(--rt-line);font:500 .9rem system-ui}
.rt-city-label{font-size:.88rem;padding-right:8px;overflow-wrap:anywhere}
.rt-lanes{background:repeating-linear-gradient(to right,var(--rt-line) 0 1px,transparent 1px var(--rt-grid))}
.rt-lane{position:relative;height:27px}
.rt-lane .rt-event{position:absolute;top:0;bottom:0;background:transparent;border:0;cursor:pointer;padding:0 1px;min-width:1px}
.rt-lane .rt-symbol{display:block;width:100%;height:10px}
.rt-lane .rt-event:is(:hover,:focus-visible,[aria-pressed=true]) .rt-symbol{height:14px;outline:1px solid var(--rt-ink);outline-offset:1px}
.rt-selection{margin:8px 0 14px}
.rt-agenda-item .rt-event{display:grid;align-items:start;grid-template-columns:15px minmax(68px,21%) minmax(0,1fr);gap:10px;width:100%;min-height:44px;padding:10px 4px;border:none;border-bottom:1px solid var(--rt-line);background:transparent;text-align:left;color:var(--rt-ink);font:inherit;cursor:pointer}
.rt-agenda-item .rt-symbol{margin-top:.42rem}
.rt-agenda-item .rt-event[aria-pressed=true]{background:color-mix(in srgb,var(--rt-accent) 8%,var(--rt-paper))}
.rt-agenda-item strong,.rt-agenda-item small{display:block}
.rt-agenda-item strong{font-weight:500}
.rt-agenda-item small,.rt-agenda-date{font-size:.84rem}
@media(max-width:660px){
 .rt-controls{gap:8px;align-items:center}
 .rt-controls .rt-paging{width:100%;justify-content:space-between}
 .rt-controls :is(button,select,summary),.rt-options label{min-height:44px}
 .rt-paging button{width:44px}
 .rt-picker{position:static}
 .rt-picker[open]{order:3;width:100%}
 .rt-picker[open] summary{width:fit-content}
 .rt-picker>div{position:static;box-shadow:none;width:100%;margin-top:5px}
 main[data-resource-page=retreats] .resource-results-heading{flex-wrap:wrap}
}
