/* Public breed database — Heritage light + Soft garden theme */

:root {
	--pub-bg: #faf9f6;
	--pub-bg-subtle: #f2f6f2;
	--pub-surface: #ffffff;
	--pub-border: #dde5dd;
	--pub-border-strong: #c5d0c5;
	--pub-text: #2c332c;
	--pub-text-muted: #5c6560;
	--pub-label: #7a9e7e;
	--pub-heading: #1a4d2e;
	--pub-green: #003300;
	--pub-green-mid: #1a5c38;
	--pub-green-light: #2d7a4a;
	--pub-green-hover: #206200;
	--pub-gold: #ffcc33;
	--pub-link: #1a5c38;
	--pub-link-hover: #003300;
	--pub-header-gradient: linear-gradient(135deg, #003300 0%, #1a5c38 100%);
	--pub-shadow: 0 1px 3px rgba(26, 51, 38, 0.08);
	--pub-shadow-card: 0 2px 10px rgba(26, 51, 38, 0.07);
	--pub-radius: 8px;
}

.pub-body {
	margin: 0;
	background: var(--pub-bg);
	color: var(--pub-text);
}

/* Legacy stcdbstyle content inside public layout */
.pub-body .maintextstyle,
.pub-body .maintextstylenb,
.pub-body .maintextstylebbg,
.pub-body .maintextstylegbg,
.pub-body .maintextstylemfb {
	color: var(--pub-text);
}

.pub-body a:link,
.pub-body a:visited {
	color: var(--pub-link);
}

.pub-body a:hover {
	color: var(--pub-link-hover);
}

/* Anchor-styled buttons — beat .pub-body a:link/:visited/:hover (0,2,1) specificity */
.pub-body a.pub-nav-link,
.pub-body a.pub-nav-link:link,
.pub-body a.pub-nav-link:visited {
	color: #ffcc33;
}

.pub-body a.pub-nav-link:hover {
	color: #ffffff;
	text-decoration: none;
}

.pub-body a.pub-nav-link.is-active,
.pub-body a.pub-nav-link.is-active:link,
.pub-body a.pub-nav-link.is-active:visited,
.pub-body a.pub-nav-link.is-active:hover {
	color: #003300;
}

.pub-body a.pub-comp-subnav-link,
.pub-body a.pub-comp-subnav-link:link,
.pub-body a.pub-comp-subnav-link:visited {
	color: var(--pub-link);
	text-decoration: none;
}

.pub-body a.pub-comp-subnav-link:hover,
.pub-body a.pub-comp-subnav-link.is-active,
.pub-body a.pub-comp-subnav-link.is-active:link,
.pub-body a.pub-comp-subnav-link.is-active:visited,
.pub-body a.pub-comp-subnav-link.is-active:hover {
	color: #ffffff;
	text-decoration: none;
}

.pub-body a.pub-comp-subnav-rules,
.pub-body a.pub-comp-subnav-rules:link,
.pub-body a.pub-comp-subnav-rules:visited {
	color: var(--pub-link);
}

.pub-body a.pub-comp-subnav-rules:hover {
	color: var(--pub-link-hover);
	text-decoration: underline;
}

.pub-body a.pub-tab,
.pub-body a.pub-tab:link,
.pub-body a.pub-tab:visited {
	color: var(--pub-text-muted);
	text-decoration: none;
}

.pub-body a.pub-tab:hover {
	color: var(--pub-heading);
	text-decoration: none;
}

.pub-body a.pub-tab.is-active,
.pub-body a.pub-tab.is-active:link,
.pub-body a.pub-tab.is-active:visited,
.pub-body a.pub-tab.is-active:hover {
	color: var(--pub-green);
	text-decoration: none;
}

.pub-body a.pub-dow-btn:not(.pub-dow-btn--secondary),
.pub-body a.pub-dow-btn:not(.pub-dow-btn--secondary):link,
.pub-body a.pub-dow-btn:not(.pub-dow-btn--secondary):visited,
.pub-body a.pub-dow-btn:not(.pub-dow-btn--secondary):hover,
.pub-body a.pub-show-btn:not(.pub-show-btn--secondary),
.pub-body a.pub-show-btn:not(.pub-show-btn--secondary):link,
.pub-body a.pub-show-btn:not(.pub-show-btn--secondary):visited,
.pub-body a.pub-show-btn:not(.pub-show-btn--secondary):hover,
.pub-body a.pub-comp-btn:not(.pub-comp-btn--secondary),
.pub-body a.pub-comp-btn:not(.pub-comp-btn--secondary):link,
.pub-body a.pub-comp-btn:not(.pub-comp-btn--secondary):visited,
.pub-body a.pub-comp-btn:not(.pub-comp-btn--secondary):hover {
	color: #ffffff;
	text-decoration: none;
}

.pub-body a.pub-dow-btn--secondary,
.pub-body a.pub-dow-btn--secondary:link,
.pub-body a.pub-dow-btn--secondary:visited {
	color: #ffcc33;
}

.pub-body a.pub-dow-btn--secondary:hover {
	color: #ffffff;
	text-decoration: none;
}

.pub-body .pub-dow-name a,
.pub-body .pub-dow-name a:link,
.pub-body .pub-dow-name a:visited,
.pub-body .pub-dow-name a:hover {
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
}

.pub-body .pub-dow-name a:hover {
	color: #ffcc33;
	text-decoration: underline;
}

.pub-body .pub-dow-name a.is-champion,
.pub-body .pub-dow-name a.is-champion:link,
.pub-body .pub-dow-name a.is-champion:visited {
	color: #ffc9c9;
}

.pub-body .pub-dow-name a.is-champion:hover {
	color: #ffe3e3;
	text-decoration: underline;
}

.pub-body a.pub-show-btn--secondary,
.pub-body a.pub-show-btn--secondary:link,
.pub-body a.pub-show-btn--secondary:visited {
	color: var(--pub-green-mid);
}

.pub-body a.pub-show-btn--secondary:hover {
	color: var(--pub-heading);
	text-decoration: none;
}

.pub-body a.pub-comp-btn--secondary,
.pub-body a.pub-comp-btn--secondary:link,
.pub-body a.pub-comp-btn--secondary:visited {
	color: var(--pub-link);
}

.pub-body a.pub-comp-btn--secondary:hover {
	color: var(--pub-heading);
	text-decoration: none;
}

.pub-body .titlestyle {
	color: var(--pub-heading);
	background-color: transparent;
}

.pub-body h1.titlestyle,
.pub-body h1.pub-animal-title {
	margin: 0;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.3;
	color: var(--pub-heading);
}

.pub-body a.footer,
.pub-body td.footer {
	color: var(--pub-text-muted);
}

.pub-body a.footer:hover {
	color: var(--pub-link);
}

.pub-body table.maintextstyle {
	background: var(--pub-surface);
}

.pub-body .subheadingstyle {
	color: var(--pub-gold);
}

.pub-body tr.titlestyle td,
.pub-body td.titlestyle {
	background: transparent;
}

.pub-body table[border="1"] td,
.pub-body table[border="1"] th {
	border-color: var(--pub-border-strong);
}

.pub-body select.maintextstylebbg,
.pub-body input.maintextstylebbg {
	background: var(--pub-surface);
	color: var(--pub-text);
	border: 1px solid var(--pub-border-strong);
}

/* Legacy bordered data tables (infocard, show results, breeding, pedigree) */
.pub-body table[border="1"] {
	border-collapse: collapse;
	background: var(--pub-surface);
	border: 1px solid var(--pub-border-strong) !important;
}

.pub-body table[border="1"] td,
.pub-body table[border="1"] th {
	border: 1px solid var(--pub-border) !important;
	color: var(--pub-text);
	vertical-align: top;
}

.pub-body table[bordercolor="#333333"],
.pub-body table[bordercolor="#333333"] td,
.pub-body table[bordercolor="#333333"] th {
	border-color: var(--pub-border) !important;
}

.pub-body table[bordercolor="#339900"] {
	border-color: var(--pub-green-light) !important;
	border-radius: var(--pub-radius);
}

.pub-body table[bordercolor="#339900"] td {
	border-color: var(--pub-border) !important;
}

.pub-body .maintextstylepbg {
	background-color: var(--pub-bg-subtle);
	color: var(--pub-text);
}

.pub-body tr.titlestyle th,
.pub-body tr.titlestyle td {
	background: var(--pub-header-gradient);
	color: var(--pub-gold);
	font-weight: bold;
}

.pub-body tr.titlestyle a {
	color: var(--pub-gold);
}

.pub-body table[border="0"] {
	background: transparent;
}

.pub-body table[border="0"] td,
.pub-body table[border="0"] th {
	border: 0;
}

/* Judge show blocks */
.pub-legacy-panel {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	margin-bottom: 1rem;
	box-shadow: var(--pub-shadow);
	overflow: hidden;
}

.pub-legacy-panel table {
	background: var(--pub-surface);
	width: 100%;
	border-collapse: collapse;
}

.pub-legacy-panel td {
	color: var(--pub-text);
	padding: 0.35rem 0.5rem;
	vertical-align: top;
}

.pub-legacy-panel strong {
	color: var(--pub-heading);
}

.pub-app {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.pub-header {
	background: var(--pub-header-gradient);
	border-bottom: 2px solid var(--pub-green-hover);
}

.pub-header-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0.75rem 1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
}

.pub-brand {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	text-decoration: none;
	color: #ffcc33;
	flex: 0 0 auto;
}

.pub-brand:hover {
	text-decoration: none;
}

.pub-brand-logo {
	height: 70px;
	width: auto;
}

.pub-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	flex: 1 1 auto;
	margin-left: 2.5rem;
}

.pub-nav-link {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.92rem;
	font-weight: bold;
	color: #ffcc33;
	text-decoration: none;
	padding: 0.4rem 0.6rem;
	border-radius: 4px;
	white-space: nowrap;
}

.pub-nav-link:hover {
	color: #ffffff;
	background: #206200;
	text-decoration: none;
}

.pub-nav-link.is-active {
	color: #003300;
	background: #ffcc33;
}

.pub-search {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	flex: 1 1 220px;
	max-width: 340px;
	margin-left: auto;
}

.pub-search-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.pub-search-input {
	flex: 1 1 auto;
	min-width: 0;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	padding: 0.35rem 0.5rem;
	border: 1px solid var(--pub-border-strong);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.95);
	color: var(--pub-text);
}

.pub-search-input::placeholder {
	color: var(--pub-text-muted);
}

.pub-search-btn {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	font-weight: bold;
	padding: 0.35rem 0.7rem;
	border: 1px solid #8fb8bc;
	border-radius: 4px;
	background: #206200;
	color: #ffffff;
	cursor: pointer;
}

.pub-search-btn:hover {
	background: #339900;
}

.pub-utility {
	background: rgba(0, 0, 0, 0.2);
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.pub-utility-inner {
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
}

.pub-body .pub-utility-inner a,
.pub-body .pub-utility-inner a:link,
.pub-body .pub-utility-inner a:visited {
	color: #ffeb99;
	text-decoration: none;
	font-weight: bold;
}

.pub-body .pub-utility-inner a:hover {
	color: #ffffff;
	text-decoration: underline;
}

.pub-utility-inner span {
	color: rgba(255, 255, 255, 0.55);
	margin: 0 0.35rem;
}

.pub-utility-label-short {
	display: none;
}

.pub-utility-sep {
	color: rgba(255, 255, 255, 0.55);
	margin: 0 0.35rem;
}

.pub-main {
	flex: 1 1 auto;
	padding: 1rem 0 1.5rem;
}

.pub-container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 1rem;
}

