/* --------------------------------------------------------------------------------------------------------------------- */
/* SCHEDULE JUDGES */
/* --------------------------------------------------------------------------------------------------------------------- */

#exhibition_judges_photos
{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	row-gap: 20px;
	gap: 20px;
	justify-content: center;
	padding: 1rem;
}

.judge_flex
{
	width: 9rem;
	border: #95afe7 solid 1px;
	text-align: center;
	border-radius: 3px;
	box-shadow: #95afe7 0px 1px 1px 2px;
	padding: 1rem;
}

.judge_flex img
{
	border-radius: 3px;
	box-shadow: #95afe7 0px 1px 1px 2px;
}


/* --------------------------------------------------------------------------------------------------------------------- */
/* SCHEDULE TARIFFS */
/* --------------------------------------------------------------------------------------------------------------------- */

tbody#firstdog tr.deadline1 td
{
	background-color: #cceeff;
}

tbody#firstdog tr.deadline2 td
{
	background-color: #8ec1ff;
}

tbody#nextdogs tr.deadline1 td
{
	background-color: #a9d0ff;
}

tbody#nextdogs tr.deadline2 td
{
	background-color: #8ec1ff;
}

tbody#classes tr.deadline1 td
{
	background-color: #cceeff;
}

tbody#classes tr.deadline2 td
{
	background-color: #8ec1ff;
}

tbody#classes td
{
	background-color: #cceeff;
}

tbody#breeders td
{
	background-color: #a9d0ff;
}

tbody#junior td
{
	background-color: #cceeff;
}

table.confirmtable
{
	width: auto;
	border: 0;
}

table.confirmtable td
{
	width: auto;
	border: 0;
}


/* --------------------------------------------------------------------------------------------------------------------- */
/* TABLES */
/* --------------------------------------------------------------------------------------------------------------------- */

table
{
	width: 100%;
	border: 2px solid #2980b9;
	border-right-width: 0;
	border-top-width: 0;
}

th,
td
{
	padding: 5px;
	color: #000;
	border-right: 3px solid #2980b9;
}

th
{
	background-color: #2980b9;
	border-bottom: 3px solid #2980b9;
	border-top: 3px solid #2980b9;
	font-weight: 900;
	color: #f7f8c1;
}

th a
{
	font-weight: 900;
	color: #f7f8c1 !important;
}

th strong,
tfoot strong
{
	color: #eaeba7;
}

tfoot tr td
{
	background-color: #2980b9;
}

tr th.set_width
{
	width: 180px;
}

tr td.set_width
{
	width: 180px;
}

tr.alt td
{
	background-color: #cef;
}

tr.altclasses td
{
	background-color: #77c59e;
}

tr.altgroups td
{
	background-color: #ffb;
}

tr.altbis td
{
	background-color: #afa;
}

tr.altsm td
{
	background-color: #fbb;
}

table.results
{
	border-top: 0;
	margin-bottom: 20px;
}

table.results caption
{
	font-size: 1.2rem;
	font-weight: 900;
}

table.results th
{
	border-top: 3px solid #2980b9;
}

table.results td.centered_cell
{
	text-align: center;
}

.set_width_narrow
{
	width: 70px;
}

.statistics_column
{
	float: left;
	width: 300px;
	margin: 0 10px;
}

.statistics_column p.info
{
	float: left;
	margin-top: 20px;
	width: 260px;
}

.statistics_table
{
	float: left;
	width: 300px;
	margin-bottom: 10px;
}

.statistics_tables table.light_background
{
	border: 0;
}

.statistics_tables table.light_background th
{
	background-color: #cfea85;
	color: #000;
	border: 3px solid #558dd2;
}

.left_cell
{
	text-align: left;
}

.center_cell
{
	text-align: center;
}

.switch_container span.statistics_switches
{
	margin: 5px 10px 5px 0;
	padding: 0 15px 0 0;
	background-image: url(../img/button_right.jpg);
	height: 50px;
	background-repeat: no-repeat;
	background-position: center right;
	display: block;
}

.switch_container span.statistics_switches a
{
	padding: 5px 0 5px 15px;
	background-image: url(../img/button_left.jpg);
	height: 40px;
	line-height: 20px;
	background-repeat: no-repeat;
	text-align: center;
	color: #fff;
	background-position: center left;
	text-decoration: none;
}

.switch_container span.statistics_switches.on
{
	background-image: url(../img/button_on_right.jpg);
}

