/**
 * Dog Show Manager - минимален front-end CSS.
 * Покрива само това, което темите не осигуряват: форми, таблици, известия,
 * и меню за авто-допълване (jQuery UI без тема).
 */

/* Известия */
.dogshow-notice {
	padding: 10px 14px;
	margin: 0 0 12px;
	border-left: 4px solid #787c82;
	background: #f6f7f7;
}
.dogshow-success { border-left-color: #46b450; }
.dogshow-warning { border-left-color: #dba617; background: #fcf9e8; }
.dogshow-error   { border-left-color: #d63638; }
.dogshow-notice ul {
	margin: 6px 0 0;
	padding-left: 20px;
}

/* Таблица със списък профили */
.dogshow-table {
	width: 100%;
	border-collapse: collapse;
	margin: 12px 0;
}
.dogshow-table th,
.dogshow-table td {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 1px solid #e0e0e0;
}
.dogshow-table thead th {
	border-bottom: 2px solid #c0c0c0;
}

/* Форма за профил */
.dogshow-dog-form {
	width: 100%;
	border-collapse: collapse;
}
.dogshow-dog-form th,
.dogshow-dog-form td {
	text-align: left;
	vertical-align: top;
	padding: 8px 10px 8px 0;
}
.dogshow-dog-form input[type="text"],
.dogshow-dog-form input[type="email"],
.dogshow-dog-form input[type="date"],
.dogshow-dog-form select {
	max-width: 100%;
}
.dogshow-profile-form .description,
.dogshow-dog-form .description {
	color: #666;
	font-size: 0.9em;
}

.dogshow-btn {
	display: inline-block;
	cursor: pointer;
}

/* jQuery UI autocomplete меню (тъй като не зареждаме UI тема) */
.ui-autocomplete {
	position: absolute;
	z-index: 10000;
	list-style: none;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid #c0c0c0;
	box-shadow: 0 2px 6px rgba( 0, 0, 0, 0.15 );
	max-height: 260px;
	overflow-y: auto;
}
.ui-autocomplete .ui-menu-item {
	padding: 0;
	margin: 0;
}
.ui-autocomplete .ui-menu-item-wrapper {
	display: block;
	padding: 6px 12px;
	cursor: pointer;
}
.ui-autocomplete .ui-menu-item-wrapper.ui-state-active,
.ui-autocomplete .ui-menu-item-wrapper:hover {
	background: #2271b1;
	color: #fff;
}

.dogshow-required { color: #d63638; font-weight: 600; }

/* Why this fee applies, and a warning when the membership ends before the show. */
.dogshow-fee-why {
	display: block;
	margin-top: 4px;
	opacity: 0.8;
}
.dogshow-fee-warning {
	display: block;
	margin-top: 6px;
	padding: 6px 10px;
	border-left: 3px solid #dba617;
	background: #fcf9e8;
}

/* ------------------------------------------------------------------------
 * Front-end forms (entry, dog profile, group). Laid out like the club site's
 * own forms: sections in frames with a title, labels above full-width fields,
 * one centred button. Neutral
 * WordPress colours by default; a theme retunes them through these custom
 * properties instead of fighting the selectors.
 * --------------------------------------------------------------------- */
.dogshow-form {
	--dogshow-accent: #2271b1;
	--dogshow-accent-dark: #135e96;
	--dogshow-accent-soft: #f0f6fc;
	--dogshow-frame: #c3c4c7;
	--dogshow-field: #8c8f94;
	--dogshow-label: #50575e;
	--dogshow-heading: #1d2327;
	--dogshow-muted: #646970;
	/* A light surface always comes with its own dark text: a dark theme's
	   light text inherited onto these white boxes would vanish (found by
	   Codex). A dark design retunes the pair together. */
	--dogshow-surface: #fff;
	--dogshow-text: #1d2327;
	max-width: 960px;
	margin: 0 auto;
}
.dogshow-form .dogshow-section {
	min-width: 0; /* a fieldset otherwise refuses to shrink on a phone */
	margin: 0 0 20px;
	padding: 16px 20px;
	border: 1px solid var(--dogshow-frame);
	border-radius: 4px;
	background: var(--dogshow-surface);
	color: var(--dogshow-text);
}
.dogshow-form .dogshow-section > legend {
	padding: 0 8px;
	font-size: 15px;
	font-weight: 700;
	color: var(--dogshow-heading);
}
.dogshow-form .dogshow-row {
	margin: 0 0 14px;
}
.dogshow-form .dogshow-section > .dogshow-row:last-child,
.dogshow-form .dogshow-cols:last-child .dogshow-row {
	margin-bottom: 0;
}
.dogshow-form .dogshow-row > label:not( .dogshow-inline ),
.dogshow-form .dogshow-label {
	display: block;
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--dogshow-label);
}
.dogshow-form input[type="text"],
.dogshow-form input[type="email"],
.dogshow-form input[type="date"],
.dogshow-form input[type="search"],
.dogshow-form select {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 8px 10px;
	border: 1px solid var(--dogshow-field);
	border-radius: 4px;
	background: var(--dogshow-surface);
	color: var(--dogshow-text);
	font: inherit;
	font-size: 14px;
	line-height: 1.4;
	transition: border-color 0.2s;
}
.dogshow-form input[type="text"]:focus,
.dogshow-form input[type="email"]:focus,
.dogshow-form input[type="date"]:focus,
.dogshow-form input[type="search"]:focus,
.dogshow-form select:focus {
	border-color: var(--dogshow-accent);
	outline: none;
	box-shadow: 0 0 0 1px var(--dogshow-accent);
}
.dogshow-form .description {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: var(--dogshow-muted);
}
/* Two short fields side by side where there is room. */
.dogshow-form .dogshow-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 16px;
}
/* Radio pairs (existing or new dog, sex). */
.dogshow-form .dogshow-inline {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 20px 4px 0;
	font-size: 14px;
	cursor: pointer;
}
/* Class choices come from registration.js; competitions from the template. */
.dogshow-form .dogshow-class-opt,
.dogshow-form .dogshow-comp-opt {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
	padding: 8px 12px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
}
.dogshow-form .dogshow-class-opt:hover,
.dogshow-form .dogshow-comp-opt:hover {
	border-color: var(--dogshow-field);
}
.dogshow-form .dogshow-class-opt:has( input:checked ),
.dogshow-form .dogshow-comp-opt:has( input:checked ) {
	border-color: var(--dogshow-accent);
	background: var(--dogshow-accent-soft);
}
.dogshow-form .dogshow-class-opt em {
	color: var(--dogshow-muted);
}
/* The champion certificate under the class, and in "My dogs". */
.dogshow-form .dogshow-cert {
	margin: 10px 0 0;
	padding: 12px 16px;
	border-left: 4px solid var(--dogshow-accent);
	background: var(--dogshow-accent-soft);
}
.dogshow-form .dogshow-cert label {
	display: block;
	font-weight: 600;
	margin: 0 0 6px;
}
.dogshow-form .dogshow-cert .description,
.dogshow-form .dogshow-cert-section .description {
	display: block;
	margin-top: 6px;
}
.dogshow-form .dogshow-cert-have {
	margin: 0 0 10px;
}
.dogshow-form .dogshow-fee-display {
	margin: 0 0 20px;
	padding: 12px 16px;
	border-left: 4px solid var(--dogshow-accent);
	background: var(--dogshow-accent-soft);
	color: var(--dogshow-text);
	font-size: 15px;
	font-weight: 600;
}
.dogshow-form .dogshow-fee-display:empty {
	display: none;
}
.dogshow-form .dogshow-fee-why {
	font-weight: 400;
}
.dogshow-form .dogshow-submit-row {
	margin: 0;
	padding: 8px 0 20px;
	text-align: center;
}
.dogshow-form .dogshow-submit {
	padding: 12px 40px;
	border: none;
	border-radius: 4px;
	background: var(--dogshow-accent);
	color: #fff;
	font: inherit;
	font-size: 16px;
	cursor: pointer;
	transition: background 0.2s;
}
.dogshow-form .dogshow-submit:hover,
.dogshow-form .dogshow-submit:focus-visible {
	background: var(--dogshow-accent-dark);
}
.dogshow-form .dogshow-submit:focus-visible {
	outline: 2px solid var(--dogshow-accent);
	outline-offset: 2px;
}
/* A label kept for screen readers only (the section title already says it). */
.dogshow-form .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect( 0, 0, 0, 0 );
	white-space: nowrap;
}

/* Page furniture: title, back link, the "new profile" toolbar. */
.dogshow-form .dogshow-form-title {
	margin: 0 0 16px;
	font-size: 20px;
	color: var(--dogshow-heading);
}
.dogshow-form .dogshow-back {
	margin: 0 0 12px;
	font-size: 14px;
}
.dogshow-form .dogshow-toolbar {
	margin: 0 0 16px;
}
.dogshow-form a.dogshow-submit {
	display: inline-block;
	padding: 10px 24px;
	font-size: 15px;
	text-decoration: none;
}
.dogshow-form a.dogshow-submit:hover,
.dogshow-form a.dogshow-submit:focus {
	color: #fff;
	text-decoration: none;
}
.dogshow-form .dogshow-empty {
	color: var(--dogshow-muted);
}
/* In place of a form for a visitor who is not logged in: the way in. */
.dogshow-form .dogshow-login-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 12px 0;
}
.dogshow-form a.dogshow-btn-secondary {
	display: inline-block;
	padding: 9px 23px;
	border: 1px solid var(--dogshow-accent);
	border-radius: 4px;
	background: var(--dogshow-surface);
	color: var(--dogshow-accent);
	font-size: 15px;
	text-decoration: none;
}
.dogshow-form a.dogshow-btn-secondary:hover,
.dogshow-form a.dogshow-btn-secondary:focus {
	background: var(--dogshow-accent-soft);
	color: var(--dogshow-accent-dark);
}