.pub-container--wide,
.pub-header-inner--wide {
	max-width: 1500px;
}

.pub-hero {
	background: var(--pub-header-gradient);
	border: 1px solid var(--pub-green-hover);
	border-radius: var(--pub-radius);
	padding: 2rem 1.5rem;
	margin-bottom: 1.5rem;
	text-align: center;
	box-shadow: var(--pub-shadow-card);
}

.pub-hero-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.35rem;
	font-weight: bold;
	color: #ffcc33;
	margin: 0 0 0.5rem;
	line-height: 1.35;
}

.pub-hero-hint {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 auto 1.25rem;
	max-width: 36rem;
}

.pub-hero-search {
	display: flex;
	align-items: stretch;
	gap: 0.5rem;
	max-width: 560px;
	margin: 0 auto;
}

.pub-hero-search-input {
	flex: 1 1 auto;
	min-width: 0;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--pub-border-strong);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.95);
	color: var(--pub-text);
}

.pub-hero-search-input::placeholder {
	color: var(--pub-text-muted);
}

.pub-hero-search-btn {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1rem;
	font-weight: bold;
	padding: 0.65rem 1.25rem;
	border: 1px solid #8fb8bc;
	border-radius: 6px;
	background: #206200;
	color: #ffffff;
	cursor: pointer;
	white-space: nowrap;
}

.pub-hero-search-btn:hover {
	background: #339900;
}

.pub-subnav {
	background: var(--pub-bg-subtle);
	border-bottom: 1px solid var(--pub-border);
	margin-bottom: 1rem;
}

.pub-subnav-inner {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-text);
}

.pub-subnav-inner a {
	color: var(--pub-link);
}

.pub-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0 0 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--pub-border);
}

.pub-tab {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	font-weight: bold;
	color: var(--pub-text-muted);
	text-decoration: none;
	padding: 0.4rem 0.75rem;
	border-radius: 4px 4px 0 0;
	border: 1px solid transparent;
}

.pub-tab:hover {
	color: var(--pub-heading);
	background: var(--pub-bg-subtle);
	text-decoration: none;
}

.pub-tab.is-active {
	color: var(--pub-green);
	background: var(--pub-gold);
	border-color: var(--pub-border-strong);
}

.pub-footer {
	border-top: 1px solid var(--pub-border);
	padding: 1rem 0 1.5rem;
	margin-top: auto;
	background: var(--pub-bg-subtle);
}

.pub-footer p {
	margin: 0 0 0.35rem;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.72rem;
	color: var(--pub-text-muted);
}

.pub-footer-util {
	display: none;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem 0.65rem;
	margin: 0 0 0.65rem;
	padding: 0;
	list-style: none;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.72rem;
	font-weight: bold;
}

.pub-footer-util a,
.pub-footer-util a:link,
.pub-footer-util a:visited {
	color: var(--pub-link);
	text-decoration: none;
}

.pub-footer-util a:hover {
	text-decoration: underline;
}

.pub-print-banner {
	text-align: center;
	padding: 1rem;
}

/* jQuery UI autocomplete */
.ui-autocomplete {
	max-height: 240px;
	overflow-y: auto;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	background: var(--pub-surface);
	border: 1px solid var(--pub-border);
	color: var(--pub-text);
}

.ui-menu .ui-menu-item-wrapper {
	color: var(--pub-text);
}

.ui-menu .ui-state-active,
.ui-menu .ui-menu-item-wrapper.ui-state-active {
	background: var(--pub-bg-subtle);
	border-color: var(--pub-border);
	color: var(--pub-heading);
}

@media (max-width: 768px) {
	.pub-header-inner {
		flex-direction: column;
		align-items: stretch;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}

	.pub-brand-logo {
		height: 52px;
	}

	.pub-nav {
		order: 3;
		margin-left: 0;
		gap: 0.25rem;
	}

	.pub-nav-link {
		font-size: 0.82rem;
		padding: 0.35rem 0.5rem;
	}

	.pub-search {
		order: 2;
		max-width: none;
		margin-left: 0;
	}

	/* Club links: one compact row; hidden here, shown in footer instead */
	.pub-utility {
		display: none;
	}

	.pub-footer-util {
		display: flex;
	}

	.pub-hero {
		padding: 1.5rem 1rem;
	}

	.pub-hero-title {
		font-size: 1.15rem;
	}

	.pub-hero-search {
		flex-direction: column;
	}
}

.pub-body-minimal {
	background: var(--pub-bg);
	color: var(--pub-text);
}

.pub-container-minimal {
	padding: 0.75rem 1rem;
}

.pub-form-page {
	max-width: 720px;
}

.pub-form-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.35rem;
	color: var(--pub-heading);
	margin: 0 0 0.75rem;
}

.pub-form-intro {
	margin: 0 0 1.25rem;
}

.pub-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.pub-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.pub-form-group {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.pub-form-label {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	font-weight: bold;
	color: var(--pub-heading);
}

.pub-form-required {
	color: #ff6666;
}

.pub-form-optional {
	font-weight: normal;
	color: var(--pub-text-muted);
}

.pub-form-input {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.9rem;
	padding: 0.5rem 0.65rem;
	border: 1px solid var(--pub-border-strong);
	border-radius: 4px;
	background: var(--pub-surface);
	color: var(--pub-text);
}

.pub-form-input.is-invalid {
	border-color: #ff6666;
}

.pub-form-textarea {
	min-height: 10rem;
	resize: vertical;
}

.pub-form-hint,
.pub-form-note {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: var(--pub-text-muted);
	margin: 0;
}

.pub-form-error {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: #ff9999;
	margin: 0;
}

.pub-form-error-banner {
	padding: 0.65rem 0.75rem;
	border: 1px solid #ff6666;
	border-radius: 4px;
	background: #330000;
}

.pub-form-actions {
	padding-top: 0.25rem;
}

.pub-form-submit {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.9rem;
	font-weight: bold;
	padding: 0.55rem 1.1rem;
	border: 1px solid #8fb8bc;
	border-radius: 4px;
	background: #206200;
	color: #ffffff;
	cursor: pointer;
}

.pub-form-submit:hover {
	background: #339900;
}

.pub-form-success {
	padding: 1rem 0;
}

.pub-honey {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media (max-width: 768px) {
	.pub-form-row {
		grid-template-columns: 1fr;
	}

	.pub-form-page-mobile {
		max-width: none;
		margin: 0 -0.25rem;
	}

	.pub-form-mobile .pub-form-input,
	.pub-form-mobile .pub-form-textarea,
	.pub-form-mobile select.pub-form-input {
		font-size: 16px;
		min-height: 48px;
	}

	.pub-form-mobile .pub-form-textarea {
		min-height: 8rem;
	}

	.pub-form-mobile .pub-form-submit {
		width: 100%;
		min-height: 48px;
		font-size: 1rem;
		padding: 0.75rem 1.25rem;
	}

	.pub-form-photo-section .pub-photo-submit-file-label {
		min-height: 7.5rem;
		padding: 1.25rem 1rem;
	}

	.pub-form-photo-section .pub-photo-submit-preview-img {
		max-height: 220px;
	}
}

.pub-form-photo-section {
	margin-top: 0.25rem;
	padding: 1rem;
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: linear-gradient(135deg, #f8faf8 0%, var(--pub-surface) 100%);
	box-shadow: var(--pub-shadow-card);
}

.pub-form-photo-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1rem;
	color: var(--pub-heading);
	margin: 0 0 0.35rem;
}

.pub-form-photo-lead {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	color: var(--pub-text-muted);
	line-height: 1.45;
}

.pub-form-photo-section .pub-photo-submit-picker {
	margin: 0;
}

.pub-form-photo-section .pub-photo-submit-guidelines {
	margin: 0.75rem 0 0;
}

/* Home page */
.pub-home-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.9fr);
	gap: 1.5rem;
	align-items: start;
	margin-bottom: 1.5rem;
}

.pub-home-main {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.pub-home-section {
	padding: 0.85rem 1rem;
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow);
}

.pub-home-section-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1rem;
	color: var(--pub-heading);
	margin: 0 0 0.5rem;
}

.pub-home-section p {
	margin: 0 0 0.5rem;
}

.pub-home-section p:last-child {
	margin-bottom: 0;
}

.pub-home-aside {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.pub-home-competition-full {
	margin-bottom: 1.5rem;
}

.pub-dow-card {
	border: 1px solid var(--pub-green-light);
	border-radius: 10px;
	background: var(--pub-header-gradient);
	overflow: hidden;
	box-shadow: var(--pub-shadow-card);
}

.pub-dow-card--empty {
	padding: 1rem 1.1rem;
}

.pub-dow-header {
	padding: 0.85rem 1rem 0.35rem;
}

.pub-dow-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.05rem;
	color: #ffcc33;
	margin: 0;
}

.pub-dow-day {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.8);
	margin: 0.25rem 0 0;
}

.pub-dow-photo-link {
	display: block;
	background: #000;
}

.pub-dow-photo {
	display: block;
	width: 100%;
	max-height: 320px;
	object-fit: cover;
	object-position: center top;
}

.pub-dow-body {
	padding: 0.85rem 1rem 1rem;
}

.pub-dow-name {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1rem;
	margin: 0 0 0.5rem;
	line-height: 1.35;
}

.pub-dow-meta {
	list-style: none;
	margin: 0 0 0.65rem;
	padding: 0;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.85);
}

.pub-dow-meta li + li {
	margin-top: 0.2rem;
}

.pub-dow-note {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.72rem;
	color: #999999;
	margin: 0 0 0.75rem;
	line-height: 1.4;
}

.pub-dow-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
}

.pub-dow-btn {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	font-weight: bold;
	padding: 0.4rem 0.75rem;
	border-radius: 4px;
	border: 1px solid #8fb8bc;
	background: #206200;
	color: #ffffff;
	text-decoration: none;
}

.pub-dow-btn:hover {
	background: #339900;
	text-decoration: none;
}

.pub-dow-btn--secondary {
	background: transparent;
	color: #ffcc33;
}

.pub-dow-btn--secondary:hover {
	background: #001a00;
	color: #ffffff;
}

.pub-dow-empty {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	color: #cccccc;
	margin: 0.5rem 0 0;
}

.pub-stats-card {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	padding: 0.85rem 1rem;
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow);
}

.pub-stats-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.95rem;
	color: var(--pub-heading);
	margin: 0 0 0.5rem;
}

.pub-stats-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pub-stats-list li + li {
	margin-top: 0.35rem;
}

.pub-home-about {
	border: 1px solid var(--pub-border-strong);
	border-radius: var(--pub-radius);
	padding: 1rem 1.1rem;
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow);
}

.pub-home-about p {
	margin: 0 0 0.75rem;
}

.pub-home-about p:last-child {
	margin-bottom: 0;
}

.pub-home-about-small {
	font-size: 0.78rem;
	color: var(--pub-text-muted);
}

