/* Marcaspus Instant Quote Calculator v3 */
.mqc {
	/* Design tokens. Override any of these from Elementor or Instant Quote > Forms > Design. */
	--mqc-primary: #2E5FEC;          /* tabs, step numbers, selected cards, total */
	--mqc-accent: #1677D0;           /* main buttons, frequency, add ons */
	--mqc-accent-hover: color-mix(in srgb, var(--mqc-accent) 82%, #000);
	--mqc-navy: #15154A;             /* summary header and mobile bar */
	--mqc-sum-text: #FFFFFF;
	--mqc-sum-sub: #A6ADC8;
	--mqc-book-head: var(--mqc-primary);
	--mqc-heading: var(--mqc-ink);   /* main title */
	--mqc-ink: #1B2333;              /* text */
	--mqc-muted: #5E6980;            /* secondary text */
	--mqc-muted-bg: #EEF4FF;         /* icon circles */
	--mqc-line: #E4E9F2;             /* borders */
	--mqc-card: #FFFFFF;             /* cards and boxes */
	--mqc-hover-bg: #F6F9FE;
	--mqc-input-bg: #FFFFFF;
	--mqc-green: #15803D;            /* discounts */
	--mqc-on-primary: #FFFFFF;       /* text on coloured buttons */
	--mqc-bg: transparent;           /* calculator background */
	--mqc-badge-bg: color-mix(in srgb, var(--mqc-accent) 10%, transparent);
	--mqc-badge-text: var(--mqc-accent);
	--mqc-hand-color: var(--mqc-primary);
	/* Tab, prompt, size and bar variables have no value here on purpose: each style
	   supplies its own fallback, and a value set in Forms & Design or Elementor wins. */
	--mqc-radius-card: 12px;
	--mqc-radius-box: 16px;
	--mqc-radius-btn: 10px;
	--mqc-radius-input: 8px;
	--mqc-max: 1152px;
	--mqc-sticky-top: 32px;
	--mqc-head-font: "Poppins", ui-sans-serif, system-ui, sans-serif;
	--mqc-body-font: "Inter", ui-sans-serif, system-ui, sans-serif;
	--mqc-hand-font: "Caveat", cursive;
	--mqc-shadow-elegant: 0 10px 30px -10px color-mix(in srgb, var(--mqc-primary) 25%, transparent);
	font-family: var(--mqc-body-font);
	color: var(--mqc-ink);
	background: var(--mqc-bg);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	width: 100%;
}
.mqc *, .mqc *::before, .mqc *::after { box-sizing: border-box; }
.mqc.mqc svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; display: block; }

/* Neutralise theme and Elementor kit form styles inside the calculator */
.mqc.mqc button,
.mqc.mqc input,
.mqc.mqc select,
.mqc.mqc textarea {
	font: inherit; color: inherit; letter-spacing: normal; text-transform: none; text-shadow: none;
	margin: 0; border-radius: 0; box-shadow: none; outline: none; min-height: 0;
	-webkit-appearance: none; appearance: none; transition: none;
}
.mqc.mqc button { background: transparent; border: 0; padding: 0; cursor: pointer; line-height: 1.25; white-space: normal; text-align: inherit; }
.mqc.mqc button:hover,
.mqc.mqc button:focus { background: transparent; color: inherit; border-color: transparent; }
.mqc.mqc button:focus-visible,
.mqc.mqc input:focus-visible,
.mqc.mqc select:focus-visible,
.mqc.mqc textarea:focus-visible { outline: 2px solid var(--mqc-primary); outline-offset: 2px; }
.mqc.mqc button:disabled { cursor: not-allowed; }
.mqc h1, .mqc h2, .mqc h3, .mqc p { margin: 0; padding: 0; }

.mqc .mqc-wrap { max-width: var(--mqc-max); margin: 0 auto; padding: 0 16px 48px; }

/* Header ---------------------------------------------------------------- */
.mqc .mqc-head { text-align: center; margin-bottom: var(--mqc-head-space, 64px); }
.mqc.mqc-hda-left .mqc-head { text-align: left; --mqc-sub-ml: 0; --mqc-sub-mr: auto; }
.mqc.mqc-hda-right .mqc-head { text-align: right; --mqc-sub-ml: auto; --mqc-sub-mr: 0; }
.mqc .mqc-badge {
	display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; border-radius: 999px;
	background: var(--mqc-badge-bg); color: var(--mqc-badge-text);
	font-weight: 500; font-size: 14px; line-height: 20px; margin-bottom: 16px;
}
.mqc .mqc-badge svg { width: 16px; height: 16px; }
.mqc.mqc .mqc-title {
	font-family: var(--mqc-head-font); font-size: var(--mqc-title-size-m, 36px); line-height: 1.1; font-weight: 700;
	letter-spacing: -.025em; color: var(--mqc-heading); margin: 0 0 16px; text-transform: none;
}
.mqc .mqc-sub { font-size: var(--mqc-sub-size-m, 18px); line-height: 1.625; color: var(--mqc-muted); max-width: 672px; margin: 0 var(--mqc-sub-mr, auto) 0 var(--mqc-sub-ml, auto); }