/* Tables (the dog list, the group members) in the same frame as a section.
   On a phone the list scrolls inside its frame, never the page. */
.dogshow-form .dogshow-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--dogshow-frame);
	border-radius: 4px;
	background: var(--dogshow-surface);
}
.dogshow-form .dogshow-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	background: var(--dogshow-surface);
	color: var(--dogshow-text);
}
.dogshow-form .dogshow-table th,
.dogshow-form .dogshow-table td {
	padding: 10px 12px;
	border-bottom: 1px solid #dcdcde;
	text-align: left;
	vertical-align: middle;
}
.dogshow-form .dogshow-table thead th {
	border-bottom: 1px solid var(--dogshow-frame);
	background: #f6f7f7;
	font-size: 13px;
	font-weight: 600;
	color: var(--dogshow-label);
}
.dogshow-form .dogshow-table tbody tr:last-child td {
	border-bottom: none;
}
.dogshow-form .dogshow-table-wrap .dogshow-table td a {
	color: var(--dogshow-accent);
	font-weight: 600;
}
.dogshow-form .dogshow-members {
	table-layout: fixed; /* three equal columns, the select as wide as the rest */
}
.dogshow-form .dogshow-members td {
	padding: 6px 8px 6px 0;
	border-bottom: none;
}
.dogshow-form .dogshow-members thead th {
	padding: 0 8px 6px 0;
	border-bottom: none;
	background: none;
}

