/* BOTA Awards — inherits the theme's fonts and colors (Twenty Twenty-Five presets). */
.bota {
	--bota-line: color-mix(in srgb, currentColor 16%, transparent);
	--bota-soft: color-mix(in srgb, currentColor 5%, transparent);
	--bota-accent: var(--wp--preset--color--accent-1, #00798c);
	--bota-ok: #1a7f37;
	--bota-muted: color-mix(in srgb, currentColor 60%, transparent);
}
.bota h2, .bota h3 { margin-top: 1.6em; }
.bota-box {
	border: 1px solid var(--bota-line);
	border-radius: 8px;
	padding: 1.25rem 1.5rem;
	background: var(--bota-soft);
}
.bota-form select,
.bota-form input[type="text"],
.bota-lookup input,
.bota-search {
	font: inherit;
	padding: .55em .7em;
	border: 1px solid var(--bota-line);
	border-radius: 6px;
	background: var(--wp--preset--color--base, #fff);
	color: inherit;
	width: 100%;
	max-width: 32rem;
	box-sizing: border-box;
}
.bota-form small, .bota-help { color: var(--bota-muted); font-size: .9em; }
.bota-muted { color: var(--bota-muted); }
.bota-ok { color: var(--bota-ok); font-weight: 600; }

.bota-notice {
	border-left: 4px solid var(--bota-accent);
	background: var(--bota-soft);
	padding: .8em 1em;
	margin: 0 0 1.25em;
	border-radius: 4px;
}
.bota-notice--success { border-color: var(--bota-ok); }
.bota-notice--warning { border-color: #bf8700; }
.bota-notice--error { border-color: #cf222e; }

.bota-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bota-table { width: 100%; border-collapse: collapse; font-size: .95em; }
.bota-table th, .bota-table td {
	text-align: left;
	padding: .55em .6em;
	border-bottom: 1px solid var(--bota-line);
	vertical-align: top;
}
.bota-table th { font-weight: 600; white-space: nowrap; }
.bota-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.bota-sortable th[data-sort] { cursor: pointer; user-select: none; }
.bota-sortable th[aria-sort="ascending"]::after { content: " ▲"; font-size: .7em; }
.bota-sortable th[aria-sort="descending"]::after { content: " ▼"; font-size: .7em; }
.bota-call { font-weight: 600; letter-spacing: .02em; }
.bota-nowrap { white-space: nowrap; }

.bota-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: .75rem;
	margin: 1rem 0 1.5rem;
}
.bota-tile {
	border: 1px solid var(--bota-line);
	border-radius: 8px;
	padding: .9rem 1rem;
	display: flex;
	flex-direction: column;
}
.bota-tile__n { font-size: 1.8em; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.bota-tile__l { color: var(--bota-muted); font-size: .85em; }

.bota-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 1rem 2.5rem; }
.bota-columns h3 { margin-top: .5em; }

.bota-lookup { display: flex; gap: .5rem; flex-wrap: wrap; max-width: 32rem; }
.bota-lookup input { flex: 1 1 10rem; width: auto; min-width: 0; }
.bota-awards__call { font-size: 2.2em; letter-spacing: .03em; margin-bottom: 0; }

.bota-earned { list-style: none; padding: 0; display: grid; gap: .6rem; }
.bota-earned__item {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas: "name cert" "meta cert";
	align-items: center;
	border: 1px solid var(--bota-line);
	border-radius: 8px;
	padding: .75rem 1rem;
}
.bota-earned__name { grid-area: name; font-weight: 700; font-size: 1.1em; }
.bota-earned__meta { grid-area: meta; color: var(--bota-muted); font-size: .88em; }
.bota-earned__cert { grid-area: cert; white-space: nowrap; }

.bota-vessel-badge { margin: .25em 0 0; font-size: .9em; color: var(--bota-muted, inherit); }
.bota-vessel-badge a { text-decoration: none; }
.bota-vessel-badge a:hover { text-decoration: underline; }
.bota-vessel__num { font-weight: 400; color: var(--bota-muted); font-size: .6em; margin-left: .3em; white-space: nowrap; }

.bota-link-button {
	background: none; border: 0; padding: 0; font: inherit; color: var(--bota-accent);
	text-decoration: underline; cursor: pointer;
}
.bota-activation-panel { margin-top: 2.5rem; }
.bota-edit-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin: 0 0 1.5rem; }
.bota-edit-bar .bota-muted, p.bota-edit-bar.bota-muted { font-size: .85em; }
.bota-rules ul li { margin-bottom: 1.4em; }
.bota-rules ul li:last-child { margin-bottom: 0; }

@media (max-width: 600px) {
	.bota-box { padding: 1rem; }
	.bota-sm-hide { display: none; }
	.bota-table th, .bota-table td { padding: .5em .4em; }
	.bota-earned__item { grid-template-columns: 1fr; grid-template-areas: "name" "meta" "cert"; }
}
