/*
Theme Name: Whiterail FSE
Theme URI: https://github.com/business-gray/whiterail_fse_theme
Author: Gray Ayer and Mateus Lara
Author URI: https://whiterailreviews.com/
Description: This theme is forked from Frost, a free block-based theme built for the WordPress Full Site Editing experience. Frost is designed to be a starting point for building your own custom theme, with a focus on simplicity, flexibility, and performance.
Tags: block-patterns, block-styles, custom-colors, custom-logo, custom-menu, editor-style, full-site-editing, one-column, template-editing, threaded-comments, translation-ready, wide-blocks
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.28.0
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: frost
*/


/* Defaults
---------------------------------------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--wr-header-offset, 0rem) + var(--wr-subnav-offset, 0rem) + var(--wp--preset--spacing--x-small));
}

a,
button,
input:focus,
input[type="button"],
input[type="submit"],
textarea:focus,
.wp-element-button {
	transition: all 0.2s ease-in-out;
}

a,
a:focus,
a:hover,
a:not(.wp-element-button) {
	text-decoration-thickness: 1px;
}

b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--medium);
}

mark {
	font-size: var(--wp--preset--font-size--small);
	font-weight: var(--wp--custom--font-weight--regular);
	padding: 5px 8px;
}

/* -- Forms -- */

input,
select,
textarea {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: 0;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--font-weight--light);
	line-height: var(--wp--custom--line-height--body);
	padding: 10px 20px;
	width: 100%;
}

input:focus,
textarea:focus {
	background-color: var(--wp--preset--color--neutral);
}

/* UA focus ring left in place — adapts to any surface and any style variation. */

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
}

::placeholder {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.5;
}

/* -- Kadence Advanced Form (contact section) -- */

.wp-block-kadence-advanced-form .kb-advanced-form input.kb-field:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.wp-block-kadence-advanced-form .kb-advanced-form .kb-adv-form-field > select,
.wp-block-kadence-advanced-form .kb-advanced-form textarea.kb-field {
	min-height: 3.5rem;
	padding: 0.875rem 1.25rem;
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--wp--custom--line-height--body);
}

.wp-block-kadence-advanced-form .kb-advanced-form textarea.kb-field {
	min-height: 9rem;
}

.wp-block-kadence-advanced-form .kb-advanced-form .kb-adv-form-field .kb-adv-form-label {
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: 0.5rem;
}

/* Blocks
---------------------------------------- */

/* -- Navigation -- */

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--custom--spacing--gap);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: var(--wp--custom--spacing--gap);
}

.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
	border: 1px solid currentColor;
	padding: 2px;
}

.has-background .wp-block-navigation__responsive-container-open:focus,
.has-background .wp-block-navigation__responsive-container-open:hover {
	color: var(--wp--preset--color--base);
}

/* -- Navigation Submenu -- */

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--contrast);
	border: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding: 10px;
}

.wp-block-navigation :where(.wp-block-navigation__submenu-container) a {
	padding: 2px 10px;
}

/* Utility
---------------------------------------- */

/* -- Box Shadow -- */

.is-style-shadow-light {
	box-shadow: var(--wp--preset--shadow--light);
}

.is-style-shadow-solid {
	box-shadow: var(--wp--preset--shadow--solid);
}

/* Lists
---------------------------------------- */

ul.is-style-columns-2,
ul.is-style-columns-3 {
	column-gap: var(--wp--preset--spacing--large);
}

ul.is-style-columns-2 {
	columns: 2;
}

ul.is-style-columns-3 {
	columns: 3;
}

ul.is-style-columns-2 li,
ul.is-style-columns-3 li {
	break-inside: avoid;
}

ul.is-style-columns-4 {
	columns: 4;
	column-gap: var(--wp--preset--spacing--x-small);
	list-style-type: none;
	padding-left: 0;
	text-align: center;
}

ul.is-style-columns-4 li {
	break-inside: avoid;
}

/* Media Queries
---------------------------------------- */

@media only screen and (max-width: 600px) {

	/* -- Utility -- */

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

	/* -- Lists -- */

	ul.wp-block-list.is-style-columns-2,
	ul.wp-block-list.is-style-columns-3 {
		columns: 1;
	}

}

@media only screen and (max-width: 782px) {

	/* -- Columns -- */

	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}

	/* -- Lists -- */

	ul.is-style-columns-3 {
		columns: 2;
	}

	ul.is-style-columns-4 {
		columns: 2;
	}

}

@media only screen and (min-width: 48.875rem) {

	/* -- Columns -- */

	.wp-block-columns.is-style-wr-swap {
		flex-direction: row-reverse;
	}

	/* Sticky media: keep the image column in view while a taller text column scrolls. */
	.wp-block-columns.is-style-wr-sticky-media > .wp-block-column:has(> .wp-block-image) {
		align-self: flex-start;
		position: sticky;
		top: calc(var(--wr-header-offset, 6rem) + var(--wp--preset--spacing--small, 1rem));
	}

}

/* -- Motion -- */

.wr-motion .wr-animate:not(.is-in) > *:not(.wp-block-cover__background):not(.wp-block-cover__image-background):not(.wp-block-cover__video-background) {
	opacity: 0;
	transform: translateY(1.25rem);
}

.wr-motion .wr-animate > * {
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.wr-motion .wr-animate.is-in > * {
	opacity: 1;
	transform: none;
}

.wr-motion .wr-animate > *:nth-child(1) {
	transition-delay: 0s;
}

.wr-motion .wr-animate > *:nth-child(2) {
	transition-delay: 0.08s;
}

.wr-motion .wr-animate > *:nth-child(3) {
	transition-delay: 0.16s;
}

.wr-motion .wr-animate > *:nth-child(4) {
	transition-delay: 0.24s;
}

.wr-motion .wr-animate > *:nth-child(5) {
	transition-delay: 0.32s;
}

.wr-motion .wr-animate > *:nth-child(n+6) {
	transition-delay: 0.4s;
}

@keyframes wr-cta-breathe {
	0% { filter: brightness(1); }
	50% { filter: brightness(1.12); }
	100% { filter: brightness(1); }
}

@keyframes wr-cta-pulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.04); }
	100% { transform: scale(1); }
}

.wr-motion .wr-cta-emergency.wr-animate.is-in {
	animation: wr-cta-breathe 1.4s ease-out 1;
}

