/* Anzemah Members Directory — public styles (mobile-first). */
:root {
	--amd-brand: #0073aa;
	--amd-radius: 10px;
	--amd-border: #e4e7eb;
	--amd-muted: #6b7280;
	--amd-bg-soft: #f7f8fa;
}

.amd-page { max-width: 1200px; margin: 0 auto; padding: 1rem; }

/* Buttons */
.amd-btn {
	display: inline-flex; align-items: center; gap: .4em;
	padding: .55em 1.1em; border-radius: var(--amd-radius);
	border: 1px solid var(--amd-border); background: #fff; color: inherit;
	cursor: pointer; text-decoration: none; font-size: .95rem; line-height: 1.2;
}
.amd-btn--primary { background: var(--amd-brand); border-color: var(--amd-brand); color: #fff; }
.amd-btn--small { padding: .35em .7em; font-size: .85rem; }
.amd-btn--danger { color: #b32d2e; border-color: #e9b3b3; }
.amd-btn:hover { filter: brightness( .97 ); }

/* Search bar */
.amd-search-form {
	display: flex; flex-wrap: wrap; gap: .6rem; align-items: stretch;
	background: #fff; padding: 1rem; border: 1px solid var(--amd-border);
	border-radius: var(--amd-radius); margin-bottom: 1.5rem;
}
.amd-search-field { flex: 1 1 190px; min-width: 0; display: flex; align-items: center; gap: .4rem; border: 1px solid var(--amd-border); border-radius: var(--amd-radius); padding: 0 .6rem; background: #fff; }
.amd-search-field--keyword { flex: 2 1 240px; }
.amd-search-form .amd-btn { flex: 0 0 auto; }
.amd-search-field .dashicons { color: var(--amd-muted); }
.amd-search-field input, .amd-search-field select { border: 0; width: 100%; padding: .6rem .2rem; background: transparent; }
.amd-search-field input:focus, .amd-search-field select:focus { outline: none; }

/* A–Z letter bar */
.amd-alpha-bar { display: flex; flex-wrap: wrap; gap: .25rem; margin: 0 0 1.2rem; }
.amd-alpha { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; height: 2rem; padding: 0 .4rem; border: 1px solid var(--amd-border); border-radius: 6px; text-decoration: none; color: var(--amd-muted); font-size: .85rem; }
.amd-alpha:hover { border-color: var(--amd-brand); color: var(--amd-brand); }
.amd-alpha.is-active { background: var(--amd-brand); color: #fff; border-color: var(--amd-brand); }

/* Archive toolbar */
.amd-archive__toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.amd-count { color: var(--amd-muted); font-size: .9rem; }
.amd-view-toggle { display: inline-flex; gap: .25rem; }
.amd-view-btn { border: 1px solid var(--amd-border); background: #fff; border-radius: 6px; padding: .3rem; cursor: pointer; color: var(--amd-muted); }
.amd-view-btn.is-active { color: var(--amd-brand); border-color: var(--amd-brand); }

/* Listings grid */
.amd-listings { display: grid; gap: 1.1rem; grid-template-columns: 1fr; }
.amd-results.is-loading { opacity: .5; }

/* Card */
.amd-card { border: 1px solid var(--amd-border); border-radius: var(--amd-card-radius, var(--amd-radius)); overflow: hidden; background: var(--amd-card-bg, #fff); display: flex; flex-direction: column; }
.amd-card--style-flat { border-color: transparent; }
.amd-card--style-shadow { border-color: transparent; box-shadow: 0 3px 14px rgba( 0, 0, 0, .09 ); }
.amd-card--featured { box-shadow: 0 0 0 2px #f0b84933; }
.amd-card--style-shadow.amd-card--featured { box-shadow: 0 3px 14px rgba( 0, 0, 0, .09 ), 0 0 0 2px #f0b84933; }
.amd-card--align-center { text-align: center; }
.amd-card--align-center .amd-card__cats,
.amd-card--align-center .amd-card__meta { justify-content: center; }
.amd-card--align-center .amd-card__meta li { justify-content: center; }
.amd-card--align-center .amd-card__footer { justify-content: center; gap: 1rem; }
.amd-card__badges { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: .2rem; }
.amd-badge--inline { position: static; }
.amd-card__excerpt { margin: 0; color: var(--amd-muted); font-size: .88rem; }
.amd-card__media { position: relative; display: block; height: var(--amd-card-img-h, 200px); background: var(--amd-img-bg, var(--amd-bg-soft)); }
.amd-card__media img { width: 100%; height: 100%; object-fit: var(--amd-img-fit, cover); }
.amd-card__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #cbd2d9; font-size: 2.5rem; }
.amd-badge { position: absolute; top: .6rem; left: .6rem; background: #f0b849; color: #3a2a00; font-size: .72rem; font-weight: 600; padding: .2em .6em; border-radius: 5px; }
.amd-badge--type { left: auto; right: .6rem; background: var(--amd-brand); color: #fff; }
.amd-badge--member { background: #6d28d9; }
.amd-single__header .amd-badge { position: static; display: inline-block; margin-right: .4rem; }
.amd-member-details .amd-contact__list .dashicons { color: var(--amd-brand); margin-right: .4rem; }
.amd-member-fields { border: 1px solid var(--amd-border); border-radius: var(--amd-radius); padding: 1rem; margin-bottom: 1rem; }
.amd-member-fields legend { font-weight: 600; padding: 0 .4rem; }
.amd-card__body { padding: .9rem 1rem 1rem; display: flex; flex-direction: column; gap: .45rem; flex: 1; }
.amd-card__title { margin: 0; font-size: 1.05rem; }
.amd-card__title a { text-decoration: none; color: var(--amd-card-title, inherit); }
.amd-card__tagline { margin: 0; color: var(--amd-muted); font-size: .9rem; }
.amd-card__member { margin: 0; display: grid; gap: .1rem; }
.amd-card__member-title { margin: 0; font-size: .88rem; color: var(--amd-muted); }
.amd-card__member-corp { margin: 0; font-size: .88rem; font-weight: 600; display: flex; align-items: center; gap: .25rem; }
.amd-card__member-corp .dashicons { font-size: 1rem; width: 1rem; height: 1rem; color: var(--amd-brand); }
.amd-card__member-corp a { text-decoration: none; color: var(--amd-brand); }
.amd-card--align-center .amd-card__member-corp { justify-content: center; }
.amd-card__cats { display: flex; flex-wrap: wrap; gap: .3rem; }
.amd-chip { display: inline-block; background: var(--amd-bg-soft); border-radius: 999px; padding: .15em .7em; font-size: .78rem; color: var(--amd-muted); text-decoration: none; }
.amd-card__meta { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; font-size: .85rem; color: var(--amd-muted); }
.amd-card__meta .dashicons { font-size: 1rem; width: 1rem; height: 1rem; color: var(--amd-brand); margin-right: .25rem; }
.amd-card__footer { margin-top: auto; display: flex; justify-content: space-between; align-items: center; padding-top: .5rem; border-top: 1px solid var(--amd-border); }

/* List view */
.amd-listings--list { grid-template-columns: 1fr; }
.amd-listings--list .amd-card { flex-direction: row; }
.amd-listings--list .amd-card__media { width: 200px; height: auto; align-self: stretch; flex-shrink: 0; }

/* Stars */
.amd-stars { display: inline-flex; align-items: center; color: #f0b849; }
.amd-stars .dashicons { font-size: 1.05rem; width: 1.05rem; height: 1.05rem; }
.amd-stars-count { color: var(--amd-muted); font-size: .8rem; margin-left: .25rem; }

/* Favorite button */
.amd-fav { border: 0; background: transparent; cursor: pointer; color: var(--amd-muted); display: inline-flex; align-items: center; gap: .3em; }
.amd-fav.is-active { color: #e0245e; }

/* Terms grid */
.amd-terms { display: grid; gap: 1rem; grid-template-columns: repeat( 2, 1fr ); }
.amd-term-card { display: flex; flex-direction: column; align-items: center; gap: .4rem; padding: 1.2rem 1rem; border: 1px solid var(--amd-border); border-radius: var(--amd-radius); text-decoration: none; text-align: center; background: #fff; }
.amd-term-card__icon { font-size: 1.8rem; color: var(--amd-brand); }
.amd-term-card__icon img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; }
.amd-term-card__name { font-weight: 600; }
.amd-term-card__count { color: var(--amd-muted); font-size: .8rem; }

/* Pagination */
.amd-pagination { display: flex; gap: .3rem; justify-content: center; margin-top: 1.5rem; flex-wrap: wrap; }
.amd-pagination .page-numbers { padding: .4em .8em; border: 1px solid var(--amd-border); border-radius: 6px; text-decoration: none; }
.amd-pagination .current { background: var(--amd-brand); color: #fff; border-color: var(--amd-brand); }

/* Single */
.amd-single__header { margin-bottom: 1rem; }
.amd-single__title { margin: .3rem 0; }
.amd-single__tagline { color: var(--amd-muted); margin: 0 0 .5rem; }
.amd-single__subhead { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; color: var(--amd-muted); }
.amd-single__featured { margin: 0 0 1.5rem; }
.amd-single__featured img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: var(--amd-img-fit, cover); background: var(--amd-img-bg, var(--amd-bg-soft)); border-radius: var(--amd-radius); }
.amd-single__grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
.amd-section { margin-bottom: 1.8rem; }
.amd-section h2 { border-bottom: 2px solid var(--amd-brand); display: inline-block; padding-bottom: .2rem; }
.amd-contact__list { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .5rem; }
.amd-detail-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .4rem; }
.amd-detail-list li { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--amd-border); padding-bottom: .4rem; }
.amd-detail-label { color: var(--amd-muted); }
.amd-detail-value { font-weight: 600; text-align: right; }
.amd-card__cf { list-style: none; padding: 0; margin: .2rem 0 0; font-size: .82rem; color: var(--amd-muted); display: grid; gap: .15rem; }
.amd-card__cf-label { font-weight: 600; }
.amd-corporate-link { display: flex; align-items: center; gap: .6rem; text-decoration: none; }
.amd-corporate-link img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; }
.amd-members-section .amd-listings { margin-top: .5rem; }
.amd-contact__list .dashicons { color: var(--amd-brand); margin-right: .4rem; }
.amd-social { display: flex; gap: .5rem; }
.amd-social a { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 50%; background: var(--amd-bg-soft); color: var(--amd-brand); }
.amd-gallery { display: grid; grid-template-columns: repeat( auto-fill, minmax( 90px, 1fr ) ); gap: .5rem; }
.amd-gallery img { width: 100%; height: 110px; object-fit: cover; border-radius: 8px; }
.amd-map { width: 100%; border-radius: var(--amd-radius); overflow: hidden; z-index: 0; }
.amd-map-popup img { width: 100%; height: 90px; object-fit: cover; border-radius: 6px; margin-bottom: .3rem; }
.amd-map-popup span { display: block; color: var(--amd-muted); font-size: .8rem; }

/* Reviews */
.amd-reviews { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: 1rem; }
.amd-review { border: 1px solid var(--amd-border); border-radius: var(--amd-radius); padding: 1rem; }
.amd-review__head { display: flex; gap: .6rem; align-items: center; margin-bottom: .5rem; }
.amd-review__head img { border-radius: 50%; }
.amd-review__date { display: block; color: var(--amd-muted); font-size: .8rem; }
.amd-rating-input .amd-rating-stars { display: inline-flex; flex-direction: row-reverse; }
.amd-rating-input input { display: none; }
.amd-rating-input label { color: #cbd2d9; cursor: pointer; font-size: 1.4rem; }
.amd-rating-input label:hover, .amd-rating-input label:hover ~ label, .amd-rating-input input:checked ~ label { color: #f0b849; }

/* Forms */
.amd-listing-form, .amd-dashboard { background: #fff; border: 1px solid var(--amd-border); border-radius: var(--amd-radius); padding: 1.5rem; }
.amd-form-row { display: flex; flex-direction: column; gap: .3rem; margin-bottom: 1rem; }
.amd-form-row label { font-weight: 600; font-size: .9rem; }
.amd-form-row input, .amd-form-row textarea, .amd-form-row select { padding: .55rem .7rem; border: 1px solid var(--amd-border); border-radius: 8px; width: 100%; }
.amd-form-grid { display: grid; gap: 0 1rem; grid-template-columns: 1fr; }
.amd-form-social legend { font-weight: 600; margin-bottom: .5rem; }
.amd-form-actions { display: flex; align-items: center; gap: 1rem; }
.amd-form-message.is-success { color: #1a7f37; }
.amd-form-message.is-error { color: #b32d2e; }

/* Dashboard table */
.amd-dashboard__header { display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.amd-dashboard__table-wrap { overflow-x: auto; }
.amd-dashboard__table { width: 100%; border-collapse: collapse; min-width: 460px; }
.amd-dashboard__table th, .amd-dashboard__table td { text-align: left; padding: .6rem; border-bottom: 1px solid var(--amd-border); }
.amd-status { font-size: .78rem; padding: .15em .6em; border-radius: 999px; background: var(--amd-bg-soft); }
.amd-status--publish { background: #d7f5dd; color: #1a7f37; }
.amd-status--pending { background: #fdf3d3; color: #8a6d00; }
.amd-dashboard__actions { display: flex; gap: .4rem; }

/* Author */
.amd-author__header { display: flex; gap: 1rem; align-items: center; margin-bottom: 1.5rem; }
.amd-author__avatar { border-radius: 50%; }
.amd-author__name { margin: 0; }
.amd-author__bio { color: var(--amd-muted); margin: .3rem 0; }

.amd-empty, .amd-notice { color: var(--amd-muted); padding: 1.5rem; text-align: center; background: var(--amd-bg-soft); border-radius: var(--amd-radius); }
.amd-login-required { text-align: center; padding: 2rem; background: var(--amd-bg-soft); border-radius: var(--amd-radius); }

/* Responsive */

/* Stack list-view cards on small phones so the image + text don't cram. */
@media ( max-width: 599px ) {
	.amd-listings--list .amd-card { flex-direction: column; }
	.amd-listings--list .amd-card__media { width: 100%; height: var( --amd-card-img-h, 200px ); align-self: auto; }
}

/* Tablet: 2-up grids. */
@media ( min-width: 600px ) {
	.amd-listings--grid { grid-template-columns: repeat( 2, 1fr ); }
	.amd-listings--grid.amd-cols-1 { grid-template-columns: 1fr; }
	.amd-terms { grid-template-columns: repeat( 3, 1fr ); }
	.amd-form-grid { grid-template-columns: 1fr 1fr; }
}

/* Small desktop: up to 3 columns; larger counts still cap here for readability. */
@media ( min-width: 900px ) {
	.amd-listings--grid.amd-cols-2 { grid-template-columns: repeat( 2, 1fr ); }
	.amd-listings--grid.amd-cols-3,
	.amd-listings--grid.amd-cols-4,
	.amd-listings--grid.amd-cols-5,
	.amd-listings--grid.amd-cols-6 { grid-template-columns: repeat( 3, 1fr ); }
	.amd-terms { grid-template-columns: repeat( 4, 1fr ); }
	.amd-single__grid { grid-template-columns: 2fr 1fr; }
}

/* Large desktop: honour the full chosen column count (4–6). */
@media ( min-width: 1200px ) {
	.amd-listings--grid.amd-cols-4 { grid-template-columns: repeat( 4, 1fr ); }
	.amd-listings--grid.amd-cols-5 { grid-template-columns: repeat( 5, 1fr ); }
	.amd-listings--grid.amd-cols-6 { grid-template-columns: repeat( 6, 1fr ); }
}
