/* SiteExtras.php: testimonials, contact form, 404. */

/* ---------- Testimonials ---------- */
.amless-testi__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 20px;
	margin-bottom: 18px;
}

.amless-testi__title {
	margin: 0 !important;
}

.amless-testi__score {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin: 0;
	font-size: 14px;
	color: #202025;
}

.amless-testi__score svg,
.amless-testi__stars svg {
	color: #00b67a; /* Trustpilot-like green */
}

.amless-testi__score strong {
	margin-left: 6px;
}

.amless-testi__track {
	gap: 14px !important;
}

.amless-testi__card {
	flex: 0 0 calc(85% - 14px);
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 22px;
	border-radius: 16px;
	background: #f3efea;
	scroll-snap-align: start;
}

@media (min-width: 768px) {
	.amless-testi__card {
		flex-basis: 320px;
	}
}

.amless-testi__stars {
	display: flex;
	gap: 2px;
	margin-bottom: 12px;
}

.amless-testi__card blockquote {
	flex: 1 1 auto;
	margin: 0 0 18px;
	padding: 0;
	border: 0;
}

.amless-testi__card blockquote p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #202025;
}

.amless-testi__card figcaption {
	display: grid;
	grid-template-columns: 36px 1fr;
	column-gap: 10px;
	align-items: center;
	font-size: 14px;
	font-weight: 700;
}

.amless-testi__avatar {
	grid-row: span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #202025;
	color: #fff;
	font-size: 14px;
}

.amless-testi__card figcaption small {
	font-size: 12px;
	font-weight: 500;
	color: #6b6a70;
}

/* ---------- Contact form ---------- */
.amless-contact {
	max-width: 680px;
}

.amless-contact__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0 16px;
}

@media (min-width: 640px) {
	.amless-contact__row {
		grid-template-columns: 1fr 1fr;
	}
}

.amless-contact p {
	margin: 0 0 16px;
}

.amless-contact label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
}

.amless-contact input[type="text"],
.amless-contact input[type="email"],
.amless-contact select,
.amless-contact textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid var(--mbf-color-border, #d9d7dd);
	border-radius: 10px;
	background: #fff;
	font-size: 16px;
}

.amless-contact textarea {
	min-height: 140px;
	resize: vertical;
}

.amless-contact__consent label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-weight: 500;
}

.amless-contact__hp {
	position: absolute !important;
	left: -9999px !important;
}

.amless-contact__btn {
	min-height: 50px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px !important;
	background: #202025;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}

.amless-contact__ok,
.amless-contact__err {
	padding: 16px 18px;
	border-radius: 12px;
	font-size: 15px;
}

.amless-contact__ok {
	background: #e8f3ea;
	color: #1f5c39;
}

.amless-contact__err {
	background: #fbeaea;
	color: #8a1f1f;
}

/* ---------- 404 ---------- */
.amless-404 {
	max-width: 680px;
	margin: 48px auto 96px;
	padding: 0 20px;
	text-align: center;
}

.amless-404__code {
	margin: 0;
	font-size: clamp(96px, 18vw, 180px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
	color: #202025;
}

/* The "0" as a weight plate. */
.amless-404__plate {
	display: inline-block;
	width: 0.78em;
	height: 0.78em;
	margin: 0 0.04em;
	border: 0.13em solid #202025;
	border-radius: 50%;
	background: radial-gradient(circle, #202025 0 14%, #e7c9a9 15% 100%);
	color: transparent;
	vertical-align: -0.06em;
	animation: amless-lift 1.6s ease-in-out infinite;
}

@keyframes amless-lift {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-0.12em); }
}

@media (prefers-reduced-motion: reduce) {
	.amless-404__plate {
		animation: none;
	}
}

.amless-404__title {
	margin: 24px 0 12px;
	font-size: clamp(26px, 4vw, 36px);
}

.amless-404__lead {
	margin: 0 auto 28px;
	font-size: 16px;
	line-height: 1.6;
	color: #55545b;
}

.amless-404__search {
	display: flex;
	gap: 8px;
	max-width: 480px;
	margin: 0 auto 20px;
}

.amless-404__search input {
	flex: 1 1 auto;
	min-height: 48px;
	padding: 0 18px;
	border: 1px solid var(--mbf-color-border, #d9d7dd);
	border-radius: 999px;
	font-size: 16px;
}

.amless-404__search button,
.amless-404__btn,
.amless-404__btn:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 24px;
	border: 1px solid #202025;
	border-radius: 999px !important;
	background: #202025;
	color: #fff !important;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none !important;
	cursor: pointer;
}

.amless-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.amless-404__btn--ghost,
.amless-404__btn--ghost:visited {
	background: transparent;
	color: #202025 !important;
}

.amless-404__tip {
	margin-top: 32px;
	font-size: 14px;
	color: #6b6a70;
}

.amless-contact__consent a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
}
