/* -----------------------------------------------------------------------
   Accessibility statement — page-accessibility.php.

   A full-width, sidebar-free statement drawn entirely on the theme tokens:
   a lead, a grid of the concrete adjustments made, two callouts
   (conformance / known limits) and the accessibility coordinator's contact
   card. Enqueued in inc/enqueue.php for is_page( 'accessibility' ).
   ----------------------------------------------------------------------- */
.accessibility-page {
	padding-block: clamp(1.75rem, 4vw, 3rem);
	color: var(--shivuk-color-text);
}

/* Full-width on the live sandbox route: shivuk-accessibility.php (in the
   Novamira sandbox) adds the .a11y-fullwidth body class and injects this
   statement through the_content, so page.php still wraps it in the sidebar
   grid — these collapse that to a single full-width column. The coded
   page-accessibility.php template renders no sidebar, so they no-op there. */
.a11y-fullwidth .site-main.has-sidebar {
	display: block;
}

.a11y-fullwidth .widget-area {
	display: none;
}

.a11y-fullwidth .content-area,
.a11y-fullwidth .entry-content {
	max-inline-size: none;
}

/* The opening statement — the piece's own summary of intent. */
.accessibility-page .a11y__lead {
	margin: 0.25rem 0 2.25rem;
	font-size: 1.22rem;
	line-height: 1.65;
	color: var(--shivuk-color-muted);
	max-inline-size: 74ch;
	font-weight: 500;
}

.a11y-section {
	margin-block: 2.4rem 0;
}

/* A short accent bar precedes each heading, the same gesture the branded
   sections use, so the page reads as one system. */
.a11y-section__title {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 1.1rem;
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--shivuk-color-text);
}

.a11y-section__title::before {
	content: "";
	inline-size: 0.5rem;
	block-size: 1.35rem;
	border-radius: 999px;
	background: linear-gradient(var(--shivuk-color-accent), color-mix(in srgb, var(--shivuk-color-accent) 55%, #6fe8ff));
}

.a11y-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
	gap: 1rem;
}

.a11y-item {
	display: flex;
	gap: 0.8rem;
	padding: 1.15rem 1.25rem;
	background: #ffffff;
	border: 1px solid var(--shivuk-color-border);
	border-radius: var(--shivuk-radius-lg);
	box-shadow: var(--shivuk-shadow-sm);
}

.a11y-item > div {
	flex: 1;
	min-inline-size: 0;
}

.a11y-item__ic {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	inline-size: 2rem;
	block-size: 2rem;
	border-radius: 50%;
	background: var(--shivuk-color-accent-soft);
	color: var(--shivuk-color-accent);
	font-weight: 800;
	font-size: 0.95rem;
}

.a11y-item__t {
	margin: 0 0 0.2rem;
	font-size: 1rem;
	font-weight: 800;
}

.a11y-item__d {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--shivuk-color-muted);
}

/* Callout: conformance level and known limitations both use it. */
.a11y-note {
	padding: 1.3rem 1.45rem;
	border: 1px solid var(--shivuk-color-border);
	border-inline-start: 4px solid var(--shivuk-color-accent);
	border-radius: var(--shivuk-radius-lg);
	background: color-mix(in srgb, var(--shivuk-color-accent) 5%, #ffffff);
	font-size: 1rem;
	line-height: 1.7;
	color: var(--shivuk-color-text);
}

.a11y-note p {
	margin: 0;
}

.a11y-note p + p {
	margin-block-start: 0.75rem;
}

/* Contact card — the accent gradient banner, tel/mail as pill links. */
.a11y-contact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem 2rem;
	margin-block-start: 2.6rem;
	padding: 1.95rem 2rem;
	border-radius: var(--shivuk-radius-lg);
	color: #ffffff;
	background:
		radial-gradient(120% 180% at 100% 0%, color-mix(in srgb, var(--shivuk-color-accent) 62%, #6fe8ff), transparent 52%),
		linear-gradient(150deg, var(--shivuk-color-accent), color-mix(in srgb, var(--shivuk-color-accent) 68%, #0c2f4c));
	box-shadow: 0 20px 44px color-mix(in srgb, var(--shivuk-color-accent) 26%, transparent);
}

.a11y-contact__main {
	flex: 1 1 300px;
}

.a11y-contact__k {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: rgba(255, 255, 255, 0.82);
}

.a11y-contact__t {
	margin: 0.3rem 0 0.55rem;
	font-size: 1.35rem;
	font-weight: 800;
	color: #ffffff;
}

.a11y-contact__d {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.9);
}

.a11y-contact__links {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 0.55rem;
}

.a11y-contact__links a {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.62em 1.15em;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	color: #ffffff;
	text-decoration: none;
	font-weight: 700;
	font-size: 0.95rem;
	transition: background 0.2s ease;
}

.a11y-contact__links a:hover,
.a11y-contact__links a:focus-visible {
	background: rgba(255, 255, 255, 0.3);
}

.a11y-updated {
	margin-block-start: 1.8rem;
	font-size: 0.85rem;
	color: var(--shivuk-color-muted);
}

@media (max-width: 600px) {
	.a11y-contact {
		flex-direction: column;
		align-items: stretch;
	}

	.a11y-contact__links {
		flex-direction: row;
		flex-wrap: wrap;
	}
}