.wr-motion .wr-cta-emergency.wr-animate.is-in .wr-btn-phone .wp-block-button__link {
	animation: wr-cta-pulse 0.9s ease-out 0.4s 1;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	a,
	button,
	input:focus,
	input[type="button"],
	input[type="submit"],
	textarea:focus,
	.wp-element-button {
		transition: none;
	}

	.wr-motion .wr-animate:not(.is-in) > * {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.wr-motion .wr-cta-emergency.wr-animate.is-in,
	.wr-motion .wr-cta-emergency.wr-animate.is-in .wr-btn-phone .wp-block-button__link {
		animation: none !important;
	}
}

/* -- Header -- */

.wr-header--fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	padding-top: var(--wr-header-pad, var(--wp--preset--spacing--x-small)) !important;
	padding-bottom: var(--wr-header-pad, var(--wp--preset--spacing--x-small)) !important;
}

body.admin-bar .wr-header--fixed {
	top: var(--wp-admin--admin-bar--height, 2rem);
}

@media only screen and (max-width: 37.5rem) {

	body.admin-bar .wr-header--fixed {
		top: 0;
	}

}

.wr-topbar .wp-block-button__link {
	background: transparent;
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	font-size: inherit;
}

/* Shrink metrics (--wr-header-shrink-range, --wr-header-logo-h-scrolled,
   --wr-header-pad-scrolled) inherit from any ancestor; JS supplies fallbacks. */

.wr-header--fixed .wp-block-site-logo img {
	height: var(--wr-header-logo-h, auto);
	width: auto;
}

.wp-block-group.wr-header-split {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	column-gap: var(--wp--preset--spacing--x-small);
}

.wr-header-sticky nav.wr-only-mobile {
	display: none;
}

@keyframes wr-overlay-in {

	from {
		opacity: 0;
		transform: translateY(-0.75rem);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}

}

@keyframes wr-item-in {

	from {
		opacity: 0;
		transform: translateY(0.5rem);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}

}

@keyframes wr-close-in {

	from {
		transform: rotate(-90deg) scale(0.6);
	}

	to {
		transform: rotate(0) scale(1);
	}

}

.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container {
	opacity: 0;
	transition: opacity 0.2s ease, display 0.2s allow-discrete;
}

.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container.is-menu-open {
	opacity: 1;
	animation: wr-overlay-in 0.28s ease-out;
}

@starting-style {

	.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container.is-menu-open {
		opacity: 0;
	}

}

.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item {
	animation: wr-item-in 0.3s ease-out both;
}

.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item:nth-child(1) {
	animation-delay: 0s;
}

.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item:nth-child(2) {
	animation-delay: 0.06s;
}

.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item:nth-child(3) {
	animation-delay: 0.12s;
}

.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item:nth-child(4) {
	animation-delay: 0.18s;
}

.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item:nth-child(5) {
	animation-delay: 0.24s;
}

.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item:nth-child(6) {
	animation-delay: 0.3s;
}

.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item:nth-child(7) {
	animation-delay: 0.36s;
}

.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item:nth-child(8),
.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item:nth-child(n+8) {
	animation-delay: 0.42s;
}

.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--x-large);
}

.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-open,
.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-close {
	width: 2.75rem;
	height: 2.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease;
}

.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-open {
	color: var(--wp--preset--color--base);
}

.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-open:hover,
.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-close:hover {
	transform: scale(1.1);
}

.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-open:active {
	transform: scale(0.92);
}

.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-close {
	top: 0;
	right: 0;
	color: currentColor;
}

.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-close svg {
	fill: currentColor;
}

.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation__responsive-container-close {
	animation: wr-close-in 0.3s ease-out;
}

@media only screen and (max-width: 48rem) {

	.wr-hide-mobile {
		display: none !important;
	}

	.wr-header-sticky nav.wr-only-mobile {
		display: flex;
	}

	.wp-block-group.wr-header-split {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

}

@media (prefers-reduced-motion: reduce) {

	.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container,
	.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-open,
	.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-close {
		transition: none !important;
	}

	.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container.is-menu-open,
	.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation__responsive-container-close,
	.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item {
		animation: none !important;
	}

	.wr-header-sticky nav.wr-only-mobile .is-menu-open .wp-block-navigation-item {
		animation: none;
		opacity: 1;
	}

}

/* Footer
---------------------------------------- */

.wr-footer-bar a {
	color: currentColor;
}

.wr-footer-legal-bar a {
	color: currentColor;
}

.wr-footer-bar h2 {
	font-size: 1.5rem;
	line-height: 1.2;
}

.wr-footer-legal a {
	text-decoration: underline;
}

@media only screen and (min-width: 48.0625rem) and (max-width: 64rem) {

	.wp-block-columns.wr-footer-columns {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.wp-block-columns.wr-footer-columns > .wp-block-column {
		flex-basis: auto;
		min-width: 0;
	}

}

.wr-payment-badges {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

/*
 * Font Awesome Free 6 payment-mark icons (Bitcoin, Visa, Mastercard, Discover,
 * American Express, Cash) embedded as inline SVG in the footer-utility-columns pattern.
 * Copyright: Fonticons, Inc.
 * Source: https://fontawesome.com/
 * License: Font Awesome Free 6 icons — CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
 * Paths used unmodified except for the removed fill attribute so icons inherit currentColor.
 */
.wr-payment-badges li svg {
	width: 1.75rem;
	height: 1.75rem;
	fill: currentColor;
}

.wr-hours-table table {
	border-collapse: collapse;
	width: 100%;
}

.wr-hours-table td,
.wr-hours-table th {
	border: none;
	padding: 0.3125rem;
}

figure.wr-hours-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: color-mix(in srgb, var(--wp--preset--color--base) 8%, transparent);
}

figure.wr-hours-table th {
	text-align: left;
}

.wr-contact-row .wp-block-button__link {
	background: transparent;
	padding: 0;
	font-weight: 400;
	color: inherit;
	font-family: var(--wp--preset--font-family--body);
	text-transform: none;
	letter-spacing: normal;
	text-align: left;
}

.wr-contact-row .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 1rem;
	height: 1rem;
	margin-right: 0.375rem;
	vertical-align: -0.125rem;
	background-color: currentColor;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.wr-contact-row--pin .wp-block-button__link::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
}

.wr-contact-row--phone .wp-block-button__link::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
}

.wr-contact-row--mail .wp-block-button__link::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

.wr-footer-legal-bar .wr-footer-social .wp-block-social-link a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.125rem;
	height: 3.125rem;
	padding: 0;
	border-radius: 10%;
}

.wr-footer-legal-bar .wr-footer-social .wp-block-social-link svg {
	width: 1.5625rem;
	height: 1.5625rem;
}

/* -- Star rating -- */

/* Five-star glyphs for the wr-star-rating paragraph (color/size come from the block's own presets). */
.wr-star-rating::before {
	content: "★★★★★";
	content: "★★★★★" / "";
	letter-spacing: 0.1em;
	line-height: 1;
}

/* -- Framed group -- */

