/**
 * Rineova Labs — Deep Blue Precision front-end styles.
 * Colors reference theme.json CSS custom properties.
 */

:root {
	--rivenova-navy: #071C33;
	--rivenova-navy-deep: #041426;
	--rivenova-blue: #2477F3;
	--rivenova-cyan: #42E5F5;
	--rivenova-cyan-mid: #22BFEF;
	--rivenova-white: #FFFFFF;
	--rivenova-surface: #F5F9FC;
	--rivenova-text: #132338;
	--rivenova-muted: #6E7F91;
	--rivenova-border: #D9E5EE;
	--rivenova-gradient: linear-gradient(
		135deg,
		#42E5F5 0%,
		#22BFEF 52%,
		#2477F3 100%
	);
	--rivenova-blue-hover: #1A66D4;
	--rineova-radius-sm: 10px;
	--rineova-radius-md: 12px;
	--rineova-radius-lg: 16px;
	--rineova-focus: var(--rivenova-cyan);
}

/* Skip link */
.rineova-skip-link {
	position: absolute;
	top: -100px;
	left: 1rem;
	z-index: 100000;
	padding: 0.75rem 1rem;
	background: var(--rivenova-blue);
	color: var(--rivenova-white);
	border-radius: var(--rineova-radius-sm);
	text-decoration: none;
	font-weight: 600;
}

.rineova-skip-link:focus {
	top: 1rem;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--rivenova-surface);
	clip: auto !important;
	clip-path: none;
	color: var(--rivenova-text);
	display: block;
	font-size: 0.875rem;
	height: auto;
	left: 0.5rem;
	line-height: normal;
	padding: 0.75rem 1rem;
	top: 0.5rem;
	width: auto;
	z-index: 100000;
}

/* Base */
body.rineova-labs {
	background: var(--rivenova-surface);
	color: var(--rivenova-text);
	font-family: Inter, "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}

*:focus-visible {
	outline: 2px solid var(--rineova-focus);
	outline-offset: 2px;
}

img {
	max-width: 100%;
	height: auto;
}

/* Announcement */
.rineova-announcement-bar {
	position: relative;
	z-index: 30;
	background: var(--rivenova-navy-deep) !important;
}

.rineova-announcement-bar p {
	margin: 0;
	color: var(--rivenova-cyan) !important;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.04em;
}

/* Sticky header */
.rineova-site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background-color: var(--rivenova-navy) !important;
	border-bottom: 1px solid rgba(66, 229, 245, 0.28);
	transition: box-shadow 0.25s ease;
}

.admin-bar .rineova-site-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .rineova-site-header {
		top: 46px;
	}
}

.rineova-site-header.is-scrolled {
	box-shadow: 0 8px 24px rgba(7, 28, 51, 0.28);
}

.rineova-header-inner {
	gap: 1rem 1.5rem;
	min-height: 3.25rem;
	flex-wrap: nowrap;
}

.rineova-header-inner > .wp-block-group:first-child {
	flex: 0 0 auto;
}

.rineova-header-inner > .wp-block-navigation {
	flex: 1 1 auto;
	justify-content: center;
	min-width: 0;
}

.rineova-site-header .wp-block-navigation__container {
	flex-wrap: nowrap;
	gap: 0.75rem;
}

.rineova-header-actions {
	gap: 0.75rem;
	flex: 0 1 auto;
	min-width: 0;
}

.rineova-header-actions .wp-block-search {
	min-width: 10rem;
	max-width: 14rem;
}

.rineova-header-actions .wp-block-search__inside-wrapper {
	border: 1px solid rgba(66, 229, 245, 0.28);
	border-radius: var(--rineova-radius-sm);
	background: var(--rivenova-navy-deep);
	overflow: hidden;
}

.rineova-header-actions .wp-block-search__input {
	background: transparent;
	color: var(--rivenova-white);
	border: 0;
	min-height: 2.5rem;
	padding-inline: 0.75rem;
}

