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

.hkz-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 1.5rem;
	margin: 1.5rem 0 2rem;
}
.hkz-card {
	background: var(--wp--preset--color--charcoal-light, #23221F);
	border: 1px solid var(--wp--preset--color--line, #3A362E);
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 10px 28px rgb(0 0 0 / 0.35);
}
.hkz-card-media { position: relative; display: block; aspect-ratio: 2 / 3; background: var(--wp--preset--color--charcoal, #181816); }
.hkz-card-photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.hkz-badges { display: inline-flex; flex-wrap: wrap; gap: 0.35rem; }
.hkz-card-media .hkz-badges { position: absolute; top: 0.85rem; left: 0.85rem; right: 0.85rem; }
.hkz-card-sold .hkz-card-photo { filter: grayscale(0.5); opacity: 0.8; }
.hkz-card-body { padding: 1.1rem 1.35rem 1.35rem; display: flex; flex-direction: column; gap: 0.6rem; flex: 1; }
.hkz-card-title { margin: 0 !important; font-size: 1.45rem !important; }
.hkz-card-title a { text-decoration: none; color: inherit; }
.hkz-card-title a:hover { text-decoration: underline; }
.hkz-card-note { margin: 0; font-style: italic; }
.hkz-card-status { margin: -0.35rem 0 0; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--gold, #C2A56E); }
.hkz-card-actions { margin: auto 0 0; padding-top: 0.5rem; }

.hkz-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;
}
.hkz-badge-available { background: #DDEFD9; color: #1F5A2A; }
.hkz-badge-reserved { background: #FCE7C8; color: #7A4A0B; }
.hkz-badge-sold { background: #EADCE8; color: #5A2E55; }
.hkz-badge-breeding { background: #E3E8F6; color: #2C3E73; }
.hkz-badge-retired { background: #EFE7E2; color: #4A3A33; }
.hkz-badge-show { background: #FFF1C9; color: #6B4E0E; }
.hkz-badge-pet { background: #FBE0E6; color: #7A1230; }

.hkz-facts { margin: 0; display: grid; gap: 0.15rem; font-size: 0.95rem; }
.hkz-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--line, #3A362E); }
.hkz-facts dt { font-weight: 700; color: var(--wp--preset--color--gold, #C2A56E); }
.hkz-facts dd { margin: 0; }
.hkz-facts .hkz-fact-plain { display: block; }
.hkz-details .hkz-facts { font-size: 1.05rem; margin: 1rem 0 1.5rem; }
.hkz-plain-facts { list-style: none; margin: 1rem 0; padding: 0; font-size: 1.1rem; }
.hkz-plain-facts li { padding: 0.3rem 0; border-bottom: 1px dashed var(--wp--preset--color--line, #3A362E); }
.hkz-back a { text-decoration: none; font-weight: 700; }

.hkz-button,
.hkz-form button {
	display: inline-block;
	background: var(--wp--preset--color--gold, #C2A56E);
	color: var(--wp--preset--color--black, #0A0A09) !important;
	border: 0;
	border-radius: 999px;
	padding: 0.7rem 1.4rem;
	font: inherit;
	font-weight: 700;
	text-decoration: none !important;
	cursor: pointer;
}
.hkz-button:hover,
.hkz-form button:hover { background: var(--wp--preset--color--gold-light, #E2CC9A); }

.hkz-empty {
	background: var(--wp--preset--color--charcoal-light, #23221F);
	border: 1px solid var(--wp--preset--color--line, #3A362E);
	border-radius: 18px;
	padding: 1.5rem;
	margin: 1.5rem 0;
}
.hkz-empty p { margin-top: 0; }

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

/* ---------- Contact form ---------- */
.hkz-form { max-width: 640px; }
.hkz-fieldset { border: 0; padding: 0; margin: 0 0 1.75rem; min-width: 0; }
.hkz-fieldset legend {
	font-family: var(--wp--preset--font-family--heading, serif);
	font-weight: 600;
	font-size: 1.3rem;
	color: var(--wp--preset--color--gold, #C2A56E);
	padding: 0;
	margin-bottom: 0.75rem;
}
.hkz-form .hkz-row-short input { max-width: 12rem; }
.hkz-form .hkz-row { display: flex; flex-direction: column; gap: 0.35rem; margin: 0 0 1rem; }
.hkz-form label { font-weight: 700; }
.hkz-form .hkz-req { font-weight: 400; font-size: 0.85em; opacity: 0.75; }
.hkz-form input,
.hkz-form select,
.hkz-form textarea {
	font: inherit;
	padding: 0.7rem 0.85rem;
	border: 1.5px solid #4A443A;
	border-radius: 10px;
	background: #121211;
	color: inherit;
	width: 100%;
	box-sizing: border-box;
}
.hkz-form input:focus,
.hkz-form select:focus,
.hkz-form textarea:focus { border-color: var(--wp--preset--color--gold, #C2A56E); }
.hkz-form .hkz-asking { background: var(--wp--preset--color--charcoal-light, #23221F); border: 1px solid var(--wp--preset--color--line, #3A362E); padding: 0.6rem 0.9rem; border-radius: 10px; display: block; }
.hkz-hp { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }
.hkz-small { font-size: 0.9rem; opacity: 0.85; }
.hkz-form-errors { background: #3A1717; color: #F3C9C9; border-radius: 12px; padding: 0.9rem 1.2rem; margin-bottom: 1rem; }
.hkz-form-errors p, .hkz-form-errors ul { margin: 0.2rem 0; }
.hkz-form-done { background: #1C2F1E; color: #CDE8C8; border-radius: 12px; padding: 1.2rem 1.4rem; }

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

/* ---------- Previous litters ---------- */
.hkz-litter + .hkz-litter { margin-top: 2.5rem; }
.hkz-litter-title { margin-bottom: 0 !important; }
.hkz-cards-previous .hkz-card-sold .hkz-card-photo { filter: none; opacity: 1; }

/* Show Stars: starred awards in capitals */
.hkz-awards { margin-top: 0.85rem; }
.hkz-awards-season { margin: 0.75rem 0 0.25rem; font-size: 0.85rem; font-weight: 700; color: var(--wp--preset--color--gold, #C2A56E); }
.hkz-awards-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.3rem; }
.hkz-awards-list li { position: relative; padding-left: 1.5rem; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.03em; line-height: 1.35; }
.hkz-awards-list li::before { content: "★"; position: absolute; left: 0; top: -0.05em; font-size: 1.05rem; color: var(--wp--preset--color--gold, #C2A56E); }
.hkz-details .hkz-awards { margin: 1rem 0 1.5rem; }
.hkz-details .hkz-awards-list li { font-size: 0.95rem; }
.hkz-cards-show .hkz-card-sold .hkz-card-photo { filter: none; opacity: 1; }

/* Show Stars: four smaller cards across, with smaller text to match. */
.hkz-cards-show { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.hkz-cards-show .hkz-card { border-radius: 14px; }
.hkz-cards-show .hkz-card-body { padding: 0.8rem 0.9rem 0.95rem; gap: 0.4rem; }
.hkz-cards-show .hkz-card-title { font-size: 1.1rem !important; }
.hkz-cards-show .hkz-card-note,
.hkz-cards-show .hkz-facts { font-size: 0.8rem; }
.hkz-cards-show .hkz-facts > div { grid-template-columns: 6.5rem 1fr; gap: 0.35rem; }
.hkz-cards-show .hkz-card-status { font-size: 0.72rem; }
.hkz-cards-show .hkz-badge { font-size: 0.68rem; padding: 0.2rem 0.55rem; }
.hkz-cards-show .hkz-card-media .hkz-badges { top: 0.6rem; left: 0.6rem; right: 0.6rem; }
.hkz-cards-show .hkz-awards { margin-top: 0.5rem; }
.hkz-cards-show .hkz-awards-season { font-size: 0.75rem; }
.hkz-cards-show .hkz-awards-list li { font-size: 0.74rem; padding-left: 1.2rem; }
.hkz-cards-show .hkz-awards-list li::before { font-size: 0.9rem; }
.hkz-cards-show .hkz-button { font-size: 0.85rem; padding: 0.5em 1em; }
@media (max-width: 1000px) { .hkz-cards-show { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 781px) { .hkz-cards-show { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .hkz-cards-show { grid-template-columns: 1fr; } }

/* Stand-in kitten photo and the photos that ship with the plugin. */
.hkz-card-nophoto { object-fit: contain; background: #000; }
.hkz-cat-nophoto { width: 100%; height: auto; border-radius: 18px; display: block; }
.hkz-photo { margin: 0; }
.hkz-photo img { display: block; width: 100%; max-width: 420px; height: auto; margin: 0 auto; border-radius: 18px; border: 1px solid var(--wp--preset--color--bronze-dark, #5E4A2E); box-shadow: 0 10px 28px rgb(0 0 0 / 0.45); }