@media (max-width: 900px) {
	.pub-home-grid {
		grid-template-columns: 1fr;
	}

	.pub-home-aside {
		order: -1;
	}
}

/* Latest show highlights */
.pub-show-card {
	border: 1px solid var(--pub-border);
	border-radius: 10px;
	background: var(--pub-surface);
	overflow: hidden;
	box-shadow: var(--pub-shadow-card);
}

.pub-show-card--empty {
	padding: 1rem 1.1rem;
}

.pub-show-header {
	padding: 0.85rem 1rem 0.5rem;
	border-bottom: 1px solid var(--pub-border);
}

.pub-show-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.05rem;
	color: var(--pub-heading);
	margin: 0;
}

.pub-show-featured-name {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.92rem;
	margin: 0.45rem 0 0;
}

.pub-show-featured-name a {
	color: var(--pub-link);
	text-decoration: none;
	font-weight: bold;
}

.pub-show-featured-name a:hover {
	text-decoration: underline;
}

.pub-show-date,
.pub-show-judge {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: var(--pub-text-muted);
	margin: 0.25rem 0 0;
}

.pub-show-judge a {
	color: var(--pub-link);
}

.pub-show-awards {
	list-style: none;
	margin: 0;
	padding: 0.75rem 1rem;
}

.pub-show-award {
	display: grid;
	grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
	gap: 0.5rem;
	padding: 0.35rem 0;
	border-bottom: 1px solid var(--pub-border);
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
	align-items: center;
}

.pub-show-award-name {
	min-width: 0;
}

.pub-show-award:last-child {
	border-bottom: 0;
}

.pub-show-award--bob .pub-show-award-label {
	color: #ff6666;
	font-weight: bold;
}

.pub-show-award-label {
	color: var(--pub-label);
}

.pub-show-award a.is-champion,
.pub-show-award-name a.is-champion,
.pub-show-recent-bob a.is-champion,
.pub-comp-name a.is-champion {
	color: #cc0000;
}

.pub-show-award a.is-champion:hover,
.pub-show-award-name a.is-champion:hover,
.pub-show-recent-bob a.is-champion:hover,
.pub-comp-name a.is-champion:hover {
	color: #990000;
}

.titlestyle .is-champion,
.pub-summary-dl .is-champion,
.pub-summary-dl a.is-champion,
.pub-summary-inline-link.is-champion,
.pub-breeding-parent a.is-champion,
.pub-breeding-offspring a.is-champion,
.pub-search-result-link.is-champion,
.pub-search-result-link.is-champion .pub-search-result-name {
	color: #cc0000;
}

.titlestyle .is-champion:hover,
.pub-summary-dl a.is-champion:hover,
.pub-summary-inline-link.is-champion:hover,
.pub-breeding-parent a.is-champion:hover,
.pub-breeding-offspring a.is-champion:hover,
.pub-search-result-link.is-champion:hover,
.pub-search-result-link.is-champion:hover .pub-search-result-name {
	color: #990000;
}

.pub-show-award a {
	color: var(--pub-link);
	text-decoration: none;
}

.pub-show-award a:hover {
	text-decoration: underline;
}

.pub-show-recent {
	padding: 0 1rem 0.75rem;
	border-top: 1px solid var(--pub-border);
}

.pub-show-recent-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-heading);
	margin: 0.75rem 0 0.5rem;
}

.pub-show-recent-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pub-show-recent-list li {
	padding: 0.45rem 0;
	border-bottom: 1px solid var(--pub-border);
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
}

.pub-show-recent-list li:last-child {
	border-bottom: 0;
}

.pub-show-recent-list a {
	color: var(--pub-link);
	text-decoration: none;
}

.pub-show-recent-list a:hover {
	text-decoration: underline;
}

.pub-show-recent-bob {
	display: block;
	color: var(--pub-text-muted);
	margin-top: 0.2rem;
}

.pub-show-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0 1rem 1rem;
}

.pub-show-btn {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	font-weight: bold;
	padding: 0.4rem 0.75rem;
	border-radius: 4px;
	border: 1px solid #8fb8bc;
	background: #206200;
	color: #ffffff;
	text-decoration: none;
}

.pub-show-btn:hover {
	background: #339900;
	text-decoration: none;
}

.pub-show-btn--secondary {
	background: transparent;
	color: var(--pub-green-mid);
	border-color: var(--pub-border-strong);
}

.pub-show-btn--secondary:hover {
	background: var(--pub-bg-subtle);
	color: var(--pub-heading);
}

.pub-show-empty {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	color: #cccccc;
	margin: 0.5rem 0 0.75rem;
}

/* Home competition preview */
.pub-comp-card {
	border: 1px solid var(--pub-border);
	border-radius: 10px;
	background: var(--pub-surface);
	overflow: hidden;
	box-shadow: var(--pub-shadow-card);
}

.pub-comp-header {
	padding: 0.85rem 1rem 0.5rem;
	border-bottom: 1px solid var(--pub-border);
}

.pub-comp-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.05rem;
	color: var(--pub-heading);
	margin: 0;
}

.pub-comp-subtitle {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	color: var(--pub-text-muted);
	margin: 0.35rem 0 0;
	line-height: 1.4;
}

.pub-comp-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

.pub-comp-grid--home {
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	gap: 0.75rem;
}

.pub-comp-grid--home .pub-comp-column {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
}

.pub-comp-column {
	padding: 0.75rem 1rem;
	border-right: 1px solid var(--pub-border);
}

.pub-comp-column:last-child {
	border-right: 0;
}

.pub-comp-award {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	margin: 0 0 0.5rem;
}

.pub-comp-award a {
	color: var(--pub-link);
	text-decoration: none;
	font-weight: bold;
}

.pub-comp-award a:hover {
	text-decoration: underline;
}

.pub-comp-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pub-comp-item {
	display: grid;
	grid-template-columns: 1.4rem minmax(0, 1fr) auto;
	gap: 0.35rem;
	align-items: baseline;
	padding: 0.3rem 0;
	border-bottom: 1px solid var(--pub-border);
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.76rem;
}

.pub-comp-item:last-child {
	border-bottom: 0;
}

.pub-comp-rank {
	color: var(--pub-text-muted);
	font-weight: bold;
}

.pub-comp-name a {
	color: var(--pub-link);
	text-decoration: none;
}

.pub-comp-points {
	color: var(--pub-text-muted);
	white-space: nowrap;
}

.pub-comp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0.75rem 1rem 1rem;
	border-top: 1px solid var(--pub-border);
}

.pub-comp-btn {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	font-weight: bold;
	padding: 0.4rem 0.75rem;
	border-radius: 4px;
	border: 1px solid var(--pub-green-light);
	background: var(--pub-green-hover);
	color: #ffffff;
	text-decoration: none;
}

.pub-comp-btn:hover {
	background: var(--pub-green-light);
	text-decoration: none;
}

.pub-comp-btn--secondary {
	background: transparent;
	color: var(--pub-link);
	border-color: var(--pub-border-strong);
}

.pub-comp-btn--secondary:hover {
	background: var(--pub-bg-subtle);
	color: var(--pub-heading);
}

.pub-comp-empty {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	color: var(--pub-text-muted);
	margin: 0.75rem 1rem 0;
}

/* Home explore links */
.pub-explore-card {
	border: 1px solid var(--pub-border);
	border-radius: 10px;
	background: var(--pub-surface);
	padding: 0.85rem 1rem 1rem;
	box-shadow: var(--pub-shadow);
}

.pub-explore-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.05rem;
	color: var(--pub-heading);
	margin: 0 0 0.75rem;
}

.pub-explore-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.65rem;
}

.pub-explore-tile {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 0.7rem 0.75rem;
	border: 1px solid var(--pub-border);
	border-radius: 8px;
	background: var(--pub-bg-subtle);
	text-decoration: none;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.pub-explore-tile:hover {
	border-color: var(--pub-green-light);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow);
	text-decoration: none;
}

.pub-explore-tile-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	font-weight: bold;
	color: var(--pub-heading);
}

.pub-explore-tile-desc {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.72rem;
	color: var(--pub-text-muted);
	line-height: 1.35;
}

@media (max-width: 900px) {
	.pub-comp-grid {
		grid-template-columns: 1fr;
	}

	.pub-comp-column {
		border-right: 0;
		border-bottom: 1px solid var(--pub-border);
	}

	.pub-comp-column:last-child {
		border-bottom: 0;
	}
}

@media (max-width: 520px) {
	.pub-explore-grid {
		grid-template-columns: 1fr;
	}
}

/* Animal database landing (showinfo.php) */
.pub-animal-landing-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.85fr);
	gap: 1.5rem;
	align-items: start;
	margin-bottom: 1.5rem;
}

.pub-animal-landing-main {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.pub-animal-landing-aside {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.pub-ped-spotlight,
.pub-ped-views-card,
.pub-ped-steps-card,
.pub-ped-tips-card {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
	padding: 1rem 1.1rem;
}

.pub-ped-spotlight-header {
	margin-bottom: 1rem;
}

.pub-ped-spotlight-title,
.pub-ped-views-title,
.pub-ped-steps-title,
.pub-ped-tips-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1rem;
	color: var(--pub-heading);
	margin: 0 0 0.35rem;
}

.pub-ped-spotlight-lead,
.pub-ped-views-lead {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-text-muted);
	margin: 0;
	line-height: 1.45;
}

.pub-ped-spotlight-empty {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	color: var(--pub-text-muted);
	margin: 0;
}

.pub-ped-spotlight-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.pub-ped-spot-card {
	border: 1px solid var(--pub-border);
	border-radius: 8px;
	background: var(--pub-bg-subtle);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.pub-ped-spot-photo-link {
	display: block;
	line-height: 0;
}

.pub-ped-spot-photo {
	display: block;
	width: 100%;
	height: 160px;
	object-fit: cover;
	object-position: center top;
}

.pub-ped-spot-photo--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 160px;
	background: linear-gradient(135deg, var(--pub-bg-subtle) 0%, var(--pub-border) 100%);
}

.pub-ped-spot-photo-label {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	color: var(--pub-text-muted);
	opacity: 0.7;
}

.pub-ped-spot-body {
	padding: 0.75rem 0.85rem 0.9rem;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.pub-ped-spot-name {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.88rem;
	margin: 0 0 0.45rem;
	line-height: 1.35;
}

.pub-ped-spot-name a {
	color: var(--pub-heading);
	text-decoration: none;
}

.pub-ped-spot-name a:hover {
	color: var(--pub-link);
	text-decoration: underline;
}

.pub-ped-memory-lane {
	background: linear-gradient(135deg, #fffdf8 0%, var(--pub-surface) 100%);
}

.pub-ped-memory-lane .pub-ped-spot-photo {
	filter: sepia(0.12);
}

.pub-ped-spot-meta {
	list-style: none;
	margin: 0 0 0.65rem;
	padding: 0;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	color: var(--pub-text-muted);
	flex: 1 1 auto;
}

.pub-ped-spot-meta li + li {
	margin-top: 0.15rem;
}

.pub-ped-spot-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0;
}

.pub-ped-views-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: 0.85rem;
}

.pub-animal-landing-aside .pub-ped-views-grid {
	grid-template-columns: 1fr;
}