.rineova-header-actions .wp-block-search__input::placeholder {
	color: rgba(247, 251, 255, 0.55);
}

.rineova-header-actions .wp-block-search__button {
	background: transparent;
	color: var(--rivenova-cyan);
	border: 0;
	min-width: 44px;
	min-height: 44px;
}

.rineova-site-footer {
	background: var(--rivenova-navy) !important;
	color: var(--rivenova-white);
}

.rineova-site-footer a,
.rineova-site-header a {
	text-decoration: none;
}

.rineova-site-header .wp-block-navigation-item__content:hover,
.rineova-site-header .wp-block-navigation-item__content:focus-visible,
.rineova-site-footer a:hover,
.rineova-site-footer a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.rineova-site-header .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.rineova-site-header .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--rivenova-cyan);
	box-shadow: inset 0 -2px 0 var(--rivenova-cyan);
}

.rineova-site-footer .has-muted-text-color,
.rineova-site-footer .wp-block-navigation,
.rineova-site-footer .wp-block-list {
	color: var(--rivenova-white);
}

.rineova-site-footer .wp-block-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.rineova-site-footer .wp-block-list li {
	margin-bottom: 0.5rem;
}

.rineova-site-footer .wp-block-list a {
	color: inherit;
}

.rineova-site-footer .wp-block-list a:hover,
.rineova-site-footer .wp-block-list a:focus-visible {
	color: var(--rivenova-cyan);
}

.rineova-site-footer em {
	opacity: 0.65;
	font-style: normal;
	font-size: 0.75em;
}

/* Buttons */
.wp-block-button.is-style-rineova-ghost .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--rivenova-cyan);
	color: var(--rivenova-cyan);
	border-radius: var(--rineova-radius-sm);
}

.wp-block-button.is-style-rineova-ghost .wp-block-button__link:hover,
.wp-block-button.is-style-rineova-ghost .wp-block-button__link:focus-visible {
	background: rgba(66, 229, 245, 0.12);
	color: var(--rivenova-white);
	border-color: var(--rivenova-cyan);
}

.wp-element-button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button {
	border-radius: 10px;
	font-weight: 700;
	min-height: 44px;
}

.wp-block-button__link.has-cobalt-background-color,
.wp-element-button.has-cobalt-background-color {
	background-color: var(--rivenova-blue) !important;
	color: var(--rivenova-white) !important;
}

.wp-block-button__link.has-cobalt-background-color:hover,
.wp-element-button.has-cobalt-background-color:hover {
	background-color: var(--rivenova-blue-hover) !important;
	color: var(--rivenova-white) !important;
}

/* Sections */
.wp-block-group.is-style-rineova-section {
	padding-block: var(--wp--preset--spacing--xl, 4rem);
}

.wp-block-group.is-style-rineova-dark-panel {
	background: var(--rivenova-navy);
	color: var(--rivenova-white);
	border: 1px solid rgba(66, 229, 245, 0.28);
	border-radius: var(--rineova-radius-lg);
}

/* Hero */
.wp-block-cover.is-style-rineova-hero {
	min-height: min(82vh, 720px);
	border-radius: 0;
}

.wp-block-cover.is-style-rineova-hero .wp-block-cover__inner-container {
	max-width: 40rem;
}

.wp-block-cover.is-style-rineova-hero .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(105deg, rgba(4, 20, 38, 0.9) 0%, rgba(7, 28, 51, 0.62) 38%, rgba(7, 28, 51, 0.28) 68%, rgba(7, 28, 51, 0.12) 100%) !important;
}

.wp-block-cover.is-style-rineova-hero .wp-block-cover__image-background {
	object-position: right center;
}

.wp-block-cover.is-style-rineova-hero .wp-block-cover__inner-container,
.wp-block-cover.is-style-rineova-hero h1,
.wp-block-cover.is-style-rineova-hero .wp-block-cover__inner-container > p {
	color: var(--rivenova-white);
}