/* core/group "Framed" block style (is-style-wr-framed): left rule + inset for image/text boxes in grids. */
.wp-block-group.is-style-wr-framed {
	padding: 0.625rem;
	border-left: 0.1875rem solid currentColor;
}

/* -- FAQ accordion -- */

/*
 * core/details "FAQ" block style (is-style-wr-faq): rounded question bar on the
 * contrast color, answer in a bordered box. Plus/minus icons are Font Awesome
 * Free 6 solid glyphs as SVG mask data URIs. Copyright: Fonticons, Inc.
 * Source: https://fontawesome.com/ — License: Font Awesome Free 6 icons — CC BY 4.0
 * (https://creativecommons.org/licenses/by/4.0/). Paths unmodified, fill omitted.
 */
.wp-block-details.is-style-wr-faq {
	border: 0.0625rem solid var(--wp--preset--color--neutral);
	border-radius: 0.625rem;
}

.wp-block-details.is-style-wr-faq > summary {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.625rem;
	border-radius: 0.625rem;
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--secondary);
	transition: color 0.15s ease;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: var(--wp--custom--font-weight--semi-bold);
	line-height: var(--wp--custom--line-height--medium);
	list-style: none;
	cursor: pointer;

	&:hover,
	&:focus-visible {
		color: var(--wp--preset--color--primary);
	}
}

.wp-block-details.is-style-wr-faq > summary::-webkit-details-marker {
	display: none;
}

.wp-block-details.is-style-wr-faq > summary::before {
	content: "";
	flex: none;
	width: 0.8125rem;
	height: 0.8125rem;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.wp-block-details.is-style-wr-faq[open] > summary::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z'/%3E%3C/svg%3E");
}

.wp-block-details.is-style-wr-faq > :not(summary) {
	margin-inline: 0.625rem;
}

.wp-block-details.is-style-wr-faq > summary + * {
	margin-block-start: 0.625rem;
}

.wp-block-details.is-style-wr-faq > :last-child:not(summary) {
	margin-block-end: 0.625rem;
}


/* -- Checks list -- */

/* core/list "Checks" block style (is-style-wr-checks): orange check bullets via mask. */
.wp-block-list.is-style-wr-checks {
	list-style: none;
	padding-inline-start: 0;
}

.wp-block-list.is-style-wr-checks > li {
	position: relative;
	padding-inline-start: 1.75em;
	margin-block: 0.375em;
}

.wp-block-list.is-style-wr-checks > li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0.3em;
	width: 1em;
	height: 1em;
	background-color: var(--wp--preset--color--primary);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E") center / contain no-repeat;
}

:is(.is-style-section-dark, .has-contrast-background-color, .wp-block-cover:not(.is-light), .wr-hero-bento__content) .wp-block-list.is-style-wr-checks > li::before {
	background-color: var(--wp--preset--color--secondary);
}

/* -- Icon grid -- */

/* .wr-icon-grid rules live in assets/css/icon-grid.css (enqueued on front + editor). */

/* -- Hero bento -- */

.wr-hero-bento {
	position: relative;
}

.wr-hero-bento__mosaic {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.625rem;
}

.wr-hero-bento__mosaic > * {
	margin: 0;
}

.wr-hero-bento__mosaic > :nth-child(1) {
	grid-column: 1 / 4;
}

.wr-hero-bento__mosaic > :nth-child(2) {
	grid-column: 4 / 6;
}

.wr-hero-bento__mosaic > :nth-child(3) {
	grid-column: 1 / 3;
}

.wr-hero-bento__mosaic > :nth-child(4) {
	grid-column: 3 / 6;
}

.wr-hero-bento__panel {
	position: relative;
	overflow: hidden;
	height: 18.75rem;
	min-width: 0;
	gap: 0;
}

.wr-hero-bento__panel.wp-block-gallery.has-nested-images {
	display: block;
}

.wr-hero-bento__panel.wp-block-gallery.has-nested-images figure.wp-block-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.wr-hero-bento__panel img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 500ms;
}

.wr-hero-bento__panel .is-active img {
	opacity: 1;
}

@supports selector(:has(*)) {
	.wr-hero-bento__panel:not(:has(.is-active)) > .wp-block-image:first-child img {
		opacity: 1;
	}
}

.wr-hero-bento__mosaic::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(27, 42, 65, 0.5);
	pointer-events: none;
}

.wr-hero-bento .wr-hero-bento__content {
	margin-block-start: 0;
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
}

.wr-hero-bento__content p:empty {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.wr-hero-bento__panel img {
		transition: none !important;
	}
}

/* Reviews widget block: the embed fills the block width; the vendor iframe resizes its own height. */
.wp-block-whiterail-reviews-embed iframe {
	display: block;
	width: 100%;
	border: 0;
}

/* Map embed block: full block width; the iframe height attribute sets the height. */
.wp-block-whiterail-map-embed iframe {
	display: block;
	width: 100%;
	border: 0;
}

/* Visual service-area radius overlay on a map embed (not geographic). */
.wr-map-radius {
	position: relative;
}

.wr-map-radius > * {
	display: block;
}

.wr-map-radius::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: auto;
	height: auto;
	max-width: 62%;
	max-height: 85%;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 0.125rem solid var(--wp--preset--color--primary);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 18%, transparent);
	pointer-events: none;
}

/* -- Section seams -- */

.wp-block-post-content > .alignfull {
	margin-block-start: 0;
}

.wp-site-blocks:has(.wp-block-post-content > .alignfull:last-child) > footer {
	margin-block-start: 0;
}

/* -- Screen reader -- */

.wr-sr-only {
	position: absolute;
	width: 0.0625rem;
	height: 0.0625rem;
	padding: 0;
	margin: -0.0625rem;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* -- Mobile-only -- */

.wr-only-mobile {
	display: none;
}

@media only screen and (max-width: 48rem) {

	.wr-only-mobile {
		display: revert;
	}

}

/* -- Top bar -- */

.wr-topbar .wr-topbar__phone .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.3rem 0.85rem;
	border-radius: 6.25rem;
	line-height: 1;
	font-family: var(--wp--preset--font-family--display);
	text-decoration: none;
}

/*
 * Font Awesome Free 6 solid "phone" glyph as an SVG mask on the top-bar phone
 * button. Copyright: Fonticons, Inc.
 * Source: https://fontawesome.com/ — License: Font Awesome Free 6 icons — CC BY 4.0
 * (https://creativecommons.org/licenses/by/4.0/). Paths unmodified, fill omitted.
 */