.pub-ped-views-tile {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid var(--pub-border);
	border-radius: 8px;
	background: var(--pub-bg-subtle);
	text-decoration: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.pub-ped-views-tile:hover {
	border-color: var(--pub-green-light);
	box-shadow: var(--pub-shadow);
	text-decoration: none;
}

.pub-ped-views-tile-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	font-weight: bold;
	color: var(--pub-heading);
}

.pub-ped-views-tile-desc {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.72rem;
	color: var(--pub-text-muted);
	line-height: 1.35;
}

.pub-ped-steps-list {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.75rem;
}

.pub-ped-step {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: 0.65rem;
	align-items: start;
}

.pub-ped-step-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--pub-header-gradient);
	color: #ffcc33;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	font-weight: bold;
}

.pub-ped-step-body strong {
	display: block;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-heading);
	margin-bottom: 0.15rem;
}

.pub-ped-step-body p {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: var(--pub-text-muted);
	margin: 0;
	line-height: 1.4;
}

.pub-ped-tips-list {
	list-style: disc;
	margin: 0.5rem 0 0 1.1rem;
	padding: 0;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: var(--pub-text);
	line-height: 1.45;
}

.pub-ped-tips-list li + li {
	margin-top: 0.35rem;
}

.pub-ped-tips-champ {
	color: #c62828;
	font-weight: bold;
}

/* Search results (showinfo.php) */
.pub-search-results {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
	padding: 1rem 1.1rem;
	margin-bottom: 1.5rem;
}

.pub-search-results-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1rem;
	color: var(--pub-heading);
	margin: 0 0 0.35rem;
}

.pub-search-results-lead,
.pub-search-results-message,
.pub-search-results-count {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-text-muted);
	margin: 0 0 0.75rem;
	line-height: 1.45;
}

.pub-search-results-count {
	margin-bottom: 0;
}

.pub-search-results-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--pub-border);
}

.pub-search-result {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid var(--pub-border);
}

.pub-search-result-link {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	flex: 1 1 auto;
	min-width: 0;
	text-decoration: none;
	color: var(--pub-heading);
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	font-weight: bold;
}

.pub-search-result-link:hover {
	color: var(--pub-link);
	text-decoration: underline;
}

.pub-search-result-photo {
	width: 40px;
	height: 40px;
	object-fit: cover;
	border-radius: 4px;
	border: 1px solid var(--pub-border);
	flex-shrink: 0;
}

.pub-search-result-name {
	min-width: 0;
}

.pub-search-result-ped {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	font-weight: bold;
	color: var(--pub-link);
	text-decoration: none;
	white-space: nowrap;
	padding: 0.3rem 0.55rem;
	border: 1px solid var(--pub-border);
	border-radius: 4px;
	background: var(--pub-bg-subtle);
}

.pub-search-result-ped:hover {
	background: var(--pub-surface);
	color: var(--pub-heading);
	text-decoration: none;
}

@media (max-width: 960px) {
	.pub-animal-landing-grid {
		grid-template-columns: 1fr;
	}

	.pub-ped-spotlight-grid,
	.pub-ped-views-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.pub-ped-spotlight-grid {
		grid-template-columns: 1fr;
	}

	.pub-search-result {
		flex-wrap: wrap;
	}

	.pub-search-result-ped {
		margin-left: calc(40px + 0.65rem);
	}
}

/* Classic pedigree — Option A preview (pedigree_classic_preview.php) */

.pub-ped-demo-banner {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	line-height: 1.45;
	color: var(--pub-text);
	background: var(--pub-bg-subtle);
	border: 1px solid var(--pub-border-strong);
	border-left: 3px solid var(--pub-green-light);
	border-radius: 6px;
	padding: 0.65rem 0.85rem;
	margin: 0 0 1rem;
}

.pub-ped-demo-banner a {
	color: var(--pub-link);
}

.pub-ped-error {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: #ff9999;
	padding: 1rem 0;
}

.pub-ped-view-switch {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0 0 1rem;
}

.pub-ped-view-opt {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
	font-weight: bold;
	color: var(--pub-link);
	text-decoration: none;
	padding: 0.4rem 0.75rem;
	border: 1px solid var(--pub-border);
	border-radius: 999px;
	background: var(--pub-surface);
}

.pub-ped-view-opt:hover {
	color: var(--pub-heading);
	background: var(--pub-bg-subtle);
	border-color: var(--pub-green-light);
	text-decoration: none;
}

.pub-ped-view-opt.is-active {
	color: var(--pub-green);
	background: var(--pub-gold);
	border-color: var(--pub-gold);
	cursor: default;
}

.pub-ped-view-opt--live {
	margin-left: auto;
}

.pub-ped-panel {
	margin-bottom: 1rem;
}

.pub-ped-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.05rem;
	color: var(--pub-heading);
	text-align: center;
	margin: 0 0 0.85rem;
}

.pub-ped-meta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 0.75rem 1rem;
	margin-bottom: 1rem;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-text);
}

.pub-ped-meta-col--center {
	text-align: center;
}

.pub-ped-meta-col--right {
	text-align: right;
}

.pub-ped-meta-line {
	margin: 0 0 0.35rem;
	line-height: 1.4;
}

.pub-ped-meta-label {
	color: var(--pub-label);
	font-weight: bold;
}

.pub-ped-gens-note {
	margin: 0 0 0.5rem;
	line-height: 1.45;
}

.pub-ped-gens-links {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
}

.pub-ped-gens-label,
.pub-ped-gens-suffix {
	color: var(--pub-label);
}

.pub-ped-gen-link {
	display: inline-block;
	min-width: 1.75rem;
	padding: 0.2rem 0.45rem;
	border: 1px solid var(--pub-border);
	border-radius: 4px;
	color: var(--pub-link);
	text-decoration: none;
	font-weight: bold;
	text-align: center;
}

.pub-ped-gen-link:hover {
	background: var(--pub-bg-subtle);
	color: var(--pub-heading);
	text-decoration: none;
}

.pub-ped-gen-link.is-active {
	background: var(--pub-gold);
	color: var(--pub-green);
	border-color: var(--pub-gold);
}

.pub-ped-tree-wrap {
	overflow-x: auto;
	margin-bottom: 0.5rem;
	background: var(--pub-surface);
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	padding: 0.65rem;
	box-shadow: var(--pub-shadow);
}

.pub-ped-grid {
	width: 100%;
	min-width: 680px;
	border-collapse: collapse;
	table-layout: fixed;
}

.pub-ped-cell {
	border: 1px solid var(--pub-border);
	vertical-align: middle;
	padding: 0.45rem 0.55rem;
	line-height: 1.35;
	background: var(--pub-surface);
	transition: border-color 0.15s ease, background 0.15s ease;
}

.pub-ped-cell--sire {
	background:
		linear-gradient(180deg, rgba(126, 184, 232, 0.14) 0%, rgba(126, 184, 232, 0.05) 100%),
		var(--pub-surface);
}

.pub-ped-cell--dam {
	background:
		linear-gradient(180deg, rgba(232, 160, 184, 0.14) 0%, rgba(232, 160, 184, 0.05) 100%),
		var(--pub-surface);
}

.pub-ped-cell--empty {
	background: var(--pub-bg-subtle);
	color: var(--pub-text-muted);
}

.pub-ped-cell:not(.pub-ped-cell--empty):hover {
	border-color: var(--pub-green-light);
}

.pub-ped-cell-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.pub-ped-cell-link:hover {
	text-decoration: none;
}

.pub-ped-role {
	display: block;
	font-size: 0.68rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--pub-label);
	margin-bottom: 0.15rem;
}

.pub-ped-name {
	display: block;
	font-weight: 600;
	word-break: break-word;
	color: var(--pub-text);
}

.pub-ped-name.is-champion {
	color: #8b2942;
}

.pub-ped-name--unknown {
	color: #777777;
	font-weight: normal;
	font-style: italic;
}

/* Photo pedigree — fixed sizes tuned for 1080p without vertical scroll */
.pub-main:has(.pub-ped-panel--photo) {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.pub-main:has(.pub-ped-panel--photo) .pub-tabs {
	margin-bottom: 0.5rem;
}

.pub-main:has(.pub-ped-panel--photo) .pub-ped-view-switch {
	margin-bottom: 0.5rem;
}

.pub-container:has(.pub-ped-panel--photo) h1.pub-animal-title {
	font-size: 1.1rem;
	line-height: 1.2;
}

.pub-container:has(.pub-ped-panel--photo) h1.pub-animal-title br {
	display: none;
}

.pub-container:has(.pub-ped-panel--photo) .pub-record-footer p {
	display: none;
	margin: 0;
}

.pub-ped-panel--photo {
	margin-bottom: 0.35rem;
}

.pub-ped-panel--photo .pub-ped-title {
	font-size: 0.9rem;
	margin-bottom: 0.35rem;
}

.pub-ped-panel--photo .pub-ped-meta {
	margin-bottom: 0.4rem;
	font-size: 0.72rem;
	gap: 0.35rem 0.65rem;
}

.pub-ped-panel--photo .pub-ped-meta-line {
	margin-bottom: 0.12rem;
	line-height: 1.3;
}

.pub-ped-panel--photo .pub-ped-gens-note {
	margin: 0;
	font-size: 0.7rem;
	line-height: 1.35;
}

.pub-ped-photo-layout {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin-bottom: 0;
}

.pub-ped-photo-wrap {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.35rem;
	margin-bottom: 0;
}

.pub-ped-photo-grid {
	width: 100%;
	min-width: 0;
	table-layout: fixed;
}

.pub-ped-photo-cell {
	padding: 0.12rem 0.18rem;
	vertical-align: middle;
}

.pub-ped-photo-card-link {
	display: block;
	width: 100%;
	max-width: 100%;
	color: inherit;
	text-decoration: none;
	margin: 0 auto;
}

.pub-ped-photo-card-link:hover {
	text-decoration: none;
}

.pub-ped-photo-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.12rem;
	width: 100%;
	min-height: 0;
}

.pub-ped-photo-frame {
	overflow: hidden;
	border-radius: 4px;
	border: 1px solid var(--pub-border);
	background: var(--pub-bg-subtle);
	margin: 0 auto;
	flex-shrink: 0;
}

.pub-ped-photo-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.pub-ped-photo-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--pub-bg-subtle) 0%, var(--pub-border) 100%);
}

.pub-ped-photo-placeholder-label {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.52rem;
	color: var(--pub-text-muted);
	opacity: 0.75;
}

.pub-ped-photo-placeholder--upload .pub-ped-photo-placeholder-label {
	color: var(--pub-link);
	opacity: 1;
	font-weight: bold;
}

.pub-ped-photo-card-link--upload:hover .pub-ped-photo-placeholder-label {
	text-decoration: underline;
}

/* Fixed photo frame sizes — text uses full cell width below */
.pub-ped-photo-depth-1 .pub-ped-photo-frame {
	width: 247px;
	max-width: 100%;
	height: 185px;
}

.pub-ped-photo-depth-2 .pub-ped-photo-frame {
	width: 145px;
	max-width: 100%;
	height: 108px;
}

.pub-ped-photo-depth-3 .pub-ped-photo-frame {
	width: 67px;
	max-width: 100%;
	height: 50px;
}

.pub-ped-photo-depth-3 .pub-ped-photo-placeholder-label {
	font-size: 0.46rem;
}