.rineova-hero-eyebrow {
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 0.8125rem;
	color: var(--rivenova-cyan) !important;
	margin-bottom: 0.75rem;
}

.rineova-hero-support {
	margin-top: 1.25rem;
	font-size: 0.875rem;
	color: var(--rivenova-white);
}

/* Trust strip */
.wp-block-columns.is-style-rineova-trust {
	gap: 1.25rem !important;
}

.rineova-trust-item {
	background: var(--rivenova-white);
	border: 1px solid var(--rivenova-border);
	border-radius: var(--rineova-radius-md);
	padding: 1.5rem;
	height: 100%;
	box-shadow: 0 8px 24px rgba(7, 20, 38, 0.05);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.rineova-trust-item:hover,
.rineova-trust-item:focus-within {
	border-color: rgba(36, 119, 243, 0.35);
	box-shadow: 0 12px 28px rgba(7, 20, 38, 0.08);
	transform: translateY(-2px);
}

.rineova-trust-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 1rem;
	border-radius: var(--rineova-radius-sm);
	background: rgba(52, 120, 246, 0.1);
	color: var(--rivenova-blue);
}

.rineova-trust-icon svg {
	width: 1.35rem;
	height: 1.35rem;
	display: block;
}

/* Category cards */
.wp-block-columns.is-style-rineova-category-grid {
	gap: 1.25rem !important;
}