/* The profile fields are the admin box's table; on the site each row becomes
   a label above its field, like the other forms. The admin keeps form-table. */
.dogshow-form .dogshow-dog-form,
.dogshow-form .dogshow-dog-form tbody,
.dogshow-form .dogshow-dog-form tr,
.dogshow-form .dogshow-dog-form th,
.dogshow-form .dogshow-dog-form td {
	display: block;
	width: 100%;
	padding: 0;
	text-align: left;
}
.dogshow-form .dogshow-dog-form tr {
	margin: 0 0 14px;
}
.dogshow-form .dogshow-dog-form tr:last-child {
	margin-bottom: 0;
}
.dogshow-form .dogshow-dog-form th {
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--dogshow-label);
}
.dogshow-form .dogshow-dog-form th label {
	color: inherit;
	font: inherit;
}
.dogshow-form .dogshow-dog-form td > label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: 20px;
	font-size: 14px;
	cursor: pointer;
}
/* The "Owner" heading row splits the frame in two. */
.dogshow-form .dogshow-dog-form th[colspan] {
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid var(--dogshow-frame);
}
.dogshow-form .dogshow-dog-form th[colspan] h3 {
	font-size: 15px;
	font-weight: 700;
	color: var(--dogshow-heading);
}
.dogshow-form .dogshow-parent-linked {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: var(--dogshow-muted);
}

