/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

.rr-home-hero {
	align-items: center;
	background:
		linear-gradient(90deg, rgba(13, 14, 16, .08) 0%, rgba(13, 14, 16, .32) 43%, rgba(13, 14, 16, .9) 100%),
		url('/wp-content/uploads/breadcrumb-scaled.webp') center / cover no-repeat;
	color: #fff;
	display: flex;
	min-height: min(620px, 72vh);
	padding: clamp(48px, 7vw, 110px) max(24px, calc((100vw - 1290px) / 2));
}

.rr-home-hero__content {
	margin-left: auto;
	max-width: 590px;
}

.rr-home-hero__eyebrow {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .18em;
	margin: 0 0 14px;
}

.rr-home-hero h1 {
	color: #fff;
	font-size: clamp(42px, 5.5vw, 76px);
	letter-spacing: -.035em;
	line-height: .98;
	margin: 0 0 22px;
}

.rr-home-hero__content > p:not(.rr-home-hero__eyebrow) {
	color: rgba(255, 255, 255, .82);
	font-size: clamp(17px, 2vw, 21px);
	line-height: 1.55;
	margin: 0;
}

.rr-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.rr-button {
	border: 1px solid #fff;
	border-radius: 3px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	padding: 14px 22px;
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}

.rr-button--primary,
.rr-button--secondary:hover {
	background: #fff;
	color: #0d0e10;
}

.rr-button--secondary,
.rr-button--primary:hover {
	background: transparent;
	color: #fff;
}

.rr-footer-extra {
	background: #08090a;
	border-top: 1px solid rgba(255, 255, 255, .12);
	color: rgba(255, 255, 255, .72);
	padding: 38px 24px;
}

.rr-footer-extra__inner {
	align-items: center;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(180px, 1fr) minmax(300px, 2fr) auto;
	margin: 0 auto;
	max-width: 1290px;
}

.rr-footer-extra strong {
	color: #fff;
	font-size: 20px;
}

.rr-footer-extra p {
	font-size: 14px;
	margin: 6px 0 0;
}

.rr-footer-extra nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
}

.rr-footer-extra nav a,
.rr-footer-extra__whatsapp {
	color: #fff;
	font-size: 13px;
	text-decoration: none;
}

.rr-footer-extra nav a:hover {
	text-decoration: underline;
}

.rr-footer-extra__whatsapp {
	border: 1px solid rgba(255, 255, 255, .55);
	border-radius: 3px;
	font-weight: 700;
	padding: 11px 16px;
	white-space: nowrap;
}

/* Keep product actions aligned when cards have different price/title heights. */
.home .wc-block-product {
	display: flex;
	flex-direction: column;
}

.home .wc-block-product .wc-block-components-product-button {
	margin-top: auto;
}

/* Match the first service card to the other cards on the dark background. */
#gspb_heading-id-gsbp-76c7787 {
	color: #fff !important;
}

#gspb_text-id-gsbp-8968231 {
	color: rgba(255, 255, 255, .61) !important;
}

/* First-visit discount wheel. */
.rr-wheel-overlay {
	align-items: center;
	background: rgba(5, 7, 7, .78);
	display: none;
	inset: 0;
	justify-content: center;
	overflow-y: auto;
	padding: 24px;
	position: fixed;
	z-index: 1000000;
}

.rr-wheel-overlay.is-open {
	display: flex;
}

.rr-wheel-modal {
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .38);
	display: grid;
	grid-template-columns: minmax(330px, .9fr) minmax(340px, 1.1fr);
	max-width: 860px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.rr-wheel-close {
	align-items: center;
	background: rgba(15, 21, 20, .08);
	border: 0;
	border-radius: 50%;
	color: #0f1514;
	cursor: pointer;
	display: flex;
	font-size: 28px;
	height: 38px;
	justify-content: center;
	line-height: 1;
	padding: 0 0 3px;
	position: absolute;
	right: 16px;
	top: 16px;
	width: 38px;
	z-index: 3;
}

.rr-wheel-visual {
	align-items: center;
	background: #0f1514;
	display: flex;
	justify-content: center;
	min-height: 500px;
	padding: 44px 28px;
	position: relative;
}

.rr-wheel {
	background: conic-gradient(
		#c5aa72 0 12.5%, #f2ead8 12.5% 25%,
		#26312f 25% 37.5%, #c5aa72 37.5% 50%,
		#f2ead8 50% 62.5%, #26312f 62.5% 75%,
		#c5aa72 75% 87.5%, #f2ead8 87.5% 100%
	);
	border: 9px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 7px #b69a61, 0 18px 45px rgba(0, 0, 0, .42);
	height: 320px;
	position: relative;
	transition: transform 4.2s cubic-bezier(.12, .58, .1, 1);
	width: 320px;
}

.rr-wheel::after {
	background: #0f1514;
	border: 5px solid #fff;
	border-radius: 50%;
	content: '';
	height: 62px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 62px;
}