.rineova-category-card {
	position: relative;
	overflow: hidden;
	border-radius: var(--rineova-radius-lg);
	min-height: 280px;
	isolation: isolate;
	border: 1px solid var(--rivenova-border);
	box-shadow: 0 10px 28px rgba(7, 20, 38, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.rineova-category-card:hover,
.rineova-category-card:focus-within {
	transform: translateY(-3px);
	box-shadow: 0 18px 36px rgba(7, 20, 38, 0.14);
}

.rineova-category-card .wp-block-cover {
	min-height: 280px;
}

.rineova-category-card .wp-block-cover__image-background {
	transition: transform 0.45s ease;
}

.rineova-category-card:hover .wp-block-cover__image-background,
.rineova-category-card:focus-within .wp-block-cover__image-background {
	transform: scale(1.04);
}

.rineova-category-card .wp-block-cover__inner-container {
	padding: 1.5rem;
}

.rineova-category-card h3 {
	margin: 0 0 0.5rem;
	color: var(--rivenova-white);
}

.rineova-category-card p {
	margin: 0 0 1rem;
	color: rgba(247, 251, 255, 0.88);
	font-size: 0.9375rem;
}

.rineova-category-card .wp-block-button__link {
	min-height: 2.75rem;
}

/* Featured products framing */
.rineova-featured-products {
	background: var(--rivenova-white);
	border: 1px solid var(--rivenova-border);
	border-radius: var(--rineova-radius-lg);
	padding: clamp(1.5rem, 3vw, 2.5rem);
	box-shadow: 0 8px 24px rgba(7, 20, 38, 0.05);
}

.rineova-section-eyebrow {
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 0.8125rem;
	color: var(--rivenova-blue-hover);
	margin-bottom: 0.5rem;
}

.rineova-newsletter .rineova-section-eyebrow,
.is-style-rineova-dark-panel .rineova-section-eyebrow {
	color: var(--rivenova-cyan);
}

p.has-muted-text-color,
li.has-muted-text-color {
	color: var(--rivenova-text) !important;
}

.rineova-site-footer .has-muted-text-color,
.rineova-site-footer p.has-muted-text-color,
.rineova-site-footer li.has-muted-text-color {
	color: var(--rivenova-white) !important;
}

/* Quality feature list */
.rineova-feature-list {
	display: grid;
	gap: 0.85rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.rineova-feature-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.9rem 1rem;
	border: 1px solid var(--rivenova-border);
	border-radius: var(--rineova-radius-sm);
	background: var(--rivenova-surface);
}

.rineova-feature-list .rineova-feature-marker {
	flex: 0 0 auto;
	width: 0.55rem;
	height: 0.55rem;
	margin-top: 0.45rem;
	border-radius: 50%;
	background: var(--rivenova-cyan);
}

/* Research notice */
.rineova-research-notice {
	border: 1px solid var(--rivenova-border);
	border-left: 4px solid var(--rivenova-cyan-mid);
	background: var(--rivenova-surface);
	color: var(--rivenova-text);
	border-radius: var(--rineova-radius-md);
	padding: clamp(1.25rem, 3vw, 2rem);
}

/* Newsletter presentation */
.rineova-newsletter {
	background: var(--rivenova-navy);
	border: 1px solid rgba(66, 229, 245, 0.28);
	border-radius: var(--rineova-radius-lg);
	padding: clamp(1.75rem, 4vw, 3rem);
	color: var(--rivenova-white);
}

.rineova-newsletter-form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.75rem;
	margin-top: 1.25rem;
	max-width: 34rem;
}

.rineova-newsletter-form label {
	display: block;
	grid-column: 1 / -1;
	font-size: 0.875rem;
	font-weight: 500;
	margin-bottom: -0.25rem;
}

.rineova-newsletter-form input[type="email"] {
	width: 100%;
	min-height: 3rem;
	padding: 0.75rem 1rem;
	border: 1px solid rgba(93, 226, 231, 0.28);
	border-radius: var(--rineova-radius-sm);
	background: rgba(255, 255, 255, 0.06);
	color: var(--rivenova-white);
}

.rineova-newsletter-form input[type="email"]::placeholder {
	color: rgba(247, 251, 255, 0.55);
}

.rineova-newsletter-form button {
	min-height: 3rem;
	min-width: 8rem;
	padding: 0.75rem 1.25rem;
	border: 0;
	border-radius: var(--rineova-radius-sm);
	background: var(--rivenova-blue);
	color: var(--rivenova-white);
	font-weight: 600;
	cursor: pointer;
}

.rineova-newsletter-form button:hover,
.rineova-newsletter-form button:focus-visible {
	background: var(--rivenova-blue-hover);
}

.rineova-newsletter-note {
	margin-top: 0.85rem;
	font-size: 0.8125rem;
	color: rgba(247, 251, 255, 0.7);
}

@media (max-width: 600px) {
	.rineova-newsletter-form {
		grid-template-columns: 1fr;
	}
}

/* Brand story media */
.rineova-brand-media {
	overflow: hidden;
	border-radius: var(--rineova-radius-lg);
	border: 1px solid var(--rivenova-border);
	box-shadow: 0 12px 32px rgba(7, 20, 38, 0.1);
}

.rineova-brand-media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Responsive */
@media (max-width: 1100px) {
	.rineova-header-cta {
		display: none !important;
	}

	.rineova-header-actions .wp-block-search {
		max-width: 11rem;
	}
}

@media (max-width: 900px) {
	.rineova-site-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.rineova-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.rineova-header-inner {
		flex-wrap: nowrap;
		gap: 0.35rem 0.5rem;
	}

	.rineova-header-actions {
		order: 2;
		margin-left: auto;
	}

	.rineova-header-inner > .wp-block-navigation {
		order: 3;
		flex: 0 0 auto;
		justify-content: flex-end;
	}
}

@media (max-width: 781px) {
	.wp-block-cover.is-style-rineova-hero {
		min-height: min(88vh, 640px);
	}

	.wp-block-cover.is-style-rineova-hero .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(4, 20, 38, 0.92) 0%, rgba(7, 28, 51, 0.78) 58%, rgba(7, 28, 51, 0.45) 100%) !important;
	}

	.rineova-trust-item {
		margin-bottom: 0;
	}

	.rineova-header-actions .wp-block-search {
		display: none;
	}

	.is-style-rineova-hero .wp-block-buttons {
		flex-direction: column;
		align-items: flex-start;
	}

	.is-style-rineova-hero .wp-block-button,
	.is-style-rineova-hero .wp-block-button__link {
		width: 100%;
	}

	.is-style-rineova-hero .wp-block-button__link {
		justify-content: center;
		text-align: center;
	}
}