/* Layout ---------------------------------------------------------------- */
.mqc .mqc-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--mqc-grid-gap, 48px); }
.mqc .mqc-main { min-width: 0; }
.mqc .mqc-aside { min-width: 0; }
.mqc .mqc-fade { animation: mqc-fade .35s ease-out; }
@keyframes mqc-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Prompt line ----------------------------------------------------------- */
.mqc .mqc-hand { display: flex; justify-content: center; align-items: flex-end; gap: 8px; margin: 8px 0 var(--mqc-hand-space, 24px); }
.mqc .mqc-hand svg { width: 40px; height: 40px; color: var(--mqc-hand-arrow, color-mix(in srgb, var(--mqc-hand-color) 60%, transparent)); stroke-width: 4; }
.mqc .mqc-hand .mqc-arrow-l { transform: scaleX(-1) translate(-16px, 12px); }
.mqc .mqc-hand .mqc-arrow-r { transform: translate(-16px, 12px); }
.mqc .mqc-hand span {
	font-family: var(--mqc-hand-font); font-weight: 600; font-size: var(--mqc-hand-size-m, clamp(26px, 7.2vw, 36px)); line-height: 1.1;
	color: var(--mqc-hand-color); transform: rotate(var(--mqc-hand-tilt, -4deg)); position: relative; z-index: 1; white-space: nowrap;
}
.mqc.mqc-hal-left .mqc-hand { justify-content: flex-start; }
.mqc.mqc-hal-right .mqc-hand { justify-content: flex-end; }
.mqc.mqc-harr-hide .mqc-hand svg,
.mqc.mqc-hs-pill .mqc-hand svg,
.mqc.mqc-hs-eyebrow .mqc-hand svg { display: none; }
.mqc.mqc-hs-pill .mqc-hand span,
.mqc.mqc-hs-marker .mqc-hand span,
.mqc.mqc-hs-eyebrow .mqc-hand span,
.mqc.mqc-hs-plain .mqc-hand span { font-family: var(--mqc-head-font); transform: rotate(var(--mqc-hand-tilt, 0deg)); }
.mqc.mqc-hs-pill .mqc-hand, .mqc.mqc-hs-eyebrow .mqc-hand { align-items: center; }
.mqc.mqc-hs-pill .mqc-hand span {
	font-size: var(--mqc-hand-size-m, 15px); font-weight: 600; line-height: 1.3; padding: .55em 1.25em; border-radius: 999px;
	background: var(--mqc-hand-bg, color-mix(in srgb, var(--mqc-hand-color) 10%, transparent));
}
.mqc.mqc-hs-marker .mqc-hand span {
	font-size: var(--mqc-hand-size-m, 24px); font-weight: 700; line-height: 1.3; padding: 0 .1em;
	text-decoration: underline; text-decoration-thickness: .42em; text-underline-offset: -.28em; text-decoration-skip-ink: none;
	text-decoration-color: var(--mqc-hand-bg, color-mix(in srgb, var(--mqc-hand-color) 24%, transparent));
}
.mqc.mqc-hs-eyebrow .mqc-hand { gap: 14px; }
.mqc.mqc-hs-eyebrow .mqc-hand::before,
.mqc.mqc-hs-eyebrow .mqc-hand::after { content: ""; flex: 0 1 64px; height: 2px; border-radius: 2px; background: var(--mqc-hand-arrow, color-mix(in srgb, var(--mqc-hand-color) 35%, transparent)); }
.mqc.mqc-hs-eyebrow.mqc-hal-left .mqc-hand::before,
.mqc.mqc-hs-eyebrow.mqc-hal-right .mqc-hand::after { display: none; }
.mqc.mqc-hs-eyebrow .mqc-hand span { font-size: var(--mqc-hand-size-m, 13px); font-weight: 700; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; }
.mqc.mqc-hs-plain .mqc-hand span { font-size: var(--mqc-hand-size-m, 22px); font-weight: 700; line-height: 1.25; }

/* Prompt animations (switched off for visitors who ask for less motion) */
@keyframes mqc-hand-in { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
@keyframes mqc-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@keyframes mqc-pulse { 0%, 100% { scale: 1; } 50% { scale: 1.06; } }
@keyframes mqc-wiggle { 0%, 100% { rotate: 0deg; } 25% { rotate: 12deg; } 75% { rotate: -8deg; } }
@keyframes mqc-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 6px; } }
@keyframes mqc-draw { to { stroke-dashoffset: 0; } }
.mqc.mqc-ha-fade .mqc-hand { animation: mqc-hand-in .8s ease-out both; }
.mqc.mqc-ha-float .mqc-hand span { animation: mqc-float 3s ease-in-out infinite; }
.mqc.mqc-ha-pulse .mqc-hand span { animation: mqc-pulse 2.4s ease-in-out infinite; }
.mqc.mqc-ha-wiggle .mqc-hand svg { animation: mqc-wiggle 1.8s ease-in-out infinite; transform-origin: 50% 20%; }
.mqc.mqc-ha-bounce .mqc-hand svg { animation: mqc-bob 1.4s ease-in-out infinite; }
.mqc.mqc-ha-draw .mqc-hand path { stroke-dasharray: 100; stroke-dashoffset: 100; animation: mqc-draw 1s .3s ease-out forwards; }
.mqc.mqc-ha-draw .mqc-hand span { animation: mqc-hand-in .6s ease-out both; }