.pub-ped-photo-cell .pub-ped-role {
	margin-bottom: 0;
	width: 100%;
	text-align: center;
}

.pub-ped-photo-cell .pub-ped-name {
	width: 100%;
	text-align: center;
	word-break: break-word;
}

.pub-ped-photo-depth-1 .pub-ped-role {
	font-size: 0.58rem;
}

.pub-ped-photo-depth-2 .pub-ped-role {
	font-size: 0.54rem;
}

.pub-ped-photo-depth-3 .pub-ped-role {
	font-size: 0.5rem;
}

.pub-ped-photo-depth-1 .pub-ped-name {
	font-size: 0.68rem;
	line-height: 1.2;
}

.pub-ped-photo-depth-2 .pub-ped-name {
	font-size: 0.62rem;
	line-height: 1.15;
}

.pub-ped-photo-depth-3 .pub-ped-name {
	font-size: 0.56rem;
	line-height: 1.15;
}

.pub-ped-photo-subject-wrap {
	flex: 0 0 auto;
	width: auto;
	min-width: 118px;
	max-width: 220px;
	margin: 0;
	padding: 0;
	border: none;
	text-align: center;
}

.pub-ped-photo-subject-heading {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.65rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--pub-label);
	margin: 0 0 0.3rem;
}

.pub-ped-photo-subject-link {
	width: 100%;
	max-width: 220px;
}

.pub-ped-photo-card--subject {
	border: 2px solid var(--pub-gold);
	border-radius: var(--pub-radius);
	padding: 0.35rem;
	background: linear-gradient(180deg, rgba(255, 204, 51, 0.12) 0%, var(--pub-surface) 100%);
	box-shadow: var(--pub-shadow-card);
}

.pub-ped-photo-frame--subject {
	width: 100px;
	height: 100px;
}

.pub-ped-photo-subject-name {
	font-size: 0.72rem;
	font-weight: bold;
	line-height: 1.2;
	color: var(--pub-heading);
	width: 100%;
	word-break: break-word;
}

@media (max-width: 768px) {
	.pub-ped-meta {
		grid-template-columns: 1fr;
	}

	.pub-ped-meta-col--center,
	.pub-ped-meta-col--right {
		text-align: left;
	}

	.pub-ped-view-opt--live {
		margin-left: 0;
	}

	.pub-ped-photo-layout {
		flex-direction: column;
		align-items: center;
	}

	.pub-ped-photo-wrap {
		width: 100%;
		overflow-x: auto;
	}

	.pub-ped-photo-grid {
		min-width: 820px;
	}
}

/* Pedigree tree view (live showped.php) */
.pub-ped-tree-panel {
	margin-bottom: 1rem;
}

.ptree-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.65rem;
	align-items: center;
	margin-bottom: 0.75rem;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
}

.ptree-controls-label {
	color: var(--pub-text-muted);
}

.ptree-gen-link {
	font-size: 0.78rem;
}

.ptree-controls-btn {
	font-family: inherit;
	font-size: 0.78rem;
	font-weight: bold;
	padding: 0.35rem 0.65rem;
	border-radius: 4px;
	border: 1px solid var(--pub-border-strong);
	background: var(--pub-surface);
	color: var(--pub-heading);
	cursor: pointer;
}

.ptree-controls-btn:hover {
	background: var(--pub-bg-subtle);
	border-color: var(--pub-green-light);
}

.ptree-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1rem;
	margin-bottom: 0.75rem;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	color: var(--pub-text-muted);
}

.ptree-swatch {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 3px;
	vertical-align: middle;
	margin-right: 0.3rem;
	border: 1px solid var(--pub-border);
}