/* Reduced 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;
	}

	.rineova-category-card:hover .wp-block-cover__image-background,
	.rineova-category-card:focus-within .wp-block-cover__image-background {
		transform: none;
	}

	.wp-element-button:hover,
	.wp-block-button__link:hover,
	.rineova-trust-item:hover,
	.rineova-category-card:hover {
		transform: none;
	}
}

.rineova-is-hidden {
	display: none !important;
}

/* Prevent horizontal overflow */
html,
body {
	overflow-x: clip;
}

.wp-site-blocks {
	padding: 0;
}

/*
 * Top-level template parts (announcement, header, main, footer) sit flush.
 * WordPress applies root blockGap as margin between .wp-site-blocks children;
 * that reads as white bars against the light page background.
 */
body.rineova-labs .wp-site-blocks > *,
body.rineova-labs .wp-site-blocks > * + * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

body.rineova-labs .wp-site-blocks > aside.wp-block-template-part,
body.rineova-labs .wp-site-blocks > header.wp-block-template-part {
	display: block;
	background-color: var(--rivenova-navy);
}

body.rineova-labs .wp-site-blocks > aside.wp-block-template-part:has(.rineova-announcement-bar) {
	background-color: var(--rivenova-navy-deep);
}

.rineova-main,
.rineova-main > .wp-block-post-content,
.rineova-main > .wp-block-post-content > *:first-child,
.rineova-main .wp-block-cover.alignfull {
	margin-block-start: 0 !important;
}

.rineova-main > .wp-block-post-content > .wp-block-cover.alignfull:first-child {
	margin-top: 0 !important;
}

/* Brand logo */
.rivenova-brand {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	text-decoration: none;
	padding: 8px 20px;
	max-width: 100%;
}

.rivenova-brand:hover,
.rivenova-brand:focus-visible {
	text-decoration: none;
}

.rivenova-brand picture,
.rivenova-brand__wordmark,
.rivenova-brand img {
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}

.rivenova-brand--header .rivenova-brand__wordmark img,
.rivenova-brand--light .rivenova-brand__wordmark img {
	width: 240px;
	height: auto;
}

.rivenova-brand--footer .rivenova-brand__wordmark img {
	width: 200px;
	height: auto;
}

.rivenova-brand--stacked img {
	width: 180px;
	height: auto;
}

.rivenova-brand .rivenova-brand__icon {
	display: none;
}

.rivenova-brand--custom img {
	width: 240px;
	height: auto;
}

.rineova-site-header .wp-block-site-title,
.rineova-site-header .wp-block-site-logo,
.rineova-site-footer .wp-block-site-title,
.rineova-site-footer .wp-block-site-logo,
.wp-block-navigation__responsive-container .wp-block-site-title {
	display: none !important;
}

.rineova-site-header .wc-block-mini-cart__button,
.rineova-site-header .wc-block-customer-account a,
.rineova-site-header .wp-block-navigation__responsive-container-open {
	min-width: 44px;
	min-height: 44px;
}

.rineova-header-inner {
	align-items: center;
}

@media (max-width: 781px) {
	.rivenova-brand--header .rivenova-brand__wordmark img,
	.rivenova-brand--custom.rivenova-brand--header img {
		width: 210px;
	}
}

@media (max-width: 380px) {
	.rivenova-brand--header:not(.rivenova-brand--custom) .rivenova-brand__wordmark {
		display: none;
	}

	.rivenova-brand--header:not(.rivenova-brand--custom) .rivenova-brand__icon {
		display: block;
	}

	.rivenova-brand--header:not(.rivenova-brand--custom) .rivenova-brand__icon img {
		width: 40px;
		height: 40px;
	}

	.rivenova-brand--custom.rivenova-brand--header img {
		width: 132px;
	}

	.rineova-announcement-bar p {
		font-size: 0.875rem;
	}
}