/* Tabs ------------------------------------------------------------------ */
.mqc .mqc-tabs {
	display: grid; grid-template-columns: 1fr 1fr; height: var(--mqc-tab-height, 64px); padding: 6px; margin-bottom: 32px;
	background: var(--mqc-tab-bg, color-mix(in srgb, var(--mqc-primary) 20%, transparent));
	border: 2px solid var(--mqc-tab-border, color-mix(in srgb, var(--mqc-tab-active-bg, var(--mqc-primary)) 30%, transparent));
	border-radius: var(--mqc-tab-radius, var(--mqc-radius-box)); box-shadow: inset 0 2px 4px rgba(0, 0, 0, .05);
}
.mqc.mqc .mqc-tab {
	border-radius: calc(var(--mqc-tab-radius, var(--mqc-radius-box)) - 4px); font-family: var(--mqc-head-font); font-size: var(--mqc-tab-size-m, 18px); font-weight: 900;
	color: var(--mqc-tab-text, var(--mqc-primary)); text-align: center; transition: background-color .3s, color .3s, box-shadow .3s, transform .2s, border-color .3s;
}
.mqc.mqc .mqc-tab:hover, .mqc.mqc .mqc-tab:focus {
	background: var(--mqc-tab-hover-bg, color-mix(in srgb, var(--mqc-tab-active-bg, var(--mqc-primary)) 10%, transparent));
	color: var(--mqc-tab-hover-text, var(--mqc-tab-text, var(--mqc-primary)));
}
.mqc.mqc .mqc-tab.is-active, .mqc.mqc .mqc-tab.is-active:hover, .mqc.mqc .mqc-tab.is-active:focus {
	background: var(--mqc-tab-active-bg, var(--mqc-primary)); color: var(--mqc-tab-active-text, var(--mqc-on-primary));
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);
}
/* Tab style: Segmented */
.mqc.mqc-ts-segment .mqc-tabs {
	height: var(--mqc-tab-height, 56px); padding: 5px; box-shadow: none;
	background: var(--mqc-tab-bg, color-mix(in srgb, var(--mqc-ink) 7%, transparent)); border-color: var(--mqc-tab-border, transparent);
	border-radius: var(--mqc-tab-radius, 999px);
}
.mqc.mqc.mqc-ts-segment .mqc-tab { color: var(--mqc-tab-text, var(--mqc-muted)); font-weight: 800; }
.mqc.mqc.mqc-ts-segment .mqc-tab:hover, .mqc.mqc.mqc-ts-segment .mqc-tab:focus { color: var(--mqc-tab-hover-text, var(--mqc-ink)); background: var(--mqc-tab-hover-bg, color-mix(in srgb, var(--mqc-card) 55%, transparent)); }
.mqc.mqc.mqc-ts-segment .mqc-tab.is-active, .mqc.mqc.mqc-ts-segment .mqc-tab.is-active:hover, .mqc.mqc.mqc-ts-segment .mqc-tab.is-active:focus {
	background: var(--mqc-tab-active-bg, var(--mqc-card)); color: var(--mqc-tab-active-text, var(--mqc-primary)); box-shadow: 0 2px 10px -2px rgba(0, 0, 0, .18);
}
/* Tab style: Outline buttons */
.mqc.mqc-ts-outline .mqc-tabs { height: var(--mqc-tab-height, 56px); padding: 0; gap: 12px; background: transparent; border: 0; box-shadow: none; }
.mqc.mqc.mqc-ts-outline .mqc-tab {
	border: 2px solid var(--mqc-tab-border, var(--mqc-tab-active-bg, var(--mqc-primary))); border-radius: var(--mqc-tab-radius, var(--mqc-radius-btn));
	background: var(--mqc-tab-bg, transparent); font-weight: 800;
}
.mqc.mqc.mqc-ts-outline .mqc-tab:hover, .mqc.mqc.mqc-ts-outline .mqc-tab:focus { border-color: var(--mqc-tab-border, var(--mqc-tab-active-bg, var(--mqc-primary))); }
.mqc.mqc.mqc-ts-outline .mqc-tab.is-active, .mqc.mqc.mqc-ts-outline .mqc-tab.is-active:hover, .mqc.mqc.mqc-ts-outline .mqc-tab.is-active:focus {
	border-color: var(--mqc-tab-active-bg, var(--mqc-primary)); background: var(--mqc-tab-active-bg, var(--mqc-primary)); color: var(--mqc-tab-active-text, var(--mqc-on-primary));
}
/* Tab style: Underline */
.mqc.mqc-ts-underline .mqc-tabs {
	height: var(--mqc-tab-height, 54px); padding: 0; background: var(--mqc-tab-bg, transparent); box-shadow: none; border-radius: 0;
	border: 0; border-bottom: 2px solid var(--mqc-tab-border, var(--mqc-line));
}
.mqc.mqc.mqc-ts-underline .mqc-tab { border-radius: 0; margin-bottom: -2px; border-bottom: 3px solid transparent; color: var(--mqc-tab-text, var(--mqc-muted)); font-weight: 800; }
.mqc.mqc.mqc-ts-underline .mqc-tab:hover, .mqc.mqc.mqc-ts-underline .mqc-tab:focus { background: var(--mqc-tab-hover-bg, transparent); color: var(--mqc-tab-hover-text, var(--mqc-tab-active-bg, var(--mqc-primary))); }
.mqc.mqc.mqc-ts-underline .mqc-tab.is-active, .mqc.mqc.mqc-ts-underline .mqc-tab.is-active:hover, .mqc.mqc.mqc-ts-underline .mqc-tab.is-active:focus {
	background: transparent; box-shadow: none; border-bottom-color: var(--mqc-tab-active-bg, var(--mqc-primary)); color: var(--mqc-tab-active-text, var(--mqc-tab-active-bg, var(--mqc-primary)));
}
/* Tab hover effects */
.mqc.mqc.mqc-th-fill .mqc-tab:hover, .mqc.mqc.mqc-th-fill .mqc-tab:focus { background: var(--mqc-tab-hover-bg, color-mix(in srgb, var(--mqc-tab-active-bg, var(--mqc-primary)) 24%, transparent)); }
.mqc.mqc.mqc-th-none .mqc-tab:hover, .mqc.mqc.mqc-th-none .mqc-tab:focus { background: transparent; color: var(--mqc-tab-text, var(--mqc-primary)); }
.mqc.mqc.mqc-ts-outline.mqc-th-none .mqc-tab:hover { background: var(--mqc-tab-bg, transparent); }
@media (hover: hover) {
	.mqc.mqc.mqc-th-lift .mqc-tab:hover { transform: translateY(-2px); box-shadow: 0 10px 18px -8px rgba(0, 0, 0, .25); }
	.mqc.mqc.mqc-th-grow .mqc-tab:hover { transform: scale(1.03); }
}
@keyframes mqc-pop { 0% { scale: .93; } 60% { scale: 1.03; } 100% { scale: 1; } }
.mqc.mqc-tan-pop .mqc-tab.is-pop { animation: mqc-pop .35s ease-out; }

/* Sections -------------------------------------------------------------- */
.mqc .mqc-panel > * + * { margin-top: var(--mqc-step-gap, 48px); }
.mqc .mqc-sec-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.mqc.mqc .mqc-h3 {
	display: flex; align-items: center; gap: 12px; font-family: var(--mqc-head-font); font-size: var(--mqc-step-size, 20px); line-height: max(28px, 1.25em);
	font-weight: 700; color: var(--mqc-ink); margin: 0 0 24px; text-transform: none; letter-spacing: normal;
}
.mqc .mqc-sec-head .mqc-h3 { margin-bottom: 0; }
.mqc .mqc-num {
	display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 999px;
	background: var(--mqc-primary); color: var(--mqc-on-primary); font-size: 14px; font-weight: 700; flex-shrink: 0; font-family: var(--mqc-body-font);
}
.mqc.mqc .mqc-ghost { font-size: 14px; font-weight: 500; padding: 8px 12px; border-radius: 8px; color: var(--mqc-ink); white-space: nowrap; }
.mqc.mqc .mqc-ghost:hover, .mqc.mqc .mqc-ghost:focus { background: var(--mqc-muted-bg); color: var(--mqc-ink); }
.mqc .mqc-sep { height: 1px; width: 100%; background: var(--mqc-line); }

