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

.dts-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 1.5rem;
	margin: 1.5rem 0 2rem;
}
/* Home's "Meet a few of our cats": three across on computers and tablets,
   one under another on phones. */
.dts-cards-featured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 700px) { .dts-cards-featured { grid-template-columns: 1fr; } }
.dts-card {
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 1px 2px rgba(5, 45, 5, 0.06), 0 8px 24px rgba(5, 45, 5, 0.07);
}
.dts-card-media { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--wp--preset--color--aqua-light, #F5EFE1); }
.dts-card-photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.dts-card-nophoto {
	display: grid;
	place-items: center;
	color: var(--wp--preset--color--teal, #052D05);
	font-style: italic;
}
.dts-card-sold .dts-card-photo { filter: grayscale(0.5); opacity: 0.8; }
.dts-card-body { padding: 1.1rem 1.35rem 1.35rem; display: flex; flex-direction: column; gap: 0.6rem; flex: 1; }
.dts-card-title { margin: 0 !important; font-size: 1.45rem !important; }
.dts-card-title a { text-decoration: none; color: inherit; }
.dts-card-title a:hover { text-decoration: underline; }
.dts-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--teal, #052D05); }
.dts-card-note { margin: 0; font-style: italic; }
.dts-card-actions { margin: auto 0 0; padding-top: 0.5rem; }

.dts-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;
}
.dts-badge-available { background: #DDEFD9; color: #1F5A2A; }
.dts-badge-reserved { background: #FCE7C8; color: #7A4A0B; }
.dts-badge-sold { background: #FCF0EE; color: #052D05; }
.dts-badge-breeding { background: #E3E8F6; color: #2C3E73; }
.dts-badge-show { background: #F6E9C8; color: #6B4E00; }
.dts-badge-retired { background: #EFE7E2; color: #4A3A33; }
.dts-badge-pet { background: #E6EFEA; color: #2E5A45; }

.dts-facts { margin: 0; display: grid; gap: 0.15rem; font-size: 0.95rem; }
.dts-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--aqua, #E3D8BF); }
.dts-facts dt { font-weight: 700; color: var(--wp--preset--color--teal-dark, #052D05); }
.dts-facts dd { margin: 0; }
.dts-facts .dts-fact-plain { display: block; }
.dts-details .dts-facts { font-size: 1.05rem; margin: 1rem 0 1.5rem; }
.dts-plain-facts { list-style: none; margin: 1rem 0; padding: 0; font-size: 1.1rem; }
.dts-plain-facts li { padding: 0.3rem 0; border-bottom: 1px dashed var(--wp--preset--color--aqua, #E3D8BF); }
/* Show cats: starred awards in capitals */
.dts-awards { margin-top: 0.85rem; }
.dts-awards-season { margin: 0.75rem 0 0.25rem; font-size: 0.85rem; font-weight: 700; color: var(--wp--preset--color--teal, #052D05); }
.dts-awards-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.3rem; }
.dts-awards-list li { position: relative; padding-left: 1.5rem; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.03em; line-height: 1.35; }
.dts-awards-list li::before { content: "★"; position: absolute; left: 0; top: -0.05em; font-size: 1.05rem; color: var(--wp--preset--color--gold, #BF9F5F); }
.dts-details .dts-awards { margin: 1rem 0 1.5rem; }
.dts-details .dts-awards-list li { font-size: 0.95rem; }
.dts-cards-show .dts-card-sold .dts-card-photo { filter: none; opacity: 1; }
.dts-back a { text-decoration: none; font-weight: 700; }

.dts-button,
.dts-form button {
	display: inline-block;
	background: var(--wp--preset--color--teal, #052D05);
	color: #fff !important;
	border: 0;
	border-radius: 999px;
	padding: 0.7rem 1.4rem;
	font: inherit;
	font-weight: 700;
	text-decoration: none !important;
	cursor: pointer;
}
.dts-button:hover,
.dts-form button:hover { background: var(--wp--preset--color--gold-deep, #7A5D24); }

.dts-empty {
	background: var(--wp--preset--color--aqua-light, #F5EFE1);
	border-radius: 18px;
	padding: 1.5rem;
	margin: 1.5rem 0;
}
.dts-empty p { margin-top: 0; }

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

/* ---------- Contact form ---------- */
.dts-form { max-width: 640px; }
.dts-fieldset { border: 0; padding: 0; margin: 0 0 1.75rem; min-width: 0; }
.dts-fieldset legend {
	font-family: var(--wp--preset--font-family--heading, serif);
	font-weight: 600;
	font-size: 1.3rem;
	color: var(--wp--preset--color--teal-dark, #052D05);
	padding: 0;
	margin-bottom: 0.75rem;
}
.dts-form .dts-row-short input { max-width: 12rem; }
.dts-form .dts-row { display: flex; flex-direction: column; gap: 0.35rem; margin: 0 0 1rem; }
.dts-form label { font-weight: 700; }
.dts-form .dts-req { font-weight: 400; font-size: 0.85em; opacity: 0.75; }
.dts-form input,
.dts-form select,
.dts-form textarea {
	font: inherit;
	padding: 0.7rem 0.85rem;
	border: 1.5px solid #D3C7A8;
	border-radius: 10px;
	background: #fff;
	color: inherit;
	width: 100%;
	box-sizing: border-box;
}
.dts-form input:focus,
.dts-form select:focus,
.dts-form textarea:focus { border-color: var(--wp--preset--color--teal, #052D05); }
.dts-form .dts-asking { background: var(--wp--preset--color--aqua-light, #F5EFE1); padding: 0.6rem 0.9rem; border-radius: 10px; display: block; }
.dts-hp { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }
.dts-small { font-size: 0.9rem; opacity: 0.85; }
.dts-form-errors { background: #FBE3E3; color: #7A1F1F; border-radius: 12px; padding: 0.9rem 1.2rem; margin-bottom: 1rem; }
.dts-form-errors p, .dts-form-errors ul { margin: 0.2rem 0; }
.dts-form-done { background: #DDEFD9; color: #1F5A2A; border-radius: 12px; padding: 1.2rem 1.4rem; }

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

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

/* Application: single "I agree" tick boxes */
.dts-form .dts-row-check label { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 400; }
.dts-form .dts-row-check input { width: 1.2rem; height: 1.2rem; margin-top: 0.2rem; flex: none; accent-color: var(--wp--preset--color--teal, #052D05); }
