/* Quote generator. Uses the theme's color tokens with fallbacks. */
.aq {
	--aq-text: var(--wp--preset--color--text, #0F172A);
	--aq-night: var(--wp--preset--color--night, #0B1020);
	--aq-muted: var(--wp--preset--color--muted, #5A6275);
	--aq-border: var(--wp--preset--color--border, #E6E8EE);
	--aq-surface: var(--wp--preset--color--surface, #F6F7FA);
	--aq-tint: var(--wp--preset--color--tint, #EEF3FF);
	--aq-decor: var(--wp--preset--color--decor, #DCE6FF);
	--aq-r-md: var(--wp--custom--radius--md, 14px);
	--aq-r-sm: var(--wp--custom--radius--sm, 10px);
	--aq-r-chip: var(--wp--custom--radius--chip, 999px);
	--aq-brand: var(--wp--preset--color--brand, #2F6BFF);
	--aq-success: var(--wp--preset--color--success, #12B76A);
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 28px;
	align-items: start;
	color: var(--aq-text);
}
.aq-form { min-width: 0; display: grid; gap: 12px; }
.aq-q {
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-r-md);
	background: #fff;
	margin: 0;
	padding: 22px 24px;
	box-shadow: 0 1px 2px rgba(31, 36, 33, .05);
	min-width: 0;
}
.aq-q[hidden] { display: none; }
.aq-q legend { font-weight: 600; font-size: 1.0625rem; letter-spacing: -.01em; padding: 0; float: left; width: 100%; margin-bottom: 4px; }
.aq-hint { color: var(--aq-muted); font-size: .9375rem; margin: 0 0 4px; clear: both; }
.aq-options { display: flex; flex-wrap: wrap; gap: 8px; clear: both; padding-top: 12px; }
.aq-opt { position: relative; cursor: pointer; }
.aq-opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.aq-opt span {
	display: inline-block;
	padding: 9px 16px;
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-r-chip);
	background: #fff;
	font-size: .9375rem;
	font-weight: 500;
	line-height: 1.35;
	transition: border-color .15s, background-color .15s, color .15s;
}
.aq-opt:hover span { border-color: #C9CFDA; background: var(--aq-surface); }
.aq-opt input:checked + span { border-color: var(--aq-brand); background: var(--aq-tint); color: var(--aq-brand); box-shadow: 0 0 0 1px var(--aq-brand); }
.aq-opt input:focus-visible + span { outline: 2px solid var(--aq-brand); outline-offset: 2px; }

[data-q="addons"] .aq-options, [data-q="website"] .aq-options { flex-direction: column; align-items: stretch; }
[data-q="addons"] .aq-opt span, [data-q="website"] .aq-opt span { display: block; border-radius: var(--aq-r-sm); padding: 12px 14px 12px 44px; position: relative; }
[data-q="addons"] .aq-opt span::before, [data-q="website"] .aq-opt span::before {
	content: ""; position: absolute; left: 15px; top: 50%; margin-top: -9px;
	width: 18px; height: 18px; border: 1.5px solid #C2C8D3; background: #fff; box-sizing: border-box;
}
[data-q="addons"] .aq-opt span::before { border-radius: 5px; }
[data-q="website"] .aq-opt span::before { border-radius: 50%; }
[data-q="addons"] .aq-opt input:checked + span::before {
	border-color: var(--aq-brand);
	background: var(--aq-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.5 2.5L12 5.3' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;
}
[data-q="website"] .aq-opt input:checked + span::before { border: 5.5px solid var(--aq-brand); }

.aq-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; clear: both; padding-top: 14px; }
.aq-fields label { display: flex; flex-direction: column; gap: 6px; font-size: .875rem; font-weight: 550; }
.aq-fields .aq-wide { grid-column: 1 / -1; }
.aq-fields input, .aq-fields textarea {
	font: inherit; font-weight: 400; font-size: .9375rem;
	padding: 10px 12px; border: 1px solid var(--aq-border);
	border-radius: var(--aq-r-sm); background: #fff; color: var(--aq-text);
	box-shadow: 0 1px 2px rgba(31, 36, 33, .04);
	transition: border-color .15s, box-shadow .15s;
}
.aq-fields input:focus, .aq-fields textarea:focus { border-color: var(--aq-brand); outline: none; box-shadow: 0 0 0 4px color-mix(in srgb, var(--aq-brand) 18%, transparent); }
.aq-hp { position: absolute !important; left: -9999px; }
.aq-error { color: #B42318; background: #FEF3F2; border: 1px solid #FECDCA; border-radius: 10px; padding: 10px 14px; font-size: .9375rem; margin: 16px 0 0; }
.aq-contact .wp-block-buttons { margin-top: 18px; }
.aq button[disabled] { opacity: .6; cursor: wait; }

/* Summary */
.aq-summary {
	position: sticky; top: 96px;
	background: #fff;
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-r-md);
	border-top: 3px solid var(--aq-decor);
	padding: 24px;
	box-shadow: 0 1px 2px rgba(31, 36, 33, .04), 0 12px 32px -12px rgba(31, 36, 33, .18);
	font-variant-numeric: tabular-nums;
}
.admin-bar .aq-summary { top: 128px; }
.aq-summary__title { font-size: 1rem !important; font-weight: 600 !important; letter-spacing: -.01em !important; margin: 0 0 4px; color: var(--aq-muted); }
.aq-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-top: 14px; margin-top: 10px; border-top: 1px solid var(--aq-border); }
.aq-total:first-of-type { border-top: 0; margin-top: 0; }
.aq-total p { margin: 0; }
.aq-total__label { font-weight: 550; font-size: .9375rem; }
.aq-total__value { font-family: var(--wp--preset--font-family--heading, inherit); letter-spacing: -.02em; color: var(--aq-brand); font-weight: 600; font-size: 1.5rem; text-align: right; }
.aq-lines { list-style: none; padding: 0; margin: 8px 0 6px; font-size: .8125rem; color: var(--aq-muted); }
.aq-lines li { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; }
.aq-lines li span:last-child { white-space: nowrap; }
.aq-pct { font-size: .8125rem; margin: 4px 0 10px; font-weight: 550; color: var(--aq-brand); background: var(--aq-tint); border-radius: var(--aq-r-sm); padding: 8px 10px; }
.aq-paid { border-top: 1px solid var(--aq-border); padding-top: 12px; margin-top: 12px; font-size: .8125rem; }
.aq-paid summary { font-weight: 550; cursor: pointer; font-size: .875rem; }
.aq-paid ul { padding-left: 1.1em; margin: 8px 0; color: var(--aq-muted); }
.aq-paid li { margin-bottom: 6px; }
.aq-paid li strong { color: var(--aq-text); font-weight: 550; }
.aq-paid p { color: var(--aq-muted); margin: 0; }
.aq-notes { font-size: .8125rem; padding-left: 1.1em; margin: 12px 0 0; color: var(--aq-muted); }
.aq-notes:empty { display: none; }
.aq-fine { font-size: .75rem; color: var(--aq-muted); margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--aq-border); }

.aq-done {
	grid-column: 1 / -1; grid-row: 1;
	border: 1px solid #ABEFC6; background: #F6FEF9;
	border-radius: var(--aq-r-md); padding: 28px; outline: none;
}
.aq-done[hidden] { display: none; }
.aq-done h2 { margin-top: 0; font-size: 1.5rem !important; }

.aq-bar { display: none; }
@media (max-width: 960px) {
	.aq { grid-template-columns: 1fr; padding-bottom: 72px; }
	.aq-summary { position: static; }
	.aq-done { grid-row: auto; order: -2; }
	.aq-bar {
		display: flex; position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50;
		gap: 16px; align-items: center; padding: 12px 16px;
		background: var(--aq-night); color: #fff; text-decoration: none;
		border-radius: var(--aq-r-md);
		box-shadow: 0 12px 32px -8px rgba(11, 16, 32, .5);
		font-variant-numeric: tabular-nums; transition: transform .2s, opacity .2s;
	}
	.aq-bar:hover { color: #fff; text-decoration: none; }
	.aq-bar span { display: flex; flex-direction: column; line-height: 1.25; }
	.aq-bar small { font-size: .75rem; opacity: .7; }
	.aq-bar strong { font-size: .9375rem; font-weight: 600; }
	.aq-bar .aq-bar__more { margin-left: auto; font-size: .8125rem; font-weight: 550; background: rgba(255,255,255,.12); padding: 6px 12px; border-radius: var(--aq-r-chip); }
	.aq-bar.is-hidden { transform: translateY(140%); opacity: 0; }
}
@media (max-width: 560px) {
	.aq-fields { grid-template-columns: 1fr; }
	.aq-q { padding: 18px; }
}