.wr-topbar .wr-topbar__phone .wp-block-button__link::before {
	content: "";
	flex: none;
	width: 0.9em;
	height: 0.9em;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.wr-topbar .wr-topbar__phone .wp-block-button__link:hover {
	opacity: 0.85;
}

.wr-topbar .wr-topbar__phone .wp-block-button__link:focus-visible {
	outline: 0.125rem solid var(--wp--preset--color--contrast);
	outline-offset: 0.125rem;
}

.wr-topbar .wr-topbar__social.wp-block-social-links {
	gap: var(--wp--preset--spacing--x-small);
	align-items: center;
}

.wr-topbar .wr-topbar__social .wp-block-social-link {
	color: var(--wp--preset--color--contrast);
}

.wr-topbar .wr-topbar__social .wp-block-social-link svg {
	width: 1.25rem;
	height: 1.25rem;
}

@media only screen and (max-width: 48rem) {

	.wr-topbar .wp-block-group.alignwide {
		justify-content: center;
	}

}

/* -- Logo card grid -- */

.wr-logo-card.wp-block-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	border-radius: 0.5rem;
	box-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
}

.wr-logo-card figure {
	margin: 0 auto;
}

.wr-logo-card img {
	height: 5rem;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

@media only screen and (max-width: 48rem) {

	.wr-logo-grid.wp-block-group {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wr-logo-card img {
		height: 4rem;
	}

}

/* -- Service area -- */

.wr-service-area__heading {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--x-small);
	font-family: var(--wp--preset--font-family--display);
	text-transform: uppercase;
	padding-block-end: var(--wp--preset--spacing--x-small);
	border-block-end: 0.0625rem solid color-mix(in srgb, var(--wp--preset--color--contrast) 20%, transparent);
}

.wr-service-area__heading::before {
	content: "";
	flex: none;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/*
 * Font Awesome Free 6 solid "location-dot" and "road" glyphs as SVG masks on
 * service-area headings. Copyright: Fonticons, Inc.
 * Source: https://fontawesome.com/ — License: Font Awesome Free 6 icons — CC BY 4.0
 * (https://creativecommons.org/licenses/by/4.0/). Paths unmodified, fill omitted.
 */
.wr-service-area__heading--cities::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E");
}

.wr-service-area__heading--roads::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M256 32l-74.8 0c-27.1 0-51.3 17.1-60.3 42.6L3.1 407.2C1.1 413 0 419.2 0 425.4C0 455.5 24.5 480 54.6 480L256 480l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 64 201.4 0c30.2 0 54.6-24.5 54.6-54.6c0-6.2-1.1-12.4-3.1-18.2L455.1 74.6C446 49.1 421.9 32 394.8 32L320 32l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64zm64 192l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M256 32l-74.8 0c-27.1 0-51.3 17.1-60.3 42.6L3.1 407.2C1.1 413 0 419.2 0 425.4C0 455.5 24.5 480 54.6 480L256 480l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 64 201.4 0c30.2 0 54.6-24.5 54.6-54.6c0-6.2-1.1-12.4-3.1-18.2L455.1 74.6C446 49.1 421.9 32 394.8 32L320 32l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64zm64 192l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32z'/%3E%3C/svg%3E");
}

.wr-service-area .wr-service-area__col:nth-child(2) {
	border-inline-start: 0.0625rem solid color-mix(in srgb, var(--wp--preset--color--contrast) 20%, transparent);
	padding-inline-start: var(--wp--preset--spacing--small);
}

.wr-service-area ul.wr-service-area__cities,
.wr-service-area ul.wr-service-area__cities.is-style-columns-2,
.wr-service-area ul.wr-service-area__cities.is-style-columns-3,
.wr-service-area ul.wr-service-area__cities.is-style-columns-4,
.wr-service-area ul.wp-block-list.wr-service-area__cities.is-style-columns-2,
.wr-service-area ul.wp-block-list.wr-service-area__cities.is-style-columns-3,
.wr-service-area ul.wp-block-list.wr-service-area__cities.is-style-columns-4 {
	columns: 3;
	column-gap: var(--wp--preset--spacing--x-small);
	list-style: none;
	padding-inline-start: 0;
	line-height: 1.35;
}

.wr-service-area ul.wp-block-list.wr-service-area__cities.is-style-columns-2 {
	columns: 2;
}

.wr-service-area ul.wr-service-area__cities li {
	break-inside: avoid;
}

@media only screen and (max-width: 48rem) {

	.wr-service-area .wp-block-columns.wr-service-area__columns {
		flex-direction: column;
		gap: var(--wp--preset--spacing--small);
	}

	.wr-service-area .wr-service-area__col.wp-block-column {
		flex-basis: 100%;
		background-color: var(--wp--preset--color--base);
		border-radius: 0.5rem;
		padding: var(--wp--preset--spacing--small);
		box-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
		border-inline-start: 0;
		padding-inline-start: var(--wp--preset--spacing--small);
	}

	.wr-service-area ul.wr-service-area__cities,
	.wr-service-area ul.wr-service-area__cities.is-style-columns-2,
	.wr-service-area ul.wr-service-area__cities.is-style-columns-3,
	.wr-service-area ul.wr-service-area__cities.is-style-columns-4,
	.wr-service-area ul.wp-block-list.wr-service-area__cities.is-style-columns-2,
	.wr-service-area ul.wp-block-list.wr-service-area__cities.is-style-columns-3,
	.wr-service-area ul.wp-block-list.wr-service-area__cities.is-style-columns-4 {
		columns: 2;
	}

}

/* -- Highway shields -- */

ul.wp-block-list.wr-shield-grid,
ul.wr-shield-grid.is-style-columns-2,
ul.wr-shield-grid.is-style-columns-3,
ul.wr-shield-grid.is-style-columns-4 {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--small);
	list-style: none;
	padding-inline-start: 0;
	columns: auto;
}