/* Main service cards ---------------------------------------------------- */
.mqc .mqc-cards { display: grid; grid-template-columns: repeat(var(--_ccm, 1), minmax(0, 1fr)); gap: 16px; }
.mqc.mqc-ccm-2 { --_ccm: 2; }
.mqc.mqc-cc-1 { --_cc: 1; }
.mqc.mqc-cc-3 { --_cc: 3; }
.mqc.mqc-cc-4 { --_cc: 4; }
.mqc.mqc-ec-1 { --_ec: 1; }
.mqc.mqc-ec-3 { --_ec: 3; }
.mqc.mqc .mqc-card {
	display: flex; flex-direction: column; align-items: center; width: 100%; padding: 24px; border-radius: var(--mqc-radius-card);
	border: 2px solid var(--mqc-line); background: var(--mqc-card); text-align: center; transition: all .3s;
}
.mqc.mqc .mqc-card:hover, .mqc.mqc .mqc-card:focus { border-color: color-mix(in srgb, var(--mqc-primary) 50%, transparent); background: var(--mqc-hover-bg); }
.mqc.mqc .mqc-card.is-selected, .mqc.mqc .mqc-card.is-selected:hover, .mqc.mqc .mqc-card.is-selected:focus {
	border-color: var(--mqc-primary); background: color-mix(in srgb, var(--mqc-primary) 5%, transparent); box-shadow: var(--mqc-shadow-elegant);
}
.mqc .mqc-card-ic { padding: 12px; border-radius: 999px; margin-bottom: 16px; background: var(--mqc-muted-bg); color: var(--mqc-muted); }
.mqc .mqc-card.is-selected .mqc-card-ic { background: var(--mqc-primary); color: var(--mqc-on-primary); }
.mqc .mqc-card-ic svg { width: 24px; height: 24px; }
.mqc .mqc-card-t { font-family: var(--mqc-head-font); font-weight: 600; font-size: var(--mqc-card-t-size, 18px); line-height: calc(var(--mqc-card-t-size, 18px) + 10px); margin-bottom: 4px; color: var(--mqc-ink); }
.mqc .mqc-card.is-selected .mqc-card-t { color: var(--mqc-primary); }
.mqc .mqc-card-txt { display: contents; }
.mqc .mqc-card-d { font-size: var(--mqc-card-d-size, 14px); line-height: calc(var(--mqc-card-d-size, 14px) + 6px); color: var(--mqc-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Card style: icon on left, compact */
.mqc.mqc.mqc-cs-row .mqc-card, .mqc.mqc.mqc-cs-compact .mqc-card { flex-direction: row; align-items: center; text-align: left; gap: 16px; padding: 20px; }
.mqc.mqc-cs-row .mqc-card-ic, .mqc.mqc-cs-compact .mqc-card-ic { margin-bottom: 0; }
.mqc.mqc-cs-row .mqc-card-txt, .mqc.mqc-cs-compact .mqc-card-txt { display: block; min-width: 0; }
.mqc.mqc.mqc-cs-compact .mqc-card { padding: 14px 16px; gap: 12px; }
.mqc.mqc-cs-compact .mqc-card-ic { padding: 9px; }
.mqc.mqc-cs-compact .mqc-card-ic svg { width: 20px; height: 20px; }
.mqc.mqc-cs-compact .mqc-card-d { display: none; }
.mqc.mqc-cs-compact .mqc-card-t { margin-bottom: 0; }
/* Card hover effects */
.mqc.mqc.mqc-ch-none .mqc-card:hover, .mqc.mqc.mqc-ch-none .mqc-card:focus { border-color: var(--mqc-line); background: var(--mqc-card); }
.mqc.mqc.mqc-ch-none .mqc-extra:hover, .mqc.mqc.mqc-ch-none .mqc-extra:focus { border-color: var(--mqc-line); }
@media (hover: hover) {
	.mqc.mqc.mqc-ch-lift .mqc-card:hover, .mqc.mqc.mqc-ch-lift .mqc-extra:hover { transform: translateY(-3px); box-shadow: 0 16px 28px -14px rgba(0, 0, 0, .28); }
	.mqc.mqc.mqc-ch-glow .mqc-card:hover, .mqc.mqc.mqc-ch-glow .mqc-extra:hover { box-shadow: 0 0 0 4px color-mix(in srgb, var(--mqc-primary) 16%, transparent); }
}

/* Frequency ------------------------------------------------------------- */
.mqc .mqc-freq { display: grid; grid-template-columns: repeat(var(--_fn, 3), minmax(0, 1fr)); gap: 12px; }
.mqc .mqc-freq.is-many { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
.mqc.mqc .mqc-fbtn {
	position: relative; padding: 16px 8px; border-radius: var(--mqc-radius-card); border: 2px solid var(--mqc-line); background: var(--mqc-card);
	font-weight: 700; color: var(--mqc-ink); text-align: center; transition: all .2s;
}
.mqc.mqc .mqc-fbtn:hover, .mqc.mqc .mqc-fbtn:focus { border-color: color-mix(in srgb, var(--mqc-accent) 45%, transparent); background: var(--mqc-card); color: var(--mqc-ink); }
.mqc.mqc .mqc-fbtn.is-selected, .mqc.mqc .mqc-fbtn.is-selected:hover, .mqc.mqc .mqc-fbtn.is-selected:focus {
	border-color: var(--mqc-accent); background: color-mix(in srgb, var(--mqc-accent) 5%, transparent); color: var(--mqc-accent);
}
.mqc .mqc-off {
	position: absolute; top: -8px; right: -8px; background: var(--mqc-green); color: #fff; font-size: 10px; line-height: 15px;
	font-weight: 900; padding: 2px 8px; border-radius: 999px; white-space: nowrap;
}

/* Counters -------------------------------------------------------------- */
.mqc .mqc-counters { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.mqc .mqc-counter {
	display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 16px; background: var(--mqc-card);
	border-radius: var(--mqc-radius-input); border: 1px solid var(--mqc-line); box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.mqc .mqc-counter > span { font-weight: 500; }
.mqc .mqc-step { display: flex; align-items: center; gap: 12px; }
.mqc.mqc .mqc-round {
	width: 32px; height: 32px; border-radius: 999px; border: 1px solid var(--mqc-line); background: var(--mqc-input-bg); color: var(--mqc-ink);
	display: inline-flex; align-items: center; justify-content: center; transition: background-color .2s;
}
.mqc.mqc .mqc-round:hover, .mqc.mqc .mqc-round:focus { background: var(--mqc-muted-bg); color: var(--mqc-ink); border-color: var(--mqc-line); }
.mqc.mqc .mqc-round:disabled { opacity: .45; background: var(--mqc-input-bg); }
.mqc .mqc-round svg { width: 16px; height: 16px; }
.mqc .mqc-val { width: 28px; text-align: center; font-weight: 700; font-size: 18px; color: var(--mqc-primary); }

/* Domestic specialist services ----------------------------------------- */
.mqc .mqc-extras { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.mqc.mqc .mqc-extra {
	position: relative; display: flex; align-items: flex-start; gap: 16px; padding: 20px; border-radius: var(--mqc-radius-card); width: 100%;
	border: 2px solid var(--mqc-line); background: var(--mqc-card); text-align: left; transition: all .2s;
}
.mqc.mqc .mqc-extra:hover, .mqc.mqc .mqc-extra:focus { border-color: color-mix(in srgb, var(--mqc-accent) 45%, transparent); background: var(--mqc-card); }
.mqc.mqc .mqc-extra.is-selected, .mqc.mqc .mqc-extra.is-selected:hover, .mqc.mqc .mqc-extra.is-selected:focus { border-color: var(--mqc-accent); background: color-mix(in srgb, var(--mqc-accent) 5%, transparent); }
.mqc .mqc-extra-ic { padding: 10px; border-radius: 8px; background: var(--mqc-muted-bg); color: var(--mqc-muted); }
.mqc .mqc-extra.is-selected .mqc-extra-ic { background: var(--mqc-accent); color: var(--mqc-on-primary); }
.mqc .mqc-extra-ic svg { width: 20px; height: 20px; }
.mqc .mqc-extra-b { flex: 1; min-width: 0; padding-right: 24px; }
.mqc .mqc-extra-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.mqc .mqc-extra-t { font-weight: 700; color: var(--mqc-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mqc .mqc-extra-p { font-weight: 600; color: var(--mqc-accent); font-size: 14px; white-space: nowrap; }
.mqc .mqc-extra-d { display: block; padding: 2px 0; font-size: 12px; line-height: 16px; color: var(--mqc-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mqc .mqc-tick {
	position: absolute; top: 20px; right: 16px; width: 20px; height: 20px; border-radius: 999px; border: 1px solid var(--mqc-line);
	background: var(--mqc-input-bg); display: flex; align-items: center; justify-content: center; color: var(--mqc-on-primary);
}
.mqc .mqc-extra.is-selected .mqc-tick { background: var(--mqc-accent); border-color: var(--mqc-accent); }
.mqc .mqc-tick svg { width: 12px; height: 12px; stroke-width: 3; }
/* Remove badge on a ticked extra: tap the card or the cross to take it off. */
.mqc .mqc-x {
	position: absolute; top: -11px; right: -11px; width: 26px; height: 26px; border-radius: 999px; display: flex; align-items: center; justify-content: center;
	background: var(--mqc-card); color: var(--mqc-accent); border: 2px solid var(--mqc-accent); box-shadow: 0 4px 10px -4px rgba(0, 0, 0, .35);
	animation: mqc-pop .2s ease-out; transition: background .15s, color .15s;
}
.mqc .mqc-x svg { width: 12px; height: 12px; stroke-width: 3; }
.mqc .mqc-extra:hover .mqc-x, .mqc .mqc-extra:focus-visible .mqc-x { background: var(--mqc-accent); color: var(--mqc-on-primary); }
@keyframes mqc-pop { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .mqc .mqc-x { animation: none; } }

/* Commercial specs ------------------------------------------------------ */
.mqc .mqc-area { background: var(--mqc-card); padding: 24px; border-radius: var(--mqc-radius-box); border: 1px solid var(--mqc-line); }
.mqc .mqc-label { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 16px; margin-bottom: 8px; color: var(--mqc-ink); }
.mqc .mqc-label svg { width: 16px; height: 16px; color: var(--mqc-primary); }
.mqc.mqc .mqc-input {
	display: block; width: 100%; height: 48px; padding: 8px 12px; border: 1px solid var(--mqc-line); border-radius: var(--mqc-radius-input);
	background: var(--mqc-input-bg); color: var(--mqc-ink); font-size: 16px; line-height: 1.4;
}
.mqc.mqc .mqc-input:focus { border-color: var(--mqc-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mqc-primary) 15%, transparent); background: var(--mqc-input-bg); }
.mqc.mqc .mqc-input.is-big { font-size: 18px; font-weight: 700; }
.mqc.mqc .mqc-input.is-sm { height: 40px; font-weight: 700; }
.mqc.mqc select.mqc-input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E6980' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 36px; }
.mqc.mqc textarea.mqc-input { height: auto; min-height: 88px; padding: 12px; resize: vertical; font-size: 15px; }
.mqc.mqc input[type=date].mqc-input { min-height: 48px; }
.mqc .mqc-input::placeholder { color: color-mix(in srgb, var(--mqc-muted) 70%, transparent); opacity: 1; }

/* Commercial specialist services --------------------------------------- */
.mqc .mqc-cextras { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.mqc .mqc-cx { padding: 24px; border-radius: var(--mqc-radius-box); border: 2px solid var(--mqc-line); background: var(--mqc-card); transition: all .2s; }
.mqc .mqc-cx.is-selected { border-color: var(--mqc-accent); background: color-mix(in srgb, var(--mqc-accent) 5%, transparent); }
.mqc .mqc-cx-row { display: flex; flex-direction: column; gap: 20px; }
.mqc .mqc-cx-actions { justify-content: flex-end; }
.mqc .mqc-cx-info { display: flex; align-items: center; gap: 16px; flex: 1; min-width: 0; }
.mqc.mqc .mqc-cx-ic { padding: 12px; border-radius: var(--mqc-radius-card); background: var(--mqc-muted-bg); color: var(--mqc-muted); }
.mqc.mqc .mqc-cx-ic:hover, .mqc.mqc .mqc-cx-ic:focus { background: var(--mqc-muted-bg); color: var(--mqc-muted); }
.mqc.mqc .mqc-cx.is-selected .mqc-cx-ic { background: var(--mqc-accent); color: var(--mqc-on-primary); }
.mqc .mqc-cx-ic svg { width: 24px; height: 24px; }
.mqc .mqc-cx-t { font-weight: 700; font-size: 18px; color: var(--mqc-ink); line-height: 1.35; }
.mqc .mqc-cx-d { font-size: 14px; color: var(--mqc-muted); }
.mqc .mqc-cx-qty { min-width: 140px; }
.mqc .mqc-mini { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; color: var(--mqc-muted); margin-bottom: 6px; }
.mqc .mqc-cx-actions { display: flex; align-items: flex-end; gap: 16px; }
.mqc.mqc .mqc-btn-sm {
	height: 36px; padding: 0 14px; border-radius: var(--mqc-radius-input); font-size: 14px; font-weight: 600; white-space: nowrap;
	border: 1px solid var(--mqc-line); background: var(--mqc-input-bg); color: var(--mqc-ink); transition: all .2s; text-align: center;
}
.mqc.mqc .mqc-btn-sm:hover, .mqc.mqc .mqc-btn-sm:focus { background: var(--mqc-muted-bg); color: var(--mqc-ink); border-color: var(--mqc-line); }
.mqc.mqc .mqc-btn-sm.is-on, .mqc.mqc .mqc-btn-sm.is-on:hover, .mqc.mqc .mqc-btn-sm.is-on:focus { background: var(--mqc-primary); border-color: var(--mqc-primary); color: var(--mqc-on-primary); }
.mqc.mqc .mqc-btn-sm.is-on { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.mqc .mqc-btn-sm svg { width: 13px; height: 13px; stroke-width: 3; opacity: .85; }

/* Summary --------------------------------------------------------------- */
.mqc .mqc-sum {
	position: relative; border: 2px solid color-mix(in srgb, var(--mqc-primary) 10%, transparent); border-radius: var(--mqc-radius-box); overflow: hidden; background: var(--mqc-card);
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
}
.mqc .mqc-sum-h { background: var(--mqc-navy); color: var(--mqc-sum-text); padding: 24px; }
.mqc.mqc .mqc-sum-title { font-family: var(--mqc-head-font); font-size: var(--mqc-sum-t-size-m, 20px); line-height: 1.2; font-weight: 700; color: var(--mqc-sum-text); margin: 0 0 8px; letter-spacing: -.01em; }
.mqc .mqc-sum-h p { color: var(--mqc-sum-sub); font-size: 14px; }
.mqc .mqc-sum-b { padding: 24px; }
.mqc .mqc-sum-b > * + * { margin-top: 32px; }
.mqc .mqc-lines > * + * { margin-top: 16px; }
.mqc .mqc-line { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; }
.mqc .mqc-line strong { font-weight: 700; color: var(--mqc-ink); display: block; }
.mqc .mqc-line small { display: block; font-size: 12px; color: var(--mqc-muted); }
.mqc .mqc-line .mqc-amt { font-weight: 600; white-space: nowrap; }
.mqc .mqc-line.is-disc { background: color-mix(in srgb, var(--mqc-green) 8%, transparent); color: var(--mqc-green); font-weight: 700; padding: 8px; border-radius: var(--mqc-radius-input); }
.mqc .mqc-empty { font-size: 14px; color: var(--mqc-muted); text-align: center; }
.mqc .mqc-tot-l { font-size: 14px; font-weight: 700; color: var(--mqc-muted); text-transform: uppercase; text-align: center; letter-spacing: .1em; }
.mqc .mqc-tot { font-family: var(--mqc-head-font); font-size: var(--mqc-tot-size-m, 36px); line-height: 1.1; font-weight: 900; color: var(--mqc-primary); text-align: center; margin-top: 8px; }
.mqc.mqc .mqc-cta {
	display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: var(--mqc-cta-height, 56px); border-radius: var(--mqc-radius-btn);
	background: var(--mqc-accent); color: var(--mqc-on-primary); font-family: var(--mqc-head-font); font-size: var(--mqc-cta-size, 18px); font-weight: 700; text-align: center;
	box-shadow: 0 10px 15px -3px color-mix(in srgb, var(--mqc-accent) 20%, transparent), 0 4px 6px -4px color-mix(in srgb, var(--mqc-accent) 20%, transparent); transition: background-color .2s, opacity .2s;
}
.mqc.mqc .mqc-cta:hover, .mqc.mqc .mqc-cta:focus { background: var(--mqc-accent-hover); color: var(--mqc-on-primary); }
.mqc.mqc .mqc-cta:disabled, .mqc.mqc .mqc-cta:disabled:hover { opacity: .5; background: var(--mqc-accent); color: var(--mqc-on-primary); }
.mqc .mqc-cta svg { width: 20px; height: 20px; }
.mqc .mqc-note { font-size: 12px; line-height: 1.5; color: var(--mqc-muted); text-align: center; margin-top: 12px !important; }

/* Booking form ---------------------------------------------------------- */
.mqc .mqc-book { max-width: 768px; margin: 8px auto 0; background: var(--mqc-card); border: 2px solid var(--mqc-line); border-radius: var(--mqc-radius-box); overflow: hidden; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1); }
.mqc .mqc-book-h { background: var(--mqc-book-head); color: var(--mqc-on-primary); padding: 24px; position: relative; }
.mqc.mqc .mqc-back { position: absolute; top: 24px; right: 24px; font-size: 14px; font-weight: 500; color: color-mix(in srgb, var(--mqc-on-primary) 85%, transparent); text-decoration: underline; text-underline-offset: 4px; }
.mqc.mqc .mqc-back:hover, .mqc.mqc .mqc-back:focus { color: var(--mqc-on-primary); background: transparent; }
.mqc.mqc .mqc-book-title { font-family: var(--mqc-head-font); font-size: 24px; line-height: 1.2; font-weight: 700; color: var(--mqc-on-primary); margin: 0 0 8px; padding-right: 72px; }
.mqc .mqc-book-h p { color: color-mix(in srgb, var(--mqc-on-primary) 85%, transparent); font-size: 16px; }
.mqc .mqc-form { padding: 24px; }
.mqc .mqc-form > * + * { margin-top: 20px; }
.mqc .mqc-row2 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.mqc .mqc-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.mqc .mqc-field label { display: block; font-size: var(--mqc-label-size, 12px); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; color: var(--mqc-muted); margin-bottom: 8px; }
.mqc .mqc-field label i { font-style: normal; color: var(--mqc-accent); }
.mqc.mqc .mqc-check label { margin-bottom: 0; }
.mqc .mqc-check label { display: flex; align-items: flex-start; gap: 10px; text-transform: none; letter-spacing: normal; font-size: 15px; font-weight: 500; color: var(--mqc-ink); cursor: pointer; }
.mqc.mqc .mqc-check input[type=checkbox] { -webkit-appearance: auto; appearance: auto; width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: var(--mqc-primary); }
.mqc .mqc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mqc.mqc .mqc-submit { height: 52px; font-size: 17px; margin-top: 24px; }
.mqc .mqc-recap { background: var(--mqc-hover-bg); border: 1px solid var(--mqc-line); border-radius: var(--mqc-radius-card); padding: 14px 16px; font-size: 14px; color: var(--mqc-ink); }
.mqc .mqc-recap b { color: var(--mqc-primary); }

/* Toast ----------------------------------------------------------------- */
.mqc-toast {
	position: fixed; z-index: 99999; left: 16px; right: 16px; bottom: 16px; max-width: 380px; margin: 0 auto;
	background: #fff; color: var(--mqc-ink, #1B2333); border: 1px solid var(--mqc-line, #E4E9F2); border-radius: 12px; padding: 14px 16px;
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .12); font-family: var(--mqc-body-font, "Inter", ui-sans-serif, system-ui, sans-serif); font-size: 14px; line-height: 1.45;
	display: flex; gap: 12px; align-items: flex-start; animation: mqc-fade .3s ease-out;
}
.mqc-toast b { display: block; font-size: 15px; margin-bottom: 2px; }
.mqc-toast .mqc-toast-ic { width: 22px; height: 22px; border-radius: 999px; background: var(--mqc-green, #15803D); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.mqc-toast.is-error .mqc-toast-ic { background: #DC2626; }
.mqc-toast.mqc-toast svg { display: block; width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }

/* Mobile total bar ------------------------------------------------------ */
.mqc-bar {
	position: fixed; z-index: 9990; left: 0; right: 0; bottom: 0; background: var(--mqc-bar-bg, var(--mqc-navy, #15154A)); color: var(--mqc-bar-text, #fff);
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); display: flex; align-items: center; justify-content: space-between; gap: 12px;
	box-shadow: 0 -8px 24px rgba(0, 0, 0, .2); font-family: var(--mqc-body-font, "Inter", ui-sans-serif, system-ui, sans-serif);
	transform: translateY(110%); visibility: hidden; transition: transform .25s ease, visibility 0s linear .25s;
}
.mqc-bar.is-on { transform: none; visibility: visible; transition: transform .25s ease, visibility 0s; }
.mqc-bar small { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--mqc-sum-sub, #A6ADC8); font-weight: 700; }
.mqc-bar strong { font-family: var(--mqc-head-font, "Poppins", ui-sans-serif, system-ui, sans-serif); font-size: 24px; font-weight: 900; line-height: 1.1; color: inherit; }
.mqc-bar.mqc-bar button {
	-webkit-appearance: none; appearance: none; border: 0; margin: 0; cursor: pointer; height: 46px; padding: 0 18px; border-radius: var(--mqc-radius-btn, 10px);
	background: var(--mqc-bar-btn-bg, var(--mqc-accent, #1677D0)); color: var(--mqc-bar-btn-text, #fff); font-family: var(--mqc-head-font, "Poppins", ui-sans-serif, system-ui, sans-serif); font-size: 16px; font-weight: 700; line-height: 1;
	display: inline-flex; align-items: center; gap: 6px; text-transform: none; letter-spacing: normal;
}
.mqc-bar.mqc-bar button:hover, .mqc-bar.mqc-bar button:focus { background: var(--mqc-accent-hover, #1266B4); color: var(--mqc-bar-btn-text, #fff); }
.mqc-bar.mqc-bar.has-btn-bg button:hover, .mqc-bar.mqc-bar.has-btn-bg button:focus { background: color-mix(in srgb, var(--mqc-bar-btn-bg) 84%, #000); }
.mqc-bar.mqc-bar svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mqc-bar .mqc-bar-tot { display: none; }
/* Bar style: Floating card */
.mqc-bar.mqc-bar--floating { left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); padding: 10px 10px 10px 18px; border-radius: 16px; box-shadow: 0 14px 34px -8px rgba(0, 0, 0, .45); }
.mqc-bar.mqc-bar--floating:not(.is-on) { transform: translateY(calc(100% + 40px)); }
/* Bar style: Light */
.mqc-bar.mqc-bar--light { background: var(--mqc-bar-bg, #fff); color: var(--mqc-bar-text, var(--mqc-ink, #1B2333)); border-top: 1px solid var(--mqc-line, #E4E9F2); box-shadow: 0 -8px 24px rgba(0, 0, 0, .08); }
.mqc-bar.mqc-bar--light small { color: var(--mqc-muted, #5E6980); }
.mqc-bar.mqc-bar--light strong { color: var(--mqc-bar-text, var(--mqc-primary, #2E5FEC)); }
/* Bar style: Big button */
.mqc-bar.mqc-bar--button { background: var(--mqc-bar-bg, transparent); box-shadow: none; padding: 8px 16px calc(14px + env(safe-area-inset-bottom)); }
.mqc-bar.mqc-bar--button > div { display: none; }
.mqc-bar.mqc-bar--button button { flex: 1; justify-content: center; height: 54px; font-size: 17px; box-shadow: 0 12px 26px -8px rgba(0, 0, 0, .45); }
.mqc-bar.mqc-bar--button .mqc-bar-tot { display: inline; font-weight: 900; }
.mqc-bar.mqc-bar--button .mqc-bar-tot::before { content: "\00B7"; margin: 0 6px 0 2px; opacity: .7; }
.mqc-bar.mqc-bar--button:not(.is-on) { transform: translateY(calc(100% + 30px)); }
/* Bar animations */
.mqc-bar.mqc-bar--a-fade { transform: none; opacity: 0; transition: opacity .3s ease, visibility 0s linear .3s; }
.mqc-bar.mqc-bar--a-fade.is-on { opacity: 1; transition: opacity .3s ease, visibility 0s; }
.mqc-bar.mqc-bar--a-pop { transform: translateY(26px) scale(.94); opacity: 0; transition: transform .4s cubic-bezier(.34, 1.56, .64, 1), opacity .2s ease, visibility 0s linear .4s; }
.mqc-bar.mqc-bar--a-pop.is-on { transform: none; opacity: 1; transition: transform .4s cubic-bezier(.34, 1.56, .64, 1), opacity .2s ease, visibility 0s; }

.mqc .mqc-admin-note { border: 2px dashed var(--mqc-line); border-radius: var(--mqc-radius-card); padding: 24px; text-align: center; color: var(--mqc-muted); }
.mqc .mqc-noscript { text-align: center; color: var(--mqc-muted); }

/* Breakpoints ----------------------------------------------------------- */
@media (min-width: 640px) {
	.mqc .mqc-hand { gap: 24px; }
	.mqc .mqc-hand svg { width: 48px; height: 48px; }
	.mqc.mqc .mqc-title { font-size: var(--mqc-title-size, 48px); }
	.mqc .mqc-sub { font-size: var(--mqc-sub-size, 18px); }
	.mqc .mqc-hand span { font-size: var(--mqc-hand-size, 36px); }
	.mqc.mqc-hs-pill .mqc-hand span { font-size: var(--mqc-hand-size, 16px); }
	.mqc.mqc-hs-marker .mqc-hand span { font-size: var(--mqc-hand-size, 28px); }
	.mqc.mqc-hs-eyebrow .mqc-hand span { font-size: var(--mqc-hand-size, 14px); }
	.mqc.mqc-hs-plain .mqc-hand span { font-size: var(--mqc-hand-size, 26px); }
	.mqc.mqc .mqc-tab { font-size: var(--mqc-tab-size, 18px); }
	.mqc .mqc-freq { gap: 16px; }
	.mqc .mqc-freq.is-many { grid-template-columns: repeat(var(--_fn, 3), minmax(0, 1fr)); row-gap: 20px; }
	.mqc.mqc .mqc-fbtn { padding: 16px; }
	.mqc .mqc-counters { grid-template-columns: repeat(var(--_cn, 3), minmax(0, 1fr)); }
	.mqc .mqc-extras { grid-template-columns: repeat(var(--_ec, 2), minmax(0, 1fr)); }
	.mqc .mqc-cx-row { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
	.mqc .mqc-cx-info { flex: 1 1 280px; }
	.mqc .mqc-cx-actions { margin-left: auto; }
	.mqc .mqc-row2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	.mqc .mqc-fields { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.mqc .mqc-fields > * { grid-column: span 6; }
	.mqc .mqc-fields > .mqc-sp-1 { grid-column: span 1; }
	.mqc .mqc-fields > .mqc-sp-2 { grid-column: span 2; }
	.mqc .mqc-fields > .mqc-sp-3 { grid-column: span 3; }
	.mqc .mqc-fields > .mqc-sp-4 { grid-column: span 4; }
	.mqc .mqc-fields > .mqc-sp-5 { grid-column: span 5; }
	.mqc .mqc-fields > .mqc-check { align-self: end; padding-bottom: 12px; }
	.mqc .mqc-fields > .mqc-check.mqc-sp-6 { padding-bottom: 0; }
	.mqc .mqc-sum-h, .mqc .mqc-sum-b, .mqc .mqc-book-h, .mqc .mqc-form { padding: 32px; }
	.mqc.mqc .mqc-sum-title { font-size: var(--mqc-sum-t-size, 24px); }
	.mqc .mqc-tot { font-size: var(--mqc-tot-size, 60px); }
	.mqc.mqc .mqc-book-title { font-size: 30px; }
	.mqc.mqc .mqc-back { top: 32px; right: 32px; }
	.mqc.mqc .mqc-submit { height: 56px; font-size: 18px; }
	.mqc-toast { left: auto; right: 24px; bottom: 24px; margin: 0; }
}
/* Three counters side by side: label above the stepper so nothing wraps */
@media (min-width: 640px) {
	.mqc .mqc-counter { flex-direction: column; justify-content: center; gap: 10px; padding: 14px 12px; text-align: center; }
	.mqc .mqc-counter > span { white-space: nowrap; }
}
/* Phones: compact horizontal service cards to cut scrolling */
@media (max-width: 639px) {
	.mqc.mqc .mqc-card { flex-direction: row; align-items: center; text-align: left; gap: 14px; padding: 16px; }
	.mqc .mqc-card-ic { margin-bottom: 0; padding: 10px; }
	.mqc .mqc-card-ic svg { width: 22px; height: 22px; }
	.mqc .mqc-card-txt { display: block; min-width: 0; }
	.mqc .mqc-card-t { font-size: var(--mqc-card-t-size-m, 16px); line-height: calc(var(--mqc-card-t-size-m, 16px) + 6px); margin-bottom: 2px; }
	.mqc .mqc-card-d { font-size: var(--mqc-card-d-size-m, 13px); line-height: calc(var(--mqc-card-d-size-m, 13px) + 5px); }
	.mqc .mqc-head { margin-bottom: var(--mqc-head-space, 40px); }
	.mqc.mqc .mqc-h3 { font-size: var(--mqc-step-size-m, 18px); }
	.mqc .mqc-panel > * + * { margin-top: var(--mqc-step-gap, 40px); }
	.mqc .mqc-fields > .mqc-cont { margin-top: -4px; }
	.mqc.mqc.mqc-ccm-2 .mqc-card { flex-direction: column; text-align: center; gap: 10px; padding: 14px 10px; }
	.mqc.mqc-ccm-2 .mqc-card-d { display: none; }
}
@media (min-width: 768px) {
	.mqc .mqc-cards { grid-template-columns: repeat(var(--_cc, 2), minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.mqc .mqc-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
	.mqc .mqc-aside .mqc-sum { position: sticky; top: var(--mqc-sticky-top); }
	.mqc-bar { display: none; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
	.mqc .mqc-grid { gap: var(--mqc-grid-gap, 32px); }
	.mqc .mqc-tot { font-size: var(--mqc-tot-size, 48px); }
}
@media (max-width: 380px) {
	.mqc .mqc-wrap { padding-left: 12px; padding-right: 12px; }
	.mqc.mqc .mqc-tab { font-size: var(--mqc-tab-size-m, 16px); }
	.mqc .mqc-hand svg { width: 32px; height: 32px; }
}
@media (max-width: 639px) {
	.mqc .mqc-hand { gap: 2px; }
	.mqc .mqc-hand span { white-space: normal; text-align: center; min-width: 0; flex: 0 1 auto; }
	.mqc .mqc-hand .mqc-arrow-l { transform: scaleX(-1) translate(-6px, 10px); }
	.mqc .mqc-hand .mqc-arrow-r { transform: translate(-6px, 10px); }
}
@media (prefers-reduced-motion: reduce) {
	.mqc, .mqc *, .mqc *::before, .mqc *::after, .mqc-bar, .mqc-toast { animation: none !important; transition: none !important; }
	.mqc .mqc-hand path { stroke-dasharray: none !important; }
}