.ptree-swatch--subject { background: var(--pub-gold); }
.ptree-swatch--dam { background: #f3e8ed; border-color: #d94a7a; }
.ptree-swatch--sire { background: #e8f0f8; border-color: #4a90d9; }

.ptree-legend-sex {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.ptree-root {
	border: 1px solid var(--pub-border);
	border-radius: 10px;
	background: var(--pub-surface);
	padding: 0.75rem 1rem 1rem;
	overflow-x: auto;
}

.ptree-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ptree-list .ptree-list {
	margin-left: 1.35rem;
	padding-left: 0.85rem;
	border-left: 2px solid var(--pub-border);
}

.ptree-node {
	margin: 0.2rem 0;
}

.ptree-row {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.35rem 0.5rem;
	border-radius: 6px;
	border: 1px solid transparent;
	min-height: 2rem;
}

.ptree-row--subject {
	background: linear-gradient(90deg, #fff8e0 0%, var(--pub-bg-subtle) 100%);
	border-color: var(--pub-gold);
}

.ptree-row--dam {
	background: linear-gradient(90deg, #faf0f4 0%, var(--pub-bg-subtle) 100%);
	border-color: #e8b4c8;
}

.ptree-row--sire {
	background: linear-gradient(90deg, #eef4fa 0%, var(--pub-bg-subtle) 100%);
	border-color: #a8c8e8;
}

.ptree-row--male {
	box-shadow: inset 3px 0 0 rgba(74, 144, 217, 0.45);
}

.ptree-row--female {
	box-shadow: inset 3px 0 0 rgba(217, 74, 122, 0.4);
}

.ptree-sex-mark {
	flex: 0 0 auto;
	font-size: 0.78rem;
	line-height: 1;
	width: 0.9rem;
	text-align: center;
	opacity: 0.8;
}

.ptree-sex-mark--male { color: #2a6cb0; }
.ptree-sex-mark--female { color: #b03a62; }

.ptree-toggle {
	flex: 0 0 auto;
	width: 1.6rem;
	height: 1.6rem;
	padding: 0;
	border: 1px solid var(--pub-border);
	border-radius: 4px;
	background: var(--pub-surface);
	color: var(--pub-heading);
	font-size: 0.7rem;
	line-height: 1;
	cursor: pointer;
}

.ptree-toggle:hover {
	background: var(--pub-bg-subtle);
	border-color: var(--pub-green-light);
}

.ptree-toggle--leaf {
	visibility: hidden;
	cursor: default;
}

.ptree-role {
	flex: 0 0 auto;
	font-size: 0.68rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 0.15rem 0.4rem;
	border-radius: 3px;
	color: var(--pub-text-muted);
	background: rgba(255, 255, 255, 0.65);
	min-width: 2.6rem;
	text-align: center;
}

.ptree-row--subject .ptree-role { color: #8a6d00; }
.ptree-row--dam .ptree-role { color: #8b3a55; }
.ptree-row--sire .ptree-role { color: #2a5a8a; }

.ptree-name {
	flex: 1 1 auto;
	font-size: 0.82rem;
	color: var(--pub-heading);
	text-decoration: none;
	line-height: 1.3;
}

a.ptree-name:hover {
	text-decoration: underline;
	color: var(--pub-link);
}

.ptree-name--plain {
	color: var(--pub-text-muted);
}

.ptree-badge {
	flex: 0 0 auto;
	font-size: 0.65rem;
	color: var(--pub-text-muted);
}

.ptree-children {
	overflow: hidden;
	transition: max-height 0.25s ease, opacity 0.2s ease;
}

.ptree-children.is-collapsed {
	max-height: 0 !important;
	opacity: 0;
}

.ptree-children:not(.is-collapsed) {
	opacity: 1;
}

@media (max-width: 600px) {
	.ptree-list .ptree-list {
		margin-left: 0.75rem;
		padding-left: 0.5rem;
	}

	.ptree-role {
		min-width: 2.2rem;
		font-size: 0.62rem;
	}
}

/* Show results pages (results.php) */
.pub-results-page {
	margin-bottom: 1.5rem;
}

.pub-results-years {
	margin-bottom: 1rem;
}

.pub-results-years-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
}

.pub-results-year {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
	font-weight: bold;
	color: var(--pub-link);
	text-decoration: none;
	padding: 0.35rem 0.7rem;
	border: 1px solid var(--pub-border);
	border-radius: 999px;
	background: var(--pub-surface);
}

.pub-results-year:hover {
	color: var(--pub-heading);
	background: var(--pub-bg-subtle);
	border-color: var(--pub-green-light);
	text-decoration: none;
}

.pub-results-year.is-active {
	color: var(--pub-green);
	background: var(--pub-gold);
	border-color: var(--pub-gold);
	cursor: default;
}

.pub-results-years-more {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: var(--pub-text-muted);
}

.pub-results-years-select {
	font-size: 0.78rem;
	padding: 0.3rem 0.45rem;
	border-radius: 4px;
}

.pub-results-heading {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.15rem;
	color: var(--pub-heading);
	margin: 0 0 0.75rem;
	line-height: 1.35;
}

.pub-results-show-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 1rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
}

.pub-results-show-header-main {
	flex: 1 1 16rem;
	min-width: 0;
}

.pub-results-show-header-actions {
	margin: 0;
	flex: 0 0 auto;
}

.pub-results-meta {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-text);
	margin: 0 0 0.35rem;
	line-height: 1.45;
}

.pub-results-meta:last-child {
	margin-bottom: 0;
}

.pub-results-meta-label {
	color: var(--pub-label);
	font-weight: bold;
	margin-right: 0.25rem;
}

.pub-results-meta-note {
	color: var(--pub-text-muted);
	font-size: 0.78rem;
}

.pub-results-table-wrap {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.pub-results-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
}

.pub-results-table thead th {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	font-weight: bold;
	text-align: left;
	padding: 0.55rem 0.75rem;
	background: var(--pub-header-gradient);
	color: var(--pub-gold);
	border-bottom: 1px solid var(--pub-border);
}

.pub-results-table tbody td {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	padding: 0.55rem 0.75rem;
	border-bottom: 1px solid var(--pub-border);
	vertical-align: top;
	color: var(--pub-text);
}

.pub-results-table tbody tr:last-child td {
	border-bottom: 0;
}

.pub-results-table tbody tr:nth-child(even) {
	background: var(--pub-bg-subtle);
}

.pub-results-show-name a {
	font-weight: bold;
	color: var(--pub-heading);
}

.pub-results-judges {
	color: var(--pub-text-muted);
	font-size: 0.8rem;
}

.pub-results-col-actions,
.pub-results-actions {
	white-space: nowrap;
}

.pub-results-link-btn {
	display: inline-block;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.72rem;
	font-weight: bold;
	padding: 0.3rem 0.55rem;
	border-radius: 4px;
	border: 1px solid var(--pub-border-strong);
	background: var(--pub-bg-subtle);
	color: var(--pub-green-mid);
	text-decoration: none;
}

.pub-results-link-btn:hover {
	background: var(--pub-surface);
	color: var(--pub-heading);
	text-decoration: none;
	border-color: var(--pub-green-light);
}

.pub-body a.pub-results-link-btn,
.pub-body a.pub-results-link-btn:link,
.pub-body a.pub-results-link-btn:visited {
	color: var(--pub-green-mid);
}

.pub-body a.pub-results-link-btn:hover {
	color: var(--pub-heading);
}

.pub-results-link-btn--entry {
	background: #ffffff;
	border-color: var(--pub-green-mid, #339900);
	color: var(--pub-green-dark, #206200);
}

.pub-body a.pub-results-link-btn--entry,
.pub-body a.pub-results-link-btn--entry:link,
.pub-body a.pub-results-link-btn--entry:visited {
	color: var(--pub-green-dark, #206200);
}

.pub-body a.pub-results-link-btn--entry:hover {
	background: var(--pub-green-mid, #339900);
	border-color: var(--pub-green-mid, #339900);
	color: #ffffff;
}

.pub-results-bob {
	margin-bottom: 1.25rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: linear-gradient(135deg, #fffdf5 0%, var(--pub-surface) 100%);
	box-shadow: var(--pub-shadow-card);
}

.pub-results-featured {
	display: grid;
	grid-template-columns: minmax(200px, 300px) minmax(0, 1fr);
	gap: 1.25rem;
	align-items: center;
}

.pub-results-featured-photo-link {
	display: block;
	background: var(--pub-bg-subtle);
	border: 1px solid var(--pub-border);
	border-radius: 10px;
	overflow: hidden;
	text-align: center;
	line-height: 0;
}

.pub-results-featured-photo {
	display: block;
	width: 100%;
	max-height: 320px;
	object-fit: contain;
	object-position: center;
	margin: 0 auto;
}

.pub-results-featured-label {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #cc0000;
	margin: 0 0 0.4rem;
}

.pub-results-featured-name {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.15rem;
	font-weight: bold;
	margin: 0 0 0.35rem;
	line-height: 1.35;
}

.pub-results-featured-name a {
	text-decoration: none;
}

.pub-results-featured-name a:hover {
	text-decoration: underline;
}

.pub-results-featured-owner {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-text-muted);
	margin: 0;
}

.pub-results-featured-owner-label {
	font-weight: bold;
	color: var(--pub-label);
}

.pub-results-bob--with-more .pub-results-featured {
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--pub-border);
}

.pub-results-bob-more-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	font-weight: bold;
	color: var(--pub-label);
	margin: 0 0 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.pub-results-bob-table-wrap {
	overflow-x: auto;
}

.pub-results-bob-table {
	width: 100%;
	border-collapse: collapse;
}

.pub-results-bob-table th {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--pub-label);
	text-align: left;
	padding: 0 0 0.4rem;
	border-bottom: 1px solid var(--pub-border);
}

.pub-results-bob-table td {
	padding: 0.45rem 0.5rem 0.45rem 0;
	font-size: 0.82rem;
	vertical-align: middle;
}

.pub-results-col-photo {
	width: 4.5rem;
	padding-right: 0.35rem !important;
}

.pub-results-award-photo-link,
.pub-results-award-photo-wrap {
	display: block;
	line-height: 0;
}

.pub-results-award-photo {
	display: block;
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid var(--pub-border);
	background: var(--pub-bg-subtle);
}

.pub-results-place {
	font-weight: bold;
	white-space: nowrap;
}

.pub-results-classes {
	display: grid;
	gap: 0.75rem;
}

.pub-results-class {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	overflow: hidden;
	box-shadow: var(--pub-shadow);
}

.pub-results-class--alt {
	background: var(--pub-bg-subtle);
}

.pub-results-class-head {
	padding: 0.5rem 0.75rem;
	background: var(--pub-header-gradient);
	border-bottom: 1px solid var(--pub-border);
}

.pub-results-class-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	font-weight: bold;
	color: var(--pub-gold);
	margin: 0;
	line-height: 1.35;
}

.pub-results-class-meta {
	font-weight: normal;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.75rem;
}

.pub-results-placings {
	width: 100%;
	border-collapse: collapse;
}

.pub-results-placings td {
	padding: 0.4rem 0.65rem;
	font-size: 0.8rem;
	border-top: 1px solid var(--pub-border);
	vertical-align: top;
	color: var(--pub-text);
}

.pub-results-placings tbody tr:first-child td {
	border-top: 0;
}

.pub-results-placings tbody tr:nth-child(even) {
	background: rgba(255, 255, 255, 0.45);
}

.pub-results-class--alt .pub-results-placings tbody tr:nth-child(even) {
	background: rgba(255, 255, 255, 0.55);
}

.pub-results-place-col {
	width: 2.5rem;
	font-weight: bold;
	color: var(--pub-label);
	white-space: nowrap;
}

.pub-results-dog {
	font-weight: bold;
	width: 42%;
}

.pub-results-owner {
	color: var(--pub-text-muted);
}

.pub-results-crit {
	width: auto;
	text-align: right;
	white-space: nowrap;
}

.pub-results-crit-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.68rem;
	font-weight: bold;
	line-height: 1;
	padding: 0.3rem 0.5rem;
	border-radius: 4px;
	border: 1px solid var(--pub-border-strong);
	background: var(--pub-surface);
	color: var(--pub-green-mid);
	cursor: pointer;
	white-space: nowrap;
}

.pub-results-crit-btn:hover {
	background: var(--pub-bg-subtle);
	border-color: var(--pub-green-light);
	color: var(--pub-heading);
}

.pub-results-crit-btn-label {
	pointer-events: none;
}

.pub-results-crit-text {
	color: var(--pub-text);
	line-height: 1.45;
}

.pub-results-show-critique {
	margin-bottom: 1rem;
	padding: 0.85rem 1rem;
	border-radius: var(--pub-radius);
}

.pub-results-show-critique-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.9rem;
	color: var(--pub-heading);
	margin: 0 0 0.5rem;
}

.pub-results-empty {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: var(--pub-text-muted);
	padding: 1rem 0;
}

.pub-results-popup {
	position: fixed;
	visibility: hidden;
	z-index: 1200;
	width: min(360px, calc(100vw - 1.5rem));
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.pub-results-popup-inner {
	background: var(--pub-surface);
	border: 1px solid var(--pub-border-strong);
	border-radius: 8px;
	box-shadow: 0 10px 32px rgba(26, 51, 38, 0.18);
	overflow: hidden;
}

.pub-results-popup-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.5rem 0.7rem;
	background: var(--pub-header-gradient);
	border-bottom: 1px solid var(--pub-border);
}

.pub-results-popup-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	font-weight: bold;
	color: var(--pub-gold);
}

.pub-results-popup-close {
	flex: 0 0 auto;
	width: 1.5rem;
	height: 1.5rem;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 4px;
	background: rgba(0, 0, 0, 0.15);
	color: #ffffff;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
}

.pub-results-popup-close:hover {
	background: rgba(0, 0, 0, 0.28);
}

.pub-results-popup-body {
	padding: 0.75rem 0.85rem;
	max-height: min(280px, 50vh);
	overflow-y: auto;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	line-height: 1.5;
	color: var(--pub-text);
}

.pub-results-popup-foot {
	margin: 0;
	padding: 0.35rem 0.75rem;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.68rem;
	color: var(--pub-text-muted);
	text-align: center;
	border-top: 1px solid var(--pub-border);
	background: var(--pub-bg-subtle);
}

@media (max-width: 768px) {
	.pub-results-featured {
		grid-template-columns: 1fr;
	}

	.pub-results-featured-photo {
		max-height: 260px;
	}

	.pub-results-award-photo {
		width: 48px;
		height: 48px;
	}

	.pub-results-show-header {
		flex-direction: column;
	}

	.pub-results-dog,
	.pub-results-placings--crit .pub-results-dog {
		width: auto;
	}

	/* Show schedule (results.php year list): stack rows as cards */
	.pub-results-table-wrap {
		overflow: visible;
		border: 0;
		background: transparent;
		box-shadow: none;
	}

	.pub-results-table,
	.pub-results-table tbody,
	.pub-results-table tbody tr {
		display: block;
	}

	.pub-results-table thead {
		display: none;
	}

	.pub-results-table tbody tr {
		margin-bottom: 0.75rem;
		padding: 0.65rem 0.75rem;
		border: 1px solid var(--pub-border);
		border-radius: var(--pub-radius);
		background: var(--pub-surface);
		box-shadow: var(--pub-shadow-card);
	}

	.pub-results-table tbody tr:nth-child(even) {
		background: var(--pub-surface);
	}

	.pub-results-table tbody td {
		display: block;
		padding: 0.35rem 0;
		border-bottom: 0;
	}

	.pub-results-table tbody td[data-label]::before {
		content: attr(data-label);
		display: block;
		font-size: 0.72rem;
		font-weight: bold;
		color: var(--pub-label);
		margin-bottom: 0.15rem;
	}

	.pub-results-table tbody td.pub-results-show-name {
		padding-top: 0;
		padding-bottom: 0.45rem;
		border-bottom: 1px solid var(--pub-border);
		margin-bottom: 0.35rem;
	}

	.pub-results-table tbody td.pub-results-show-name::before {
		display: none;
	}

	.pub-results-col-actions,
	.pub-results-actions {
		white-space: normal;
	}

	.pub-results-actions .pub-results-link-btn {
		margin: 0.2rem 0.35rem 0.2rem 0;
	}
}

/* Judge pages (judgeinfo.php) */
.pub-judge-landing {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.85fr);
	gap: 1.5rem;
	align-items: start;
	margin-bottom: 1.5rem;
}

.pub-judge-landing-main,
.pub-judge-landing-aside {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.pub-judge-panel,
.pub-judge-steps-card,
.pub-judge-tips-card {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
	padding: 1rem 1.1rem;
}

.pub-judge-panel-head {
	margin-bottom: 0.85rem;
}

.pub-judge-panel-title,
.pub-judge-steps-title,
.pub-judge-tips-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1rem;
	color: var(--pub-heading);
	margin: 0 0 0.35rem;
}

.pub-judge-panel-lead {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-text-muted);
	margin: 0;
	line-height: 1.45;
}

.pub-judge-panel-empty {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-text-muted);
	margin: 0;
}

.pub-judge-appt-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.pub-judge-appt-card {
	border: 1px solid var(--pub-border);
	border-radius: 8px;
	background: var(--pub-bg-subtle);
	padding: 0.75rem 0.85rem;
}

.pub-judge-appt-card--upcoming {
	background: linear-gradient(135deg, #f8faf8 0%, #fffdf5 100%);
}

.pub-judge-appt-judge {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.88rem;
	margin: 0 0 0.35rem;
	line-height: 1.35;
}

.pub-judge-appt-judge a {
	color: var(--pub-heading);
	font-weight: bold;
	text-decoration: none;
}

.pub-judge-appt-judge a:hover {
	color: var(--pub-link);
	text-decoration: underline;
}

.pub-judge-appt-show {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	margin: 0 0 0.25rem;
	color: var(--pub-text);
}

.pub-judge-appt-show a {
	color: var(--pub-link);
	font-weight: bold;
}

.pub-judge-appt-date {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: var(--pub-text-muted);
	margin: 0 0 0.35rem;
}

.pub-judge-appt-note {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.72rem;
	color: var(--pub-label);
	margin: 0;
	font-style: italic;
}

.pub-judge-appt-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.45rem 0 0;
}

.pub-judge-steps-list,
.pub-judge-tips-list {
	margin: 0.5rem 0 0 1.1rem;
	padding: 0;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
	color: var(--pub-text);
	line-height: 1.45;
}

.pub-judge-steps-list li + li,
.pub-judge-tips-list li + li {
	margin-top: 0.35rem;
}

.pub-judge-record-header {
	margin-bottom: 1.25rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
}

.pub-judge-record-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.15rem;
	color: var(--pub-heading);
	margin: 0 0 0.35rem;
}

.pub-judge-record-note {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-text-muted);
	margin: 0;
}

.pub-judge-show-card {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
	padding: 0.85rem 1rem;
	margin-bottom: 1rem;
}

.pub-judge-show-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid var(--pub-border);
}

.pub-judge-show-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.95rem;
	margin: 0 0 0.2rem;
}

