/* Auzmor Reviews widget - every selector is scoped under .azrv7k-root, so nothing leaks into Elementor or other widgets.
   Values from Figma: desktop frame 4451:1827 (1440 wide), mobile frame 4451:1855 (360 wide). */
.azrv7k-root {
	--azrv7k-panel-bg: #F9F9F9;
	--azrv7k-active-bg: #DADEFF;
	--azrv7k-ink: #000000;
	--azrv7k-text: #333333;
	box-sizing: border-box;
	width: 100%;
	padding: 93px 24px;
	font-family: "Mulish", sans-serif;
	letter-spacing: 0.281px;
}
.azrv7k-root *, .azrv7k-root *::before, .azrv7k-root *::after { box-sizing: border-box; }
.azrv7k-root .azrv7k-panel {
	--azrv7k-ink-l: var(--azrv7k-ink);
	max-width: 1170px;
	margin: 0 auto;
	padding: 89px 32px 76px;
	background: var(--azrv7k-panel-bg);
	border-radius: 30px;
}
.azrv7k-root .azrv7k-heading {
	max-width: 474px;
	margin: 0 auto 79px;
	padding: 0;
	color: var(--azrv7k-ink);
	font: 700 40px/50.2px "Mulish", sans-serif;
	letter-spacing: 0.281px;
	text-align: center;
	text-wrap: balance;
}

/* ---- slides (the active review) ----
   All slides share ONE grid cell, so the stage is always as tall as the longest review: switching never changes the
   section height (no jump of the cards/arrows or the page below). Inactive slides are only faded out. */
.azrv7k-root .azrv7k-stage { display: grid; }
.azrv7k-root .azrv7k-slide { grid-area: 1 / 1; display: grid; grid-template-columns: minmax(0, 470px) 470px; justify-content: space-between; align-items: start; padding: 0 27px 0 55px;
	opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .35s ease, visibility 0s linear .35s; }