.switch_container span.statistics_switches.on a
{
	background-image: url(../img/button_on_left.jpg);
}


.switch_container span.statistics_switches,
.switch_container span.map_switches
{
	margin: 5px 10px 5px 0;
	padding: 0 15px 0 0;
	background-image: url(../img/button_right.jpg);
	min-height: 50px;
	background-repeat: no-repeat;
	background-position: center right;
	background-size: 21px 100%;
	display: block;
}

.switch_container span.statistics_switches a,
.switch_container span.map_switches a
{
	padding: 5px 0 5px 15px;
	background-image: url(../img/button_left.jpg);
	min-height: 40px;
	line-height: 20px;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	text-align: center;
	color: #fff;
	background-position: center left;
	text-decoration: none;
}

/* Show picker on the statistics page: the shows grouped by day, one card per
   show. The card that is on shows its tables below. The reset gives every span
   its own colour and line height, so the card's spans set theirs explicitly. */

.show_picker,
.breed_filter
{
	max-width: calc(100vw - 2rem);
	margin-bottom: 1rem;
}

.show_picker_label
{
	display: block;
	margin: 0 0 0.5rem 0;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #5b6b7a;
}

.show_day + .show_day
{
	margin-top: 0.75rem;
}

.show_day_title
{
	margin: 0 0 0.4rem 0;
	font-size: 0.95rem;
	line-height: 1.4rem;
	font-weight: 600;
	color: #1f6391;
}

.show_day_cards
{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr));
	gap: 0.5rem;
}

