/*
Theme Name: G5SRS
Theme URI: https://example.org/
Author: Salisbury & District Amateur Radio Society
Author URI: https://example.org/
Description: A block theme for a UK amateur radio club. Meetings, nets, committee and repeaters come from structured fields, so the programme cannot quietly go stale. Colours and typography match the club's printed paperwork. No external fonts or trackers.
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: g5srs
Tags: block-theme, full-site-editing, one-column, accessibility-ready, custom-colors, block-patterns
*/

/* Only what block styles cannot express. Layout and colour live in theme.json. */

/* --- Card -------------------------------------------------------------- */
.wp-block-group.is-style-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 3px;
	padding: var(--wp--preset--spacing--40);
	box-shadow: var(--wp--preset--shadow--card);
}

.wp-block-group.is-style-card > :last-child {
	margin-bottom: 0;
}

/* --- Navy panel -------------------------------------------------------- */
.wp-block-group.is-style-panel {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border-radius: 3px;
	padding: var(--wp--preset--spacing--50);
	border-top: 3px solid var(--wp--preset--color--accent);
}

.wp-block-group.is-style-panel :where(h1, h2, h3, h4, h5, h6, p, li) {
	color: var(--wp--preset--color--base);
}

.wp-block-group.is-style-panel a {
	color: var(--wp--preset--color--accent);
}

/* --- Eyebrow heading --------------------------------------------------- */
.is-style-eyebrow {
	font-size: var(--wp--preset--font-size--x-small) !important;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-dark);
	font-weight: 700;
	margin-bottom: 0.35rem;
}

/* --- Ticked list ------------------------------------------------------- */
.wp-block-list.is-style-ticks {
	list-style: none;
	padding-left: 0;
}

.wp-block-list.is-style-ticks li {
	padding-left: 1.6em;
	position: relative;
	margin-bottom: 0.4em;
}

.wp-block-list.is-style-ticks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 0.7em;
	height: 0.35em;
	border-left: 2px solid var(--wp--preset--color--accent-dark);
	border-bottom: 2px solid var(--wp--preset--color--accent-dark);
	transform: rotate(-45deg);
}

/* --- Header ------------------------------------------------------------ */
.g5srs-header {
	background: var(--wp--preset--color--contrast);
	border-bottom: 3px solid var(--wp--preset--color--accent);
}

.g5srs-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.g5srs-header .wp-block-site-logo img {
	border-radius: 50%;
}

.g5srs-strap {
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-weight: 700;
	margin: 0;
}

/* --- Field rows (meetings, nets, repeaters) ---------------------------- */
.g5srs-meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0.75rem 1.5rem;
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 1rem 0;
	margin: 1.5rem 0;
}

.g5srs-meta p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
}

.g5srs-meta .g5srs-label {
	display: block;
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	font-weight: 700;
}

/* --- Status flags ------------------------------------------------------ */
.g5srs-flag {
	display: inline-block;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.15em 0.6em;
	border-radius: 2px;
	border: 1px solid currentColor;
}

/* --- Tables ------------------------------------------------------------ */
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
}

.wp-block-table th {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	text-align: left;
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.6rem 0.75rem;
}

.wp-block-table td {
	border: 1px solid var(--wp--preset--color--line);
	padding: 0.55rem 0.75rem;
	vertical-align: top;
}

.wp-block-table tbody tr:nth-child(even) td {
	background: var(--wp--preset--color--mist);
}

/* Wide tables scroll rather than breaking the page. */
.wp-block-table {
	overflow-x: auto;
}

/* --- Footer ------------------------------------------------------------ */
.g5srs-footer {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.g5srs-footer :where(p, li, h2, h3, h4) {
	color: var(--wp--preset--color--base);
}

.g5srs-footer a {
	color: var(--wp--preset--color--accent);
}

.g5srs-footer .g5srs-fineprint {
	color: #9fb0c8;
	font-size: var(--wp--preset--font-size--x-small);
}

/* --- Print ------------------------------------------------------------- */
@media print {
	.g5srs-header,
	.g5srs-footer,
	.wp-block-navigation {
		display: none !important;
	}

	body {
		font-size: 11pt;
	}
}
