/*
Theme Name:     Otter Blocks Digital Child
Theme URI:      https://otterblocks.digital/
Author:         Otter Blocks Digital
Author URI:     https://otterblocks.digital/
Description:    Client child theme for the Otter Blocks Digital framework.
Version:        1.0.0
Template:       otter-blocks-digital
Text Domain:    otter-blocks-digital-child
*/

:root {
	--lrs-primary: #0a2540;
	--lrs-primary-deep: #000f22;
	--lrs-accent: #3ab8fe;
	--lrs-accent-dark: #006491;
	--lrs-emergency: #ff3c30;
	--lrs-surface: #faf8ff;
	--lrs-surface-soft: #f2f3ff;
	--lrs-text: #0f1b34;
	--lrs-muted: #43474d;
	--lrs-line: #e2e8f0;
	--lrs-radius: 4px;
	--lrs-shadow-soft: 0 2px 4px rgba(10, 37, 64, 0.05);
	--lrs-shadow-overlay: 0 10px 20px rgba(10, 37, 64, 0.1);
}

body {
	background: var(--lrs-surface);
	color: var(--lrs-text);
	font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: 0;
}

body,
button,
input,
select,
textarea {
	font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
	color: var(--lrs-accent-dark);
	text-underline-offset: 0.2em;
}

a:hover,
a:focus {
	color: var(--lrs-accent);
}

.wp-site-blocks {
	background: var(--lrs-surface);
}

.wp-site-blocks > header,
.wp-block-template-part[area="header"],
header.wp-block-template-part {
	background: rgba(255, 255, 255, 0.96);
	color: var(--wp--custom--nav--top--color, var(--lrs-primary-deep));
	position: relative;
	z-index: 10;
}

header.wp-block-template-part.scroll,
header.site-header.scroll,
.site-header.scroll {
	box-shadow: none;
}

:where(.wp-site-blocks > header, .wp-block-template-part[area="header"], header.wp-block-template-part) a:not(.wp-block-button__link) {
	text-decoration: none;
}

header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item > .wp-block-navigation-item__content,
header.site-header .wp-block-navigation .wp-block-navigation-item > .wp-block-navigation-item__content,
.site-header .wp-block-navigation .wp-block-navigation-item > .wp-block-navigation-item__content {
	color: inherit;
}

header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item__content::before,
header.site-header .wp-block-navigation .wp-block-navigation-item__content::before,
.site-header .wp-block-navigation .wp-block-navigation-item__content::before {
	background: var(--wp--custom--nav--top--color-hover, var(--wp--preset--color--secondary, var(--lrs-accent-dark)));
}

header.wp-block-template-part .wp-block-navigation .wp-block-navigation__responsive-container-open,
header.wp-block-template-part .wp-block-navigation .wp-block-navigation__responsive-container-close,
header.site-header .wp-block-navigation .wp-block-navigation__responsive-container-open,
header.site-header .wp-block-navigation .wp-block-navigation__responsive-container-close,
.site-header .wp-block-navigation .wp-block-navigation__responsive-container-open,
.site-header .wp-block-navigation .wp-block-navigation__responsive-container-close {
	background: transparent;
	background-color: transparent;
	color: var(--wp--custom--nav--mobile--burger-color, var(--wp--custom--nav--top--color, currentColor));
}

header.wp-block-template-part .wp-block-navigation .wp-block-navigation__responsive-container-open svg,
header.wp-block-template-part .wp-block-navigation .wp-block-navigation__responsive-container-open svg *,
header.wp-block-template-part .wp-block-navigation .wp-block-navigation__responsive-container-close svg,
header.wp-block-template-part .wp-block-navigation .wp-block-navigation__responsive-container-close svg *,
header.site-header .wp-block-navigation .wp-block-navigation__responsive-container-open svg,
header.site-header .wp-block-navigation .wp-block-navigation__responsive-container-open svg *,
header.site-header .wp-block-navigation .wp-block-navigation__responsive-container-close svg,
header.site-header .wp-block-navigation .wp-block-navigation__responsive-container-close svg *,
.site-header .wp-block-navigation .wp-block-navigation__responsive-container-open svg,
.site-header .wp-block-navigation .wp-block-navigation__responsive-container-open svg *,
.site-header .wp-block-navigation .wp-block-navigation__responsive-container-close svg,
.site-header .wp-block-navigation .wp-block-navigation__responsive-container-close svg * {
	color: currentColor;
	fill: currentColor !important;
	stroke: currentColor !important;
}

