/*
Theme Name:  Rona Audio
Theme URI:   https://rona.com.au
Description: Dark-first block child theme of Twenty Twenty-Five for the Rona Audio plugin store. All bespoke logic lives in the rona-audio-core plugin; this theme is presentation only.
Author:      Rona Audio
Template:    twentytwentyfive
Version:     0.1.3
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.2
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rona
*/

/* Wordmark lockup in the header — mark SVG plus live text set in the display face. */
.rona-lockup {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	text-decoration: none;
}

.rona-lockup svg {
	width: 44px;
	height: 44px;
	display: block;
}

.rona-lockup .rona-wordmark {
	display: flex;
	flex-direction: column;
	line-height: 1;
}

.rona-lockup .rona-wordmark .rona-name {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--contrast);
}

.rona-lockup .rona-wordmark .rona-sub {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.625rem;
	font-weight: 400;
	letter-spacing: 0.55em;
	text-transform: lowercase;
	color: var(--wp--preset--color--accent-3);
	margin-top: 0.3rem;
}

.rona-lockup:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 4px;
	border-radius: 2px;
}

/* Real focus states everywhere — WCAG floor from the brief. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 2px;
}

/* Product listing images: the WooCommerce Product Image block hard-codes a
   1:1 crop (inline object-fit:cover; aspect-ratio:1/1), which cuts the sides
   off the wide plugin-GUI screenshots. Keep the cards uniform with a wide
   box, but always show the complete image. */
.wc-block-components-product-image img,
ul.products li.product img.attachment-large,
.wc-block-grid__product-image img {
	aspect-ratio: 16 / 10 !important;
	object-fit: contain !important;
}

/* Contact form ([rona_contact_form] from rona-audio-core). Presentation only;
   all handling lives in the plugin. */
.rona-contact {
	max-width: 640px;
}
.rona-contact__form .rona-field {
	margin: 0 0 1.1rem;
}
.rona-contact__form label {
	display: block;
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	margin-bottom: 0.35rem;
	color: var(--wp--preset--color--contrast);
}
.rona-contact__form label span[aria-hidden] {
	color: var(--wp--preset--color--accent-1);
}
.rona-contact__form input[type="text"],
.rona-contact__form input[type="email"],
.rona-contact__form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.7rem 0.8rem;
	font: inherit;
	color: var(--wp--preset--color--contrast);
	background: color-mix(in srgb, var(--wp--preset--color--base) 90%, #fff 10%);
	border: 1px solid var(--wp--preset--color--accent-3, #5C7A76);
	border-radius: 6px;
}
.rona-contact__form input:focus-visible,
.rona-contact__form textarea:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--accent-1);
}
.rona-contact__form textarea {
	resize: vertical;
	min-height: 8rem;
}
.rona-contact__form .rona-field--submit {
	margin-top: 0.4rem;
}
.rona-contact__errors {
	border: 1px solid #b32d2e;
	background: color-mix(in srgb, #b32d2e 12%, transparent);
	border-radius: 6px;
	padding: 0.6rem 0.9rem;
	margin-bottom: 1.2rem;
}
.rona-contact__errors p { margin: 0.2rem 0; }
.rona-contact--sent {
	border: 1px solid var(--wp--preset--color--accent-3, #5C7A76);
	background: color-mix(in srgb, var(--wp--preset--color--accent-3, #5C7A76) 14%, transparent);
	border-radius: 8px;
	padding: 1.1rem 1.3rem;
}

/* Restrained motion. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