.pub-judge-show-title a {
	color: var(--pub-heading);
	text-decoration: none;
}

.pub-judge-show-title a:hover {
	color: var(--pub-link);
	text-decoration: underline;
}

.pub-judge-show-date {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: var(--pub-text-muted);
	margin: 0;
}

.pub-judge-show-actions {
	margin: 0;
}

.pub-judge-show-bob {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.75rem;
	margin-bottom: 0.5rem;
}

.pub-judge-show-critique {
	padding: 0.65rem 0.75rem;
	border-radius: 6px;
}

.pub-judge-show-critique-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-heading);
	margin: 0 0 0.35rem;
}

.pub-judge-show-more {
	margin: 0.5rem 0 0;
}

.pub-judge-toggle-btn {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	font-weight: bold;
	padding: 0.35rem 0.65rem;
	border-radius: 4px;
	border: 1px solid var(--pub-border-strong);
	background: var(--pub-bg-subtle);
	color: var(--pub-green-mid);
	cursor: pointer;
}

.pub-judge-toggle-btn:hover {
	background: var(--pub-surface);
	color: var(--pub-heading);
	border-color: var(--pub-green-light);
}

.pub-judge-class-results {
	width: 100%;
	border-collapse: collapse;
	margin-top: 0.35rem;
}

.pub-judge-class-results td {
	padding: 0.35rem 0.5rem;
	border-top: 1px solid var(--pub-border);
	font-size: 0.8rem;
	vertical-align: top;
}

.pub-judge-class-label {
	white-space: nowrap;
	color: var(--pub-label);
	font-weight: bold;
	width: 28%;
}

.pub-search-result--judge .pub-search-result-link {
	font-weight: bold;
}

@media (max-width: 960px) {
	.pub-judge-landing {
		grid-template-columns: 1fr;
	}

	.pub-judge-appt-grid {
		grid-template-columns: 1fr;
	}
}

/* Competitions (topdogs.php) */
.pub-comp-subnav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
}

.pub-comp-subnav-awards {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.pub-comp-subnav-link {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.76rem;
	font-weight: bold;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	border: 1px solid var(--pub-border);
	background: var(--pub-surface);
	color: var(--pub-link);
	text-decoration: none;
}

.pub-comp-subnav-link:hover,
.pub-comp-subnav-link.is-active {
	background: var(--pub-green-hover);
	border-color: var(--pub-green-light);
	color: #ffffff;
	text-decoration: none;
}

.pub-comp-subnav-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
}

.pub-comp-subnav-year {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.76rem;
	color: var(--pub-text-muted);
}

.pub-comp-subnav-year-select {
	font-size: 0.76rem;
	padding: 0.2rem 0.35rem;
}

.pub-comp-subnav-rules {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.76rem;
	font-weight: bold;
	color: var(--pub-link);
	text-decoration: none;
}

.pub-comp-subnav-rules:hover {
	text-decoration: underline;
}

.pub-comp-page {
	margin-bottom: 1.5rem;
}

.pub-comp-disclaimer {
	border: 1px solid #e8d9a8;
	border-left: 4px solid var(--pub-gold, #ffcc33);
	border-radius: 8px;
	background: linear-gradient(135deg, #fffdf5 0%, #fff9e8 100%);
	padding: 0.85rem 1rem;
	margin: 0 0 1rem;
}

.pub-comp-disclaimer p {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
	line-height: 1.5;
	color: var(--pub-text);
	margin: 0;
}

.pub-comp-page-header {
	margin-bottom: 1rem;
}

.pub-comp-page-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.35rem;
	color: var(--pub-heading);
	margin: 0 0 0.35rem;
}

.pub-comp-page-lead,
.pub-comp-page-empty {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	color: var(--pub-text-muted);
	line-height: 1.45;
	margin: 0;
}

.pub-comp-landing-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1rem;
}

.pub-comp-landing-card,
.pub-comp-rules-card {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
	overflow: hidden;
}

.pub-comp-landing-card-head {
	padding: 0.85rem 1rem 0.5rem;
	border-bottom: 1px solid var(--pub-border);
	background: var(--pub-bg-subtle);
}

.pub-comp-landing-card-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.95rem;
	margin: 0 0 0.2rem;
}

.pub-comp-landing-card-title a {
	color: var(--pub-heading);
	text-decoration: none;
	font-weight: bold;
}

.pub-comp-landing-card-title a:hover {
	color: var(--pub-link);
	text-decoration: underline;
}

.pub-comp-landing-card-sub {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.74rem;
	color: var(--pub-text-muted);
	margin: 0;
	line-height: 1.4;
}

.pub-comp-landing-list {
	list-style: none;
	margin: 0;
	padding: 0.5rem 0.75rem;
}

.pub-comp-landing-item {
	display: grid;
	grid-template-columns: 1.5rem 52px minmax(0, 1fr);
	gap: 0.55rem;
	align-items: center;
	padding: 0.45rem 0.25rem;
	border-bottom: 1px solid var(--pub-border);
}

.pub-comp-landing-item:last-child {
	border-bottom: 0;
}

.pub-comp-landing-rank {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	font-weight: bold;
	color: var(--pub-text-muted);
	text-align: center;
}

.pub-comp-landing-item-main {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.25rem 0.5rem;
	min-width: 0;
}

.pub-comp-landing-name {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
	color: var(--pub-text);
}

.pub-comp-landing-name a {
	color: var(--pub-link);
	font-weight: bold;
	text-decoration: none;
}

.pub-comp-landing-name a:hover {
	text-decoration: underline;
}

.pub-comp-landing-points {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.74rem;
	color: var(--pub-text-muted);
	white-space: nowrap;
}

.pub-comp-landing-card-actions,
.pub-comp-rules-actions {
	margin: 0;
	padding: 0.65rem 1rem 0.85rem;
	border-top: 1px solid var(--pub-border);
}

.pub-comp-rules-block + .pub-comp-rules-block {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--pub-border);
}

.pub-comp-rules-award {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.88rem;
	margin: 0 0 0.35rem;
}

.pub-comp-rules-award a {
	color: var(--pub-link);
	text-decoration: none;
	font-weight: bold;
}

.pub-comp-rules-award a:hover {
	text-decoration: underline;
}

.pub-comp-rules-note {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: var(--pub-text-muted);
	margin: 1rem 0 0;
}

.pub-comp-rules-card {
	padding: 1rem 1.1rem;
}

.pub-comp-rules-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.95rem;
	color: var(--pub-heading);
	margin: 0 0 0.5rem;
}

.pub-comp-rules-list {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
	color: var(--pub-text);
	line-height: 1.5;
	margin: 0 0 0.75rem;
	padding-left: 1.1rem;
}

.pub-comp-photo-wrap {
	display: block;
	line-height: 0;
}

.pub-comp-photo {
	display: block;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid var(--pub-border);
	background: var(--pub-bg-subtle);
}

.pub-comp-photo--mini {
	width: 48px;
	height: 48px;
}

.pub-comp-photo--thumb {
	width: 56px;
	height: 56px;
}

.pub-comp-standings-wrap {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
	overflow-x: auto;
}

.pub-comp-standings {
	width: 100%;
	border-collapse: collapse;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
}

.pub-comp-standings thead th {
	text-align: left;
	padding: 0.65rem 0.75rem;
	background: var(--pub-bg-subtle);
	color: var(--pub-heading);
	border-bottom: 1px solid var(--pub-border);
	font-size: 0.74rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.pub-comp-standing-row td {
	padding: 0.55rem 0.75rem;
	border-bottom: 1px solid var(--pub-border);
	vertical-align: middle;
}

.pub-comp-standing-row:nth-child(even) {
	background: #fcfbfa;
}

.pub-comp-col-rank {
	width: 2.5rem;
	color: var(--pub-text-muted);
	font-weight: bold;
}

.pub-comp-col-photo {
	width: 4.5rem;
}

.pub-comp-col-score,
.pub-comp-col-info {
	white-space: nowrap;
}

.pub-comp-col-name a {
	color: var(--pub-link);
	font-weight: bold;
	text-decoration: none;
}

.pub-comp-col-name a:hover {
	text-decoration: underline;
}

.pub-comp-breakdown-btn {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.72rem;
	padding: 0.25rem 0.5rem;
	border-radius: 4px;
	border: 1px solid var(--pub-border-strong);
	background: var(--pub-surface);
	color: var(--pub-link);
	cursor: pointer;
}

.pub-comp-breakdown-btn:hover {
	background: var(--pub-bg-subtle);
}

.pub-comp-divider td {
	padding: 0.35rem 0.75rem;
	background: var(--pub-bg-subtle);
	border-bottom: 1px solid var(--pub-border);
	text-align: center;
}

.pub-comp-divider span {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.72rem;
	font-weight: bold;
	color: var(--pub-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.pub-comp-divider--lottery td {
	background: #f5f0e6;
}

.pub-comp-more {
	margin-top: 0.75rem;
}

.pub-comp-more-summary {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	font-weight: bold;
	color: var(--pub-link);
	cursor: pointer;
	padding: 0.35rem 0;
}

.pub-comp-more[open] .pub-comp-more-summary {
	margin-bottom: 0.5rem;
}

.pub-comp-breakdown-popup {
	position: fixed;
	inset: 0;
	z-index: 1200;
}

.pub-comp-breakdown-popup[hidden] {
	display: none !important;
}

.pub-comp-breakdown-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 24, 20, 0.45);
}

.pub-comp-breakdown-dialog {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(920px, calc(100vw - 2rem));
	height: min(80vh, 720px);
	background: var(--pub-surface);
	border: 1px solid var(--pub-border);
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.pub-comp-breakdown-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.55rem 0.75rem;
	border-bottom: 1px solid var(--pub-border);
	background: var(--pub-bg-subtle);
}

.pub-comp-breakdown-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	font-weight: bold;
	color: var(--pub-heading);
}

.pub-comp-breakdown-close {
	border: 0;
	background: transparent;
	font-size: 1.35rem;
	line-height: 1;
	color: var(--pub-text-muted);
	cursor: pointer;
	padding: 0 0.25rem;
}

.pub-comp-breakdown-close:hover {
	color: var(--pub-heading);
}

.pub-comp-breakdown-frame {
	flex: 1 1 auto;
	width: 100%;
	border: 0;
	background: #ffffff;
}

body.pub-comp-breakdown-open {
	overflow: hidden;
}

.pub-comp-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 960px) {
	.pub-comp-landing-grid {
		grid-template-columns: 1fr;
	}

	.pub-comp-subnav-awards {
		width: 100%;
	}
}

@media (max-width: 640px) {
	.pub-comp-landing-item {
		grid-template-columns: 1.25rem 44px minmax(0, 1fr);
	}

	.pub-comp-photo--mini {
		width: 40px;
		height: 40px;
	}

	.pub-comp-photo--thumb {
		width: 48px;
		height: 48px;
	}
}

/* Dog photo submission (showinfo summary tab) */
.pub-photo-submit {
	margin: 1.25rem 0 0.5rem;
}