header.wp-block-template-part .wp-block-navigation .wp-block-navigation__responsive-container-open.is-mobile-menu-open,
header.wp-block-template-part .wp-block-navigation .wp-block-navigation__responsive-container-open[aria-expanded="true"],
header.wp-block-template-part .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
header.wp-block-template-part .wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-container-close,
header.site-header .wp-block-navigation .wp-block-navigation__responsive-container-open.is-mobile-menu-open,
header.site-header .wp-block-navigation .wp-block-navigation__responsive-container-open[aria-expanded="true"],
header.site-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
header.site-header .wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-container-close,
.site-header .wp-block-navigation .wp-block-navigation__responsive-container-open.is-mobile-menu-open,
.site-header .wp-block-navigation .wp-block-navigation__responsive-container-open[aria-expanded="true"],
.site-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
.site-header .wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-container-close {
	background: var(--wp--custom--nav--mobile--burger-background-active, transparent);
	background-color: var(--wp--custom--nav--mobile--burger-background-active, transparent);
	color: var(--wp--custom--nav--mobile--burger-color-active, var(--wp--custom--nav--mobile--burger-color, currentColor));
}

.wp-block-site-title,
.wp-block-site-title a {
	color: var(--lrs-primary-deep);
	font-weight: 800;
	letter-spacing: 0;
}

.wp-block-site-title a::first-letter {
	color: var(--lrs-primary-deep);
}

.wp-block-navigation {
	font-size: 0.875rem;
	font-weight: 500;
}

.lrs-hero-cover,
.is-style-lrs-hero-cover {
	background-color: var(--lrs-primary);
}

.lrs-hero-cover .wp-block-cover__background,
.is-style-lrs-hero-cover .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(10, 37, 64, 0.92) 0%, rgba(10, 37, 64, 0.72) 52%, rgba(0, 15, 34, 0.55) 100%);
	opacity: 1;
}

.block-slideshow .wp-block-cover .wp-block-cover__background {
	background-image: none;
}

.block-slideshow .wp-block-cover .wp-block-cover__background.has-background-dim-0 {
	opacity: 0;
}

.block-slideshow .wp-block-cover .wp-block-cover__background.has-background-dim-10 {
	opacity: 0.1;
}

.block-slideshow .wp-block-cover .wp-block-cover__background.has-background-dim-20 {
	opacity: 0.2;
}

.block-slideshow .wp-block-cover .wp-block-cover__background.has-background-dim-30 {
	opacity: 0.3;
}

.block-slideshow .wp-block-cover .wp-block-cover__background.has-background-dim-40 {
	opacity: 0.4;
}

.block-slideshow .wp-block-cover .wp-block-cover__background.has-background-dim-50 {
	opacity: 0.5;
}

.block-slideshow .wp-block-cover .wp-block-cover__background.has-background-dim-60 {
	opacity: 0.6;
}

.block-slideshow .wp-block-cover .wp-block-cover__background.has-background-dim-70 {
	opacity: 0.7;
}

.block-slideshow .wp-block-cover .wp-block-cover__background.has-background-dim-80 {
	opacity: 0.8;
}

.block-slideshow .wp-block-cover .wp-block-cover__background.has-background-dim-90 {
	opacity: 0.9;
}

.block-slideshow .wp-block-cover .wp-block-cover__background.has-background-dim-100 {
	opacity: 1;
}

.block-slideshow .block-slide > .block-slide__inner,
.block-slideshow .block-slide > .wp-block-group,
.block-slideshow .block-slide .block-slide__inner > .wp-block-group {
	background: transparent !important;
	background-color: transparent !important;
	border: 0;
	box-shadow: none;
}

.lrs-hero-cover h1,
.lrs-hero-cover h2,
.lrs-hero-cover h3,
.lrs-hero-cover p,
.is-style-lrs-hero-cover h1,
.is-style-lrs-hero-cover h2,
.is-style-lrs-hero-cover h3,
.is-style-lrs-hero-cover p {
	color: #ffffff;
}

