.wip-gq {
	--wip-gq-primary: var(--wi-primary, var(--wip-primary, #123f67));
	--wip-gq-accent: var(--wi-accent, var(--wip-secondary, #e78a22));
	--wip-gq-border: #d8e0e7;
	--wip-gq-text: #17212b;
	max-width: 940px;
	margin: clamp(2rem, 5vw, 4rem) auto;
	padding: clamp(1.25rem, 4vw, 2.5rem);
	color: var(--wip-gq-text);
	background: #fff;
	border: 1px solid var(--wip-gq-border);
	border-radius: 18px;
	box-shadow: 0 18px 48px rgba(19, 48, 72, .1);
}

.wip-gq *,
.wip-gq *::before,
.wip-gq *::after { box-sizing: border-box; }
.wip-gq__heading { max-width: 720px; margin-bottom: 1.75rem; }
.wip-gq__heading h2 { margin: .2rem 0 .6rem; font-size: clamp(1.7rem, 4vw, 2.5rem); line-height: 1.12; color: var(--wip-gq-primary); }
.wip-gq__heading p { margin: 0; line-height: 1.65; }
.wip-gq__eyebrow { font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--wip-gq-accent); }
.wip-gq__form { display: grid; gap: 1.5rem; }
.wip-gq__context { padding: 1rem 1.1rem; border: 1px solid #b9cad8; border-left: 4px solid var(--wip-gq-accent); border-radius: 9px; background: #f7fafc; }
.wip-gq__context h3 { margin: 0 0 .35rem; color: var(--wip-gq-primary); font-size: 1.05rem; }
.wip-gq__context > p { margin: .25rem 0; overflow-wrap: anywhere; }
.wip-gq__context-clear { min-height: 44px; margin-top: .55rem; padding: .5rem .75rem; border: 1px solid var(--wip-gq-primary); border-radius: 6px; color: var(--wip-gq-primary); background: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.wip-gq__group { min-width: 0; margin: 0; padding: 1.25rem; border: 1px solid var(--wip-gq-border); border-radius: 12px; }
.wip-gq__group > legend,
.wip-gq__options > legend { padding: 0 .35rem; font-weight: 800; color: var(--wip-gq-primary); }
.wip-gq__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.wip-gq label { display: grid; gap: .4rem; min-width: 0; font-weight: 650; }
.wip-gq label > span em { color: #a21b1b; font-style: normal; }
.wip-gq input,
.wip-gq select,
.wip-gq textarea {
	width: 100%;
	min-height: 46px;
	padding: .7rem .8rem;
	font: inherit;
	color: #121a22;
	background: #fff;
	border: 1px solid #9aabb9;
	border-radius: 7px;
}
.wip-gq textarea { min-height: 108px; resize: vertical; }
.wip-gq input:focus-visible,
.wip-gq select:focus-visible,
.wip-gq textarea:focus-visible,
.wip-gq button:focus-visible,
.wip-gq a:focus-visible { outline: 3px solid #f0a54a; outline: 3px solid color-mix(in srgb, var(--wip-gq-accent) 65%, #fff); outline-offset: 2px; }
.wip-gq__span { grid-column: 1 / -1; }
.wip-gq__options { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin: 0; padding: 1rem; border: 1px solid var(--wip-gq-border); border-radius: 8px; }
.wip-gq__options label { display: flex; align-items: center; gap: .45rem; }
.wip-gq__options input,
.wip-gq__consent input { width: 1.15rem; min-height: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.wip-gq__consent { display: flex !important; align-items: flex-start; gap: .65rem !important; font-weight: 500 !important; line-height: 1.5; }
.wip-gq__help { margin: -.75rem 0 0; color: #536573; font-size: .9rem; }
.wip-gq__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.wip-gq__submit { min-height: 48px; padding: .75rem 1.25rem; border: 0; border-radius: 7px; color: #fff; background: var(--wip-gq-primary); font: inherit; font-weight: 800; cursor: pointer; }
.wip-gq__submit:hover { filter: brightness(.92); }
.wip-gq__submit:disabled { cursor: wait; opacity: .65; }
.wip-gq__status { flex: 1 1 300px; margin: 0; min-height: 1.5em; font-weight: 650; }
.wip-gq__status:empty { min-height: 0; }
.wip-gq__status--success { color: #176434; }
.wip-gq__status--error { color: #9e1c1c; }
.wip-gq__trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 620px) {
	.wip-gq { margin-inline: .75rem; padding: 1.1rem; border-radius: 12px; }
	.wip-gq__group { padding: 1rem; }
	.wip-gq__grid { grid-template-columns: 1fr; }
	.wip-gq__span,
	.wip-gq__options { grid-column: auto; }
	.wip-gq__submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.wip-gq *,
	.wip-gq *::before,
	.wip-gq *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