.wr-shield {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	justify-self: center;
	width: min(3.5rem, 100%);
	aspect-ratio: 1;
	height: auto;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1;
	letter-spacing: -0.04em;
	text-align: center;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.wr-shield > a {
	color: inherit;
	text-decoration: none;
}

.wr-shield > a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.wr-shield > a:focus-visible {
	outline: none;
}

.wr-shield:has(> a:focus-visible) {
	outline: 0.125rem solid var(--wp--preset--color--primary);
	outline-offset: 0.25rem;
}

@media (prefers-reduced-motion: no-preference) {

	.wr-shield:has(> a) {
		transition: transform 0.2s ease;
	}

	.wr-shield:has(> a):hover {
		transform: translateY(-0.125rem);
	}

}

.wr-shield--interstate {
	color: var(--wp--preset--color--base);
	padding-block-start: 0.45em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23fff' d='M24 1.5 44 6.5 44 22C44 33 32 43.5 24 46.5 16 43.5 4 33 4 22L4 6.5Z'/%3E%3Cpath fill='%231f3f94' d='M24 4 41.5 8.5 41.5 22C41.5 32 31 41.5 24 44 17 41.5 6.5 32 6.5 22L6.5 8.5Z'/%3E%3Cpath fill='%23c8102e' d='M24 4 41.5 8.5 41.5 16H6.5V8.5Z'/%3E%3C/svg%3E");
}

.wr-shield--us {
	color: var(--wp--preset--color--contrast);
	padding-block-start: 0.2em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23111' d='M8 4H40L45 12V38Q45 44 38 44H10Q3 44 3 38V12Z'/%3E%3Cpath fill='%23fff' d='M9.5 6.2H38.5L42.8 13V37.5Q42.8 41.5 37.5 41.5H10.5Q5.2 41.5 5.2 37.5V13Z'/%3E%3C/svg%3E");
}

.wr-shield--state {
	color: var(--wp--preset--color--contrast);
	font-size: 0.8rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23111' d='M24 2 46 24 24 46 2 24Z'/%3E%3Cpath fill='%23fff' d='M24 5.2 43.8 24 24 42.8 4.2 24Z'/%3E%3C/svg%3E");
}

.wr-shield--state::before {
	content: "M";
	content: "M" / "";
	font-size: 0.55em;
	line-height: 1;
	font-weight: 700;
}

@media only screen and (max-width: 48rem) {

	.wr-shield {
		width: min(2.75rem, 100%);
		font-size: 0.75rem;
	}

	.wr-shield--state {
		font-size: 0.65rem;
	}

}

/* -- Highway sub-nav -- */

.wr-highway-subnav {
	position: sticky;
	top: var(--wr-header-offset, 0px);
	z-index: 4;
	background-color: var(--wp--preset--color--base);
	border-bottom: 0.0625rem solid color-mix(in srgb, var(--wp--preset--color--contrast) 15%, transparent);
	box-shadow: 0 0.125rem 0.25rem color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
}

.wr-highway-subnav ul.wp-block-list,
.wr-highway-subnav ul.is-style-columns-2,
.wr-highway-subnav ul.is-style-columns-3,
.wr-highway-subnav ul.is-style-columns-4 {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	columns: unset;
	column-gap: unset;
	gap: var(--wp--preset--spacing--x-small);
	list-style: none;
	padding-inline-start: 0;
	margin: 0;
}

.wr-highway-subnav ul.wp-block-list li {
	break-inside: unset;
	white-space: nowrap;
	flex: 0 0 auto;
}

.wr-highway-subnav a {
	display: inline-block;
	text-decoration: none;
	border-bottom: 0.125rem solid transparent;
	padding: var(--wp--preset--spacing--x-small) var(--wp--preset--spacing--small);
	border-radius: 624.9375rem;
	transition: border-color 0.15s ease;

	&:hover,
	&:focus-visible {
		border-bottom-color: var(--wp--preset--color--primary);
	}
}

.wr-highway-subnav a.is-active {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
	border-bottom-color: transparent;

	&:hover,
	&:focus-visible {
		color: var(--wp--preset--color--contrast);
		border-bottom-color: transparent;
	}
}

.wr-highway-dots {
	display: none;
	position: fixed;
	right: var(--wp--preset--spacing--small);
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	max-height: 80vh;
	pointer-events: none;

	@media (min-width: 64rem) {
		display: block;
		pointer-events: auto;
	}

	&[hidden] {
		display: none;
	}

	ol {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 0;
	}

	li {
		display: flex;
		justify-content: flex-end;
	}

	a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 1.5rem;
		height: 1.5rem;
		text-decoration: none;
		flex-shrink: 0;
		background: transparent;

		&::before {
			content: "";
			display: block;
			width: 0.5rem;
			height: 0.5rem;
			border-radius: 50%;
			background-color: color-mix(in srgb, var(--wp--preset--color--contrast) 35%, transparent);
		}

		&.is-active::before {
			background-color: var(--wp--preset--color--primary);
		}

		span {
			position: absolute;
			right: 100%;
			/* 0.5rem from box edge to visual-dot edge + 0.5rem gap */
			margin-inline-end: 1rem;
			top: 50%;
			transform: translateY(-50%);
			width: 0.0625rem;
			height: 0.0625rem;
			padding: 0;
			margin-block: -0.0625rem;
			overflow: hidden;
			clip: rect(0, 0, 0, 0);
			clip-path: inset(50%);
			white-space: nowrap;
			border: 0;
		}

		&:hover span,
		&:focus-visible span,
		&.is-active span {
			width: auto;
			height: auto;
			padding: var(--wp--preset--spacing--x-small) var(--wp--preset--spacing--small);
			margin-block: 0;
			overflow: visible;
			clip: auto;
			clip-path: none;
			font-size: var(--wp--preset--font-size--small);
			background-color: var(--wp--preset--color--contrast);
			color: var(--wp--preset--color--base);
			border-radius: 624.9375rem;
		}
	}
}

/* -- Footer extras -- */

.wr-footer-contact .wr-footer-contact-social.wp-block-social-links {
	gap: var(--wp--preset--spacing--x-small);
	justify-content: flex-start;
	margin-block-start: var(--wp--preset--spacing--small);
}

.wr-footer-contact .wr-footer-contact-social .wp-block-social-link {
	color: var(--wp--preset--color--base);
}

.wr-footer-contact .wr-footer-contact-social .wp-block-social-link svg {
	width: 1.5rem;
	height: 1.5rem;
}

.wr-footer-contact .wr-payment-badges {
	justify-content: flex-start;
}

