/*
 * Task Home blocks. Colours and fonts come from the Task Home theme
 * (theme.json presets); the fallbacks keep them readable with other themes.
 */

.th-breadcrumb ol {
	color: var(--wp--preset--color--muted, #4a5a52);
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	font-weight: 500;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.th-breadcrumb li + li::before {
	content: "/";
	margin-right: 8px;
}
.th-breadcrumb a {
	color: inherit;
	text-decoration: none;
}
.th-breadcrumb a:hover {
	color: var(--wp--preset--color--green, #0a7a4b);
	text-decoration: underline;
}
.th-breadcrumb [aria-current] {
	color: var(--wp--preset--color--ink, #14211b);
}

/* Steppers, shared by the price card and the quote form */
.th-qty {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
	gap: 10px;
}
.th-qty__btn {
	align-items: center;
	background: #fff;
	border: 1px solid #868a87;
	border-radius: 999px;
	color: var(--wp--preset--color--ink, #14211b);
	cursor: pointer;
	display: inline-flex;
	font: 700 21px/1 var(--wp--preset--font-family--outfit, sans-serif);
	height: 36px;
	justify-content: center;
	padding: 0;
	width: 36px;
}
.th-qty__btn--add {
	background: var(--wp--preset--color--green-tint, #e3f2ea);
	border-color: var(--wp--preset--color--green, #0a7a4b);
	color: var(--wp--preset--color--green, #0a7a4b);
}
.th-qty__btn:hover {
	border-color: var(--wp--preset--color--green, #0a7a4b);
}
.th-qty__btn:focus-visible,
.th-calc-more:focus-visible {
	outline: 2px solid var(--wp--preset--color--green, #0a7a4b);
	outline-offset: 2px;
}
.th-qty__value {
	font-weight: 600;
	min-width: 1.4em;
	text-align: center;
}
.th-calc-items {
	list-style: none;
	margin: 0;
	padding: 0;
}
.th-calc-item {
	align-items: center;
	border-bottom: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 12px 0;
}
.th-calc-item[hidden],
.th-calc-group[hidden] {
	display: none;
}
.th-calc-group {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.6px;
	padding: 14px 0 0;
	text-transform: uppercase;
}
.th-calc-item__label {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}
.th-calc-item__label strong {
	font-weight: 600;
}
.th-calc-item__label span {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

/* Price card (sticky next to the content) */
.th-price-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
	border-radius: 24px;
	box-shadow: var(--wp--preset--shadow--float, 0 16px 40px rgba(20, 33, 27, 0.16));
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 28px;
	position: sticky;
	top: 24px;
}
.th-price-card > * {
	margin: 0;
}
.th-price-card__title {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
}
.th-price-card__lead,
.th-price-card__note,
.th-calc-min {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}
.th-calc-more {
	align-self: flex-start;
	background: none;
	border: 0;
	color: var(--wp--preset--color--green, #0a7a4b);
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	padding: 0;
}
.th-calc-total {
	align-items: center;
	display: flex;
	justify-content: space-between;
}
.th-calc-total span {
	color: var(--wp--preset--color--muted, #4a5a52);
}
.th-calc-total__value {
	color: var(--wp--preset--color--green, #0a7a4b);
	font: 700 30px/1.2 var(--wp--preset--font-family--outfit, sans-serif);
}
.th-price-card__go {
	box-sizing: border-box;
	display: block;
	text-align: center;
	width: 100%;
}
.admin-bar .th-price-card {
	top: 56px;
}

/* Price bar fixed to the bottom on phones and tablets */
.th-price-bar {
	display: none;
}
@media (max-width: 781px) {
	.th-price-card-wrap .th-price-card {
		display: none;
	}
	.th-price-bar {
		align-items: center;
		background: #fff;
		border-top: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
		bottom: 0;
		display: flex;
		gap: 12px;
		justify-content: space-between;
		left: 0;
		padding: 12px clamp(16px, 4vw, 40px);
		position: fixed;
		right: 0;
		z-index: 60;
	}
	.th-price-bar p {
		display: flex;
		flex-direction: column;
		line-height: 1.3;
		margin: 0;
		min-width: 0;
	}
	.th-price-bar span {
		color: var(--wp--preset--color--muted, #4a5a52);
		font-size: 14px;
		font-weight: 500;
	}
	.th-price-bar strong {
		font-weight: 700;
	}
	.th-price-bar .wp-element-button {
		border-radius: 12px;
		flex-shrink: 0;
	}
	body:has(.th-price-bar) .th-sticky-quote {
		display: none !important;
	}
	body:has(.th-price-bar) {
		padding-bottom: 80px;
	}
}

/* Price table */
.th-price-table table {
	border: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
	border-collapse: separate;
	border-radius: 16px;
	border-spacing: 0;
	overflow: hidden;
	width: 100%;
}
.th-price-table th,
.th-price-table td {
	border-bottom: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
	padding: 14px 20px;
	text-align: left;
}
.th-price-table tr:last-child td {
	border-bottom: 0;
}
.th-price-table th {
	background: var(--wp--preset--color--green-soft, #f3f8f5);
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.8px;
	line-height: 1.2;
}
.th-price-table th:last-child,
.th-price-table td:last-child {
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
}
.th-price-table .th-price-table__group th {
	background: #fff;
	color: var(--wp--preset--color--ink, #14211b);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	text-align: left;
	white-space: normal;
}
.th-price-table tbody + tbody .th-price-table__group th {
	border-top: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
}
.th-price-table__note {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 14px;
	font-weight: 500;
	margin: 12px 0 0;
}

/* Service cards grid (card look comes from the theme's .th-service-card) */
.th-service-grid__heading {
	margin: 0 0 24px;
}
/* Tiles at least 184px wide, at most --th-cols in a row: five on a wide screen,
   three on a tablet, two on a phone. */
.th-service-grid {
	--th-gap: 12px;
	display: grid;
	gap: var(--th-gap);
	grid-template-columns: repeat(auto-fill, minmax(max(184px, (100% - (var(--th-cols, 5) - 1) * var(--th-gap)) / var(--th-cols, 5)), 1fr));
}
.th-service-grid .th-service-name {
	overflow-wrap: anywhere;
	hyphens: auto;
}
.th-icon svg {
	color: var(--wp--preset--color--ink, #18191a);
	display: block;
}
/* Four tiles on a tablet: two rows of two instead of three and one. */
@media (min-width: 600px) and (max-width: 899px) {
	.th-service-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 599px) {
	.th-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Quote form ------------------------------------------------------------ */
.thq {
	margin-inline: auto;
	max-width: 600px;
}
.thq__card {
	padding-bottom: calc(var(--thq-bar, 96px) + 24px);
	background: #fff;
	border: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
	border-radius: 24px;
	box-shadow: var(--wp--preset--shadow--card, 0 8px 24px rgba(20, 33, 27, 0.08));
}
.thq__head {
	align-items: center;
	display: grid;
	grid-template-columns: 44px 1fr 88px;
	padding: 12px 12px 8px;
}
.thq__title {
	font-size: 16px;
	font-weight: 600;
	grid-column: 2;
	margin: 0;
	text-align: center;
}
.thq__back,
.thq__close {
	align-items: center;
	background: none;
	border: 0;
	border-radius: 999px;
	color: var(--wp--preset--color--ink, #14211b);
	cursor: pointer;
	display: flex;
	font-size: 22px;
	height: 44px;
	justify-content: center;
	padding: 0;
	text-decoration: none;
	width: 44px;
}
.thq__back {
	font-size: 34px;
	grid-column: 1;
	grid-row: 1;
	line-height: 1;
}
.thq__back[hidden] {
	display: none;
}
.thq__head-end {
	align-items: center;
	display: flex;
	gap: 8px;
	grid-column: 3;
	grid-row: 1;
	justify-content: flex-end;
}
.thq__langs,
.thq__steps {
	display: none;
}
.thq__lang {
	border-radius: 999px;
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 14px;
	font-weight: 600;
	padding: 6px 10px;
	text-decoration: none;
}
.thq__lang.is-current {
	color: var(--wp--preset--color--green, #0a7a4b);
}
.thq__layout {
	display: block;
}
.thq__summary {
	display: none;
}
.thq__back:hover,
.thq__close:hover {
	background: var(--wp--preset--color--green-soft, #f3f8f5);
}
.thq__progress {
	background: var(--wp--preset--color--border-subtle, #e2eae5);
	border-radius: 999px;
	height: 6px;
	margin: 0 24px;
	overflow: hidden;
}
.thq__progress-bar {
	background: var(--wp--preset--color--green, #0a7a4b);
	display: block;
	height: 100%;
	transition: width 0.25s;
}
.thq__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-height: 360px;
	padding: 28px 24px 24px;
}
.thq__body > * {
	margin: 0;
}
.thq__q {
	font-size: clamp(26px, 5vw, 32px);
	letter-spacing: -0.5px;
	line-height: 1.15;
	outline: none;
}
.thq__lead {
	color: var(--wp--preset--color--muted, #4a5a52);
	margin-top: -8px !important;
}
.thq__q--center,
.thq__lead--center {
	text-align: center;
}
.thq__sr {
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
.thq__options {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.thq__option {
	border: 1px solid #868a87;
	border-radius: 14px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	padding: 14px 16px;
	position: relative;
}
.thq__option-name {
	font-weight: 600;
	line-height: 1.3;
}
.thq__option-note {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 14px;
}
.thq__option:has(:checked),
.thq__chip:has(:checked) {
	background: var(--wp--preset--color--green-tint, #e3f2ea);
	border-color: var(--wp--preset--color--green, #0a7a4b);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--green, #0a7a4b);
}
.thq__option:has(:focus-visible),
.thq__chip:has(:focus-visible),
.thq__photos:has(:focus-visible) .thq__photo-btn {
	outline: 2px solid var(--wp--preset--color--green, #0a7a4b);
	outline-offset: 2px;
}
.thq__items {
	list-style: none;
	margin: 0;
	padding: 0;
}
.thq__item-list {
	display: flex;
	flex-direction: column;
}
.thq__group {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.6px;
	line-height: 1.3;
	margin: 18px 0 0;
	text-transform: uppercase;
}
.thq__group:first-child {
	margin-top: 0;
}
.thq__amount-wrap {
	align-items: center;
	display: inline-flex;
	gap: 8px;
}
.thq__amount {
	width: 96px;
}
.thq__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.thq__field > label,
.thq__label {
	font-size: 14px;
	font-weight: 600;
	margin: 0;
}
.thq__body input[type="text"],
.thq__body input[type="tel"],
.thq__body input[type="email"],
.thq__body input[type="number"],
.thq__body select,
.thq__body textarea {
	background: #fff;
	/* A frame dark enough (3.5:1) to see the field on a phone before it is tapped. */
	border: 1px solid #868a87;
	border-radius: 12px;
	color: inherit;
	font: inherit;
	padding: 12px 14px;
}
.thq__body ::placeholder {
	color: #6b6f71;
	opacity: 1;
}
.thq__body input:focus,
.thq__body textarea:focus {
	border-color: var(--wp--preset--color--green, #0a7a4b);
	outline: 2px solid var(--wp--preset--color--green-tint, #e3f2ea);
}
.thq__body [aria-invalid="true"] {
	border-color: #b32d2e !important;
}
.thq__short {
	max-width: 160px;
}
.thq__hint {
	color: var(--wp--preset--color--green, #0a7a4b);
	font-size: 14px;
	font-weight: 500;
	margin: 0;
}
.thq__outside {
	background: #fff8e6;
	border: 1px solid #f0d9a0;
	border-radius: 12px;
	color: #5c4000;
	display: flex;
	flex-direction: column;
	font-weight: 400;
	gap: 4px;
	padding: 12px 14px;
}
.thq__outside[hidden] {
	display: none;
}
.thq__outside a {
	color: var(--wp--preset--color--green, #0a7a4b);
	font-weight: 600;
}
.thq__picked {
	background: var(--wp--preset--color--green-soft, #f3f8f5);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 14px;
}
.thq__picked strong {
	color: var(--wp--preset--color--green, #0a7a4b);
}
.thq__sum-quote {
	color: var(--wp--preset--color--green, #0a7a4b);
	font-weight: 700;
	margin: 0;
}
.thq__error,
.thq__status {
	color: #b32d2e;
	font-size: 14px;
	font-weight: 600;
	margin: 0;
}
.thq__status:empty {
	display: none;
}
.thq__status {
	padding: 0 24px 12px;
}
.thq__alert {
	color: #b32d2e;
	font-size: 15px;
	font-weight: 600;
	margin: 0;
}
.thq__note {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 14px;
	line-height: 1.5;
}
.thq__chips {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.thq__chips--when,
.thq__chips--tasks {
	display: flex;
	flex-wrap: wrap;
}
.thq__chip {
	border: 1px solid #868a87;
	border-radius: 12px;
	cursor: pointer;
	padding: 10px 14px;
	text-align: center;
}
.thq__chips--when .thq__chip,
.thq__chips--tasks .thq__chip {
	border-radius: 999px;
	padding: 8px 16px;
}
.thq__chips--when .thq__chip span,
.thq__chips--tasks .thq__chip span,
.thq__chips--hours .thq__chip span > span:first-child {
	font-size: 15px;
	font-weight: 600;
}
.thq__chip small {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 13px;
	line-height: 1.3;
}
.thq__hours {
	border-top: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
	margin-top: -4px;
}
/* Date step: calendar and time on the left, the request on the right, as on TaskRabbit. */
.thq__cal-wrap {
	container-type: inline-size;
}
.thq__cal-wrap[hidden] {
	display: none;
}
.thq__cal-box {
	display: grid;
	gap: 20px;
}
.thq__cal-col {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}
.thq__cal-col .thq__note {
	margin: 0;
}
.thq__cal-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.thq__cal-head {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}
.thq__cal-title {
	font-size: 20px;
	font-weight: 600;
	margin: 0;
}
.thq__cal-navs {
	display: flex;
	gap: 4px;
}
.thq__cal-nav {
	background: none;
	border: 0;
	border-radius: 999px;
	color: var(--wp--preset--color--ink, #14211b);
	cursor: pointer;
	font-size: 26px;
	height: 40px;
	line-height: 1;
	padding: 0 0 3px;
	width: 40px;
}
.thq__cal-nav:hover:not(:disabled) {
	background: var(--wp--preset--color--green-soft, #f3f8f5);
}
.thq__cal-nav:disabled {
	color: var(--wp--preset--color--border, #d5e0da);
	cursor: default;
}
.thq__cal-grid {
	display: grid;
	gap: 4px 0;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	justify-items: center;
}
.thq__cal-wd {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	padding: 0 0 8px;
	text-transform: uppercase;
}
.thq__cal-day {
	background: none;
	border: 0;
	border-radius: 4px;
	color: var(--wp--preset--color--ink, #14211b);
	cursor: pointer;
	font: inherit;
	font-size: 18px;
	font-weight: 400;
	height: 48px;
	max-width: 52px;
	padding: 0;
	width: 100%;
}
.thq__cal-day:hover:not(:disabled) {
	background: var(--wp--preset--color--green-tint, #e3f2ea);
}
.thq__cal-day:disabled {
	color: #9aa59f;
	cursor: default;
}
.thq__cal-day.is-first:not(:disabled) {
	color: var(--wp--preset--color--green, #0a7a4b);
	font-weight: 600;
}
.thq__cal-day[aria-pressed="true"]:not(:disabled) {
	background: var(--wp--preset--color--green, #0a7a4b);
	color: #fff;
	font-weight: 600;
}
.thq__cal-day:focus-visible,
.thq__cal-nav:focus-visible {
	outline: 2px solid var(--wp--preset--color--green, #0a7a4b);
	outline-offset: 1px;
}
.thq__body .thq__pill {
	-webkit-appearance: none;
	appearance: none;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314211b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 20px center / 20px;
	border: 1px solid var(--wp--preset--color--muted, #4a5a52);
	border-radius: 999px;
	cursor: pointer;
	font-size: 17px;
	height: 54px;
	padding: 0 52px 0 22px;
	width: 100%;
}
.thq__body .thq__pill:focus {
	border-color: var(--wp--preset--color--green, #0a7a4b);
	outline: 2px solid var(--wp--preset--color--green-tint, #e3f2ea);
}
.thq__cal-side {
	border-top: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 20px;
}
.thq__cal-side p {
	margin: 0;
}
.thq__cal-for,
.thq__cal-when {
	font-size: 17px;
	line-height: 1.4;
}
.thq__cal-for {
	margin-bottom: -6px !important;
}
.thq__cal-when.is-empty {
	color: var(--wp--preset--color--muted, #4a5a52);
}
.thq__cal-min {
	color: var(--wp--preset--color--green, #0a7a4b);
	font-size: 15px;
	font-weight: 700;
}
.thq .thq__cal-go {
	border-radius: 999px;
	display: none;
	margin-top: 8px;
	width: 100%;
}
.thq__cal-next {
	align-items: flex-start;
	color: var(--wp--preset--color--muted, #4a5a52);
	display: flex;
	font-size: 14px;
	gap: 12px;
	line-height: 1.5;
	margin-top: 10px !important;
}
.thq__cal-icon {
	color: var(--wp--preset--color--green, #0a7a4b);
	flex: none;
	line-height: 0;
}
@container (min-width: 540px) {
	.thq__cal-box {
		gap: 0;
		grid-template-columns: minmax(0, 400px) minmax(200px, 1fr);
	}
	.thq__cal-col {
		padding-right: 32px;
	}
	.thq__cal-side {
		border-left: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
		border-top: 0;
		padding: 58px 0 0 32px;
	}
	.thq .thq__cal-go {
		display: block;
	}
}
@media (max-width: 599px) {
	.thq__chips--hours .thq__chip {
		padding-inline: 6px;
	}
	.thq__cal-day {
		height: 44px;
	}
}
.thq__chip span {
	display: flex;
	flex-direction: column;
	font-size: 14px;
	line-height: 1.3;
}
.thq__chip strong {
	font-size: 16px;
	font-weight: 600;
}
.thq__photos {
	width: 100%;
}
.thq__drop {
	align-items: center;
	background: var(--wp--preset--color--green-soft, #f3f8f5);
	border: 1.5px dashed var(--wp--preset--color--border, #d5e0da);
	border-radius: 14px;
	box-sizing: border-box;
	color: var(--wp--preset--color--green, #0a7a4b);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 20px 16px;
	text-align: center;
	width: 100%;
}
.thq__drop strong {
	font-weight: 600;
}
.thq__photos:has(:focus-visible) .thq__drop {
	outline: 2px solid var(--wp--preset--color--green, #0a7a4b);
	outline-offset: 2px;
}
.thq__photo-count {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 14px;
	max-width: 36ch;
}
.thq__consent {
	align-items: flex-start;
	flex-flow: row wrap;
	gap: 10px;
}
.thq__consent label {
	flex: 1;
}
.thq__consent .thq__error {
	flex-basis: 100%;
}
.thq__consent input {
	accent-color: var(--wp--preset--color--green, #0a7a4b);
	height: 20px;
	margin: 2px 0 0;
	width: 20px;
}
.thq__consent label {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 14px;
	line-height: 1.5;
}
.thq__check {
	align-items: flex-start;
	flex-flow: row wrap;
	gap: 10px;
}
.thq__check label {
	flex: 1;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	margin: 0;
}
.thq__check input {
	accent-color: var(--wp--preset--color--green, #0a7a4b);
	height: 20px;
	margin: 1px 0 0;
	width: 20px;
}
.thq__check .thq__error {
	flex-basis: 100%;
}
.thq__from-note {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 14px;
}
.thq__hp {
	height: 0;
	left: -9999px;
	overflow: hidden;
	position: absolute;
}
.thq__bar {
	align-items: center;
	background: #fff;
	border-top: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
	bottom: 0;
	box-sizing: border-box;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	left: 0;
	padding: 14px 24px;
	position: fixed;
	right: 0;
	z-index: 50;
}
.thq__bar[hidden] {
	display: none;
}
.thq__sum {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.thq__sum-label,
.thq__sum-note {
	color: var(--wp--preset--color--muted, #4a5a52);
	font-size: 14px;
	font-weight: 500;
}
.thq__sum-value {
	color: var(--wp--preset--color--green, #0a7a4b);
	font: 700 24px/1.2 var(--wp--preset--font-family--outfit, sans-serif);
}
.thq .thq__sum-value.is-plain {
	color: var(--wp--preset--color--ink, #14211b);
	font: 600 16px/1.35 var(--wp--preset--font-family--figtree, inherit);
}
.thq.is-step-1 .thq__sum-value {
	font-size: 18px;
}
.thq__next {
	border-radius: 12px;
	flex-shrink: 0;
}
@media (max-width: 440px) {
	.thq__bar {
		gap: 8px;
		padding-inline: 16px;
	}
	.thq .thq__next {
		padding: 12px 14px;
	}
}
.thq__next[disabled] {
	opacity: 0.6;
}
.thq__tick {
	align-items: center;
	align-self: center;
	background: var(--wp--preset--color--green-tint, #e3f2ea);
	border-radius: 999px;
	color: var(--wp--preset--color--green, #0a7a4b);
	display: flex;
	font-size: 32px;
	font-weight: 700;
	height: 72px;
	justify-content: center;
	width: 72px;
}
.thq__estimate {
	align-items: center;
	background: var(--wp--preset--color--green-soft, #f3f8f5);
	border-radius: 14px;
	display: flex;
	justify-content: space-between;
	padding: 14px 18px;
}
.thq__estimate span {
	color: var(--wp--preset--color--muted, #4a5a52);
}
.thq__estimate strong {
	color: var(--wp--preset--color--green, #0a7a4b);
	font: 700 26px/1.2 var(--wp--preset--font-family--outfit, sans-serif);
}
.thq__link {
	font-weight: 600;
	text-align: center;
}
.thq-editor-note {
	background: var(--wp--preset--color--green-soft, #f3f8f5);
	border: 1px dashed var(--wp--preset--color--border, #d5e0da);
	border-radius: 14px;
	padding: 24px;
	text-align: center;
}
body:has(.thq) .th-sticky-quote {
	display: none !important;
}
@media (max-width: 599px) {
	body:has(.thq) {
		padding-bottom: 0 !important;
	}
	.thq__card {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		display: flex;
		flex-direction: column;
		margin-inline: calc(-1 * clamp(16px, 4vw, 40px));
		min-height: 100vh;
		min-height: 100dvh;
	}
	.thq__body {
		flex: 1;
	}
	.thq__head {
		padding-inline: 4px;
	}
	.thq__progress {
		margin-inline: 16px;
	}
	.thq__body {
		padding-inline: 16px;
	}
	.thq__bar {
		padding-inline: 16px;
	}
}

@media (min-width: 768px) {
	.thq {
		margin-inline: calc(-1 * clamp(16px, 4vw, 40px));
		max-width: none;
	}
	.thq__card {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		min-height: 100vh;
	}
	.thq__head,
	.thq__bar {
		padding-inline: max(24px, calc((100% - 1200px) / 2));
	}
	.thq__head {
		grid-template-columns: 1fr auto 1fr;
		padding-block: 14px;
	}
	.thq__head-end {
		gap: 16px;
	}
	.thq__langs {
		display: flex;
		gap: 2px;
	}
	.thq__progress {
		border-radius: 0;
		margin: 0;
	}
	.thq__steps {
		display: flex;
		font-size: 14px;
		gap: 28px;
		list-style: none;
		margin: 0 auto;
		max-width: 1200px;
		padding: 14px 24px;
		color: var(--wp--preset--color--muted, #4a5a52);
	}
	.thq__steps[hidden] {
		display: none;
	}
	.thq__steps .is-done {
		color: var(--wp--preset--color--ink, #14211b);
	}
	.thq__steps .is-current {
		color: var(--wp--preset--color--green, #0a7a4b);
		font-weight: 600;
	}
	.thq__layout {
		align-items: start;
		display: grid;
		gap: 32px;
		grid-template-columns: minmax(0, 1fr) 280px;
		margin: 0 auto;
		max-width: 1200px;
		padding: 0 24px;
	}
	.thq__layout:has(.thq__summary[hidden]) {
		grid-template-columns: minmax(0, 640px);
		justify-content: center;
	}
	.thq__body {
		min-height: 0;
		padding: 24px 0;
	}
	.thq__status {
		padding-inline: 0;
	}
	.thq__summary:not([hidden]) {
		background: var(--wp--preset--color--green-soft, #f3f8f5);
		border-radius: 24px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin-top: 24px;
		padding: 24px;
	}
	.thq__summary > * {
		margin: 0;
	}
	.thq__sum-title {
		font-size: 20px;
	}
	.thq__sum-service {
		font-weight: 600;
	}
	.thq__sum-lines {
		display: flex;
		flex-direction: column;
		font-size: 14px;
		gap: 6px;
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.thq__sum-total {
		display: flex;
		flex-direction: column;
		gap: 2px;
	}
	.thq__sum-total span,
	.thq__sum-small,
	.thq__sum-meta dt,
	.thq__sum-help span {
		color: var(--wp--preset--color--muted, #4a5a52);
		font-size: 14px;
	}
	.thq__sum-total strong {
		color: var(--wp--preset--color--green, #0a7a4b);
		font: 700 32px/1.15 var(--wp--preset--font-family--outfit, sans-serif);
	}
	.thq__sum-meta {
		display: grid;
		gap: 2px;
		margin: 0;
	}
	.thq__sum-meta dd {
		font-weight: 600;
		margin: 0 0 8px;
	}
	.thq__sum-help {
		display: flex;
		flex-direction: column;
	}
	.thq__sum-help a,
	.thq__sum-help strong {
		font-weight: 600;
	}
}

@media (min-width: 1024px) {
	.thq__layout {
		gap: 56px;
		grid-template-columns: minmax(0, 1fr) 360px;
	}
	.thq__summary:not([hidden]) {
		position: sticky;
		top: 24px;
	}
}

/* Prices page: every service with its price table */
.th-price-list {
	display: flex;
	flex-direction: column;
	gap: clamp(40px, 5vw, 64px);
}
.th-price-group__title {
	font-size: clamp(26px, 2.4vw, 34px);
	margin: 0 0 20px;
}
.th-price-group__title a {
	color: inherit;
	text-decoration: none;
}
.th-price-group__title a:hover {
	text-decoration: underline;
}
.th-price-entries {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr));
}
.th-price-entry {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border-subtle, #e2eae5);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px;
	scroll-margin-top: 24px;
}
.th-price-entry__head {
	align-items: center;
	display: flex;
	gap: 14px;
}
.th-price-entry__head .th-icon {
	flex: none;
	margin: 0 !important;
}
.th-price-entry__name {
	font-size: 19px;
	letter-spacing: 0;
	line-height: 1.3;
	margin: 0;
}
.th-price-entry__name a {
	color: var(--wp--preset--color--ink, #14211b);
	text-decoration: none;
}
.th-price-entry__name a:hover {
	text-decoration: underline;
}
.th-price-entry__from {
	color: var(--wp--preset--color--green, #0a7a4b);
	font-size: 15px;
	font-weight: 600;
	margin: 2px 0 0;
}
.th-price-entry .th-price-table td,
.th-price-entry .th-price-table th {
	padding: 12px 16px;
}
.th-price-entry__quote {
	color: var(--wp--preset--color--muted, #4a5a52);
	margin: 0;
}
.th-price-entry__links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: auto 0 0;
}
.th-price-entry__go {
	background: var(--wp--preset--color--green, #0a7a4b);
	border-radius: 999px;
	color: #fff;
	font-weight: 600;
	padding: 10px 20px;
	text-decoration: none;
}
.th-price-entry__go:hover,
.th-price-entry__go:focus-visible {
	background: var(--wp--preset--color--green-dark, #075c38);
	color: #fff;
}
.th-price-entry__more {
	color: var(--wp--preset--color--green, #0a7a4b);
	font-weight: 600;
}
@media (max-width: 600px) {
	.th-price-entry {
		padding: 18px;
	}
	.th-price-entry .th-price-table td,
	.th-price-entry .th-price-table th {
		padding: 10px 12px;
	}
	.th-price-table td:last-child,
	.th-price-table th:last-child {
		white-space: normal;
	}
}

/* Language switch */
.wp-block-taskhome-language-switch {
	align-items: center;
	display: flex;
	gap: 6px;
	white-space: nowrap;
}
.wp-block-taskhome-language-switch a {
	color: inherit;
	text-decoration: none;
}
.wp-block-taskhome-language-switch a:hover,
.wp-block-taskhome-language-switch a:focus-visible {
	text-decoration: underline;
}

.th-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.th-chips .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.th-chips .wp-block-button__link svg {
	flex: none;
	width: 18px;
	height: 18px;
}

/* Service tabs (home page): icon tabs, task buttons, photo card */
.th-tabs__list {
	border-bottom: 1px solid var(--wp--preset--color--border, #ddddd8);
	display: flex;
	gap: 4px;
	justify-content: space-between;
	overflow-x: auto;
	scrollbar-width: none;
}
.th-tabs__list::-webkit-scrollbar {
	display: none;
}
.th-tabs__tab {
	align-items: center;
	background: none;
	border: 0;
	border-radius: 12px 12px 0 0;
	color: var(--wp--preset--color--muted, #55585a);
	cursor: pointer;
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	gap: 8px;
	line-height: 1.3;
	min-width: 104px;
	padding: 4px 10px 18px;
	position: relative;
	text-align: center;
}
.th-tabs__icon {
	align-items: center;
	border-radius: 46% 54% 42% 58% / 56% 44% 56% 44%;
	color: var(--wp--preset--color--ink, #18191a);
	display: flex;
	height: 72px;
	justify-content: center;
	transition: background-color 0.15s, color 0.15s;
	width: 78px;
}
.th-tabs__icon svg {
	height: 42px;
	width: 42px;
}
.th-tabs__tab:hover {
	color: var(--wp--preset--color--ink, #18191a);
}
.th-tabs__tab:hover .th-tabs__icon {
	background: var(--wp--preset--color--border-subtle, #e9e9e5);
}
/* The open tab is blue on a light blue blob, as on TaskRabbit. */
.th-tabs__tab[aria-selected="true"] {
	color: var(--wp--preset--color--blue, #066599);
	font-weight: 600;
}
.th-tabs__tab[aria-selected="true"] .th-tabs__icon {
	background: var(--wp--preset--color--ink, #1a1e1d);
	color: var(--wp--preset--color--white, #fff);
}
.th-tabs__tab[aria-selected="true"] .th-icon-fill {
	fill: var(--wp--preset--color--ink, #1a1e1d);
}
.th-tabs__tab[aria-selected="true"]::after {
	background: var(--wp--preset--color--blue, #066599);
	border-radius: 3px 3px 0 0;
	bottom: 0;
	content: "";
	height: 3px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 56px;
}
.th-tabs__tab:focus-visible {
	outline: 2px solid var(--wp--preset--color--green, #1e5c45);
	outline-offset: -2px;
}
.th-tabs__panel {
	padding-top: 28px;
}
.th-tabs__panel[hidden] {
	display: none;
}
.th-tabs__tasks {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
}
.th-tabs__task {
	background: var(--wp--preset--color--white, #fff);
	border: 1px solid var(--wp--preset--color--ink, #18191a);
	border-radius: 999px;
	color: var(--wp--preset--color--ink, #18191a);
	display: inline-block;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	padding: 11px 22px;
	text-decoration: none;
}
.th-tabs__task:hover,
.th-tabs__task:focus-visible {
	background: var(--wp--preset--color--green-tint, #e6efea);
	border-color: var(--wp--preset--color--green, #1e5c45);
	color: var(--wp--preset--color--ink, #18191a);
	text-decoration: none;
}
.th-tabs__feature {
	background: var(--wp--preset--color--green-tint, #e4f2ec);
	border-radius: 24px;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	isolation: isolate;
	overflow: hidden;
	position: relative;
}
/* Decoration: a light yellow blob in the corner behind the text. */
.th-tabs__feature::before {
	background: var(--wp--preset--color--gold-soft, #fdebb0);
	border-radius: 46% 54% 42% 58% / 56% 44% 56% 44%;
	bottom: -80px;
	content: "";
	height: 200px;
	left: -70px;
	pointer-events: none;
	position: absolute;
	width: 230px;
	z-index: -1;
}
.th-tabs__photo {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	min-height: 380px;
	position: relative;
}
.th-tabs__photo img {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}
.th-tabs__card {
	align-self: center;
	grid-column: 1;
	grid-row: 1;
	padding: clamp(28px, 4vw, 52px);
}
.th-tabs__feature--plain {
	grid-template-columns: minmax(0, 1fr);
}
.th-tabs__title {
	font-size: var(--wp--preset--font-size--h-3, 28px);
	margin: 0 0 12px;
}
.th-tabs__text {
	color: var(--wp--preset--color--muted, #55585a);
	font-size: 17px;
	line-height: 1.55;
	margin: 0 0 14px;
}
.th-tabs__price {
	color: var(--wp--preset--color--ink, #18191a);
	font-size: 17px;
	font-weight: 600;
	margin: 0 0 22px;
}
.th-tabs__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px 22px;
}
.th-tabs__more {
	color: var(--wp--preset--color--ink, #18191a);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.th-tabs__more:hover {
	color: var(--wp--preset--color--green, #1e5c45);
}
@media (max-width: 781px) {
	.th-tabs__list {
		justify-content: flex-start;
		margin-inline: calc(-1 * var(--wp--style--root--padding-left, 16px)) calc(-1 * var(--wp--style--root--padding-right, 16px));
		padding-inline: var(--wp--style--root--padding-left, 16px) var(--wp--style--root--padding-right, 16px);
	}
	.th-tabs__tab {
		flex: 0 0 auto;
		font-size: 14px;
		min-width: 96px;
		padding-inline: 6px;
	}
	.th-tabs__panel {
		padding-top: 22px;
	}
	.th-tabs__tasks {
		gap: 10px;
		margin-bottom: 22px;
	}
	.th-tabs__task {
		font-size: 15px;
		padding: 9px 18px;
	}
}
@media (max-width: 599px) {
	.th-tabs__feature {
		grid-template-columns: minmax(0, 1fr);
	}
	.th-tabs__photo {
		aspect-ratio: 4 / 3;
		grid-column: 1;
		min-height: 0;
	}
	.th-tabs__card {
		grid-row: 2;
	}
}
@media (prefers-reduced-motion: reduce) {
	.th-tabs__icon {
		transition: none;
	}
}

/* Filled part of the four service icons: white since core 0.22.2 (Hussein: icons
   in black and white only); it turns black with the icon on a black blob. */
.th-icon-fill {
	fill: var(--wp--preset--color--white, #fff);
}

/* Service tabs: the icons move once when a tab is hovered or picked
   (service-tabs.js adds .is-playing), and when a service card is hovered.
   Lengths are in icon units (24 per icon). */
.th-anim {
	overflow: visible;
}
.th-anim [class*="th-anim__fx-"] {
	opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
	.th-anim:is(.is-playing, .th-service-card:hover *) .th-anim__all,
	.th-anim:is(.is-playing, .th-service-card:hover *) path {
		animation-duration: 0.9s;
		animation-fill-mode: both;
		animation-timing-function: ease-out;
	}
	/* Furniture assembly: the screwdriver turns in the screws, left and right. */
	.th-anim--assembly .th-anim__driver {
		transform-origin: 19.25px 20.8px;
	}
	.th-anim--assembly:is(.is-playing, .th-service-card:hover *) .th-anim__driver {
		animation-name: th-anim-screw;
		animation-timing-function: ease-in-out;
	}
	/* TV mounting: the screen is lifted onto the wall above the sideboard. */
	.th-anim--mounting :is(.th-anim__screen, .th-anim__bg-screen) {
		transform-origin: 12px 12.5px;
	}
	.th-anim--mounting:is(.is-playing, .th-service-card:hover *) :is(.th-anim__screen, .th-anim__bg-screen) {
		animation-name: th-anim-mount;
	}
	/* Handyman: the toolbox is picked up by its handle and set down again. */
	.th-anim--handyman .th-anim__all {
		transform-origin: 12px 6px;
	}
	.th-anim--handyman:is(.is-playing, .th-service-card:hover *) .th-anim__all {
		animation-name: th-anim-carry;
		animation-timing-function: ease-in-out;
	}
	/* Kitchen installation: the units slide in and the hood drops into place. */
	.th-anim--kitchen:is(.is-playing, .th-service-card:hover *) :is(.th-anim__counter, .th-anim__oven, .th-anim__bg-oven) {
		animation-name: th-anim-rise;
	}
	.th-anim--kitchen:is(.is-playing, .th-service-card:hover *) .th-anim__fridge,
	.th-anim--kitchen:is(.is-playing, .th-service-card:hover *) .th-anim__handles {
		animation-name: th-anim-slide;
	}
	.th-anim--kitchen:is(.is-playing, .th-service-card:hover *) .th-anim__hood {
		animation-name: th-anim-hood;
	}
	/* Any other service icon: a small hop. */
	.th-anim--other .th-anim__all {
		transform-origin: 12px 22px;
	}
	.th-anim--other:is(.is-playing, .th-service-card:hover *) .th-anim__all {
		animation-name: th-anim-hop;
	}
}
@keyframes th-anim-hop {
	0% { transform: none; }
	30% { transform: translateY(-3px) rotate(-8deg); }
	55% { transform: scale(1.08, 0.92); }
	72% { transform: scale(0.97, 1.03); }
	88%, 100% { transform: none; }
}
@keyframes th-anim-screw {
	0%, 100% { transform: none; }
	18% { transform: translateY(1px) rotate(-12deg); }
	36% { transform: none; }
	56% { transform: translateY(1px) rotate(12deg); }
	76% { transform: none; }
}
@keyframes th-anim-mount {
	0% { transform: none; }
	30% { transform: translateY(-2.5px) rotate(-7deg); }
	55% { transform: translateY(0.4px) rotate(2deg); }
	70% { transform: rotate(-1deg); }
	100% { transform: none; }
}
@keyframes th-anim-carry {
	0% { transform: none; }
	25% { transform: translateY(-2.5px) rotate(-6deg); }
	50% { transform: translateY(-2.5px) rotate(5deg); }
	72% { transform: translateY(-0.8px) rotate(-2deg); }
	88%, 100% { transform: none; }
}
@keyframes th-anim-rise {
	0% { transform: translateY(2.5px); }
	30% { transform: translateY(-0.5px); }
	45%, 100% { transform: none; }
}
@keyframes th-anim-slide {
	0%, 10% { transform: translateX(3px); }
	40% { transform: translateX(-0.5px); }
	55%, 100% { transform: none; }
}
@keyframes th-anim-hood {
	0%, 35% { transform: translateY(-3px); }
	60% { transform: translateY(0.6px); }
	75%, 100% { transform: none; }
}

/* Legal text: Impressum and privacy policy */
.th-legal {
	max-width: 720px;
}
.th-legal h2 {
	font-size: var(--wp--preset--font-size--h-4);
	letter-spacing: 0;
	line-height: 1.3;
	margin: 2em 0 0.5em;
}
.th-legal > h2:first-child,
.th-legal__missing + h2 {
	margin-top: 0;
}
.th-legal p {
	margin: 0 0 1em;
}
.th-legal a {
	overflow-wrap: anywhere;
}
.th-legal__updated {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin-top: 2.5em !important;
}
.th-legal__missing {
	background: #fcf0f1;
	border-left: 4px solid #b32d2e;
	color: var(--wp--preset--color--ink);
	margin-bottom: 2em !important;
	padding: 12px 16px;
}

/* Google reviews (home page) */
.th-reviews {
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.th-reviews__head > * {
	margin: 0;
}
.th-reviews__head > * + * {
	margin-top: 8px;
}
.th-reviews__box {
	background: var(--wp--preset--color--white, #fff);
	border: 1px solid var(--wp--preset--color--border-subtle, #e9e9e5);
	border-radius: 24px;
	box-shadow: var(--wp--preset--shadow--card, 0 8px 24px rgba(20, 33, 27, 0.08));
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: clamp(16px, 2.5vw, 24px);
}
.th-reviews__bar {
	align-items: center;
	background: var(--wp--preset--color--green-soft, #f5f5f2);
	border-radius: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
	justify-content: space-between;
	padding: 18px 22px;
}
.th-reviews__score > * {
	margin: 0;
}
.th-reviews__brand {
	align-items: center;
	display: flex;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 19px;
	font-weight: 600;
	gap: 8px;
}
.th-reviews__rating {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin-top: 6px !important;
}
.th-reviews__rating strong {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 28px;
	line-height: 1;
}
.th-reviews__rating .th-gstars {
	font-size: 22px;
}
.th-reviews__count {
	color: var(--wp--preset--color--muted, #55585a);
	font-size: 14px;
}
.th-reviews__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
}
.th-reviews__write.wp-element-button {
	text-decoration: none;
}
.th-reviews__all {
	color: var(--wp--preset--color--green);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.th-reviews__all:hover {
	color: var(--wp--preset--color--green-dark);
}

/* Stars filled to the rating */
.th-gstars {
	background: linear-gradient(90deg, var(--wp--preset--color--gold, #f9c339) var(--th-fill, 100%), #d6d6d1 var(--th-fill, 100%));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	display: inline-block;
	font-size: 18px;
	letter-spacing: 2px;
	line-height: 1;
}

/* Row of review cards */
.th-reviews__slider {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.th-reviews__track {
	--th-cards: 3;
	column-gap: 20px;
	display: grid;
	grid-auto-columns: calc((100% - (var(--th-cards) - 1) * 20px) / var(--th-cards));
	grid-auto-flow: column;
	list-style: none;
	margin: 0;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	padding: 2px 2px 8px;
	/* Keeps hidden "(opens in a new tab)" texts inside the scroller, so phones get no sideways scroll. */
	position: relative;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}
.th-reviews__track:focus-visible {
	outline: 2px solid var(--wp--preset--color--green);
	outline-offset: 4px;
}
@media (max-width: 1023px) {
	.th-reviews__track {
		--th-cards: 2;
	}
}
@media (max-width: 640px) {
	.th-reviews__track {
		--th-cards: 1;
		grid-auto-columns: 86%;
	}
	.th-reviews__bar {
		padding: 16px;
	}
	.th-reviews__actions {
		width: 100%;
	}
	.th-reviews__write.wp-element-button {
		flex: 1 1 100%;
		text-align: center;
	}
}
.th-review-card {
	background: var(--wp--preset--color--white, #fff);
	border: 1px solid var(--wp--preset--color--border, #ddddd8);
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 22px;
	scroll-snap-align: start;
}
.th-review-card > * {
	margin: 0;
}
.th-review-card__who {
	align-items: center;
	display: flex;
	gap: 12px;
}
.th-review-card__avatar {
	align-items: center;
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 18px;
	font-weight: 600;
	height: 40px;
	justify-content: center;
	width: 40px;
}
.th-review-card__avatar--0 { background: var(--wp--preset--color--green, #0a634d); }
.th-review-card__avatar--1 { background: var(--wp--preset--color--blue, #066599); }
.th-review-card__avatar--2 { background: var(--wp--preset--color--violet, #6b5b95); }
.th-review-card__avatar--3 { background: var(--wp--preset--color--forest, #2b4c32); }
.th-review-card__name {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
	margin: 0;
}
.th-review-card__name span {
	color: var(--wp--preset--color--muted, #55585a);
	font-size: 14px;
}
.th-review-card__text {
	line-height: 1.55;
}
.th-review-card__text > * {
	margin: 0;
}
.th-review-card__text > * + * {
	margin-top: 8px;
}
.th-review-card__text.is-clamped {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	line-clamp: 6;
	overflow: hidden;
}
.th-review-card__more {
	align-self: flex-start;
	background: none;
	border: 0;
	color: var(--wp--preset--color--green);
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	margin-top: -4px !important;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.th-review-card__photos {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(2, 1fr);
}
.th-review-card__photos--1 {
	grid-template-columns: 1fr;
}
.th-review-card__photos a {
	border-radius: 10px;
	display: block;
	overflow: hidden;
}
.th-review-card__photos img {
	aspect-ratio: 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}
.th-review-card__photos--1 img {
	aspect-ratio: 4 / 3;
}
.th-review-card__source {
	align-items: center;
	color: var(--wp--preset--color--muted, #55585a);
	display: flex;
	font-size: 13px;
	gap: 6px;
	margin-top: auto !important;
}
.th-review-card__source .th-g {
	height: 14px;
	width: 14px;
}
.th-reviews__nav {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: center;
}
.th-reviews__nav[hidden] {
	display: none;
}
.th-reviews__arrow {
	align-items: center;
	background: var(--wp--preset--color--white, #fff);
	border: 1px solid #868a87;
	border-radius: 50%;
	color: var(--wp--preset--color--ink, #1a1e1d);
	cursor: pointer;
	display: inline-flex;
	height: 44px;
	justify-content: center;
	padding: 0;
	width: 44px;
}
.th-reviews__arrow:hover:not(:disabled) {
	border-color: var(--wp--preset--color--green);
	color: var(--wp--preset--color--green);
}
.th-reviews__arrow:focus-visible {
	outline: 2px solid var(--wp--preset--color--green);
	outline-offset: 2px;
}
.th-reviews__arrow:disabled {
	cursor: default;
	opacity: 0.35;
}
.th-reviews__dots {
	display: flex;
	gap: 6px;
}
.th-reviews__dots span {
	background: #c9cbcc;
	border-radius: 999px;
	height: 8px;
	transition: width 0.2s, background-color 0.2s;
	width: 8px;
}
.th-reviews__dots span.is-active {
	background: var(--wp--preset--color--green);
	width: 22px;
}
@media (prefers-reduced-motion: reduce) {
	.th-reviews__dots span {
		transition: none;
	}
}

/* Google badge, bottom left of every page */
.th-gbadge {
	align-items: center;
	background: var(--wp--preset--color--white, #fff);
	border: 1px solid var(--wp--preset--color--border, #ddddd8);
	border-radius: 14px;
	bottom: 16px;
	box-shadow: var(--wp--preset--shadow--float, 0 16px 40px rgba(20, 33, 27, 0.16));
	color: var(--wp--preset--color--ink, #1a1e1d);
	display: grid;
	gap: 2px 8px;
	grid-template-columns: auto auto;
	left: 16px;
	padding: 10px 14px;
	position: fixed;
	text-decoration: none;
	z-index: 90;
}
.th-gbadge:hover {
	border-color: var(--wp--preset--color--green);
}
.th-gbadge:focus-visible {
	outline: 2px solid var(--wp--preset--color--green);
	outline-offset: 2px;
}
.th-gbadge__score {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 22px;
	font-weight: 700;
	grid-row: span 2;
	line-height: 1;
	align-self: center;
}
.th-gbadge .th-gstars {
	font-size: 14px;
	letter-spacing: 1px;
}
.th-gbadge__label {
	align-items: center;
	color: var(--wp--preset--color--muted, #55585a);
	display: flex;
	font-size: 12px;
	font-weight: 600;
	gap: 4px;
}
.th-gbadge__label .th-g {
	height: 12px;
	width: 12px;
}
/* Phones already have the quote bar at the bottom, so no badge there. */
@media (max-width: 599px) {
	.th-gbadge {
		display: none;
	}
}
@media print {
	.th-gbadge {
		display: none;
	}
}
.th-review-card__name a,
.th-review-card__source a {
	color: inherit;
	text-decoration: none;
}
.th-review-card__name a:hover,
.th-review-card__source a:hover,
.th-review-card__name a:focus-visible,
.th-review-card__source a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}