/* The user's groups, one line each, the status as a coloured edge. */
.dogshow-form .dogshow-group-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.dogshow-form .dogshow-group-list li {
	margin: 0 0 6px;
	padding: 8px 12px;
	border-left: 3px solid var(--dogshow-frame);
	background: #f6f7f7;
}
.dogshow-form .dogshow-group-list li.dogshow-group-status-confirmed {
	border-left-color: #00a32a;
}
.dogshow-form .dogshow-group-list li.dogshow-group-status-invalid {
	border-left-color: #d63638;
}
.dogshow-form .dogshow-group-list li.dogshow-group-status-pending {
	border-left-color: #dba617;
}
/* What the group stands on: the breeder, the parent or the owner. */
.dogshow-form .dogshow-group-basis {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	color: var(--dogshow-muted);
}
.dogshow-form .dogshow-group-why {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	color: #b32d2e;
}

/* The picked dog's data in the entry form: read-only, two columns. */
.dogshow-form [hidden] {
	display: none !important; /* a theme's display rule must not unhide it */
}
.dogshow-form .dogshow-summary-list {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 12px 16px;
	margin: 0;
}
.dogshow-form .dogshow-summary-item dt {
	margin: 0 0 2px;
	font-size: 13px;
	font-weight: 600;
	color: var(--dogshow-label);
}
.dogshow-form .dogshow-summary-item dd {
	margin: 0;
	font-size: 14px;
	overflow-wrap: anywhere;
}
.dogshow-form .dogshow-summary-edit {
	margin: 16px 0 0;
	font-size: 13px;
}

/* The entrant's own entries: fees aligned right, a sum row, a declined entry
   greyed with its fee struck out, then how to pay and the way to the groups. */
.dogshow-form .dogshow-table .dogshow-num {
	text-align: right;
	white-space: nowrap;
}
.dogshow-form .dogshow-table tfoot th,
.dogshow-form .dogshow-table tfoot td {
	border-top: 1px solid var(--dogshow-frame);
	border-bottom: none;
	font-weight: 700;
}
.dogshow-form .dogshow-table tfoot th {
	text-align: right;
}
.dogshow-form .dogshow-entry-declined td {
	color: var(--dogshow-muted);
}
.dogshow-form .dogshow-entry-declined .dogshow-num {
	text-decoration: line-through;
}
.dogshow-form .dogshow-my-entries .description {
	margin-top: 8px;
}
.dogshow-form .dogshow-my-entries .dogshow-notice {
	margin: 16px 0 0;
}
.dogshow-form .dogshow-my-entries .dogshow-notice p,
.dogshow-form .dogshow-my-entries .dogshow-notice ul {
	margin: 0 0 6px;
}

/* The group form shows only the fields of the chosen kind (registration.js).
   A theme's display rule on a row must not bring a hidden field back. */
.dogshow-group-form [hidden] {
	display: none !important;
}
.dogshow-group-form.dogshow-js .dogshow-nojs-hint {
	display: none;
}

/* Guidance: "what next" under the entrant's entries, "how it goes" on the
   group page - the same accent box, the steps as a numbered list. */
.dogshow-form .dogshow-next,
.dogshow-form .dogshow-howto {
	margin: 16px 0 0;
	padding: 12px 16px;
	border-left: 4px solid var(--dogshow-accent);
	background: var(--dogshow-accent-soft);
	color: var(--dogshow-text);
}
.dogshow-form .dogshow-howto {
	margin: 0 0 20px;
}
.dogshow-form .dogshow-next ol,
.dogshow-form .dogshow-howto ol {
	margin: 0;
	padding-left: 22px;
}
.dogshow-form .dogshow-next li,
.dogshow-form .dogshow-howto li {
	margin: 0 0 6px;
}
.dogshow-form .dogshow-next li:last-child,
.dogshow-form .dogshow-howto li:last-child {
	margin-bottom: 0;
}
.dogshow-form .dogshow-next a,
.dogshow-form .dogshow-howto a {
	color: var(--dogshow-accent);
	font-weight: 600;
}
.dogshow-form .dogshow-pay-text {
	display: block;
	margin-top: 4px;
	white-space: pre-line;
}

/* The entry form: one line on how it goes, then the sections numbered by
   what is on screen - a hidden block (the other dog mode, no breeds, no
   competitions) is not counted, so the numbers never skip. */
.dogshow-form .dogshow-intro {
	margin: 0 0 16px;
	color: var(--dogshow-muted);
}
.dogshow-form .dogshow-reg-form {
	counter-reset: dogshow-step;
}
.dogshow-form .dogshow-step > legend::before {
	counter-increment: dogshow-step;
	content: counter( dogshow-step ) ". ";
}