@media only screen and (max-width: 48rem) {

	.wr-footer-brand .wp-block-site-logo {
		text-align: center;
	}

	.wr-footer-brand .wp-block-site-logo img {
		display: inline-block;
		margin-inline: auto;
	}

	.wr-footer-legal-bar .wp-block-group.alignwide {
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	.wr-footer-legal-bar .wr-footer-legal.wr-only-mobile {
		text-align: center;
		margin-block-start: var(--wp--preset--spacing--x-small);
	}

}

/* -- Template 2 look -- */

body,
:is(.is-style-section-light, .is-style-section-tint, .has-base-background-color, .has-neutral-background-color, .wp-block-cover.is-light) {
	--wr-accent-text: var(--wp--custom--color--accent-text-on-light);
}

:is(.is-style-section-dark, .has-contrast-background-color, .wp-block-cover:not(.is-light), .wr-hero-bento__content) {
	--wr-accent-text: var(--wp--custom--color--accent-text-on-dark);
}

.is-style-section-brand {
	--wr-accent-text: var(--wp--custom--color--on-primary);
}

/* Footer service-area: use tint when the page's last content section is light
   (same tokens as is-style-section-tint). Mirror tint→light skipped — footer
   has no tint variant today. */
main:has(.entry-content > .is-style-section-light:last-child) + .site-footer .wr-service-area {
	background-color: var(--wp--preset--color--neutral);
	color: var(--wp--preset--color--contrast);
}

.is-style-wr-kicker {
	color: var(--wr-accent-text, var(--wp--preset--color--primary));
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.is-style-wr-kicker + .wp-block-heading {
	margin-block-start: 0.25rem;
}

.wr-hero-bento__content .is-style-wr-kicker,
.wp-block-cover:not(.is-light) .is-style-wr-kicker {
	width: fit-content;
	padding: 0.25rem 0.625rem;
	background-color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-wr-text-link > .wp-block-button__link {
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: transparent;
	color: var(--wr-accent-text, var(--wp--preset--color--primary));
	min-height: 0;
}

.wp-block-button.is-style-wr-text-link > .wp-block-button__link:hover,
.wp-block-button.is-style-wr-text-link > .wp-block-button__link:focus {
	background-color: transparent;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
	color: var(--wr-accent-text, currentColor);
}

.wp-block-separator.is-style-wr-bar:not(.is-style-wide):not(.is-style-dots) {
	width: 5rem;
	max-width: 5rem;
	height: 0.75rem;
	margin-inline: 0 auto;
	border: 0;
	background-color: var(--wp--preset--color--primary);
	opacity: 1;
}

.wp-block-button__link::after {
	content: "";
	display: inline-block;
	width: var(--wp--custom--button--arrow-size, 0rem);
	height: var(--wp--custom--button--arrow-size, 0rem);
	margin-inline-start: calc(var(--wp--custom--button--arrow-size, 0rem) * 0.5);
	vertical-align: -0.125em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.2 5.3 20 12l-6.8 6.7-1.4-1.4 4.3-4.3H4v-2h12.1l-4.3-4.3z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.2 5.3 20 12l-6.8 6.7-1.4-1.4 4.3-4.3H4v-2h12.1l-4.3-4.3z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.wr-topbar .wp-block-button__link::after,
.wr-contact-row .wp-block-button__link::after,
.wp-block-button.wr-no-arrow > .wp-block-button__link::after,
.wp-block-button.wr-btn-phone > .wp-block-button__link::after {
	content: none;
}

.wp-block-button.wr-btn-phone > .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 1.25em;
	height: 1.25em;
	margin-inline-end: 0.5em;
	vertical-align: -0.125em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.wp-block-button__link {
	min-height: 3.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.625rem;
	line-height: 1.1;
}

.wr-topbar .wp-block-button__link,
.wr-contact-row .wp-block-button__link,
.wr-footer-row .wp-block-button:not(.wr-btn-phone) > .wp-block-button__link {
	min-height: 0;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
}

.wr-contact-row .wp-block-button.wr-btn-phone > .wp-block-button__link,
.wr-footer-row .wp-block-button.wr-btn-phone > .wp-block-button__link {
	min-height: 0;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
}

.wp-block-button.wr-btn-phone > .wp-block-button__link {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--large);
	letter-spacing: 0;
	--wp--custom--button--arrow-size: 0rem;
}

.wp-block-group.wr-badge-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media only screen and (min-width: 48.875rem) {

	.wp-block-group.wr-badge-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

}

/* -- Hero bento: split -- */

.wr-hero-bento--split {
	--wr-hero-split-gap: 0.625rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: minmax(30rem, auto) 13rem 10rem;
	gap: var(--wr-hero-split-gap);
	container-type: inline-size;
	isolation: isolate;
}

.wr-hero-bento--split .wr-hero-bento__mosaic {
	display: contents;
}

.wr-hero-bento--split .wr-hero-bento__panel {
	height: auto;
}

.wr-hero-bento--split .wr-hero-bento__mosaic > :nth-child(1) {
	grid-column: 1 / 3;
	grid-row: 1;
}

.wr-hero-bento--split .wr-hero-bento__mosaic > :nth-child(2) {
	grid-column: 1 / 3;
	grid-row: 2;
}

.wr-hero-bento--split .wr-hero-bento__mosaic > :nth-child(3) {
	grid-column: 1 / 2;
	grid-row: 3;
}

.wr-hero-bento--split .wr-hero-bento__mosaic > :nth-child(4) {
	grid-column: 2 / 3;
	grid-row: 3;
}

.wr-hero-bento--split .wr-hero-bento__mosaic::after {
	position: relative;
	inset: auto;
	grid-column: 1 / 3;
	grid-row: 1;
}

.wr-hero-bento--split .wr-hero-bento__content {
	position: relative;
	inset: auto;
	z-index: 1;
	grid-column: 1 / 3;
	grid-row: 1;
	margin-block-start: 0;
	padding-block: var(--wp--preset--spacing--medium);
	padding-inline: var(--wp--preset--spacing--small);
}

@media only screen and (min-width: 48.875rem) {

	.wr-hero-bento--split {
		--wr-hero-split-gap: 0.375rem;
		grid-template-columns: minmax(0, 50.6fr) minmax(0, 7.2fr) minmax(0, 18.2fr) minmax(0, 24fr);
		grid-template-rows: minmax(16.5rem, auto) minmax(14rem, auto);
	}

	.wr-hero-bento--split .wr-hero-bento__mosaic > * {
		z-index: 0;
	}

	.wr-hero-bento--split .wr-hero-bento__mosaic > :nth-child(1) {
		z-index: 2;
		grid-column: 1 / 3;
		grid-row: 1 / 3;
		clip-path: polygon(0 0, 100% 0, 87.5% 100%, 0 100%);
	}

	.wr-hero-bento--split .wr-hero-bento__mosaic > :nth-child(2) {
		grid-column: 2 / 5;
		grid-row: 1;
	}

	.wr-hero-bento--split .wr-hero-bento__mosaic > :nth-child(3) {
		grid-column: 2 / 4;
		grid-row: 2;
	}

	.wr-hero-bento--split .wr-hero-bento__mosaic > :nth-child(4) {
		grid-column: 4 / 5;
		grid-row: 2;
	}

	.wr-hero-bento--split .wr-hero-bento__mosaic::before {
		content: "";
		position: relative;
		z-index: 1;
		grid-column: 1 / 3;
		grid-row: 1 / 3;
		margin-inline-end: calc(-1 * var(--wr-hero-split-gap));
		background-color: var(--wp--preset--color--base);
		clip-path: polygon(0 0, 100% 0, 87.5% 100%, 0 100%);
		pointer-events: none;
	}

	.wr-hero-bento--split .wr-hero-bento__mosaic::after {
		z-index: 3;
		grid-column: 1 / 3;
		grid-row: 1 / 3;
		clip-path: polygon(0 0, 100% 0, 87.5% 100%, 0 100%);
	}

	.wr-hero-bento--split .wr-hero-bento__content {
		z-index: 4;
		grid-column: 1 / 3;
		grid-row: 1 / 3;
		padding-inline: max(var(--wp--preset--spacing--medium), calc((100cqi - var(--wp--style--global--wide-size)) / 2)) 15%;
	}

}

/* -- Template 2 shell -- */

.wr-sticky-call {
	display: none;
}

.wr-header-light {
	border-bottom: 0.1875rem solid var(--wp--preset--color--primary);
	box-shadow: 0 0.25rem 1rem color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent);
}

.wr-footer-row {
	border-top: 0.1875rem solid var(--wp--preset--color--primary);
}

.wr-topbar.has-contrast-background-color .wr-topbar__phone .wp-block-button__link {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
}

.wr-topbar.has-contrast-background-color .wr-topbar__phone .wp-block-button__link:focus-visible {
	outline-color: var(--wp--preset--color--base);
}

.wr-header-light .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--primary);
	text-decoration-thickness: 0.1875rem;
	text-underline-offset: 0.5rem;
}