.lrs-hero-cover h1,
.is-style-lrs-hero-cover h1 {
	font-size: 3rem;
	font-weight: 800;
	line-height: 1.1;
	max-width: 12em;
}

.lrs-hero-cover p,
.is-style-lrs-hero-cover p {
	max-width: 44rem;
}

.wp-block-button__link,
.wp-element-button,
button,
input[type="button"],
input[type="submit"] {
	align-items: center;
	background: var(--lrs-accent);
	border: 1px solid var(--lrs-accent);
	border-radius: var(--lrs-radius);
	color: #ffffff;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	min-height: 44px;
	padding: 0.875rem 1.25rem;
	text-decoration: none;
	transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline,
.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 1px solid currentColor;
	box-sizing: border-box;
	color: var(--lrs-primary);
	line-height: 1;
	min-height: 44px;
	padding: 0.875rem 1.25rem;
}

.wp-block-cover .wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-cover .wp-block-button .wp-block-button__link.is-style-outline,
.wp-block-cover .is-style-outline > .wp-block-button__link {
	color: #ffffff;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus,
.wp-block-button .wp-block-button__link.is-style-outline:hover,
.wp-block-button .wp-block-button__link.is-style-outline:focus,
.is-style-outline > .wp-block-button__link:hover,
.is-style-outline > .wp-block-button__link:focus {
	border-width: 1px;
}

.wp-block-button.is-style-emergency > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-emergency,
.has-tertiary-background-color {
	background-color: var(--lrs-emergency);
	border: 1px solid var(--lrs-emergency);
	box-sizing: border-box;
	color: #ffffff;
	line-height: 1;
	min-height: 44px;
	padding: 0.875rem 1.25rem;
}

.wp-block-button.is-style-emergency > .wp-block-button__link:hover,
.wp-block-button.is-style-emergency > .wp-block-button__link:focus,
.wp-block-button .wp-block-button__link.is-style-emergency:hover,
.wp-block-button .wp-block-button__link.is-style-emergency:focus {
	background-color: #d9281f;
	border-color: #d9281f;
	color: #ffffff;
	transform: none;
}

.is-style-arrow > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-arrow {
	background: transparent;
	border: 0;
	color: var(--lrs-accent-dark);
	min-height: 0;
	padding: 0;
}

.is-style-arrow > .wp-block-button__link::after,
.wp-block-button .wp-block-button__link.is-style-arrow::after {
	content: "->";
	margin-left: 0.5rem;
}

.wp-block-accordion-item {
	border: 1px solid;
	border-radius: 4px;
	padding: 1rem;
}

.wp-block-accordion-item .wp-block-accordion-panel {
	box-sizing: border-box;
	overflow: hidden;
	will-change: height, opacity;
}

.wp-block-accordion-heading__toggle {
	cursor: pointer;
}

.wp-block-group.has-background,
.wp-block-column.has-background,
.wp-block-media-text.has-background {
	border-radius: var(--lrs-radius);
}

.wp-block-group.has-white-background-color,
.wp-block-group.has-base-background-color,
.wp-block-column.has-white-background-color,
.wp-block-column.has-base-background-color {
	border: 1px solid var(--lrs-line);
	box-shadow: var(--lrs-shadow-soft);
}

.wp-block-columns {
	gap: 1.5rem;
}

.wp-block-column {
	min-width: 0;
}

.wp-block-query .wp-block-post,
.wp-block-post-template .wp-block-post,
.wp-block-latest-posts li,
.wp-block-media-text {
	border-color: var(--lrs-line);
}

.service-archive-template .wp-block-post-template {
	align-items: stretch;
}

.service-archive-template .wp-block-post-template .wp-block-post {
	display: flex;
	min-width: 0;
}

.service-archive-template .wp-block-post-template .wp-block-post > article.wp-block-group {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 100%;
	overflow: hidden;
}

.service-archive-template .wp-block-post-featured-image {
	flex: 0 0 auto;
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.service-archive-template .wp-block-post-featured-image a,
.service-archive-template .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
}

.service-archive-template .wp-block-post-featured-image a {
	display: flex;
	align-items: center;
	justify-content: center;
}

.service-archive-template .wp-block-post-featured-image img {
	object-fit: cover;
}

.service-archive-template .wp-block-post-featured-image img[src$=".svg"],
.service-archive-template .wp-block-post-featured-image img[src*=".svg?"],
.service-archive-template .wp-block-post-featured-image svg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain !important;
}

