/* Gadget Repair LV quote forms */
.glvq {
	--glvq-brand: #0e6e73;
	--glvq-brand-soft: #e6f2f2;
	--glvq-cta: #f2a33a;
	--glvq-cta-ink: #14202e;
	--glvq-ink: #14202e;
	--glvq-muted: #5b6878;
	--glvq-line: #dfe5ea;
	--glvq-card: #ffffff;
	--glvq-field: #f7f9fb;
	--glvq-error: #c0392b;
	--glvq-radius: 12px;
	color: var(--glvq-ink);
	font-size: 16px;
	line-height: 1.5;
}
.glvq *, .glvq *::before, .glvq *::after { box-sizing: border-box; }
.glvq [hidden] { display: none !important; }

.glvq__title { margin: 0 0 4px; font-size: 1.45rem; line-height: 1.2; color: var(--glvq-ink); }
.glvq__subtitle { margin: 0 0 16px; color: var(--glvq-muted); font-size: .95rem; }

/* Option picker */
.glvq__picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.glvq .glvq__opt {
	display: flex; align-items: center; gap: 12px; width: 100%; margin: 0;
	padding: 12px 14px; text-align: left; cursor: pointer;
	background: var(--glvq-card); color: var(--glvq-ink);
	border: 1.5px solid var(--glvq-line); border-radius: var(--glvq-radius);
	font: inherit; line-height: 1.25; text-transform: none; letter-spacing: 0; box-shadow: none;
	transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}
.glvq .glvq__opt:hover { border-color: var(--glvq-brand); background: var(--glvq-card); color: var(--glvq-ink); transform: translateY(-1px); }
.glvq .glvq__opt:focus-visible { outline: 3px solid color-mix(in srgb, var(--glvq-brand) 35%, transparent); outline-offset: 2px; }
.glvq .glvq__opt[aria-selected="true"] { border-color: var(--glvq-brand); background: var(--glvq-brand-soft); box-shadow: inset 0 0 0 1px var(--glvq-brand); }
.glvq__opt-icon {
	flex: 0 0 auto; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center;
	background: var(--glvq-brand-soft); color: var(--glvq-brand);
}
.glvq__opt[aria-selected="true"] .glvq__opt-icon { background: var(--glvq-brand); color: #fff; }
.glvq__opt-text { display: flex; flex-direction: column; min-width: 0; }
.glvq__opt-text strong { font-size: .98rem; font-weight: 700; }
.glvq__opt-text small { font-size: .8rem; color: var(--glvq-muted); margin-top: 2px; }

/* Form */
.glvq__form { animation: glvqIn .25s ease; }
@keyframes glvqIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.glvq__form-head { border-left: 3px solid var(--glvq-cta); padding: 2px 0 2px 12px; margin-bottom: 16px; }
.glvq__form-head h4 { margin: 0 0 2px; font-size: 1.12rem; line-height: 1.3; color: var(--glvq-ink); }
.glvq__form-head p { margin: 0; color: var(--glvq-muted); font-size: .92rem; }

.glvq__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 14px; }
.glvq__field { display: flex; flex-direction: column; grid-column: 1 / -1; min-width: 0; }
.glvq__field--half { grid-column: span 1; }
.glvq__field label, .glvq__field legend { font-size: .88rem; font-weight: 600; margin: 0 0 6px; padding: 0; color: var(--glvq-ink); }
.glvq__field fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.glvq__req { color: var(--glvq-error); }

.glvq input[type="text"], .glvq input[type="tel"], .glvq input[type="email"], .glvq select, .glvq textarea {
	width: 100%; min-height: 46px; margin: 0; padding: 10px 13px;
	font: inherit; font-size: 16px; color: var(--glvq-ink);
	background: var(--glvq-field); border: 1.5px solid var(--glvq-line); border-radius: 10px;
	box-shadow: none; transition: border-color .15s ease, background-color .15s ease;
}
.glvq select {
	appearance: none; -webkit-appearance: none; padding-right: 38px; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235b6878' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center;
}
.glvq textarea { min-height: 96px; resize: vertical; }
.glvq input:focus, .glvq select:focus, .glvq textarea:focus { outline: none; border-color: var(--glvq-brand); background-color: #fff; }
.glvq__field.is-invalid input, .glvq__field.is-invalid select, .glvq__field.is-invalid textarea { border-color: var(--glvq-error); background-color: #fff; }
.glvq__err { color: var(--glvq-error); font-size: .8rem; margin-top: 4px; min-height: 0; }
.glvq__err:empty { display: none; }

/* Checkbox chips */
.glvq__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.glvq__chip { position: relative; margin: 0 !important; cursor: pointer; font-weight: 500 !important; }
.glvq__chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.glvq__chip span {
	display: inline-block; padding: 7px 13px; border-radius: 999px; font-size: .86rem;
	border: 1.5px solid var(--glvq-line); background: var(--glvq-field); color: var(--glvq-ink);
	transition: all .15s ease;
}
.glvq__chip:hover span { border-color: var(--glvq-brand); }
.glvq__chip input:checked + span { background: var(--glvq-brand); border-color: var(--glvq-brand); color: #fff; }
.glvq__chip input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--glvq-brand) 35%, transparent); outline-offset: 2px; }

.glvq__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Footer */
.glvq__foot { margin-top: 18px; }
.glvq .glvq__submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
	min-height: 52px; padding: 12px 22px; margin: 0; cursor: pointer;
	font: inherit; font-size: 1.02rem; font-weight: 700; letter-spacing: 0; text-transform: none;
	color: var(--glvq-cta-ink); background: var(--glvq-cta); border: 0; border-radius: 10px;
	box-shadow: 0 6px 16px -8px color-mix(in srgb, var(--glvq-cta) 80%, #000);
	transition: filter .15s ease, transform .15s ease;
}
.glvq .glvq__submit:hover { filter: brightness(.96); transform: translateY(-1px); color: var(--glvq-cta-ink); background: var(--glvq-cta); }
.glvq .glvq__submit[disabled] { opacity: .7; cursor: wait; transform: none; }
.glvq__status { margin: 10px 0 0; font-size: .92rem; font-weight: 600; }
.glvq__status:empty { display: none; }
.glvq__status.is-error { color: var(--glvq-error); }
.glvq__fine { margin: 10px 0 0; font-size: .8rem; color: var(--glvq-muted); }
.glvq__fine a { color: var(--glvq-brand); }

/* Success */
.glvq__done { text-align: center; padding: 26px 8px 8px; animation: glvqIn .3s ease; }
.glvq__done-icon { width: 60px; height: 60px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--glvq-brand); color: #fff; margin-bottom: 12px; }
.glvq__done h4 { margin: 0 0 6px; font-size: 1.3rem; color: var(--glvq-ink); }
.glvq__done-text { color: var(--glvq-muted); margin: 0 auto 16px; max-width: 420px; }
.glvq .glvq__again { background: none; border: 0; padding: 4px; color: var(--glvq-brand); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.glvq .glvq__again:hover { background: none; color: var(--glvq-ink); }

@media (max-width: 560px) {
	.glvq__picker { gap: 8px; }
	.glvq .glvq__opt { flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px; }
	.glvq__opt-text small { display: none; }
	.glvq__grid { grid-template-columns: 1fr; }
	.glvq__field--half { grid-column: 1 / -1; }
}