.wr-header-light.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-open,
.wr-header-light.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-open:hover,
.wr-header-light.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-open:focus,
.wr-header-light.wr-header-sticky nav.wr-only-mobile .wp-block-navigation__responsive-container-open:active {
	color: var(--wp--preset--color--contrast);
}

.wr-footer-row .wr-footer-row__legal {
	gap: 0.25rem;
}

.wr-footer-row .wr-footer-row__legal p,
.wr-footer-row .wr-footer-copyright {
	margin: 0;
}

.wr-footer-row a {
	color: inherit;
}

@media only screen and (min-width: 48.0625rem) {

	.wr-footer-row .wr-footer-row__main > :not(:first-child) {
		padding-inline-start: var(--wp--preset--spacing--small);
		border-inline-start: 0.0625rem solid color-mix(in srgb, currentColor 25%, transparent);
	}

	.wr-footer-row .wr-footer-row__legal {
		align-items: flex-end;
		text-align: right;
	}

}

@media only screen and (max-width: 48rem) {

	.wr-footer-row .wr-footer-row__main,
	.wr-footer-row .wr-footer-row__bottom {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.wr-footer-row .wr-footer-row__legal {
		align-items: center;
	}

}

.wr-cta-emergency {
	background-color: var(--wp--preset--color--primary);

	@media (min-width: 64rem) {
		background-image: linear-gradient(104deg, var(--wp--preset--color--contrast) 0 52%, var(--wp--preset--color--primary) 52% 100%);
	}

	@media (max-width: 63.9375rem) {
		background-image: linear-gradient(180deg, var(--wp--preset--color--contrast) 0 calc(100% - 11rem), var(--wp--preset--color--primary) calc(100% - 11rem) 100%);
		min-height: 18rem;
		padding-block: var(--wp--preset--spacing--large);
	}

	& > .alignwide > .wp-block-group:first-child {
		color: var(--wp--preset--color--base);

		& h2 {
			color: var(--wp--preset--color--base);
		}
	}

	& .wr-btn-phone .wp-block-button__link {
		font-size: 1.5rem;
		padding: 1rem 2rem;
	}

	@media (min-width: 64rem) {
		& > .alignwide > .wp-block-group:first-child {
			max-width: 48%;
		}
	}

	@media (max-width: 63.9375rem) {
		& > .alignwide {
			flex-direction: column;
			align-items: stretch;
			justify-content: flex-end;
			min-height: 14rem;
		}

		& .wp-block-buttons {
			align-self: center;
			padding-block-start: var(--wp--preset--spacing--large);
		}
	}
}

/* Legacy single-column markup (no .alignwide split wrapper, pre-0.17.1): keep the plain brand band. */
.wr-cta-emergency:not(:has(> .alignwide > .wp-block-group:first-child)) {
	background-image: none;
	min-height: 0;
}

/* Alias: --split is now the default .wr-cta-emergency look (no extra rules). */
.wr-cta-emergency--split {
}

/* Photo-duotone variant: photo from Group Background panel (inline) or --wr-cta-photo fallback. */
.wr-cta-emergency--photo {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: var(--wp--preset--color--primary);
	background-image: none;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 0;

	& > .alignwide > .wp-block-group:first-child {
		max-width: none;
	}

	@media (max-width: 63.9375rem) {
		min-height: 0;

		& > .alignwide {
			min-height: 0;
		}
	}

	&::before {
		content: "";
		position: absolute;
		inset: 0;
		background-image: var(--wr-cta-photo, none);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		z-index: -1;
	}

	&::after {
		content: "";
		position: absolute;
		inset: 0;
		background-image: linear-gradient(135deg, color-mix(in srgb, color-mix(in srgb, var(--wp--preset--color--primary) 88%, black) 78%, transparent) 0%, color-mix(in srgb, color-mix(in srgb, var(--wp--preset--color--primary) 70%, black) 78%, transparent) 100%);
		backdrop-filter: grayscale(1) contrast(1.15);
		-webkit-backdrop-filter: grayscale(1) contrast(1.15);
		z-index: -1;
		pointer-events: none;
	}

	/* A photo picked in the editor (inline background-image) wins over the --wr-cta-photo fallback. */
	&[style*="background-image"]::before {
		background-image: none;
	}
}

.wr-reviews {
	padding-block: var(--wp--preset--spacing--x-large);
}

.wr-reviews .wp-block-whiterail-reviews-embed {
	background: var(--wp--preset--color--base);
	padding: var(--wp--preset--spacing--medium);
	border-radius: 0.5rem;
}

/* -- Review card -- */

.wr-review-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--x-small);
}

.wr-review-card__head > p {
	margin: 0;
}

.wr-review-card__google {
	width: 1.5rem;
	height: 1.5rem;
	flex: none;
}

/* -- Template 2 mobile -- */

@media only screen and (max-width: 37.5rem) {

	.wr-topbar .wr-contact-row .wp-block-button__link {
		font-size: 0.75rem;
		line-height: 1.3;
	}

	.wr-topbar .wr-contact-row .wp-block-button__link::before {
		width: 0.875rem;
		height: 0.875rem;
		margin-right: 0.25rem;
	}

	.wr-topbar .wp-block-social-links svg {
		width: 1rem;
		height: 1rem;
	}

}