@media screen and (max-width: 600px)
{
	.show_day_cards
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.show_card
{
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.65rem 2.6rem 0.65rem 0.9rem;
	border: 1px solid #b9cadb;
	border-radius: 8px;
	background: linear-gradient(#fff, #f3f7fb);
	box-shadow: 0 1px 2px rgba(27, 42, 56, 0.08), 0 2px 4px rgba(27, 42, 56, 0.06);
	color: #1b2a38;
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s, box-shadow 0.15s, transform 0.15s;
}

/* The round marker on the right reads as a choice: empty on the shows that can
   be picked, ticked on the one that is on. */
.show_card::after
{
	content: "";
	position: absolute;
	top: 50%;
	right: 0.8rem;
	width: 1.1rem;
	height: 1.1rem;
	margin-top: -0.55rem;
	box-sizing: border-box;
	border: 2px solid #9fb3c6;
	border-radius: 50%;
	background: #fff;
	transition: border-color 0.15s;
}

.show_card:hover
{
	border-color: #2980b9;
	background: linear-gradient(#fff, #e8f2fa);
	box-shadow: 0 4px 10px rgba(31, 99, 145, 0.18);
	transform: translateY(-1px);
}

.show_card:hover::after
{
	border-color: #2980b9;
}

.show_card:active
{
	box-shadow: 0 1px 2px rgba(31, 99, 145, 0.2);
	transform: translateY(0);
}

.show_card:focus-visible
{
	outline: 2px solid #2980b9;
	outline-offset: 2px;
}

.show_card.on
{
	border-color: #1f6391;
	background: #2980b9;
	box-shadow: 0 2px 6px rgba(31, 99, 145, 0.35);
	color: #fff;
	transform: none;
	cursor: default;
}

.show_card.on::after
{
	border-color: #fff;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' fill='none' stroke='%232980b9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat;
}

.show_card_name
{
	font-weight: 700;
	line-height: 1.3rem;
	color: #1b2a38;
}

.show_card_count
{
	font-size: 0.85rem;
	line-height: 1.2rem;
	color: #5b6b7a;
}

.show_card.on .show_card_name
{
	color: #fff;
}

.show_card.on .show_card_count
{
	color: #e3f0f9;
}

.breed_filter_tools
{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	max-width: 44rem;
}

/* Combo box: the field, the clear and open buttons inside it on the right, and
   the list that drops under it. */
.breed_combo
{
	position: relative;
	flex: 1 1 18rem;
}

.breed_filter .breed_combo_input,
.breed_filter select
{
	box-sizing: border-box;
	width: 100%;
	padding: 0.5rem 0.6rem;
	border: 1px solid #b9cadb;
	border-radius: 6px;
	background: #fff;
	color: #1b2a38;
	font: inherit;
}

.breed_filter .breed_combo_input
{
	padding-left: 2.1rem;
	padding-right: 4.2rem;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='4.5' fill='none' stroke='%235b6b7a' stroke-width='1.6'/%3E%3Cpath d='M10.4 10.4l3.3 3.3' stroke='%235b6b7a' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") 0.65rem center / 1rem no-repeat;
	text-overflow: ellipsis;
}

.breed_filter .breed_combo_input::placeholder
{
	color: #1b2a38;
	opacity: 0.75;
}

.breed_combo.open .breed_combo_input
{
	border-color: #2980b9;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.breed_combo_clear,
.breed_combo_toggle
{
	position: absolute;
	top: 50%;
	width: 1.8rem;
	height: 1.8rem;
	margin-top: -0.9rem;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: none;
	color: #5b6b7a;
	font: inherit;
	line-height: 1;
	cursor: pointer;
}

.breed_combo_clear
{
	right: 2.15rem;
	font-size: 1.3rem;
}

.breed_combo_toggle
{
	right: 0.35rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%235b6b7a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 1rem no-repeat;
	transition: transform 0.15s;
}

.breed_combo.open .breed_combo_toggle
{
	transform: rotate(180deg);
}

.breed_combo_clear:hover,
.breed_combo_clear:focus-visible
{
	background-color: #e8f2fa;
	color: #1b2a38;
}

/* The chosen breed's group colour is set on the combo for the dot in the
   field; the list starts again from none, so only the rows of a group take
   one. */
.breed_combo_list
{
	--group: transparent;
	position: absolute;
	z-index: 50;
	top: 100%;
	left: 0;
	right: 0;
	max-height: 20rem;
	margin: 0;
	padding: 0 0 0.25rem 0;
	overflow-y: auto;
	border: 1px solid #2980b9;
	border-top: 0;
	border-radius: 0 0 6px 6px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(27, 42, 56, 0.18);
}

.breed_combo_list li
{
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.3rem;
	color: #1b2a38;
}

.breed_combo_list li.breed_combo_group
{
	position: sticky;
	z-index: 1;
	top: 0;
	display: flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.5rem 0.7rem 0.25rem 0.7rem;
	background: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #1f6391;
}

.breed_combo_list li.breed_combo_info
{
	padding: 0.45rem 0.7rem;
	border-bottom: 1px solid #e1e9f0;
	font-size: 0.8rem;
	color: #5b6b7a;
}

.breed_combo_list li.breed_combo_group::before
{
	content: "";
	flex: 0 0 auto;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background: var(--group);
}

/* Each breed carries its group's colour as a bar on the left, and the row
   under the pointer or the arrow keys takes a tint of it. */
.breed_combo_list li.breed_combo_option
{
	position: relative;
	margin: 0 0.25rem;
	padding: 0.4rem 0.6rem 0.4rem 1.7rem;
	border-radius: 4px;
	cursor: pointer;
}

.breed_combo_list li.breed_combo_option::before
{
	content: "";
	position: absolute;
	top: 0.35rem;
	bottom: 0.35rem;
	left: 0.3rem;
	width: 3px;
	border-radius: 2px;
	background: var(--group, transparent);
}

.breed_combo_list li.breed_combo_option.active
{
	background: #eef4f9;
	background: color-mix(in srgb, var(--group, #2980b9) 16%, #fff);
}

.breed_combo_list li.breed_combo_option.all.active
{
	background: #eef4f9;
}

/* The chosen breed is ticked, the same mark as on the show cards. */
.breed_combo_list li.breed_combo_option[aria-selected="true"]
{
	background: #2980b9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 0.62rem center / 0.85rem no-repeat;
	color: #fff;
}

.breed_combo_list li.breed_combo_option[aria-selected="true"].active
{
	background-color: #1f6391;
}

/* Once a breed is chosen, its group's dot takes the magnifier's place in the
   field. */
.breed_combo.chosen .breed_combo_input
{
	background-image: none;
}

.breed_combo.chosen::before
{
	content: "";
	position: absolute;
	top: 50%;
	left: 0.8rem;
	width: 0.65rem;
	height: 0.65rem;
	margin-top: -0.325rem;
	border-radius: 50%;
	background: var(--group);
	pointer-events: none;
}

/* The FCI group colours used across the site, a shade deeper so they still
   read as a thin line on white. */
.g1  { --group: #93ad55; }

.g2  { --group: #f2b252; }

.g3  { --group: #e3c534; }

.g4  { --group: #6fa8d4; }

.g5  { --group: #d67fd6; }

.g6  { --group: #7272ec; }

.g7  { --group: #9360c2; }

.g8  { --group: #f28a63; }

.g9  { --group: #6490e0; }

.g10 { --group: #d4625a; }

.g11 { --group: #cfa23a; }

.breed_combo_list mark
{
	padding: 0;
	border-radius: 2px;
	background: #fde68a;
	color: inherit;
	font-weight: 700;
}

.breed_combo_list li[aria-selected="true"] mark
{
	background: rgba(255, 255, 255, 0.25);
}

.breed_combo_input:focus-visible,
.breed_filter select:focus-visible
{
	outline: 2px solid #2980b9;
	outline-offset: 1px;
	border-color: #2980b9;
}

.visually_hidden
{
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* --------------------------------------------------------------------------------------------------------------------- */
/* STATISTICS: summary, entries per country and per breed, drawn like the show
   cards above them. The site-wide table rules (blue borders, blue headers)
   are undone for these tables. */
/* --------------------------------------------------------------------------------------------------------------------- */

.statistics_tables
{
	margin-top: 1.25rem;
}

.stats_group.hidden,
.stats_breed.hidden
{
	display: none;
}

.stats_header
{
	max-width: 44rem;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.1rem 0.75rem;
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #e1e9f0;
}

.stats_title
{
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: 700;
	color: #1b2a38;
}

.stats_subtitle
{
	color: #5b6b7a;
}

.stats_tiles
{
	max-width: 44rem;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
	gap: 0.5rem;
	margin: 0 0 1.75rem 0;
}

.stats_tile
{
	padding: 0.7rem 0.9rem;
	border: 1px solid #cfdbe6;
	border-radius: 8px;
	background: linear-gradient(#fff, #f5f8fb);
}

.stats_tile dt
{
	font-size: 0.72rem;
	line-height: 1.1rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #5b6b7a;
}

.stats_tile dd
{
	margin: 0.15rem 0 0 0;
	font-size: 1.75rem;
	line-height: 2.1rem;
	font-weight: 700;
	color: #1b2a38;
	font-variant-numeric: tabular-nums;
}

.stats_tile_main
{
	border-color: #2980b9;
	background: #2980b9;
	box-shadow: 0 2px 6px rgba(31, 99, 145, 0.3);
}

.stats_tile_main dt
{
	color: #e3f0f9;
}

.stats_tile_main dd
{
	color: #fff;
}

/* On a phone the three figures stay on one row instead of leaving the last
   one alone on a second. */
@media screen and (max-width: 600px)
{
	.stats_tiles
	{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.stats_tile
	{
		padding: 0.6rem 0.7rem;
	}

	.stats_tile dd
	{
		font-size: 1.5rem;
		line-height: 1.9rem;
	}
}

.stats_block
{
	margin-bottom: 2rem;
}

.stats_block_title
{
	margin: 0 0 0.75rem 0;
	font-size: 1.15rem;
	line-height: 1.6rem;
	font-weight: 700;
	color: #1b2a38;
}

.stats_empty
{
	max-width: 44rem;
	box-sizing: border-box;
	padding: 0.75rem 1rem;
	border: 1px dashed #b9cadb;
	border-radius: 8px;
	background: #f7fafc;
	color: #5b6b7a;
}

/* Tables */

table.stats_table
{
	width: 100%;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
}

.stats_table th,
.stats_table td
{
	padding: 0.45rem 0.7rem;
	border: 0;
	border-bottom: 1px solid #e9eff4;
	background: none;
	color: #1b2a38;
	font-size: 0.95rem;
	line-height: 1.3rem;
	font-weight: 400;
	text-align: left;
	vertical-align: middle;
}

.stats_table thead th
{
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	border-top: 0;
	border-bottom: 1px solid #cfdbe6;
	background: #f5f8fb;
	color: #5b6b7a;
	font-size: 0.7rem;
	line-height: 1rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.stats_table tbody th
{
	font-weight: 600;
}

.stats_table tbody tr:last-child th,
.stats_table tbody tr:last-child td
{
	border-bottom: 0;
}

.stats_table tbody tr:hover th,
.stats_table tbody tr:hover td
{
	background: #f5f9fc;
}

.stats_table .stats_num
{
	width: 3.2rem;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.stats_table .stats_zero
{
	color: #b3c0cc;
}

/* Entries per country: each country's share of the show as a bar. */

.stats_countries
{
	max-width: 44rem;
	border: 1px solid #cfdbe6 !important;
	border-radius: 8px;
	overflow: hidden;
}

.stats_table .stats_share_cell
{
	width: 45%;
}

.stats_share
{
	display: inline-block;
	width: calc(100% - 3.2rem);
	height: 0.5rem;
	vertical-align: middle;
	border-radius: 999px;
	background: #e6eef5;
	overflow: hidden;
}

.stats_share .stats_share_bar
{
	display: block;
	height: 100%;
	border-radius: 999px;
	background: #2980b9;
}

.stats_share_value
{
	display: inline-block;
	width: 2.8rem;
	vertical-align: middle;
	text-align: right;
	font-size: 0.8rem;
	line-height: 1.3rem;
	color: #5b6b7a;
	font-variant-numeric: tabular-nums;
}

/* Entries per breed: a section per FCI group in its colour, then one card per
   breed, one under the other across the full width, so the page reads from
   top to bottom. */

/* As wide as the breed search and the countries table, so a class and its
   numbers stay close enough to read along the row. */
.stats_group
{
	max-width: 44rem;
	margin-bottom: 1.75rem;
}

.stats_group_header
{
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
	padding-bottom: 0.45rem;
	border-bottom: 2px solid var(--group, #cfdbe6);
}

.stats_group_title
{
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.4rem;
	font-weight: 700;
	color: #1b2a38;
}

.stats_group_title::before
{
	content: "";
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background: var(--group);
}

.stats_group_total
{
	margin-left: auto;
	padding: 0.1rem 0.65rem;
	border-radius: 999px;
	background: #eef3f7;
	background: color-mix(in srgb, var(--group, #2980b9) 18%, #fff);
	color: #1b2a38;
	font-size: 0.8rem;
	line-height: 1.3rem;
	font-weight: 600;
	white-space: nowrap;
}

.stats_breed
{
	margin-bottom: 0.6rem;
	border: 1px solid #cfdbe6;
	border-left: 4px solid var(--group, #cfdbe6);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(27, 42, 56, 0.06);
	overflow: hidden;
}

.stats_breed_header
{
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.6rem 0.9rem;
}

.stats_breed_name
{
	flex: 1 1 auto;
	margin: 0;
	font-size: 1rem;
	line-height: 1.4rem;
	font-weight: 700;
	color: #1b2a38;
}

.stats_breed_name .stats_breed_standard
{
	display: inline-block;
	min-width: 1.8rem;
	margin-right: 0.4rem;
	padding: 0 0.35rem;
	border-radius: 4px;
	background: #eef3f7;
	color: #5b6b7a;
	font-size: 0.75rem;
	line-height: 1.3rem;
	font-weight: 600;
	text-align: center;
	vertical-align: 0.05rem;
	font-variant-numeric: tabular-nums;
}

.stats_breed_name .stats_breed_original
{
	margin-left: 0.35rem;
	font-size: 0.85rem;
	line-height: 1.4rem;
	font-weight: 400;
	font-style: italic;
	color: #5b6b7a;
}

.stats_breed_header .stats_breed_total
{
	flex: 0 0 auto;
	font-size: 0.85rem;
	line-height: 1.4rem;
	font-weight: 700;
	color: #1f6391;
	white-space: nowrap;
}

.stats_classes th,
.stats_classes td
{
	padding: 0.4rem 0.9rem;
}

.stats_classes .stats_num
{
	width: 3.5rem;
}

.stats_classes tbody th .stats_class_ages
{
	margin-left: 0.35rem;
	font-size: 0.8rem;
	line-height: 1.3rem;
	font-weight: 400;
	color: #5b6b7a;
}

@media screen and (max-width: 600px)
{
	.stats_classes th,
	.stats_classes td
	{
		padding: 0.4rem 0.6rem;
	}

	.stats_classes .stats_num
	{
		width: 2.4rem;
	}

	.stats_classes tbody th .stats_class_ages
	{
		display: block;
		margin-left: 0;
		font-size: 0.75rem;
		line-height: 1.05rem;
	}
}

/* The show picker, the breed search and the statistics under them form one
   column of 44rem, centred on the page. */
.show_picker,
.breed_filter,
.stats_header,
.stats_tiles,
.stats_block_title,
.stats_empty,
.stats_countries,
.stats_group
{
	box-sizing: border-box;
	width: 100%;
	max-width: min(44rem, calc(100vw - 2rem));
	margin-left: auto;
	margin-right: auto;
}

/* Back to the show picker, shown only once the show cards have scrolled out
   of view. On a phone: a round button at the bottom right, under the thumb.
   On a desktop: a bar at the top of the screen over the statistics column,
   naming the show being read, so it sits where the eyes already are. */
.back_to_shows
{
	position: fixed;
	z-index: 60;
	right: 1rem;
	bottom: 1rem;
	display: inline-flex;
	align-items: center;
	padding: 0.6rem 1rem 0.6rem 0.8rem;
	border: 0;
	border-radius: 999px;
	background: #2980b9;
	box-shadow: 0 4px 14px rgba(27, 42, 56, 0.3);
	color: #fff;
	font: inherit;
	font-size: 0.9rem;
	line-height: 1.2rem;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.75rem);
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s, background-color 0.15s, border-color 0.15s;
}

.back_to_shows.shown
{
	opacity: 1;
	visibility: visible;
	transform: none;
}

.back_to_shows:hover
{
	background: #1f6391;
}

.back_to_shows:focus-visible
{
	outline: 2px solid #1f6391;
	outline-offset: 3px;
}

.back_to_shows_current
{
	display: none;
}

.back_to_shows_action
{
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: #fff;
	font-size: 0.9rem;
	line-height: 1.2rem;
	font-weight: 600;
	white-space: nowrap;
}

.back_to_shows_arrow
{
	width: 1rem;
	height: 1rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 13V3M3.5 7.5L8 3l4.5 4.5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 1rem no-repeat;
}

@media screen and (min-width: 900px)
{
	.back_to_shows
	{
		top: 0.75rem;
		right: auto;
		bottom: auto;
		left: 50%;
		box-sizing: border-box;
		width: min(44rem, calc(100vw - 2rem));
		justify-content: space-between;
		gap: 1rem;
		padding: 0.55rem 0.6rem 0.55rem 1rem;
		border: 1px solid #cfdbe6;
		border-radius: 10px;
		background: rgba(255, 255, 255, 0.97);
		box-shadow: 0 6px 20px rgba(27, 42, 56, 0.18);
		color: #1b2a38;
		transform: translate(-50%, -0.75rem);
	}

	.back_to_shows.shown
	{
		transform: translate(-50%, 0);
	}

	.back_to_shows:hover
	{
		border-color: #2980b9;
		background: #fff;
	}

	.back_to_shows_current
	{
		display: flex;
		align-items: baseline;
		gap: 0.6rem;
		min-width: 0;
		overflow: hidden;
	}

	.back_to_shows_current .back_to_shows_name
	{
		font-size: 1rem;
		line-height: 1.4rem;
		font-weight: 700;
		color: #1b2a38;
		white-space: nowrap;
	}

	.back_to_shows_current .back_to_shows_day
	{
		font-size: 0.85rem;
		line-height: 1.4rem;
		font-weight: 400;
		color: #5b6b7a;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.back_to_shows_action
	{
		padding: 0.4rem 0.85rem 0.4rem 0.7rem;
		border-radius: 999px;
		background: #2980b9;
		color: #fff;
		font-size: 0.85rem;
		transition: background-color 0.15s;
	}

	.back_to_shows:hover .back_to_shows_action
	{
		background: #1f6391;
	}
}

@media (prefers-reduced-motion: reduce)
{
	.back_to_shows
	{
		transition: none;
	}
}

thead.deadline-past th,
tbody.deadline-past td,
tr.deadline-past td
{
	color: #000;
	opacity: 0.4;
}

/* the category label spans both the expired and the still-valid row, so it
   must stay at full strength even though its row is marked deadline-past */
tr.deadline-past td[rowspan]
{
	opacity: 1;
}

tbody.deadline-active tr.alt td,
tr.alt.deadline-active td
{
	background-color: #b8f0d2;
}

tbody.deadline-active tr.alt1 td,
tr.alt1.deadline-active td
{
	background-color: #a4e8c4;
}

tbody.deadline-active tr.alt2 td,
tr.alt2.deadline-active td
{
	background-color: #90e0b6;
}

/* single-tariff rows have no rowspan label to inherit the neutral blue from,
   so the label cell opts out of the highlight explicitly */
tr.deadline-active td.row_label
{
	background-color: #CCEEFF;
}

/* sits above the deadline date, kept smaller so the date stays dominant */
span.last_entry_day
{
	display: block;
	font-size: 0.85em;
	font-weight: 700;
}