.rr-wheel > i {
	color: #fff;
	font-size: 14px;
	font-style: normal;
	font-weight: 800;
	left: 50%;
	letter-spacing: .08em;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.rr-wheel > span {
	color: #0f1514;
	font-size: 17px;
	font-weight: 800;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg + 22.5deg)) translateY(-119px) rotate(calc(var(--i) * -45deg - 22.5deg));
	z-index: 1;
}

.rr-wheel > span:nth-of-type(3),
.rr-wheel > span:nth-of-type(6) {
	color: #fff;
}

.rr-wheel-pointer {
	border-left: 16px solid transparent;
	border-right: 16px solid transparent;
	border-top: 31px solid #d34b3f;
	filter: drop-shadow(0 4px 3px rgba(0, 0, 0, .35));
	left: 50%;
	position: absolute;
	top: 72px;
	transform: translateX(-50%);
	z-index: 3;
}

.rr-wheel-copy {
	align-self: center;
	padding: 62px 54px 48px;
}

.rr-wheel-eyebrow {
	color: #9b7b3e;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .18em;
	margin: 0 0 12px;
}

.rr-wheel-copy h2 {
	color: #0f1514;
	font-size: clamp(30px, 4vw, 45px);
	letter-spacing: -.035em;
	line-height: 1.03;
	margin: 0 0 18px;
}

.rr-wheel-copy > p:not(.rr-wheel-eyebrow):not(.rr-wheel-terms):not(.rr-wheel-error) {
	color: #4c5c5f;
	font-size: 16px;
	line-height: 1.6;
	margin: 0 0 24px;
}

.rr-wheel-spin,
.rr-wheel-result > a {
	background: #0f1514;
	border: 0;
	border-radius: 4px;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .04em;
	padding: 15px 24px;
	text-decoration: none;
}

.rr-wheel-spin:disabled {
	cursor: wait;
	opacity: .7;
}

.rr-wheel-result > strong {
	color: #0f1514;
	display: block;
	font-size: 24px;
	margin-bottom: 14px;
}

.rr-wheel-code-row {
	display: flex;
	margin-bottom: 16px;
}

.rr-wheel-code-row code {
	background: #f3efe7;
	border: 1px dashed #b69a61;
	border-radius: 4px 0 0 4px;
	color: #0f1514;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: .08em;
	padding: 12px 14px;
}

.rr-wheel-code-row button {
	background: #b69a61;
	border: 0;
	border-radius: 0 4px 4px 0;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	padding: 0 15px;
}

.rr-wheel-terms {
	color: #7b8586;
	font-size: 11px;
	line-height: 1.45;
	margin: 22px 0 0;
}

.rr-wheel-error {
	color: #b42318;
	font-size: 13px;
	margin: 12px 0 0;
}

.rr-wheel-overlay [hidden] {
	display: none !important;
}

.rr-registration-intro {
	background: #0f1514;
	border-left: 5px solid #b69a61;
	color: #fff;
	margin-bottom: 32px;
	padding: 26px 30px;
}

.rr-registration-intro p {
	color: #d2ba88;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	margin: 0 0 6px;
}

.rr-registration-intro h2 {
	color: #fff;
	font-size: 32px;
	margin: 0 0 8px;
}

.rr-registration-intro span {
	color: rgba(255, 255, 255, .72);
}

.rr-registration-consent {
	font-size: 13px;
	line-height: 1.5;
}

.rr-registration-consent input {
	margin-right: 7px;
}

@media (max-width: 767px) {
	.rr-home-hero {
		background:
			linear-gradient(180deg, rgba(13, 14, 16, .12) 0%, rgba(13, 14, 16, .86) 72%, #0d0e10 100%),
			url('/wp-content/uploads/breadcrumb-scaled.webp') 33% center / cover no-repeat;
		min-height: 620px;
		padding: 330px 24px 54px;
	}

	.rr-home-hero__content {
		margin: auto 0 0;
		max-width: 100%;
		text-align: center;
	}

	.rr-home-hero__actions {
		justify-content: center;
	}

	.rr-footer-extra__inner {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.rr-footer-extra nav {
		justify-content: center;
	}

	.rr-footer-extra__whatsapp {
		justify-self: center;
	}

	.rr-wheel-overlay {
		align-items: flex-start;
		padding: 14px;
	}

	.rr-wheel-modal {
		grid-template-columns: 1fr;
		max-width: 440px;
	}

	.rr-wheel-visual {
		min-height: 320px;
		padding: 36px 20px;
	}

	.rr-wheel {
		height: 238px;
		width: 238px;
	}

	.rr-wheel > span {
		font-size: 14px;
		transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg + 22.5deg)) translateY(-86px) rotate(calc(var(--i) * -45deg - 22.5deg));
	}

	.rr-wheel-pointer {
		top: 37px;
	}

	.rr-wheel-copy {
		padding: 34px 26px 30px;
		text-align: center;
	}

	.rr-wheel-copy h2 {
		font-size: 32px;
	}

	.rr-wheel-code-row {
		justify-content: center;
	}
}