@media only screen and (max-width: 48.8125rem) {

	.wp-block-group.is-style-wr-carousel.is-layout-grid,
	.wp-block-group.is-style-wr-carousel.is-layout-flex,
	.wp-block-group.is-style-wr-carousel.is-layout-constrained,
	.wp-block-group.is-style-wr-carousel.is-layout-flow {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		grid-template-columns: none;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
		padding-block: 0.75rem;
	}

	.wp-block-group.is-style-wr-carousel.is-layout-grid::-webkit-scrollbar,
	.wp-block-group.is-style-wr-carousel.is-layout-flex::-webkit-scrollbar,
	.wp-block-group.is-style-wr-carousel.is-layout-constrained::-webkit-scrollbar,
	.wp-block-group.is-style-wr-carousel.is-layout-flow::-webkit-scrollbar {
		display: none;
	}

	.wp-block-group.is-style-wr-carousel.is-layout-grid > *,
	.wp-block-group.is-style-wr-carousel.is-layout-flex > *,
	.wp-block-group.is-style-wr-carousel.is-layout-constrained > *,
	.wp-block-group.is-style-wr-carousel.is-layout-flow > * {
		flex: 0 0 100%;
		scroll-snap-align: start;
		margin: 0;
		height: 100%;
	}

	.wr-carousel__dots {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.25rem;
		margin-top: var(--wp--preset--spacing--small);
	}

	.wr-carousel__dot {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 1.5rem;
		height: 1.5rem;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	.wr-carousel__dot::before {
		content: "";
		width: 0.625rem;
		height: 0.625rem;
		border-radius: 50%;
		background-color: color-mix(in srgb, var(--wp--preset--color--contrast) 25%, transparent);
	}

	.wr-carousel__dot[aria-current="true"]::before {
		background-color: var(--wp--preset--color--contrast);
	}

	.wr-carousel__dot:focus-visible {
		outline: 0.125rem solid var(--wp--preset--color--contrast);
		outline-offset: 0.125rem;
	}

	body.wr-has-sticky-call {
		padding-bottom: calc(3.5rem + env(safe-area-inset-bottom));
	}

	.wr-sticky-call {
		position: fixed;
		inset-inline: 0;
		bottom: 0;
		z-index: 99;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.625rem;
		min-height: 3.5rem;
		padding-bottom: env(safe-area-inset-bottom);
		background-color: var(--wp--preset--color--primary);
		color: var(--wp--custom--color--on-primary);
		font-family: var(--wp--preset--font-family--display);
		font-size: var(--wp--preset--font-size--large);
		font-weight: 400;
		text-decoration: none;
	}

	.wr-sticky-call:hover,
	.wr-sticky-call:focus {
		text-decoration: none;
		color: var(--wp--custom--color--on-primary);
	}

	.wr-sticky-call:focus-visible {
		outline: 0.125rem solid var(--wp--custom--color--on-primary);
		outline-offset: 0.125rem;
	}

	.wr-sticky-call__icon {
		flex: none;
		width: 1.25em;
		height: 1.25em;
		background-color: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
	}

}

@media only screen and (min-width: 48.875rem) {

	.wr-carousel__dots {
		display: none;
	}

}

@media (prefers-reduced-motion: reduce) {

	.wp-block-group.is-style-wr-carousel.is-layout-grid,
	.wp-block-group.is-style-wr-carousel.is-layout-flex,
	.wp-block-group.is-style-wr-carousel.is-layout-constrained,
	.wp-block-group.is-style-wr-carousel.is-layout-flow {
		scroll-behavior: auto;
	}

}

/* -- Carousel with arrows (opt-in, all widths) -- */

.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-grid,
.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-flex,
.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-constrained,
.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-flow {
	--wr-carousel-per-view: 2;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	grid-template-columns: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	gap: var(--wr-carousel-gap, var(--wp--style--block-gap, 1.5rem));
	padding-block: 0.75rem;
	scroll-padding-inline: 0;
}

.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-grid::-webkit-scrollbar,
.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-flex::-webkit-scrollbar,
.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-constrained::-webkit-scrollbar,
.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-flow::-webkit-scrollbar {
	display: none;
}

.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-grid > *,
.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-flex > *,
.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-constrained > *,
.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-flow > * {
	flex: 0 0 calc((100% - (var(--wr-carousel-per-view) - 1) * var(--wr-carousel-gap, var(--wp--style--block-gap, 1.5rem))) / var(--wr-carousel-per-view));
	scroll-snap-align: start;
	margin: 0;
}

.wr-carousel__shell {
	position: relative;
}

.wr-carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0.0625rem solid color-mix(in srgb, var(--wp--preset--color--contrast) 20%, transparent);
	border-radius: 50%;
	background-color: var(--wp--preset--color--base);
	box-shadow: 0 0.125rem 0.375rem color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
	cursor: pointer;
}

.wr-carousel__arrow--prev {
	left: 0;
}

.wr-carousel__arrow--next {
	right: 0;
}

.wr-carousel__arrow::before {
	content: "";
	display: block;
	width: 1rem;
	height: 1rem;
	background-color: var(--wp--preset--color--contrast);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.29 6.71a1 1 0 0 0 0 1.41L13.17 12l-3.88 3.88a1 1 0 1 0 1.41 1.41l4.59-4.59a1 1 0 0 0 0-1.41L10.7 6.7a1 1 0 0 0-1.41.01z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.29 6.71a1 1 0 0 0 0 1.41L13.17 12l-3.88 3.88a1 1 0 1 0 1.41 1.41l4.59-4.59a1 1 0 0 0 0-1.41L10.7 6.7a1 1 0 0 0-1.41.01z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.wr-carousel__arrow--prev::before {
	transform: scaleX(-1);
}

.wr-carousel__arrow[aria-disabled="true"],
.wr-carousel__arrow:disabled {
	opacity: 0.35;
}

.wr-carousel__arrow:focus-visible {
	outline: 0.125rem solid var(--wp--preset--color--primary);
	outline-offset: 0.125rem;
}

@media only screen and (min-width: 48.875rem) {

	.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-grid,
	.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-flex,
	.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-constrained,
	.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-flow {
		--wr-carousel-per-view: 4;
	}

	.wr-carousel__arrow--prev {
		left: -1.25rem;
	}

	.wr-carousel__arrow--next {
		right: -1.25rem;
	}

}

@media only screen and (min-width: 64rem) {

	.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-grid,
	.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-flex,
	.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-constrained,
	.wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-flow {
		--wr-carousel-per-view: 6;
	}

}

/* Reviews block slider: fewer cards per view than the default arrows carousel. */
.wp-block-whiterail-reviews .wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-grid {
	--wr-carousel-per-view: 1;
	--wr-carousel-gap: var(--wp--preset--spacing--small);
	align-items: stretch;
}

@media only screen and (min-width: 48.875rem) {

	.wp-block-whiterail-reviews .wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-grid {
		--wr-carousel-per-view: 2;
	}

}

@media only screen and (min-width: 64rem) {

	.wp-block-whiterail-reviews .wp-block-group.is-style-wr-carousel.wr-carousel--arrows.wr-carousel--ready.is-layout-grid {
		--wr-carousel-per-view: 3;
	}

}