.service-archive-template .wp-block-post-title {
	flex: 0 0 auto;
}

.service-archive-template .wp-block-post-excerpt {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.service-archive-template .wp-block-post-excerpt__excerpt {
	margin-bottom: 1.25rem;
}

.service-archive-template .wp-block-post-excerpt__more-text {
	margin-top: auto;
	margin-bottom: 0;
}

.wp-block-post-title,
h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--lrs-primary-deep);
	font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 700;
	letter-spacing: 0;
}

p {
	color: var(--lrs-muted);
}

.has-text-color p,
.wp-block-post-excerpt.has-text-color .wp-block-post-excerpt__excerpt {
	color: inherit;
}

.otterblocks-kicker,
.is-style-kicker,
.is-style-label,
.wp-block-heading.is-style-label,
.lrs-kicker {
	color: var(--lrs-accent-dark);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	text-transform: uppercase;
}

.wp-block-list {
	color: var(--lrs-muted);
}

.wp-block-list li::marker {
	color: var(--lrs-accent-dark);
}

input,
select,
textarea {
	background: #ffffff;
	border: 1px solid #c4c6ce;
	border-radius: var(--lrs-radius);
	color: var(--lrs-text);
	font-size: 1rem;
	line-height: 1.5;
	padding: 0.875rem 1rem;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--lrs-accent);
	box-shadow: 0 0 0 3px rgba(58, 184, 254, 0.2);
	outline: none;
}

.wp-site-blocks > footer,
.wp-block-template-part[area="footer"],
footer.wp-block-template-part {
	background: var(--lrs-primary);
	color: #ffffff;
}

.wp-site-blocks > footer a,
.wp-site-blocks > footer p,
.wp-site-blocks > footer h1,
.wp-site-blocks > footer h2,
.wp-site-blocks > footer h3,
.wp-site-blocks > footer h4,
.wp-block-template-part[area="footer"] a,
.wp-block-template-part[area="footer"] p,
.wp-block-template-part[area="footer"] h1,
.wp-block-template-part[area="footer"] h2,
.wp-block-template-part[area="footer"] h3,
.wp-block-template-part[area="footer"] h4,
footer.wp-block-template-part a,
footer.wp-block-template-part p,
footer.wp-block-template-part h1,
footer.wp-block-template-part h2,
footer.wp-block-template-part h3,
footer.wp-block-template-part h4 {
	color: #ffffff;
}

.wp-site-blocks > footer a:hover,
.wp-site-blocks > footer a:focus,
.wp-block-template-part[area="footer"] a:hover,
.wp-block-template-part[area="footer"] a:focus,
footer.wp-block-template-part a:hover,
footer.wp-block-template-part a:focus {
	color: var(--lrs-accent);
}

@media (min-width: 1025px) {
	.hide-on-desktop,
	.is-hidden-desktop {
		display: none !important;
	}
}

@media (min-width: 782px) and (max-width: 1024px) {
	.hide-on-tablet,
	.is-hidden-tablet,
	.hide-on-tablet-mobile,
	.is-hidden-tablet-mobile {
		display: none !important;
	}
}

@media (max-width: 781px) {
	.hide-on-mobile,
	.is-hidden-mobile,
	.hide-on-tablet-mobile,
	.is-hidden-tablet-mobile {
		display: none !important;
	}

	.wp-site-blocks {
		--wp--style--root--padding-left: 1rem;
		--wp--style--root--padding-right: 1rem;
	}

	.lrs-hero-cover,
	.is-style-lrs-hero-cover {
		min-height: 520px;
	}

	.lrs-hero-cover h1,
	.is-style-lrs-hero-cover h1 {
		font-size: 2rem;
	}

	.wp-block-button__link,
	.wp-element-button {
		width: 100%;
	}
}
