.atc-grid{
	display:grid;
	grid-template-columns:repeat(var(--atc-cols,3),minmax(0,1fr));
	gap:24px;
	font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
@media (max-width:1024px){.atc-grid{grid-template-columns:repeat(min(var(--atc-cols,3),2),minmax(0,1fr))}}
@media (max-width:640px){.atc-grid{grid-template-columns:1fr}}

.atc-card{
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	min-height:520px;
	padding:20px;
	border-radius:24px;
	overflow:hidden;
	color:#fff;
	background-color:#1a1613;
	background-size:cover;
	background-position:center top;
	isolation:isolate;
}
.atc-overlay{
	position:absolute;
	inset:0;
	z-index:-1;
	background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.15) 40%,rgba(10,8,7,.92) 78%,rgba(10,8,7,.97) 100%);
}

/* Top row */
.atc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.atc-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.atc-badge{
	background:#ffd2a8;
	color:#2a1a0c;
	font-size:12px;
	font-weight:600;
	letter-spacing:.04em;
	padding:9px 16px;
	border-radius:999px;
}
.atc-verified{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-size:12px;
	font-weight:500;
	padding:9px 14px;
	border-radius:999px;
	background:rgba(20,16,14,.65);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}
.atc-heart{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	padding:0;
	border:0;
	border-radius:50%;
	background:rgba(20,16,14,.65);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	color:#fff;
	cursor:pointer;
	transition:transform .15s ease,color .15s ease;
}
.atc-heart:hover{transform:scale(1.08)}
.atc-heart.is-active{color:#ff6b6b}
.atc-heart.is-active svg{fill:currentColor}

/* Bottom content */
.atc-bottom{margin-top:auto;padding-top:220px}
.atc-location{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	font-size:14px;
	color:#ffd2a8;
}
.atc-location .atc-district{color:rgba(255,255,255,.7);font-size:13px}
.atc-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.4);display:inline-block}

.atc-name{margin:8px 0 6px;font-family:'Playfair Display',Georgia,serif;font-size:30px;font-weight:700;line-height:1.15}
.atc-name a{color:#fff;text-decoration:none}
.atc-practice{margin:0 0 18px;font-size:16px;color:rgba(255,255,255,.82)}

.atc-rating{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	padding:12px 16px;
	margin-bottom:14px;
	font-size:14px;
	border-radius:10px;
	background:rgba(20,16,14,.55);
	border:1px solid rgba(255,255,255,.12);
}
.atc-rating strong{font-weight:600}
.atc-muted{color:rgba(255,255,255,.7);font-size:13px}

.atc-actions{display:flex;flex-wrap:wrap;gap:10px}
.atc-btn{
	display:inline-block;
	padding:11px 22px;
	border-radius:999px;
	font-size:14px;
	font-weight:500;
	text-decoration:none;
	transition:opacity .15s ease,transform .15s ease;
}
.atc-btn:hover{opacity:.88;transform:translateY(-1px)}
.atc-btn-dark{background:rgba(40,36,34,.9);color:#fff}
.atc-btn-light{background:rgba(255,255,255,.5);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

.atc-empty{text-align:center;padding:40px 0}
.atc-pagination{margin-top:32px;text-align:center}
.atc-pagination .page-numbers{display:inline-block;padding:8px 14px;margin:0 3px;border-radius:8px;text-decoration:none}
.atc-pagination .page-numbers.current{background:#222;color:#fff}

.atc-archive{max-width:1200px;margin:0 auto;padding:40px 20px}
.atc-archive-header h1{margin:0 0 28px;font-family:'Playfair Display',Georgia,serif}

/* ---------- Directory (location pages) ---------- */
.atc-card[hidden],.atc-empty[hidden]{display:none}

.atc-directory{
	box-sizing:border-box;
	width:100%;
	padding:28px 24px 40px;
	border-radius:20px;
	color:#fff;
	background:linear-gradient(180deg,#0f0d0c 0%,#1a1614 100%);
	font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
.atc-directory *{box-sizing:border-box}

.atc-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.atc-pill{
	appearance:none;
	border:1px solid rgba(255,255,255,.08);
	background:#2a2523;
	color:#f2ece8;
	font:500 13px/1 'Inter',system-ui,sans-serif;
	padding:10px 16px;
	border-radius:999px;
	cursor:pointer;
	transition:background .15s ease,color .15s ease;
}
.atc-pill:hover{background:#3a3330}
.atc-pill.is-active{background:#bdb7b3;color:#161211;border-color:transparent}

.atc-regional{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	margin:0 0 14px;
	font-size:12px;
	color:rgba(255,255,255,.6);
}
.atc-regional strong{color:#ffd2a8;font-weight:500}

.atc-bar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
	padding:12px 16px;
	margin-bottom:20px;
	border-radius:12px;
	background:rgba(255,255,255,.04);
	border:1px solid rgba(255,255,255,.1);
	font-size:13px;
}
.atc-showing{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.85)}
.atc-showing strong,.atc-place{color:#ffd2a8;font-weight:600}
.atc-tools{display:flex;align-items:center;gap:10px}
.atc-tools label{color:rgba(255,255,255,.55);font-size:12px;margin:0}
.atc-sort{
	appearance:auto;
	background:#231f1d;
	color:#f2ece8;
	border:1px solid rgba(255,255,255,.12);
	border-radius:8px;
	padding:7px 10px;
	font:500 12px 'Inter',system-ui,sans-serif;
}
.atc-view{display:flex;gap:2px;padding:3px;border-radius:8px;background:#231f1d;border:1px solid rgba(255,255,255,.12)}
.atc-view button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:28px;
	padding:0;
	border:0;
	border-radius:6px;
	background:transparent;
	color:rgba(255,255,255,.6);
	cursor:pointer;
}
.atc-view button.is-active{background:rgba(255,255,255,.14);color:#fff}

.atc-directory .atc-card{min-height:500px;border:1px solid rgba(255,255,255,.08);border-radius:16px}
.atc-directory .atc-grid{gap:20px}
.atc-directory .atc-name{font-size:26px}
.atc-directory .atc-empty{color:rgba(255,255,255,.7)}

/* List view */
.atc-directory .atc-grid.is-list{grid-template-columns:1fr}
.atc-directory .atc-grid.is-list .atc-card{min-height:300px}
.atc-directory .atc-grid.is-list .atc-bottom{padding-top:120px}
@media (max-width:640px){
	.atc-directory{padding:20px 14px 28px}
	.atc-bar{flex-direction:column;align-items:flex-start}
}

/* v1.2: whole card is clickable (name link stretches over the card) */
.atc-card{cursor:pointer}
.atc-name a::after{content:'';position:absolute;inset:0;z-index:1}
.atc-directory .atc-card,.atc-card{min-height:440px}

/* v1.2.1: clean rounded edge (no border on the image element) */
.atc-card,.atc-directory .atc-card{
	border:0;
	border-radius:24px;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center top;
	background-clip:border-box;
	background-origin:border-box;
	-webkit-mask-image:-webkit-radial-gradient(white,black);
}
.atc-card::after{
	content:'';
	position:absolute;
	inset:0;
	border-radius:inherit;
	box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
	pointer-events:none;
	z-index:2;
}