@media ( max-width: 600px ) {
	.dogshow-form .dogshow-section {
		padding: 12px 14px;
	}
	.dogshow-form .dogshow-cols,
	.dogshow-form .dogshow-summary-list {
		grid-template-columns: 1fr;
	}
	.dogshow-form .dogshow-submit {
		width: 100%;
	}
	.dogshow-form a.dogshow-submit {
		width: auto;
	}
	/* Group members: each row becomes a small card of three stacked fields
	   (the placeholders say what goes where once the headings are gone). */
	.dogshow-form .dogshow-members thead {
		display: none;
	}
	.dogshow-form .dogshow-members,
	.dogshow-form .dogshow-members tbody,
	.dogshow-form .dogshow-members tr,
	.dogshow-form .dogshow-members td {
		display: block;
		box-sizing: border-box; /* the card's padding and border stay inside the frame on any theme (found by Codex) */
		width: 100%;
		padding: 0;
	}
	.dogshow-form .dogshow-members tr {
		margin: 0 0 10px;
		padding: 10px;
		border: 1px solid #dcdcde;
		border-radius: 4px;
	}
	.dogshow-form .dogshow-members td + td {
		margin-top: 6px;
	}
	/* The entrant's entries: four columns do not fit, and the payment status
	   would sit off-screen. Each entry becomes two lines instead - the dog and
	   its fee, then the class and whether it is paid. */
	.dogshow-form .dogshow-entries-table thead {
		display: none;
	}
	.dogshow-form .dogshow-entries-table,
	.dogshow-form .dogshow-entries-table tbody,
	.dogshow-form .dogshow-entries-table tfoot {
		display: block;
	}
	.dogshow-form .dogshow-entries-table tr {
		display: grid;
		grid-template-columns: minmax( 0, 1fr ) auto;
		gap: 2px 12px;
		padding: 10px 12px;
		border-bottom: 1px solid #dcdcde;
	}
	.dogshow-form .dogshow-entries-table tbody tr:last-child {
		border-bottom: none;
	}
	.dogshow-form .dogshow-entries-table th,
	.dogshow-form .dogshow-entries-table td {
		display: block;
		padding: 0;
		border: none;
	}
	.dogshow-form .dogshow-entries-table tbody td:nth-child( 1 ) {
		grid-area: 1 / 1;
		font-weight: 600;
	}
	.dogshow-form .dogshow-entries-table tbody td:nth-child( 3 ) {
		grid-area: 1 / 2;
	}
	.dogshow-form .dogshow-entries-table tbody td:nth-child( 2 ),
	.dogshow-form .dogshow-entries-table tbody td:nth-child( 4 ) {
		font-size: 13px;
		color: var(--dogshow-muted);
	}
	.dogshow-form .dogshow-entries-table tbody td:nth-child( 2 ) {
		grid-area: 2 / 1;
	}
	.dogshow-form .dogshow-entries-table tbody td:nth-child( 4 ) {
		grid-area: 2 / 2;
		text-align: right;
	}
	.dogshow-form .dogshow-entries-table tfoot tr {
		border-top: 1px solid var(--dogshow-frame);
		border-bottom: none;
	}
	.dogshow-form .dogshow-entries-table tfoot th,
	.dogshow-form .dogshow-entries-table tfoot td {
		border: none; /* the row carries the line now */
	}
	.dogshow-form .dogshow-entries-table tfoot th {
		text-align: left;
	}
	.dogshow-form .dogshow-entries-table tfoot td:empty {
		display: none;
	}
}

/* The application: gathered dogs waiting for "Изпрати заявката". */
.dogshow-form .dogshow-application .dogshow-section {
	border-color: var(--dogshow-accent);
	border-width: 2px;
}
.dogshow-form .dogshow-inline-form {
	display: inline;
	margin: 0;
}
.dogshow-form .dogshow-link-btn {
	padding: 0;
	border: 0;
	background: none;
	color: var(--dogshow-accent);
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
}
.dogshow-form .dogshow-send-form .dogshow-submit-row {
	margin: 14px 0 8px;
}
@media ( max-width: 600px ) {
	/* Five columns: the dog and its fee, then the class and "remove", then
	   the unofficial competitions. */
	.dogshow-form .dogshow-application-table tbody td:nth-child( 3 ) {
		grid-area: 3 / 1;
		font-size: 13px;
		color: var(--dogshow-muted);
	}
	.dogshow-form .dogshow-application-table tbody td:nth-child( 4 ) {
		grid-area: 1 / 2;
		font-size: inherit;
		color: inherit;
		text-align: right;
	}
	.dogshow-form .dogshow-application-table tbody td:nth-child( 5 ) {
		grid-area: 2 / 2;
		text-align: right;
	}
}

