.hbps-questionnaire {
	box-sizing: border-box;
	width: 100%;
	max-width: 720px;
	margin: 2rem auto;
	padding: clamp(1rem, 4vw, 2.5rem);
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 18px;
	background: var(--hbps-surface, #fff);
	color: inherit;
	box-shadow: 0 12px 36px rgba(0, 0, 0, .07);
	overflow-wrap: anywhere;
}

.hbps-recommendation-result { max-width: 720px; margin: 1rem auto; padding: clamp(1rem, 4vw, 2rem); border: 1px solid color-mix(in srgb, currentColor 16%, transparent); border-radius: 18px; background: var(--hbps-card-bg, #fff); }
.hbps-recommendation-program { padding: 1rem; border-radius: 12px; background: color-mix(in srgb, currentColor 5%, transparent); }
.hbps-recommendation-products__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 1rem; }
.hbps-recommendation-product { padding: 1rem; border: 1px solid color-mix(in srgb, currentColor 14%, transparent); border-radius: 12px; }
.hbps-recommendation-product img { display: block; width: 100%; height: auto; }
.hbps-questionnaire *, .hbps-questionnaire *::before, .hbps-questionnaire *::after { box-sizing: border-box; }
.hbps-questionnaire [hidden] { display: none !important; }
.hbps-questionnaire h2 { margin: 0 0 1.5rem; font: inherit; font-size: clamp(1.55rem, 5vw, 2.25rem); font-weight: 700; line-height: 1.2; }
.hbps-questionnaire h3 { margin-top: 2rem; }
.hbps-questionnaire fieldset { min-width: 0; margin: 1.5rem 0; padding: 0; border: 0; }
.hbps-questionnaire legend { margin-bottom: .75rem; font-weight: 650; }
.hbps-questionnaire button, .hbps-questionnaire input, .hbps-questionnaire textarea { font: inherit; }
.hbps-questionnaire input[type="text"], .hbps-questionnaire input[type="search"], .hbps-questionnaire textarea {
	width: 100%; max-width: 100%; padding: .85rem 1rem; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); border-radius: 10px; background: transparent; color: inherit;
}
.hbps-questionnaire textarea { resize: vertical; }
.hbps-questionnaire :focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.hbps-field { display: grid; gap: .5rem; margin: 1rem 0; font-weight: 600; }
.hbps-field--unit > span { display: flex; align-items: center; gap: .75rem; }
.hbps-field--unit input { flex: 1; }
.hbps-help { opacity: .75; font-size: .95em; }
.hbps-warning, .hbps-questionnaire__errors, .hbps-questionnaire__client-error { padding: .9rem 1rem; border-left: 4px solid #b45309; border-radius: 8px; background: #fff7ed; color: #7c2d12; }
.hbps-questionnaire__errors, .hbps-questionnaire__client-error { border-left-color: #b91c1c; background: #fef2f2; color: #7f1d1d; }
.hbps-questionnaire__errors ul { margin-bottom: 0; }
.hbps-questionnaire__progress { margin-bottom: 2rem; }
.hbps-questionnaire__progress-head { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; font-size: .92em; }
.hbps-questionnaire__progress-track { height: 8px; border-radius: 999px; background: color-mix(in srgb, currentColor 14%, transparent); overflow: hidden; }
.hbps-questionnaire__progress-track span { display: block; height: 100%; width: 7.69%; border-radius: inherit; background: currentColor; transition: width .2s ease; }
.hafbox-app .hbps-questionnaire__profile-card { display:flex; align-items:center; gap:.75rem; margin:0 0 1.25rem; padding:.65rem .8rem; border:1px solid color-mix(in srgb,currentColor 16%,transparent); border-radius:14px; background:color-mix(in srgb,currentColor 4%,transparent); }
.hafbox-app .hbps-questionnaire__profile-card img { width:56px; height:56px; flex:0 0 auto; border-radius:50%; object-fit:cover; }
.hafbox-app .hbps-questionnaire__profile-card span { display:block; opacity:.72; font-size:.9em; }
.hafbox-app { --hafbox-photo-size: 88px; --hafbox-card-gap: 1rem; --hafbox-icon-size: 1.25rem; --hafbox-focus-ring: 3px; }
.hbps-questionnaire__step { padding: clamp(.25rem, 1vw, .75rem) 0; }
.hbps-photo-upload { display:grid; grid-template-columns: var(--hafbox-photo-size) minmax(0,1fr); gap:.65rem 1rem; align-items:center; margin-top:1.5rem; padding:1rem; border:1px dashed color-mix(in srgb,currentColor 32%,transparent); border-radius:14px; background:color-mix(in srgb,currentColor 4%,transparent); }
.hbps-photo-upload h3,.hbps-photo-upload .hbps-help,.hbps-photo-upload__message { grid-column:2; margin:0; }
.hafbox-app .hbps-questionnaire__icon { width:1.1em; height:1.1em; margin-inline-end:.35em; vertical-align:-.15em; fill:currentColor; }
.hbps-photo-upload img { grid-row:1 / span 4; width:var(--hafbox-photo-size); height:var(--hafbox-photo-size); border-radius:50%; object-fit:cover; background:#f7f3ef; }
.hbps-photo-upload .hbps-button,.hbps-photo-upload .hbps-link-button { justify-self:start; }
.hbps-photo-upload__message { min-height:1.25em; color:#9b1c1c; }
.hbps-questionnaire__step { min-height: 320px; }
.hbps-choice-grid, .hbps-check-grid { display: grid; grid-template-columns: 1fr; gap: .7rem; }
.hbps-choice-grid--two, .hbps-choice-grid--three { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.hbps-choice, .hbps-check-grid label, .hbps-consents label { display: flex; align-items: flex-start; gap: .7rem; padding: .85rem 1rem; border: 1px solid color-mix(in srgb, currentColor 22%, transparent); border-radius: 10px; cursor: pointer; }
.hbps-choice:has(input:checked), .hbps-check-grid label:has(input:checked) { border-color: currentColor; background: color-mix(in srgb, currentColor 7%, transparent); }
.hbps-choice input, .hbps-check-grid input, .hbps-consents input { flex: 0 0 auto; margin-top: .2em; }
.hbps-questionnaire__navigation, .hbps-quick-choices { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; margin-top: 1.5rem; }
.hbps-button { min-height: 44px; padding: .75rem 1.15rem; border: 1px solid currentColor; border-radius: 999px; background: currentColor; color: var(--hbps-surface, #fff); cursor: pointer; }
.hbps-button--secondary { background: transparent; color: inherit; }
.hbps-link-button { padding: .2rem; border: 0; background: transparent; color: inherit; text-decoration: underline; cursor: pointer; }
.hbps-questionnaire__honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.hbps-public-breed-picker { position: relative; }
.hbps-public-breed-results { position: absolute; z-index: 10; left: 0; right: 0; max-height: 320px; overflow-y: auto; border: 1px solid #777; border-radius: 10px; background: var(--hbps-surface, #fff); box-shadow: 0 8px 24px rgba(0, 0, 0, .14); }
.hbps-public-breed-results button { display: block; width: 100%; padding: .75rem 1rem; border: 0; border-top: 1px solid rgba(0, 0, 0, .08); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.hbps-public-breed-results button[aria-selected="true"], .hbps-public-breed-results button:hover { background: color-mix(in srgb, currentColor 8%, transparent); }
.hbps-public-breed-results button strong, .hbps-public-breed-results button span { display: block; }
.hbps-public-breed-results button span { opacity: .7; font-size: .88em; }
.hbps-breed-group { padding: .55rem 1rem; background: color-mix(in srgb, currentColor 10%, transparent); font-weight: 700; }
.hbps-breed-empty { padding: .75rem 1rem; }
.hbps-summary { display: grid; gap: .5rem; }
.hbps-summary > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent); }
.hbps-summary p { margin: 0; }
.hbps-consents { display: grid; gap: .75rem; margin-top: 1.5rem; }
.hbps-questionnaire--success { text-align: center; }
.hbps-dog-avatar { width:76px; height:76px; object-fit:cover; border-radius:50%; background:#f7f3ef; }
.hbps-account-dog-card__photo,.hbps-dog-card__photo,.hbps-questionnaire__success-photo { margin:0 0 .75rem; }
.hbps-questionnaire__success-icon { display: inline-grid; width: 3.5rem; height: 3.5rem; margin-bottom: 1rem; place-items: center; border: 2px solid currentColor; border-radius: 50%; font-size: 2rem; font-weight: 700; line-height: 1; }
.hbps-questionnaire__account-prompt { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent); }
.hbps-questionnaire__account-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.hbps-questionnaire__account-prompt .button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: .7rem 1rem; }
.hbps-questionnaire .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (min-width: 560px) { .hbps-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .hbps-questionnaire { margin: 1rem auto; border-radius: 12px; } .hbps-questionnaire__step { min-height: 0; } .hbps-summary > div { align-items: flex-start; } .hbps-photo-upload { --hafbox-photo-size:56px; gap:.6rem; } }

/* Optional, page-scoped focus mode. The unstyled native form remains usable if
 * this asset cannot be loaded or customer_ui_v2_enabled is disabled. */
body.hbps-questionnaire-page .hafbox-app.hbps-questionnaire {
	--hbps-wizard-navy: #012841;
	--hbps-wizard-blue: #eaf1f5;
	--hbps-wizard-border: #d9e3e8;
	max-width: 960px;
	margin: clamp(1rem, 4vw, 3rem) auto;
	padding: clamp(1rem, 4vw, 3rem);
	border: 0;
	border-radius: 20px;
	box-shadow: none;
}
body.hbps-questionnaire-page .hbps-questionnaire__intro { margin: 0 0 2rem; }
body.hbps-questionnaire-page .hbps-questionnaire__intro h1 { margin: 0 0 .6rem; color: var(--hbps-wizard-navy); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; }
body.hbps-questionnaire-page .hbps-questionnaire__intro > p:last-child { max-width: 720px; margin: 0; color: #4e647b; font-size: 1rem; line-height: 1.55; }
body.hbps-questionnaire-page .hbps-eyebrow { margin: 0 0 .4rem; color: #5d6e79; font-size: .8rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
/* Keep the theme heading/H1 visible; the wizard deliberately uses H2 headings. */
body.hbps-questionnaire-page .hbps-questionnaire__focus-bar { display:flex; justify-content:space-between; gap:1rem; height:auto; margin:0 0 1rem; padding:.7rem .85rem; border:1px solid #d9e3e8; border-radius:12px; background:#f5f8fa; }
body.hbps-questionnaire-page .hbps-questionnaire__focus-bar span { color:#012841; font-size:.88rem; font-weight:700; }
body.hbps-questionnaire-page footer,
body.hbps-questionnaire-page .footer-container,
body.hbps-questionnaire-page .wd-footer,
body.hbps-questionnaire-page .woodmart-footer,
body.hbps-questionnaire-page .copyrights-wrapper { display:none; }
body.hbps-questionnaire-page .hbps-questionnaire__progress { margin-bottom:1rem; }
body.hbps-questionnaire-page .hbps-questionnaire__progress-head { margin-bottom:.45rem; color:#4e647b; }
body.hbps-questionnaire-page .hbps-questionnaire__progress-track { height:5px; background:#e5edf4; }
body.hbps-questionnaire-page .hbps-questionnaire__progress-track span { background:var(--hbps-wizard-navy); }
body.hbps-questionnaire-page .hbps-questionnaire__profile-card { max-width:100%; margin:0 0 1.5rem; border-color:var(--hbps-wizard-border); background:#f8fbfe; }
body.hbps-questionnaire-page .hbps-questionnaire__step { min-height:clamp(300px, 48vh, 470px); padding:.5rem 0 8rem; }
body.hbps-questionnaire-page form[data-hbps-form] { padding-bottom:5rem; }
body.hbps-questionnaire-page .hbps-questionnaire__step h2 { max-width:800px; margin-bottom:1.75rem; color:var(--hbps-wizard-navy); font-size:clamp(1.75rem,4vw,2.7rem); }
/* A blue block groups a nested decision; it never marks priority, risk or recommendation. */
body.hbps-questionnaire-page .hbps-questionnaire__decision-block { margin:1rem 0; padding:1rem; border:1px solid var(--hbps-wizard-border); border-radius:16px; background:#f8fbfe; }
body.hbps-questionnaire-page .hbps-questionnaire__decision-block legend { padding:0 .2rem; color:var(--hbps-wizard-navy); }
body.hbps-questionnaire-page .hbps-questionnaire__conditional-detail { display:block; margin:1rem 0; padding:1rem 0 0; border:0; border-top:1px solid var(--hbps-wizard-border); }
body.hbps-questionnaire-page .hbps-questionnaire__icon { color:var(--hbps-wizard-navy); }
body.hbps-questionnaire-page .hbps-choice, body.hbps-questionnaire-page .hbps-check-grid label { min-height:56px; align-items:center; padding:1rem 1.1rem; border-color:var(--hbps-wizard-border); border-radius:14px; background:#fbfdff; transition:border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
@media (min-width: 680px) { body.hbps-questionnaire-page .hbps-choice-grid, body.hbps-questionnaire-page .hbps-check-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } body.hbps-questionnaire-page .hbps-choice-grid--three { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
body.hbps-questionnaire-page .hbps-choice:hover, body.hbps-questionnaire-page .hbps-check-grid label:hover { border-color:#8aa7c3; background:#f4f9fd; }
body.hbps-questionnaire-page .hbps-choice:has(input:checked), body.hbps-questionnaire-page .hbps-check-grid label:has(input:checked) { border-color:var(--hbps-wizard-navy); background:var(--hbps-wizard-blue); box-shadow:0 0 0 1px var(--hbps-wizard-navy); }
body.hbps-questionnaire-page .hbps-choice:has(input:checked)::after, body.hbps-questionnaire-page .hbps-check-grid label:has(input:checked)::after { content:'✓'; margin-left:auto; color:var(--hbps-wizard-navy); font-weight:700; }
body.hbps-questionnaire-page .hbps-field input[type="text"], body.hbps-questionnaire-page .hbps-field input[type="search"], body.hbps-questionnaire-page .hbps-field textarea { min-height:52px; border-color:var(--hbps-wizard-border); border-radius:14px; background:#fff; }
body.hbps-questionnaire-page .hbps-field textarea { min-height:132px; }
body.hbps-questionnaire-page .hbps-questionnaire__info { margin:1.5rem 0 0; padding:1rem 1.1rem; border-left:4px solid var(--hbps-wizard-navy); border-radius:0 12px 12px 0; background:#f4f9fd; color:#314d69; }
body.hbps-questionnaire-page .hbps-questionnaire__info p { margin:.35rem 0 0; }
body.hbps-questionnaire-page .hbps-questionnaire__navigation { position:sticky; z-index:5; bottom:0; margin:0 -1rem; padding:1rem; border-top:1px solid var(--hbps-wizard-border); background:rgba(255,255,255,.96); backdrop-filter:blur(8px); }
body.hbps-questionnaire-page .hbps-questionnaire__navigation .hbps-button:not(.hbps-button--secondary) { min-height:52px; margin-left:auto; border-color:var(--hbps-wizard-navy) !important; background-color:var(--hbps-wizard-navy) !important; color:#fff !important; font-weight:700; cursor:pointer; }
body.hbps-questionnaire-page .hbps-questionnaire__navigation .hbps-button:not(.hbps-button--secondary):hover { border-color:#073954 !important; background-color:#073954 !important; color:#fff !important; }
body.hbps-questionnaire-page .hbps-questionnaire__navigation .hbps-button:not(.hbps-button--secondary):focus-visible { outline:3px solid #79b8e8; outline-offset:3px; }
body.hbps-questionnaire-page .hbps-questionnaire__navigation .hbps-button[disabled] { background-color:#7897b7 !important; border-color:#7897b7 !important; color:#fff !important; opacity:1; cursor:not-allowed; }
body.hbps-questionnaire-page .hbps-questionnaire__navigation .hbps-button[aria-busy="true"] { cursor:wait; }
body.hbps-questionnaire-page .hbps-questionnaire__navigation .hbps-button--secondary { background:#fff; color:var(--hbps-wizard-navy); border-color:var(--hbps-wizard-border); }
body.hbps-questionnaire-page .hbps-questionnaire__navigation .hbps-button--secondary[hidden] + .hbps-button { margin-left:auto; }
body.hbps-questionnaire-page .hbps-summary > div { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; padding:.9rem 0; }
body.hbps-questionnaire-page .hbps-summary > div > :first-child { min-width:0; }
body.hbps-questionnaire-page .hbps-summary > div .hbps-link-button { width:auto; min-width:max-content; white-space:nowrap; overflow-wrap:normal; word-break:normal; hyphens:none; }
body.hbps-questionnaire-page .hbps-questionnaire__summary-profile { display:flex; align-items:center; gap:.75rem; margin:0 0 1rem; color:var(--hbps-wizard-navy); }
body.hbps-questionnaire-page .hbps-questionnaire__summary-profile img { width:56px; height:56px; flex:0 0 auto; border-radius:50%; object-fit:cover; background:#f8fbfe; }
@media (max-width: 480px) {
	body.hbps-questionnaire-page .wd-content-layout.content-layout-wrapper { padding-top:16px; }
	body.hbps-questionnaire-page .hafbox-app.hbps-questionnaire { margin:16px auto .5rem; padding:1rem; border-radius:0; }
	body.hbps-questionnaire-page .hbps-questionnaire__intro { margin-bottom:1.25rem; }
	body.hbps-questionnaire-page .hbps-questionnaire__progress { margin-bottom:.75rem; }
	body.hbps-questionnaire-page .hbps-summary > div { align-items:start; }
	body.hbps-questionnaire-page .hbps-questionnaire__focus-bar { flex-direction:column; gap:.2rem; margin-bottom:1rem; }
	body.hbps-questionnaire-page .hbps-questionnaire__profile-card img { width:48px; height:48px; }
	body.hbps-questionnaire-page .hbps-questionnaire__navigation { margin:0 -1rem; flex-direction:column-reverse; }
	body.hbps-questionnaire-page .hbps-questionnaire__navigation .hbps-button { width:100%; margin-left:0; }
}
@media (min-width: 481px) {
	body.hbps-questionnaire-page .wd-content-layout.content-layout-wrapper { padding-top:24px; }
	body.hbps-questionnaire-page .hafbox-app.hbps-questionnaire { margin-top:24px; }
}
@media (max-width: 767px) {
	body.hbps-questionnaire-page .hbps-questionnaire__step { min-height:0; padding-bottom:1rem; }
	body.hbps-questionnaire-page form[data-hbps-form] { padding-bottom:0; }
	body.hbps-questionnaire-page .hbps-questionnaire__navigation {
		position:static;
		bottom:auto;
		margin:1.5rem 0 0;
		padding:0 0 max(0px, env(safe-area-inset-bottom));
		border-top:0;
		background:transparent;
		backdrop-filter:none;
		flex-direction:column-reverse;
	}
	body.hbps-questionnaire-page .hbps-questionnaire__navigation .hbps-button {
		width:100%;
		min-height:52px;
		margin-left:0;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	body.hbps-questionnaire-page .hbps-questionnaire__navigation {
		position: static;
		bottom: auto;
		margin: 1.5rem 0 calc(88px + env(safe-area-inset-bottom));
		padding: 1rem 0;
		border-top: 0;
		background: transparent;
		backdrop-filter: none;
	}
}
@media (prefers-reduced-motion: reduce) { body.hbps-questionnaire-page .hbps-questionnaire__progress-track span, body.hbps-questionnaire-page .hbps-choice, body.hbps-questionnaire-page .hbps-check-grid label { transition:none; } }
