/* Cat cards, badges, contact form and placeholder notes. Colors fall back
   to the Muzzbecatz palette if the theme is ever changed. */

.mbz-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 1.5rem;
	margin: 1.5rem 0 2rem;
}
.mbz-card {
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 1px 2px rgba(43, 34, 48, 0.06), 0 8px 24px rgba(43, 34, 48, 0.07);
}
.mbz-card-media { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--wp--preset--color--blush, #F6E4E1); }
.mbz-card-photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.mbz-card-nophoto {
	display: grid;
	place-items: center;
	color: var(--wp--preset--color--plum, #5A2E55);
	font-style: italic;
}
.mbz-card-media .mbz-badge { position: absolute; top: 0.85rem; left: 0.85rem; }
.mbz-card-sold .mbz-card-photo { filter: grayscale(0.5); opacity: 0.8; }
.mbz-card-body { padding: 1.1rem 1.35rem 1.35rem; display: flex; flex-direction: column; gap: 0.6rem; flex: 1; }
.mbz-card-title { margin: 0 !important; font-size: 1.45rem !important; }
.mbz-card-title a { text-decoration: none; color: inherit; }
.mbz-card-title a:hover { text-decoration: underline; }
.mbz-card-note { margin: 0; font-style: italic; }
.mbz-card-actions { margin: auto 0 0; padding-top: 0.5rem; }

.mbz-badge {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.4;
}
.mbz-badge-available { background: #DDEFD9; color: #1F5A2A; }
.mbz-badge-reserved { background: #FCE7C8; color: #7A4A0B; }
.mbz-badge-sold { background: #EADCE8; color: #5A2E55; }

.mbz-facts { margin: 0; display: grid; gap: 0.15rem; font-size: 0.95rem; }
.mbz-facts > div { display: grid; grid-template-columns: 9.5rem 1fr; gap: 0.5rem; padding: 0.2rem 0; border-bottom: 1px dashed var(--wp--preset--color--cream-deep, #F1E6D8); }
.mbz-facts dt { font-weight: 700; color: var(--wp--preset--color--plum-dark, #3F1F3C); }
.mbz-facts dd { margin: 0; }
.mbz-details .mbz-facts { font-size: 1.05rem; margin: 1rem 0 1.5rem; }
.mbz-back a { text-decoration: none; font-weight: 700; }

.mbz-button,
.mbz-form button {
	display: inline-block;
	background: var(--wp--preset--color--plum, #5A2E55);
	color: #fff !important;
	border: 0;
	border-radius: 999px;
	padding: 0.7rem 1.4rem;
	font: inherit;
	font-weight: 700;
	text-decoration: none !important;
	cursor: pointer;
}
.mbz-button:hover,
.mbz-form button:hover { background: var(--wp--preset--color--plum-dark, #3F1F3C); }

.mbz-empty {
	background: var(--wp--preset--color--blush, #F6E4E1);
	border-radius: 18px;
	padding: 1.5rem;
	margin: 1.5rem 0;
}
.mbz-empty p { margin-top: 0; }

/* ---------- Testimonials ---------- */
.mbz-testimonials { margin: 3rem 0; }
.mbz-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1.25rem; }
.mbz-quote { margin: 0; background: #fff; border-radius: 18px; padding: 1.5rem; }
.mbz-quote blockquote { margin: 0 0 0.75rem; font-family: var(--wp--preset--font-family--heading, serif); font-style: italic; font-size: 1.1rem; }
.mbz-quote figcaption { font-weight: 700; }
.mbz-quote-photo { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; float: right; margin-left: 1rem; }

/* ---------- Contact form ---------- */
.mbz-form { max-width: 640px; }
.mbz-form .mbz-row { display: flex; flex-direction: column; gap: 0.35rem; margin: 0 0 1rem; }
.mbz-form label { font-weight: 700; }
.mbz-form .mbz-req { font-weight: 400; font-size: 0.85em; opacity: 0.75; }
.mbz-form input,
.mbz-form select,
.mbz-form textarea {
	font: inherit;
	padding: 0.7rem 0.85rem;
	border: 1.5px solid #CDBFB4;
	border-radius: 10px;
	background: #fff;
	color: inherit;
	width: 100%;
	box-sizing: border-box;
}
.mbz-form input:focus,
.mbz-form select:focus,
.mbz-form textarea:focus { border-color: var(--wp--preset--color--plum, #5A2E55); }
.mbz-form .mbz-asking { background: var(--wp--preset--color--blush, #F6E4E1); padding: 0.6rem 0.9rem; border-radius: 10px; display: block; }
.mbz-hp { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }
.mbz-small { font-size: 0.9rem; opacity: 0.85; }
.mbz-form-errors { background: #FBE3E3; color: #7A1F1F; border-radius: 12px; padding: 0.9rem 1.2rem; margin-bottom: 1rem; }
.mbz-form-errors p, .mbz-form-errors ul { margin: 0.2rem 0; }
.mbz-form-done { background: #DDEFD9; color: #1F5A2A; border-radius: 12px; padding: 1.2rem 1.4rem; }

/* ---------- Placeholder notes (delete them as real content arrives) ---------- */
.mbz-placeholder,
.mbz-placeholder-inline {
	background: #FFF6CC;
	color: #5C4A00;
	border: 2px dashed #E0C34A;
}
.mbz-placeholder { border-radius: 12px; padding: 0.75rem 1rem; }
.mbz-placeholder-inline { border-radius: 6px; padding: 0 0.3rem; border-width: 1px; }