.azrv7k-root .azrv7k-slide.azrv7k-is-active { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .35s ease, visibility 0s linear 0s; }
.azrv7k-root .azrv7k-copy { padding-top: 41px; }
.azrv7k-root .azrv7k-qmark { display: block; width: 26px; height: 21px; fill: #111111; }
.azrv7k-root .azrv7k-name { margin-top: 8px; color: var(--azrv7k-ink); font: 700 28px/42px "Mulish", sans-serif; letter-spacing: 0.281px; }
.azrv7k-root .azrv7k-role { margin-top: 8px; color: var(--azrv7k-text); font: 300 16px/24px "Mulish", sans-serif; letter-spacing: 0.281px; }
.azrv7k-root .azrv7k-quote { margin: 16px 0 0; padding: 0; color: var(--azrv7k-text); font: 400 14px/25.2px "Mulish", sans-serif; letter-spacing: 0.281px; }

.azrv7k-root .azrv7k-media { position: relative; width: 470px; height: 376px; }
/* photo 370x314 r11.55 with a lavender card 10px behind it */
.azrv7k-root .azrv7k-photo { position: absolute; left: 75px; top: 41px; width: 370px; height: 314px; border-radius: 11.55px; background: #DCDBE9; overflow: hidden; }
.azrv7k-root .azrv7k-media::before { content: ""; position: absolute; left: 85px; top: 51px; width: 370px; height: 314px; border-radius: 11.55px; background: #DCDBE9; }
.azrv7k-root .azrv7k-photo img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.azrv7k-root .azrv7k-badge { position: absolute; left: 10px; top: 11px; z-index: 1; display: flex; align-items: center; gap: 16px; width: 154px; height: 57px; padding: 0 25px; background: #FFFFFF; border-radius: 10px; box-shadow: 0 15.7px 31.4px rgba(0, 0, 0, 0.07); }
.azrv7k-root .azrv7k-badge-icon { display: block; width: 24px; height: 24px; }
.azrv7k-root .azrv7k-badge-label { color: #000000; font: 700 20px/30px "Mulish", sans-serif; letter-spacing: 0.281px; }

/* ---- desktop selector cards ---- */
.azrv7k-root .azrv7k-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 347px)); justify-content: space-between; gap: 32px; margin-top: 54px; }
.azrv7k-root .azrv7k-card {
	position: relative; display: flex; align-items: center; gap: 17px; width: 100%; min-height: 104px; margin: 0; padding: 0 32px;
	border: 0; border-radius: 16px; background: #FFFFFF; box-shadow: 0 0 17px rgba(16, 24, 40, 0.08);
	text-align: left; cursor: pointer; overflow: hidden; font: inherit; color: inherit; -webkit-appearance: none; appearance: none;
	transition: background-color .25s ease, box-shadow .25s ease;
}
.azrv7k-root .azrv7k-card:focus-visible { outline: 2px solid #EB4869; outline-offset: 2px; }
.azrv7k-root .azrv7k-card.azrv7k-is-active { background: var(--azrv7k-active-bg); box-shadow: none; }
.azrv7k-root .azrv7k-card::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, #FF6685 0%, #EB4869 100%); opacity: 0; transition: opacity .25s ease; }
.azrv7k-root .azrv7k-card.azrv7k-is-active::after { opacity: 1; }
.azrv7k-root .azrv7k-avatar { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%; background: #D9D9D9; overflow: hidden; }
.azrv7k-root .azrv7k-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.azrv7k-root .azrv7k-card-text { display: flex; flex-direction: column; min-width: 0; }
.azrv7k-root .azrv7k-card-name { color: #000000; font: 700 16px/24px "Mulish", sans-serif; letter-spacing: 0.281px; }
.azrv7k-root .azrv7k-card-role { color: #333333; font: 500 14px/25.2px "Mulish", sans-serif; letter-spacing: 0.281px; opacity: .8; }
.azrv7k-root .azrv7k-card.azrv7k-is-active .azrv7k-card-role { opacity: 1; }

.azrv7k-root .azrv7k-arrows { display: none; }

/* ---- laptop: keep the desktop layout, let the columns flex ---- */
@media (max-width: 1200px) {
	.azrv7k-root .azrv7k-slide { grid-template-columns: minmax(0, 1fr) 470px; gap: 32px; padding: 0 16px 0 24px; }
}

/* ---- tablet + mobile (Figma 4451:1855): photo first, quote below, previous / next arrows ---- */
@media (max-width: 1024px) {
	.azrv7k-root { padding: 71px 24px 70px; }
	.azrv7k-root .azrv7k-panel { max-width: 640px; padding: 0 5px; background: transparent; border-radius: 0; }
	.azrv7k-root .azrv7k-heading { max-width: none; margin: 0 0 23px; font-size: 28px; line-height: 35.1px; text-align: left; }
	.azrv7k-root .azrv7k-slide { display: flex; flex-direction: column; justify-content: flex-start; padding: 0; }
	.azrv7k-root .azrv7k-media { order: -1; width: 100%; max-width: 480px; height: auto; margin-left: -8px; padding: 14px 0 7px 8px; }
	.azrv7k-root .azrv7k-photo { position: relative; left: auto; top: auto; width: calc(100% - 7px); height: auto; aspect-ratio: 299 / 207; border-radius: 9.32px; }
	.azrv7k-root .azrv7k-media::before { left: 15px; top: 21px; width: calc(100% - 15px); height: auto; aspect-ratio: 299 / 207; border-radius: 9.32px; }
	.azrv7k-root .azrv7k-badge { left: 0; top: 0; gap: 12px; width: auto; height: 44px; padding: 0 16px; border-radius: 8px; }
	.azrv7k-root .azrv7k-badge-icon { width: 20px; height: 20px; }
	.azrv7k-root .azrv7k-badge-label { font-size: 16px; line-height: 24px; }
	.azrv7k-root .azrv7k-copy { padding: 24px 0 0 8px; }
	.azrv7k-root .azrv7k-qmark { width: 22px; height: 17px; }
	.azrv7k-root .azrv7k-name { margin-top: 12px; font-size: 18px; line-height: 27px; }
	.azrv7k-root .azrv7k-role { margin-top: 8px; font-size: 14px; line-height: 21px; }
	.azrv7k-root .azrv7k-quote { margin-top: 12px; font-weight: 500; font-size: 12px; line-height: 21.6px; }
	.azrv7k-root .azrv7k-cards { display: none; }
	.azrv7k-root .azrv7k-arrows { display: flex; gap: 24px; margin-top: 32px; padding-left: 8px; }
	.azrv7k-root .azrv7k-arrow { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0; padding: 0; border: 2px solid #000000; border-radius: 50%; background: transparent; cursor: pointer; -webkit-appearance: none; appearance: none; transition: background-color .2s ease; }
	.azrv7k-root .azrv7k-arrow:focus-visible { outline: 2px solid #EB4869; outline-offset: 2px; }
	.azrv7k-root .azrv7k-arrow svg { width: 16px; height: 14px; fill: none; stroke: #000000; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	/* 2026-09-24 tablet pass: content on the 40px tablet edge like every other section, 48px rhythm (Section-Space tablet) */
	.azrv7k-root { padding: 48px 40px; }
	.azrv7k-root .azrv7k-panel { max-width: none; padding: 0; }
	.azrv7k-root .azrv7k-copy { padding-left: 0; }
	.azrv7k-root .azrv7k-arrows { padding-left: 0; }
	.azrv7k-root .azrv7k-heading { font-size: 34px; line-height: 42px; }
	.azrv7k-root .azrv7k-quote { font-size: 14px; line-height: 25.2px; font-weight: 400; }
}
/* phones: 20px mobile gutter like every other section; photo, quote and arrows start on the same 20px edge */
@media (max-width: 767px) {
	.azrv7k-root { padding: 32px 20px; } /* 64px rhythm: 32 top + 32 bottom, like Section-Space */
	.azrv7k-root .azrv7k-panel { padding: 0; }
	.azrv7k-root .azrv7k-copy { padding-left: 0; }
	.azrv7k-root .azrv7k-arrows { padding-left: 0; }
}
/* hover fill only for real pointers: on touch screens :hover would stick after a tap */
@media (max-width: 1024px) and (hover: hover) and (pointer: fine) {
	.azrv7k-root .azrv7k-arrow:hover { background: #000000; }
	.azrv7k-root .azrv7k-arrow:hover svg { stroke: #FFFFFF; }
}
@media (hover: hover) and (pointer: fine) {
	.azrv7k-root .azrv7k-card:hover { box-shadow: 0 0 22px rgba(16, 24, 40, 0.14); }
}
@media (prefers-reduced-motion: reduce) {
	.azrv7k-root .azrv7k-slide, .azrv7k-root .azrv7k-slide.azrv7k-is-active { transition: none; }
	.azrv7k-root .azrv7k-card, .azrv7k-root .azrv7k-card::after { transition: none; }
}