.pub-submitinfo-photo-panel {
	margin: 0;
}

.pub-photo-submit-card {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: linear-gradient(135deg, #f8faf8 0%, var(--pub-surface) 100%);
	box-shadow: var(--pub-shadow-card);
	overflow: hidden;
}

.pub-photo-submit-head {
	padding: 1rem 1.1rem 0.75rem;
	border-bottom: 1px solid var(--pub-border);
}

.pub-photo-submit-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.05rem;
	color: var(--pub-heading);
	margin: 0 0 0.35rem;
}

.pub-photo-submit-lead {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.84rem;
	color: var(--pub-text-muted);
	line-height: 1.5;
	margin: 0;
}

.pub-photo-submit-success {
	margin: 0 0 0.75rem;
	padding: 0.75rem 1rem;
	border: 1px solid #b8d4b8;
	border-radius: 8px;
	background: #f0faf0;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.84rem;
	color: var(--pub-text);
}

.pub-photo-submit-form {
	padding: 1rem 1.1rem 1.1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.pub-photo-submit-picker {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.pub-photo-submit-file-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	position: relative;
	min-height: 7.5rem;
	padding: 1rem;
	border: 2px dashed var(--pub-green-light);
	border-radius: 10px;
	background: #ffffff;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.pub-photo-submit-file-label:hover {
	border-color: var(--pub-green-hover);
	background: #f8fff8;
}

.pub-photo-submit-file {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.pub-photo-submit-file-icon {
	font-size: 2rem;
	line-height: 1;
}

.pub-photo-submit-file-text {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.95rem;
	font-weight: bold;
	color: var(--pub-heading);
}

.pub-photo-submit-file-hint {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.74rem;
	color: var(--pub-text-muted);
}

.pub-photo-submit-preview {
	text-align: center;
}

.pub-photo-submit-preview-img {
	display: block;
	max-width: 100%;
	width: auto;
	max-height: 280px;
	margin: 0 auto;
	border-radius: 8px;
	border: 1px solid var(--pub-border);
	box-shadow: var(--pub-shadow);
}

.pub-photo-submit-preview-name {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.74rem;
	color: var(--pub-text-muted);
	margin: 0.35rem 0 0;
	word-break: break-word;
}

.pub-photo-submit-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem 1rem;
}

.pub-photo-submit-fields .pub-form-group:last-child {
	grid-column: 1 / -1;
}

.pub-photo-submit-message {
	min-height: 4.5rem;
}

.pub-photo-submit-guidelines {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: var(--pub-text-muted);
	margin: 0;
	line-height: 1.45;
}

.pub-photo-submit-guidelines a {
	color: var(--pub-link);
}

.pub-photo-submit-actions {
	padding-top: 0.15rem;
}

.pub-photo-submit-btn {
	display: block;
	width: 100%;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1rem;
	font-weight: bold;
	padding: 0.85rem 1rem;
	border: 1px solid var(--pub-green-light);
	border-radius: 8px;
	background: var(--pub-green-hover);
	color: #ffffff;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.pub-photo-submit-btn:hover {
	background: var(--pub-green-light);
}

.pub-photo-submit-error {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: #c44;
	margin: 0;
}

.pub-photo-submit-error-banner {
	padding: 0.65rem 0.75rem;
	border: 1px solid #e8a0a0;
	border-radius: 6px;
	background: #fff5f5;
}

@media (max-width: 720px) {
	.pub-photo-submit-fields {
		grid-template-columns: 1fr;
	}

	.pub-photo-submit-fields .pub-form-group:last-child {
		grid-column: auto;
	}

	.pub-photo-submit-file-label {
		min-height: 8.5rem;
	}
}

/* Animal summary tab (infocard.php) */
.pub-summary {
	margin-bottom: 1rem;
}

.pub-summary-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.75fr);
	gap: 1rem;
	align-items: start;
}

.pub-summary-main {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.pub-summary-card {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
	padding: 0.9rem 1rem;
}

.pub-summary-card-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.95rem;
	color: var(--pub-heading);
	margin: 0 0 0.65rem;
}

.pub-summary-card-note {
	font-size: 0.72rem;
	font-weight: normal;
	color: var(--pub-text-muted);
}

.pub-summary-dl {
	margin: 0;
}

.pub-summary-dl-row {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	gap: 0.5rem 0.75rem;
	padding: 0.3rem 0;
	border-bottom: 1px solid var(--pub-border);
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
}

.pub-summary-dl-row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.pub-summary-dl dt {
	margin: 0;
	color: var(--pub-text-muted);
	font-weight: bold;
}

.pub-summary-dl dd {
	margin: 0;
	color: var(--pub-text);
}

.pub-summary-dl dd a {
	color: var(--pub-link);
	font-weight: bold;
	text-decoration: none;
}

.pub-summary-dl dd a:hover {
	text-decoration: underline;
}

.pub-summary-inline-link {
	color: var(--pub-link);
	font-weight: bold;
	text-decoration: none;
}

.pub-summary-inline-link:hover {
	text-decoration: underline;
}

.pub-summary-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0;
}

.pub-summary-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.3rem 0.55rem;
	border-radius: 999px;
	border: 1px solid var(--pub-border);
	background: var(--pub-bg-subtle);
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.76rem;
	color: var(--pub-text);
}

.pub-summary-badge-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.35rem;
	height: 1.35rem;
	padding: 0 0.25rem;
	border-radius: 999px;
	background: var(--pub-green-hover);
	color: #ffffff;
	font-weight: bold;
	font-size: 0.72rem;
}

.pub-summary-card-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
}

.pub-summary-empty,
.pub-summary-progeny-lead {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-text);
	margin: 0;
	line-height: 1.45;
}

.pub-summary-extra {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	line-height: 1.5;
	color: var(--pub-text);
}

.pub-summary-footnote {
	margin: 0.5rem 0 0;
}

.pub-summary-footnote-link {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.74rem;
	color: var(--pub-text-muted);
	text-decoration: none;
}

.pub-summary-footnote-link:hover {
	color: var(--pub-link);
	text-decoration: underline;
}

.pub-summary-aside {
	position: sticky;
	top: 0.75rem;
}

.pub-summary-photo-card {
	margin: 0;
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	overflow: hidden;
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
}

.pub-summary-photo {
	display: block;
	width: 100%;
	height: auto;
	max-height: 420px;
	object-fit: cover;
}

.pub-summary-photo-placeholder {
	border: 1px dashed var(--pub-border-strong);
	border-radius: var(--pub-radius);
	background: linear-gradient(135deg, #f8faf8 0%, #fffdf5 100%);
	padding: 1rem;
	text-align: center;
}

.pub-summary-photo-placeholder-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.9rem;
	font-weight: bold;
	color: var(--pub-heading);
	margin: 0 0 0.35rem;
}

.pub-summary-photo-placeholder-text {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	color: var(--pub-text-muted);
	line-height: 1.45;
	margin: 0 0 0.75rem;
}

.pub-summary--print .pub-summary-layout {
	grid-template-columns: 1fr;
}

.pub-summary--print .pub-summary-aside {
	position: static;
}

@media (max-width: 860px) {
	.pub-summary-layout {
		grid-template-columns: 1fr;
	}

	.pub-summary-aside {
		position: static;
		order: -1;
	}

	.pub-summary-photo {
		max-height: 320px;
	}

	.pub-summary-dl-row {
		grid-template-columns: 1fr;
		gap: 0.15rem;
	}
}

/* Animal record tabs — show history & breeding */
.pub-animal-tab {
	margin-bottom: 1rem;
}

.pub-animal-tab-header {
	margin-bottom: 0.85rem;
}

.pub-animal-tab-title {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.05rem;
	color: var(--pub-heading);
	margin: 0 0 0.35rem;
}

.pub-animal-tab-lead,
.pub-animal-tab-empty {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.84rem;
	color: var(--pub-text-muted);
	line-height: 1.45;
	margin: 0;
}

.pub-animal-tab-empty {
	padding: 0.75rem 1rem;
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
}

.pub-show-history-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

.pub-show-history-card {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
	overflow: hidden;
}

.pub-show-history-card-head {
	padding: 0.85rem 1rem 0;
}

.pub-show-history-show {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.92rem;
	margin: 0 0 0.25rem;
	line-height: 1.35;
}

.pub-show-history-show a {
	color: var(--pub-heading);
	text-decoration: none;
	font-weight: bold;
}

.pub-show-history-show a:hover {
	color: var(--pub-link);
	text-decoration: underline;
}

.pub-show-history-meta {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.76rem;
	color: var(--pub-text-muted);
	margin: 0;
	line-height: 1.45;
}

.pub-show-history-year {
	display: inline-block;
	font-weight: bold;
	color: var(--pub-heading);
	margin-right: 0.5rem;
}

.pub-show-history-judges a {
	color: var(--pub-link);
	text-decoration: none;
}

.pub-show-history-judges a:hover {
	text-decoration: underline;
}

.pub-show-history-card-body {
	padding: 0.65rem 1rem;
	border-top: 1px solid var(--pub-border);
	background: var(--pub-bg-subtle);
}

.pub-show-history-awards {
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	color: var(--pub-text);
}

.pub-show-history-awards li {
	padding: 0.2rem 0;
	border-bottom: 1px solid var(--pub-border);
}

.pub-show-history-awards li:last-child {
	border-bottom: 0;
}

.pub-history-award--top {
	color: var(--pub-heading);
	font-weight: bold;
}

.pub-show-history-crit {
	margin: 0.5rem 0 0;
}

.pub-show-history-card-actions {
	margin: 0;
	padding: 0.65rem 1rem 0.85rem;
	border-top: 1px solid var(--pub-border);
}

@media (min-width: 900px) {
	.pub-show-history-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.pub-container--wide .pub-show-history-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.pub-breeding-list {
	display: grid;
	gap: 0.75rem;
}

.pub-breeding-card {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius);
	background: var(--pub-surface);
	box-shadow: var(--pub-shadow-card);
	overflow: hidden;
	padding: 0.85rem 1rem;
}

.pub-breeding-parent {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.88rem;
	margin: 0 0 0.65rem;
	line-height: 1.4;
}

.pub-breeding-parent-label {
	display: inline-block;
	min-width: 2.5rem;
	font-size: 0.72rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--pub-text-muted);
	margin-right: 0.35rem;
}

.pub-breeding-parent a {
	color: var(--pub-heading);
	font-weight: bold;
	text-decoration: none;
}

.pub-breeding-parent a:hover {
	color: var(--pub-link);
	text-decoration: underline;
}

.pub-breeding-offspring {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.35rem 0.75rem;
}

.pub-breeding-offspring li {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
}

.pub-breeding-offspring a {
	color: var(--pub-link);
	text-decoration: none;
	font-weight: bold;
}

.pub-breeding-offspring a:hover {
	text-decoration: underline;
}

@media (max-width: 640px) {
	.pub-breeding-offspring {
		grid-template-columns: 1fr;
	}
}

/* Dev preview environment banner */
.pub-dev-banner {
	display: block;
	padding: 0.55rem 1rem;
	background: #7a1f1f;
	color: #fff;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.82rem;
	font-weight: bold;
	text-align: center;
	border-bottom: 2px solid #cc0000;
}

.pub-body-dev .pub-header {
	border-top: 0;
}
