.tam-directory .directory-hero{--tam-inner-hero-image:url('../images/home-carousel/entrance-gopura-tower-airavatesvara-temple-darasuram.jpg')}
.tam-directory .directory-hero .directory-lotus{object-fit:contain}
#directory-search{display:flex;max-width:680px;height:52px;margin:18px auto 0;border-radius:30px;background:var(--tam-ivory);border:1px solid rgba(214,174,105,.8);box-shadow:0 8px 24px rgba(22,7,3,.25);overflow:hidden}
#directory-search input{flex:1;min-width:0;padding:0 24px;background:transparent;border:0;font:14px var(--tam-font-body);color:var(--tam-text)}
#directory-search button{width:58px;border:0;border-radius:50%;background:var(--tam-maroon);color:white;font-size:28px;cursor:pointer}
.directory-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:30px;padding-block:42px 54px}
.directory-sidebar{position:sticky;top:calc(var(--tam-sticky-header-h, 84px) + 12px);align-self:start;border:1px solid var(--tam-border);border-radius:18px;background:#fffaf1;padding:22px}
.directory-filter-heading{display:flex;align-items:center;justify-content:space-between}
.directory-filter-heading h2{font:700 27px var(--tam-font-display);color:var(--tam-maroon);margin-bottom:20px}
.directory-filter{border-top:1px solid var(--tam-border);padding:17px 0}
.directory-filter summary{font-size:13px;font-weight:700;color:var(--tam-maroon);cursor:pointer}
.directory-filter>div{display:grid;gap:4px;margin-top:12px}
.directory-filter label[hidden]{display:none}
.directory-filter-more{min-height:36px;margin-top:6px;border:0;background:transparent;color:var(--tam-maroon);font:700 11px var(--tam-font-body);text-align:left;text-decoration:underline;cursor:pointer}
.directory-filter label{display:flex;align-items:center;gap:9px;min-height:34px;font-size:12px;line-height:1.5;cursor:pointer}
.directory-filter input{accent-color:var(--tam-maroon);width:16px;height:16px;flex-shrink:0}
.directory-clear{border:0;background:transparent;color:var(--tam-maroon);text-decoration:underline;min-height:44px;cursor:pointer}
#open-filters,#close-filters,#apply-filters{display:none}
.directory-results{min-width:0}
.directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;margin-bottom:20px}
.directory-toolbar p{font:700 26px var(--tam-font-display);color:var(--tam-maroon);margin:0}
.directory-result-summary{margin:0 0 16px;color:var(--tam-maroon);font:700 20px/1.3 var(--tam-font-display)}
.directory-toolbar label{display:flex;gap:8px;align-items:center;font-size:12px}
.directory-toolbar select{min-height:44px;max-width:210px;padding:8px;border:1px solid var(--tam-border);border-radius:10px;background:var(--tam-ivory);font:12px var(--tam-font-body);color:var(--tam-text)}
#active-filters-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
#active-filters-row:empty{display:none}
#active-filters-row button{font:11px var(--tam-font-body);padding:8px 10px;min-height:36px;border:1px solid var(--tam-border);background:var(--tam-cream);border-radius:18px;color:var(--tam-maroon);cursor:pointer}
#active-filters-row .directory-clear-chip{background:transparent;text-decoration:underline}
.tam-directory #temples-grid-wrapper{display:block}
.tam-directory .temple-page-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px}
.tam-directory-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--tam-border);border-radius:var(--tam-radius-sm);background:var(--tam-ivory);overflow:hidden;box-shadow:0 8px 22px rgba(91,47,25,.07)}
.directory-card-image{position:relative;aspect-ratio:16/10;background:var(--tam-cream);overflow:hidden}
.directory-card-image>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.tam-directory-card:hover .directory-card-image>img{transform:scale(1.025)}
.directory-save{position:absolute;right:12px;top:12px;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--tam-border);border-radius:50%;background:var(--tam-ivory);color:var(--tam-maroon);cursor:pointer}
.directory-image-fallback{height:100%;display:grid;place-content:center;text-align:center;color:var(--tam-maroon);background:linear-gradient(90deg,#fff9ecee,#fff9ec99),url('../images/mandala-bg.png') center/cover}
.directory-image-fallback span{font-size:38px}.directory-image-fallback small{font-size:11px}
.directory-card-body{display:flex;flex:1;flex-direction:column;padding:18px;gap:12px}
.directory-card-title{min-height:86px}
.tam-directory .directory-card-title h2{font:700 25px/1.08 var(--tam-font-display);color:var(--tam-maroon);margin:0}
.directory-card-title a{text-decoration:none}.directory-card-title a:hover{text-decoration:underline}
.directory-native{font-size:12px;color:var(--tam-muted);margin:8px 0 0;line-height:1.5}
.directory-location{font-size:12px;line-height:1.6;min-height:38px;margin:0;color:var(--tam-muted)}
.directory-metadata{display:flex;flex-wrap:wrap;align-content:start;gap:6px;min-height:48px}
.directory-metadata span{font-size:10px;line-height:1.5;padding:4px 7px;background:var(--tam-cream);border:1px solid var(--tam-border);border-radius:5px;color:var(--tam-maroon)}
.directory-event-strip{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:66px;padding:10px;border:1px solid rgba(214,174,105,.72);border-radius:11px;background:#fff8e9;color:var(--tam-maroon);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.directory-event-strip:hover,.directory-event-strip:focus-visible{border-color:var(--tam-gold);box-shadow:0 5px 14px rgba(91,47,25,.1);transform:translateY(-1px);outline:none}
.directory-event-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f7ead0;border:1px solid rgba(214,174,105,.42)}
.directory-event-icon img{width:22px;height:22px;object-fit:contain;display:block}
.directory-event-copy{display:grid;gap:2px;min-width:0}
.directory-event-label{font-size:9px;line-height:1.2;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tam-saffron)}
.directory-event-copy strong{font:700 14px/1.2 var(--tam-font-display);color:var(--tam-maroon);overflow-wrap:anywhere}
.directory-event-meta,.directory-event-more{font-size:10px;line-height:1.35;color:var(--tam-muted);overflow-wrap:anywhere}
.directory-event-more{font-weight:700;color:var(--tam-maroon)}
.directory-event-arrow{font-size:17px;font-weight:700;color:var(--tam-maroon);padding-left:3px}
.directory-card-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--tam-border);font-size:11px}
.directory-card-actions button{border:0;background:transparent;color:var(--tam-muted);min-height:36px;padding:0;cursor:pointer;font:inherit}
.directory-card-actions button[aria-pressed=true]{color:var(--tam-maroon);font-weight:700}
.directory-card-actions a{color:var(--tam-maroon);font-weight:700;text-decoration:none;padding-block:10px}
.directory-empty{grid-column:1/-1;text-align:center;padding:70px 20px;background:var(--tam-cream);border-radius:18px}.directory-empty>span{font-size:44px;color:var(--tam-saffron)}
.tam-directory .sacred-groups-strip{background:var(--tam-cream);padding:40px 0;margin:0;border-block:1px solid var(--tam-border)}
.tam-directory .sacred-groups-strip>.container{width:min(calc(100% - 48px),var(--tam-page-max));max-width:none;margin:auto;padding:0}
.tam-directory .sg-header h2,.tam-directory .sg-title,.tam-directory .region-title{font:700 36px var(--tam-font-display);color:var(--tam-maroon)}
.tam-directory .sg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tam-directory .sg-card{background:var(--tam-ivory);border:1px solid var(--tam-border);border-radius:12px;box-shadow:none;max-width:440px}
.tam-directory .sg-card-name{color:var(--tam-maroon);font-family:var(--tam-font-display)}
.tam-directory .sacred-groups-title{font:700 36px/1.1 var(--tam-font-display);color:var(--tam-maroon)}
.tam-directory .sacred-groups-sub{font:13px/1.7 var(--tam-font-body);color:var(--tam-muted)}
.tam-directory .sacred-groups-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tam-directory .sg-card{display:flex;flex-direction:row;min-height:170px;height:auto;padding:0;max-width:none}
.tam-directory .sg-card-img{position:relative;width:40%;flex:0 0 40%;inset:auto}
.tam-directory .sg-card-img img{height:100%;width:100%;object-fit:cover}
.tam-directory .sg-card-overlay{display:none}
.tam-directory .sg-card-content{position:relative;inset:auto;padding:22px 18px;flex:1;min-width:0}
.tam-directory .sg-card-name{font:700 25px/1.1 var(--tam-font-display);margin:8px 0;color:var(--tam-maroon)}
.tam-directory .sg-card-known,.tam-directory .sg-card-count{color:var(--tam-muted);font-size:10px}
.tam-directory .sg-card-label{color:var(--tam-saffron);font-size:9px}
.tam-directory .sg-card-progress{display:block;margin-top:12px}
.tam-directory .sg-card-bar{background:var(--tam-border);margin-bottom:8px}
.tam-directory .sg-card-fill{background:var(--tam-gold)}
.tam-directory .sg-card-arrow{display:none}
@media(max-width:1199px){
.directory-layout{grid-template-columns:1fr}.tam-directory .temple-page-section{grid-template-columns:repeat(2,minmax(0,1fr))}
#open-filters,#close-filters,#apply-filters{display:inline-flex}#close-filters{font-size:28px;border:0;background:none;color:var(--tam-maroon);width:44px;height:44px;justify-content:center}
.directory-sidebar{display:none;position:fixed;inset:0 0 0 auto;width:min(390px,calc(100% - 24px));height:100dvh;overflow-y:auto;z-index:101;border-radius:18px 0 0 18px;padding:24px}
.directory-sidebar.is-open{display:block}.directory-backdrop:not([hidden]){position:fixed;inset:0;background:#21100877;z-index:100}
.directory-toolbar{flex-wrap:wrap}.directory-toolbar p{margin-right:auto}
}
@media(max-width:600px){
.directory-hero p{font-size:12px;line-height:1.7}
#directory-search input{font-size:12px;padding-left:15px}.directory-layout{padding-top:24px}
.tam-directory .temple-page-section{grid-template-columns:1fr}
.directory-toolbar label{margin-left:auto}.directory-card-title{min-height:0}.directory-location{min-height:0}
.directory-event-strip{grid-template-columns:28px minmax(0,1fr) auto;padding:9px;gap:8px}.directory-event-copy strong{font-size:13px}.directory-event-meta,.directory-event-more{font-size:10px}
.tam-directory .sg-grid,.tam-directory .sacred-groups-grid{grid-template-columns:1fr}
.tam-directory .sacred-groups-strip>.container{width:calc(100% - 28px)}
}