/* Sent entries: "change class" and "withdraw", until the deadline. */
.dogshow-form .dogshow-entry-actions select {
	width: auto;
	max-width: 100%;
	margin: 0 6px 4px 0;
}
.dogshow-form .dogshow-entry-actions .dogshow-inline-form {
	display: inline-block;
	margin: 0 10px 4px 0;
}
@media ( max-width: 600px ) {
	.dogshow-form .dogshow-entries-editable tbody td:nth-child( 5 ) {
		grid-column: 1 / -1;
		margin-top: 6px;
	}
}

/* The two paths at the top of the entry page: "my dogs" and "other owners'
   dogs". The picked one is filled; the other is a plain button. */
.dogshow-form .dogshow-mode-switch {
	margin: 0 0 20px;
	padding: 12px 16px;
	border: 1px solid var(--dogshow-frame);
	border-radius: 4px;
	background: var(--dogshow-accent-soft);
	color: var(--dogshow-text);
}
.dogshow-form .dogshow-mode-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.dogshow-form .dogshow-mode-btn {
	padding: 8px 14px;
	border: 1px solid var(--dogshow-accent);
	border-radius: 4px;
	background: var(--dogshow-surface);
	color: var(--dogshow-accent-dark);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.dogshow-form .dogshow-mode-btn.is-active {
	background: var(--dogshow-accent);
	color: #fff;
}
.dogshow-form .dogshow-mode-btn:focus-visible {
	outline: 2px solid var(--dogshow-accent-dark);
	outline-offset: 2px;
}
/* Other owners' dogs entered before: one click picks one. */
.dogshow-form .dogshow-picks-label {
	margin-top: 12px;
}
.dogshow-form .dogshow-picks {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.dogshow-form .dogshow-pick-dog {
	padding: 5px 10px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: var(--dogshow-surface);
	color: var(--dogshow-text);
	font: inherit;
	font-size: 13px;
	text-align: left;
	cursor: pointer;
}
.dogshow-form .dogshow-pick-dog:hover,
.dogshow-form .dogshow-pick-dog:focus-visible {
	border-color: var(--dogshow-accent);
}
/* Whose letter goes, one line per owner, above the send button. */
.dogshow-form .dogshow-owner-letters {
	margin: 12px 0 0;
	padding: 0;
	border: 0;
}
.dogshow-form .dogshow-owner-letter {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
	font-size: 14px;
}
.dogshow-form .dogshow-groups-elsewhere {
	margin-top: 20px;
}
/* The entry page: each show taking entries is one block - the radio button
   with the name, date, place and deadline - and the picked one is filled,
   like a picked class. */
.dogshow-form .dogshow-show-opt {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 8px;
	padding: 12px 14px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
}
.dogshow-form .dogshow-show-opt:hover {
	border-color: var(--dogshow-field);
}
.dogshow-form .dogshow-show-opt:has( input:checked ) {
	border-color: var(--dogshow-accent);
	background: var(--dogshow-accent-soft);
}
.dogshow-form .dogshow-show-opt input[type="radio"] {
	margin-top: 4px;
}
.dogshow-form .dogshow-show-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 14px;
}
.dogshow-form .dogshow-show-name {
	font-size: 15px;
	font-weight: 700;
	color: var(--dogshow-heading);
}
.dogshow-form .dogshow-show-when,
.dogshow-form .dogshow-show-deadline {
	color: var(--dogshow-label);
}
.dogshow-form .dogshow-show-note {
	color: #8a2b00;
	font-size: 13px;
}
/* Shows whose entries are closed: what the visitor still has to pay. */
.dogshow-entry-page .dogshow-closed-show {
	max-width: 960px;
	margin: 24px auto 0;
}
.dogshow-entry-page .dogshow-closed-show-title {
	margin: 0 0 6px;
	font-size: 17px;
}
