/* QJR CAD builder (NS-2416 Phase 1). Scoped to .qjr-cad on the CAD product page only. */
.qjr-cad {
	--cad-deep: #0F2928;
	--cad-green: #204A48;
	--cad-sage: #638780;
	--cad-gold: #CEA41B;
	--cad-gold-2: #E2C566;
	--cad-gold-ink: #7A5D00;
	--cad-ink: #14201F;
	--cad-muted: #4F5D5B;
	--cad-line: #D9E0DF;
	--cad-ivory: #FAF8F3;
	--cad-mist: #EEF3F2;
	--cad-display: var(--wp--preset--font-family--display, "Nocturne Serif", Georgia, serif);
	--cad-body: var(--wp--preset--font-family--body, "Nunito Sans", Helvetica, Arial, sans-serif);
	--cad-target: 44px;
	font-family: var(--cad-body);
	color: var(--cad-ink);
	overflow-wrap: anywhere;
	accent-color: var(--cad-green);
}
.qjr-cad *, .qjr-cad *::before, .qjr-cad *::after { box-sizing: border-box; }
.qjr-cad img { max-inline-size: 100%; block-size: auto; }
.qjr-cad h1, .qjr-cad h2, .qjr-cad h3 { text-wrap: balance; }
.qjr-cad p, .qjr-cad li { text-wrap: pretty; }
.qjr-cad a { color: inherit; }
.qjr-cad [hidden] { display: none !important; }
.qjr-cad-main { margin: 0; padding: 0; }
.qjr-cad-wrap { inline-size: 100%; max-inline-size: 1240px; margin-inline: auto; padding-inline: 18px; }
.qjr-cad-kicker { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--cad-gold-ink); }
.qjr-cad-muted { color: var(--cad-muted); }
.qjr-cad .screen-reader-text { position: absolute !important; clip-path: inset(50%); inline-size: 1px; block-size: 1px; overflow: hidden; white-space: nowrap; }

/* buttons */
.qjr-cad .qjr-cad-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-block-size: 48px; padding: 12px 20px; border-radius: 8px; border: 1px solid transparent;
	font: 800 15px/1.2 var(--cad-body); text-decoration: none; cursor: pointer; text-align: center;
}
.qjr-cad .qjr-cad-btn--gold, .qjr-cad .qjr-cad-btn--gold:visited { background: var(--cad-gold); color: var(--cad-ink); }
.qjr-cad .qjr-cad-btn--gold:hover { background: #B8911A; color: var(--cad-ink); }
.qjr-cad .qjr-cad-btn--ghost, .qjr-cad .qjr-cad-btn--ghost:visited { border-color: rgba(250, 248, 243, .55); color: #FAF8F3; background: transparent; }
.qjr-cad .qjr-cad-btn--ghost:hover { background: rgba(250, 248, 243, .08); color: #fff; }
.qjr-cad .qjr-cad-btn--line { border-color: var(--cad-line); background: #fff; color: var(--cad-ink); }
.qjr-cad .qjr-cad-btn--line:hover { border-color: var(--cad-sage); }
.qjr-cad :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--cad-gold); outline-offset: 2px; }

/* breadcrumb */
.qjr-cad-crumb ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 12px 0; list-style: none; font-size: 13px; color: var(--cad-muted); }
.qjr-cad-crumb li + li::before { content: "/"; margin-inline-end: 6px; color: #9AA6A4; }
.qjr-cad-crumb a { color: var(--cad-muted); }
.qjr-cad-crumb [aria-current] { color: var(--cad-ink); font-weight: 600; }

/* hero */
.qjr-cad-hero {
	position: relative; color: #FAF8F3; overflow: hidden;
	background:
		radial-gradient(1200px 520px at 78% 30%, rgba(99, 135, 128, .30), transparent 60%),
		radial-gradient(900px 600px at 10% 100%, rgba(32, 74, 72, .85), transparent 70%),
		linear-gradient(160deg, #123331 0%, #0F2928 55%, #0B2120 100%);
}
.qjr-cad-hero__grid { display: grid; gap: 28px; padding-block: 32px 40px; align-items: center; }
.qjr-cad-hero__title { margin: 0 0 16px; font-weight: 400; }
.qjr-cad-eyebrow { display: block; margin-block-end: 12px; font: 800 12px/1.3 var(--cad-body); letter-spacing: .18em; text-transform: uppercase; color: var(--cad-gold-2); }
.qjr-cad-hero__main { display: block; font-family: var(--cad-display); font-size: clamp(36px, 7vw, 58px); line-height: 1.04; letter-spacing: -.01em; color: #FAF8F3; }
.qjr-cad-hero__lede { margin: 0 0 22px; font-size: 16px; line-height: 1.6; color: rgba(250, 248, 243, .88); max-inline-size: 560px; }
.qjr-cad-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; padding: 0; list-style: none; }
.qjr-cad-facts li { border: 1px solid rgba(226, 197, 102, .5); border-radius: 999px; padding: 7px 13px; font-size: 13px; font-weight: 700; color: #F3E7BE; background: rgba(15, 41, 40, .35); }
.qjr-cad-facts strong { color: #fff; }
.qjr-cad-cta-row { display: flex; flex-direction: column; gap: 12px; }
.qjr-cad-trust { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 20px 0 0; font-size: 13px; color: rgba(250, 248, 243, .78); }
.qjr-cad-trust a { color: rgba(250, 248, 243, .9); text-decoration: none; }
.qjr-cad-trust a:hover { text-decoration: underline; }
.qjr-cad-stars { color: var(--cad-gold-2); letter-spacing: 2px; }
.qjr-cad-showcase { margin: 0; border-radius: 18px; padding: 2px; background: linear-gradient(135deg, #F3E2A0, #CEA41B 30%, #8C6D10 55%, #E9D27F 80%, #CEA41B); box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.qjr-cad-showcase__inner { border-radius: 16px; background: #fff; padding: 18px 16px 14px; color: var(--cad-ink); }
.qjr-cad-showcase__top { display: flex; justify-content: space-between; gap: 12px; margin: 0; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #4D6F69; }
.qjr-cad-showcase__stage { display: grid; grid-template-columns: 92px 26px 1fr; gap: 6px; align-items: center; margin: 14px 0 12px; }
.qjr-cad-polaroid { position: relative; background: #fff; padding: 6px 6px 22px; border: 1px solid #E6E2D6; box-shadow: 0 8px 24px rgba(15, 41, 40, .16); transform: rotate(-4deg); }
.qjr-cad-polaroid img { display: block; inline-size: 100%; }
.qjr-cad-polaroid span { position: absolute; inset-inline: 0; bottom: 4px; text-align: center; font-size: 11px; font-weight: 700; color: var(--cad-muted); }
.qjr-cad-showcase__arrow { color: var(--cad-gold); justify-self: center; }
.qjr-cad-render { position: relative; background: linear-gradient(180deg, #fff, #F6F8F7); border: 1px solid var(--cad-line); border-radius: 12px; padding: 8px; }
.qjr-cad-render img { display: block; inline-size: 100%; }
.qjr-cad-dim { position: absolute; font-size: 10.5px; font-weight: 800; color: var(--cad-green); background: #fff; border: 1px solid var(--cad-line); border-radius: 4px; padding: 2px 6px; }
.qjr-cad-dim--a { top: 8px; left: 8px; }
.qjr-cad-dim--b { right: 8px; bottom: 8px; }
.qjr-cad-chiplist { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.qjr-cad-chiplist li { font-size: 12px; font-weight: 700; border: 1px solid var(--cad-line); border-radius: 999px; padding: 5px 10px; color: var(--cad-green); background: var(--cad-mist); }
.qjr-cad-showcase figcaption { padding: 10px 16px 12px; font-size: 12.5px; color: rgba(20, 32, 31, .78); background: #fff; border-radius: 0 0 16px 16px; margin-block-start: -8px; }

/* section heads */
.qjr-cad-section { padding-block: 44px; }
.qjr-cad-shead { margin-block-end: 22px; }
.qjr-cad-shead h2 { margin: 8px 0 0; font-family: var(--cad-display); font-weight: 400; font-size: clamp(28px, 4.4vw, 38px); line-height: 1.12; color: var(--cad-green); }
.qjr-cad-shead p:not(.qjr-cad-kicker) { margin: 10px 0 0; color: var(--cad-muted); line-height: 1.55; max-inline-size: 620px; }

/* builder */
.qjr-cad-builder { background: var(--cad-ivory); border-block: 1px solid #EFEBE0; padding-block: 36px 44px; scroll-margin-top: 80px; }
.qjr-cad-bgrid { display: grid; gap: 20px; align-items: start; }
.qjr-cad-panel { background: #fff; border: 1px solid var(--cad-line); border-radius: 14px; padding: 18px; min-inline-size: 0; scroll-margin-top: 90px; }
.qjr-cad-progress { margin-block-end: 14px; }
.qjr-cad-progress__count { margin: 0 0 8px; font-size: 12.5px; font-weight: 800; color: var(--cad-muted); }
.qjr-cad-progress ol { display: flex; gap: 5px; margin: 0; padding: 0; list-style: none; }
.qjr-cad-progress li { flex: 1; min-inline-size: 0; }
.qjr-cad-progress button { display: block; inline-size: 100%; padding: 0; border: 0; background: none; color: var(--cad-muted); font: 700 11.5px/1.2 var(--cad-body); text-align: start; cursor: pointer; min-block-size: 24px; }
.qjr-cad-progress button:disabled { cursor: default; }
.qjr-cad-progress__bar { display: block; block-size: 4px; border-radius: 4px; background: #E5ECEA; margin-block-end: 6px; }
.qjr-cad-progress .is-done .qjr-cad-progress__bar { background: var(--cad-green); }
.qjr-cad-progress .is-now .qjr-cad-progress__bar { background: var(--cad-gold); }
.qjr-cad-progress [aria-current] { color: var(--cad-ink); }
.qjr-cad-progress__name { display: none; }
.qjr-cad-stephead { outline: none; margin-block-end: 6px; }
.qjr-cad-stephead:focus, .qjr-cad-stephead:focus-visible { outline: none; }
.qjr-cad-q { margin: 6px 0 6px; font-family: var(--cad-display); font-weight: 400; font-size: 25px; line-height: 1.15; color: var(--cad-green); }
.qjr-cad-qhelp { margin: 0 0 14px; color: var(--cad-muted); font-size: 15px; line-height: 1.5; }

/* Gravity Forms inside the builder */
.qjr-cad.is-builder .qjr-cad-off { display: none !important; }
.qjr-cad.is-builder .qjr-preform-card,
.qjr-cad.is-builder .product_totals,
.qjr-cad.is-builder form.cart .quantity,
.qjr-cad.is-builder .gform_variation_wrapper > .clear { display: none !important; }
.qjr-cad .gform_wrapper.gravity-theme { margin: 0; }
.qjr-cad form.cart { display: block !important; margin: 0; }
.qjr-cad .gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 20px; }
.qjr-cad .gform_wrapper.gravity-theme .gfield { margin: 0; padding: 0; border: 0; min-inline-size: 0; }
.qjr-cad .gform_wrapper.gravity-theme .gfield_label,
.qjr-cad .gform_wrapper.gravity-theme legend.gfield_label { display: block; margin: 0 0 10px; padding: 0; font: 800 14px/1.35 var(--cad-body); color: var(--cad-ink); }
.qjr-cad .gform_wrapper.gravity-theme .gfield_required { margin-inline-start: 6px; font-size: 12px; font-weight: 700; color: var(--cad-muted); }
.qjr-cad .gform_wrapper.gravity-theme .gfield_description { margin-block-start: 8px; padding: 0; font-size: 13.5px; line-height: 1.5; color: var(--cad-muted); }
.qjr-cad .qjr-cad-legend-sr > .gfield_label,
.qjr-cad .qjr-cad-legend-sr > legend { position: absolute !important; clip-path: inset(50%); inline-size: 1px; block-size: 1px; overflow: hidden; white-space: nowrap; margin: 0; }
.qjr-cad .gform_wrapper.gravity-theme input[type=text],
.qjr-cad .gform_wrapper.gravity-theme input[type=number],
.qjr-cad .gform_wrapper.gravity-theme select,
.qjr-cad .gform_wrapper.gravity-theme textarea {
	inline-size: 100%; min-block-size: 48px; padding: 12px 14px; border: 1px solid #8A9997; border-radius: 10px; background: #fff;
	font: 400 max(1rem, 16px)/1.4 var(--cad-body); color: var(--cad-ink);
}
.qjr-cad .gform_wrapper.gravity-theme textarea { min-block-size: 160px; resize: vertical; }
.qjr-cad .gform_wrapper.gravity-theme .ginput_counter { margin-block-start: 6px; font-size: 12.5px; color: var(--cad-muted); }

/* choices: native inputs stay in the tab order, visually hidden; labels become tiles and chips */
.qjr-cad .gform_wrapper.gravity-theme .gfield_radio,
.qjr-cad .gform_wrapper.gravity-theme .gfield_checkbox { display: flex; flex-wrap: wrap; gap: 10px; }
.qjr-cad .gform_wrapper.gravity-theme :is(.qjr-cad-doors, .qjr-cad-pieces, .qjr-cad-shapes, .qjr-cad-metal, .qjr-cad-chips) .gchoice { position: relative; margin: 0; padding: 0; display: flex; }
.qjr-cad .gform_wrapper.gravity-theme :is(.qjr-cad-doors, .qjr-cad-pieces, .qjr-cad-shapes, .qjr-cad-metal, .qjr-cad-chips) .gchoice > input {
	position: absolute !important; clip-path: inset(50%); inline-size: 1px; block-size: 1px; overflow: hidden; white-space: nowrap; margin: 0; opacity: 0;
}
.qjr-cad .gform_wrapper.gravity-theme :is(.qjr-cad-doors, .qjr-cad-pieces, .qjr-cad-shapes, .qjr-cad-metal, .qjr-cad-chips) .gchoice > label {
	display: flex; align-items: center; gap: 8px; inline-size: 100%; min-block-size: var(--cad-target); margin: 0;
	padding: 10px 14px; border: 1px solid var(--cad-line); border-radius: 10px; background: #fff; color: var(--cad-ink);
	font: 700 14.5px/1.3 var(--cad-body); cursor: pointer; transition: border-color .15s, background-color .15s, box-shadow .15s;
	max-inline-size: none; vertical-align: top;
}
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-chips .gchoice { flex: 0 1 auto; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-chips .gchoice > label { inline-size: auto; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-tile__name { overflow-wrap: normal; word-break: normal; }
.qjr-cad .gform_wrapper.gravity-theme :is(.qjr-cad-doors, .qjr-cad-pieces, .qjr-cad-shapes, .qjr-cad-metal, .qjr-cad-chips) .gchoice > label:hover { border-color: var(--cad-sage); }
.qjr-cad .gform_wrapper.gravity-theme :is(.qjr-cad-doors, .qjr-cad-pieces, .qjr-cad-shapes, .qjr-cad-metal, .qjr-cad-chips) .gchoice > input:focus-visible + label { outline: 3px solid var(--cad-gold); outline-offset: 2px; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-chips .gchoice > input:checked + label { background: var(--cad-green); border-color: var(--cad-green); color: #fff; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-chips .gchoice > input[type=checkbox] + label::before { content: ""; flex: none; inline-size: 16px; block-size: 16px; border: 2px solid #8A9997; border-radius: 4px; background: #fff; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-chips .gchoice > input[type=checkbox]:checked + label::before { border-color: #fff; background: var(--cad-gold) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3.5 8.5l3 3 6-7' fill='none' stroke='%2314201F' stroke-width='2.4'/></svg>") center/12px no-repeat; }
.qjr-cad .gform_wrapper.gravity-theme :is(.qjr-cad-doors, .qjr-cad-pieces, .qjr-cad-shapes, .qjr-cad-metal) .gchoice > input:checked + label { border-color: var(--cad-gold); box-shadow: 0 0 0 3px rgba(206, 164, 27, .22); background: #FFFCF2; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-tile__icon { display: inline-flex; flex: none; align-items: center; justify-content: center; color: var(--cad-green); }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-tile__name { display: block; }

/* doors */
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-doors .gfield_radio { display: grid; grid-template-columns: 1fr; gap: 10px; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-doors .gchoice > label { display: grid; grid-template-columns: 44px 1fr; grid-template-areas: "icon name" "icon desc"; column-gap: 12px; row-gap: 2px; align-items: start; padding: 14px; border-radius: 12px; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-doors .qjr-cad-tile__icon { grid-area: icon; inline-size: 44px; block-size: 44px; border-radius: 12px; background: var(--cad-mist); }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-doors .gchoice > input:checked + label .qjr-cad-tile__icon { background: var(--cad-green); color: var(--cad-gold-2); }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-doors .qjr-cad-tile__name { grid-area: name; font-size: 15.5px; font-weight: 800; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-tile__desc { grid-area: desc; font-size: 13.5px; font-weight: 400; line-height: 1.45; color: var(--cad-muted); }

/* pieces + shapes */
.qjr-cad .gform_wrapper.gravity-theme :is(.qjr-cad-pieces, .qjr-cad-shapes) .gfield_radio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.qjr-cad .gform_wrapper.gravity-theme :is(.qjr-cad-pieces, .qjr-cad-shapes) .gchoice > label { flex-direction: column; justify-content: center; text-align: center; gap: 6px; padding: 12px 6px; min-block-size: 84px; font-size: 13px; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-shapes .gchoice > input:checked + label .qjr-cad-tile__icon { color: var(--cad-gold-ink); }

/* metal swatches */
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-metal .gfield_radio { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-swatch { display: inline-block; flex: none; inline-size: 26px; block-size: 26px; border-radius: 50%; border: 1px solid rgba(20, 32, 31, .18); box-shadow: inset 0 1px 2px rgba(255, 255, 255, .7); }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-swatch.is-unsure { border: 2px dashed #9AA6A4; background: #fff; }

/* notes, tips */
.qjr-cad .qjr-cad-note { grid-column: 1 / -1; display: block; margin: 0; padding: 12px 14px; border: 1px solid var(--cad-line); border-inline-start: 3px solid var(--cad-gold); border-radius: 10px; background: #F3F7F6; font-size: 14px; line-height: 1.5; }
.qjr-cad .qjr-cad-note--plain { padding: 0; border: 0; background: none; }
.qjr-cad .qjr-cad-note a { color: var(--cad-green); font-weight: 700; }
.qjr-cad .qjr-cad-tips { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.qjr-cad .qjr-cad-tips li { font-size: 12.5px; font-weight: 700; border: 1px dashed var(--cad-sage); border-radius: 999px; padding: 5px 10px; color: var(--cad-green); background: #fff; }
.qjr-cad .qjr-cad-needs { border-radius: 10px; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #8B3A3A; }

/* uploads */
.qjr-cad .gform_wrapper.gravity-theme .gform_drop_area { padding: 22px 16px; border: 2px dashed #9AB0AC; border-radius: 12px; background: #fff; text-align: center; }
.qjr-cad .gform_wrapper.gravity-theme .gform_drop_area .gform_button_select_files { min-block-size: 44px; border-radius: 8px; border: 1px solid var(--cad-green); background: #fff; color: var(--cad-green); font-weight: 800; }
.qjr-cad .gform_wrapper.gravity-theme .gform_fileupload_rules { display: block; margin-block-start: 6px; font-size: 12.5px; color: var(--cad-muted); }

/* wax + terms + covers (review) */
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-wax .gchoice { display: block; position: relative; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-wax .gchoice > label { display: block; margin: 0; padding: 14px 14px 14px 46px; border: 1px solid var(--cad-line); border-radius: 12px; background: #fff; font-weight: 800; cursor: pointer; position: relative; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-wax .gchoice > input { position: absolute; inset-block-start: 0; inset-inline-start: 0; margin: 18px 0 0 16px; inline-size: 20px; block-size: 20px; z-index: 1; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-wax .gchoice > input:checked + label { border-color: var(--cad-gold); background: #FFFCF2; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-wax .ginput_price { display: none; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-wax__desc { display: block; margin-block-start: 4px; font-size: 13.5px; font-weight: 400; color: var(--cad-muted); line-height: 1.45; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-terms .gchoice { display: flex; align-items: flex-start; gap: 10px; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-terms .gchoice > input { flex: none; margin: 3px 0 0; inline-size: 20px; block-size: 20px; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-terms .gchoice > label { font-size: 14.5px; font-weight: 600; line-height: 1.45; margin: 0; }
.qjr-cad .qjr-cad-review { grid-column: 1 / -1; }
.qjr-cad .qjr-cad-covers-card { border: 1px solid var(--cad-gold); border-radius: 12px; background: linear-gradient(180deg, #FFFDF6, #fff); padding: 16px; }
.qjr-cad .qjr-cad-covers-card__title { margin: 0 0 8px; font-weight: 800; font-size: 15px; }
.qjr-cad .qjr-cad-covers-card ul { margin: 0; padding: 0; list-style: none; }
.qjr-cad .qjr-cad-covers-card li { display: flex; gap: 8px; padding: 4px 0; font-size: 14px; line-height: 1.45; }
.qjr-cad .qjr-cad-covers-card .qjr-cad-ic, .qjr-cad .qjr-cad-ticks .qjr-cad-ic { flex: none; color: var(--cad-gold-ink); margin-block-start: 1px; }
.qjr-cad .qjr-cad-covers-card__after { margin: 10px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--cad-muted); }

/* add to cart only on the last step */
.qjr-cad.is-builder:not(.is-review) form.cart .single_add_to_cart_button { display: none !important; }
.qjr-cad form.cart .single_add_to_cart_button {
	display: flex; align-items: center; justify-content: center; inline-size: 100%; min-block-size: 52px; margin: 20px 0 0;
	border: 0; border-radius: 8px; background: var(--cad-gold) !important; color: var(--cad-ink) !important; font: 800 16px/1.2 var(--cad-body);
}
.qjr-cad form.cart .single_add_to_cart_button:hover { background: #B8911A !important; }

/* step nav */
.qjr-cad-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-start: 22px; padding-block-start: 16px; border-block-start: 1px solid var(--cad-line); }
.qjr-cad-nav__hint { flex: 1; margin: 0; font-size: 13.5px; color: #8B3A3A; font-weight: 700; text-align: center; }
.qjr-cad-nav [data-qjr-cad-next] { margin-inline-start: auto; }

/* brief card */
.qjr-cad-brief { border-radius: 14px; background: #fff; border: 1px solid var(--cad-line); overflow: hidden; box-shadow: 0 18px 40px rgba(15, 41, 40, .08); }
.qjr-cad-brief__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 16px; background: var(--cad-green); color: #F3E7BE; }
.qjr-cad-brief__head h2 { margin: 0; font: 800 12px/1.3 var(--cad-body); letter-spacing: .16em; text-transform: uppercase; color: #F3E7BE; }
.qjr-cad-brief__head span { font-size: 12px; font-weight: 800; letter-spacing: .04em; color: #fff; }
.qjr-cad-gridbg { background-image: linear-gradient(#EEF3F2 1px, transparent 1px), linear-gradient(90deg, #EEF3F2 1px, transparent 1px); background-size: 18px 18px; }
.qjr-cad-brief__body { margin: 0; padding: 10px 16px 4px; }
.qjr-cad-brief__body > div { display: grid; grid-template-columns: 84px 1fr; gap: 10px; padding: 8px 0; border-block-end: 1px dashed #D2DCDA; font-size: 13.5px; }
.qjr-cad-brief__body > div:last-child { border-block-end: 0; }
.qjr-cad-brief__body dt { color: var(--cad-muted); font-weight: 700; font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; padding-block-start: 2px; }
.qjr-cad-brief__body dd { margin: 0; font-weight: 700; }
.qjr-cad-brief__body dd.is-empty { color: #7C8B89; font-weight: 600; }
.qjr-cad-meter { padding: 12px 16px; border-block-start: 1px solid var(--cad-line); background: #FBFAF6; }
.qjr-cad-meter__lab { display: flex; justify-content: space-between; margin: 0 0 8px; font-size: 13px; font-weight: 800; }
.qjr-cad-meter__lab strong { color: var(--cad-gold-ink); }
.qjr-cad-meter__bars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.qjr-cad-meter__bars i { block-size: 6px; border-radius: 3px; background: #E2E9E7; }
.qjr-cad-meter__bars i.is-on { background: linear-gradient(90deg, #CEA41B, #E2C566); }
.qjr-cad-meter__tip { margin: 8px 0 0; font-size: 13px; color: var(--cad-muted); line-height: 1.45; }
.qjr-cad-price { padding: 14px 16px 16px; border-block-start: 1px solid var(--cad-line); }
.qjr-cad-price__line { display: flex; justify-content: space-between; gap: 10px; margin: 6px 0; font-size: 14px; }
.qjr-cad-price__sub { margin: 0 0 8px; font-size: 12.5px; color: var(--cad-muted); }
.qjr-cad-price__total { display: flex; justify-content: space-between; align-items: baseline; margin: 12px 0 8px; padding-block-start: 12px; border-block-start: 1px solid var(--cad-line); font-weight: 800; }
.qjr-cad-price__total strong { font-family: var(--cad-display); font-weight: 400; font-size: 30px; color: var(--cad-green); }
.qjr-cad-price__ship { margin: 0; font-size: 12.5px; color: var(--cad-muted); line-height: 1.45; }

/* what you receive */
.qjr-cad-receive__grid { display: grid; gap: 28px; align-items: center; }
.qjr-cad-sheet { margin: 0; border-radius: 14px; border: 1px solid var(--cad-line); background: #fff; padding: 10px; box-shadow: 0 20px 50px rgba(15, 41, 40, .10); }
.qjr-cad-sheet img { display: block; inline-size: 100%; border-radius: 8px; }
.qjr-cad-receive h2 { margin: 8px 0 14px; font-family: var(--cad-display); font-weight: 400; font-size: clamp(28px, 4.4vw, 38px); color: var(--cad-green); }
.qjr-cad-ticks { margin: 0; padding: 0; list-style: none; }
.qjr-cad-ticks li { display: flex; gap: 12px; padding: 12px 0; border-block-end: 1px solid var(--cad-line); font-size: 15px; line-height: 1.45; }
.qjr-cad-ticks strong { display: block; }
.qjr-cad-ticks span { color: var(--cad-muted); }
.qjr-cad-ticks strong { color: var(--cad-ink); }

/* journey */
.qjr-cad-how { background: #fff; }
.qjr-cad-journey { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; position: relative; }
.qjr-cad-journey li { display: grid; grid-template-columns: 52px 1fr; column-gap: 14px; align-items: start; }
.qjr-cad-journey__dot { grid-row: span 3; display: flex; align-items: center; justify-content: center; inline-size: 52px; block-size: 52px; border-radius: 50%; border: 2px solid var(--cad-green); background: #fff; font-family: var(--cad-display); font-size: 22px; color: var(--cad-green); }
.qjr-cad-journey li:last-child .qjr-cad-journey__dot { border-color: var(--cad-gold); color: var(--cad-gold-ink); }
.qjr-cad-journey h3 { margin: 4px 0 4px; font-size: 16px; font-family: var(--cad-body); }
.qjr-cad-journey p { margin: 0; font-size: 14px; color: var(--cad-muted); line-height: 1.5; }
.qjr-cad-when { justify-self: start; margin-block-start: 8px; font-size: 12px; font-weight: 800; color: var(--cad-green); background: var(--cad-mist); border-radius: 999px; padding: 4px 10px; }

/* pricing */
.qjr-cad-pricing { background: var(--cad-ivory); }
.qjr-cad-pc { display: grid; gap: 14px; }
.qjr-cad-pcc { border: 1px solid var(--cad-line); border-radius: 14px; padding: 20px; background: #fff; }
.qjr-cad-pcc h3 { margin: 0; font: 800 12px/1.3 var(--cad-body); letter-spacing: .14em; text-transform: uppercase; color: #4D6F69; }
.qjr-cad-pcc__big { margin: 6px 0 10px; font-family: var(--cad-display); font-size: 28px; color: var(--cad-green); }
.qjr-cad-pcc ul { margin: 0; padding-inline-start: 18px; font-size: 14.5px; line-height: 1.7; }
.qjr-cad-pcc--hl { border-color: var(--cad-gold); background: linear-gradient(180deg, #FFFDF6, #fff); }

/* faq */
.qjr-cad-faq__list { display: grid; gap: 10px; }
.qjr-cad-faq details { border: 1px solid var(--cad-line); border-radius: 12px; background: #fff; }
.qjr-cad-faq summary { display: flex; justify-content: space-between; gap: 16px; padding: 16px 18px; font-weight: 800; font-size: 15.5px; cursor: pointer; list-style: none; min-block-size: 48px; }
.qjr-cad-faq summary::-webkit-details-marker { display: none; }
.qjr-cad-faq summary::after { content: "+"; flex: none; color: var(--cad-gold-ink); font-size: 22px; line-height: 1; }
.qjr-cad-faq details[open] summary::after { content: "–"; }
.qjr-cad-faq details p { margin: 0; padding: 0 18px 16px; color: var(--cad-muted); line-height: 1.6; font-size: 15px; }
.qjr-cad-faq details a { color: var(--cad-green); font-weight: 700; }

/* phone sticky bar */
.qjr-cad-mbar { position: fixed; inset-inline: 0; bottom: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 10px max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
	background: #fff; border-block-start: 1px solid var(--cad-line); box-shadow: 0 -8px 24px rgba(15, 41, 40, .12); }
.qjr-cad-mbar__price { margin: 0; min-inline-size: 0; }
.qjr-cad-mbar__price strong { display: block; font-family: var(--cad-display); font-weight: 400; font-size: 24px; line-height: 1; color: var(--cad-green); }
.qjr-cad-mbar__price small { display: block; margin-block-start: 4px; font-size: 12px; font-weight: 700; color: var(--cad-muted); }
.qjr-cad-mbar .qjr-cad-btn { flex: none; }
.qjr-cad-page.qjr-cad-mbar-on { padding-block-end: 76px; }

@media (max-width: 781px) {
	.qjr-cad.is-builder .qjr-cad-nav [data-qjr-cad-next] { display: none; }
	.qjr-cad .qjr-cad-nav { justify-content: flex-start; }
	.qjr-cad-builder { padding-block-end: 96px; }
}

@media (min-width: 600px) {
	.qjr-cad-cta-row { flex-direction: row; flex-wrap: wrap; align-items: center; }
	.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-doors .gfield_radio { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-pieces .gfield_radio { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-shapes .gfield_radio { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-metal .gfield_radio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.qjr-cad-pc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.qjr-cad-faq__list { grid-template-columns: 1fr 1fr; align-items: start; }
	.qjr-cad-panel { padding: 24px; }
	.qjr-cad-progress__name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.qjr-cad-progress__count { display: none; }
}

@media (min-width: 782px) {
	.qjr-cad-mbar { display: none !important; }
	.qjr-cad-wrap { padding-inline: 32px; }
	.qjr-cad-hero__grid { grid-template-columns: 1.05fr .95fr; gap: 48px; padding-block: 56px 64px; }
	.qjr-cad-hero__lede { font-size: 18px; }
	.qjr-cad-showcase__stage { grid-template-columns: 140px 36px 1fr; gap: 8px; }
	.qjr-cad-showcase__inner { padding: 24px 24px 18px; }
	.qjr-cad-section { padding-block: 64px; }
	.qjr-cad-builder { padding-block: 52px 60px; }
	.qjr-cad-receive__grid { grid-template-columns: 1.1fr .9fr; gap: 44px; }
	.qjr-cad-journey { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
	.qjr-cad-journey::before { content: ""; position: absolute; inset-inline: 8%; top: 26px; block-size: 2px; background: linear-gradient(90deg, var(--cad-green), var(--cad-gold)); }
	.qjr-cad-journey li { grid-template-columns: 1fr; justify-items: center; text-align: center; padding-inline: 12px; position: relative; }
	.qjr-cad-journey__dot { grid-row: auto; margin-block-end: 12px; }
	.qjr-cad-when { justify-self: center; }
	.qjr-cad-panel { padding: 28px; }
	.qjr-cad-q { font-size: 28px; }
}

@media (min-width: 1000px) {
	.qjr-cad-bgrid { grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; }
	.qjr-cad-brief { position: sticky; top: 96px; }
	.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-doors .gfield_radio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-shapes .gfield_radio { grid-template-columns: repeat(10, minmax(0, 1fr)); }
	.qjr-cad :is(.qjr-cad-shapes) .gchoice > label { font-size: 12px; padding: 10px 2px; }
	/* Laptop heights (1366x768, 1280x720): the way forward stays in view. */
	.qjr-cad.is-builder .qjr-cad-nav { position: sticky; bottom: 0; z-index: 3; background: #fff; margin-inline: -28px; padding: 14px 28px 16px; border-radius: 0 0 14px 14px; }
}

@media (min-width: 1000px) and (max-height: 860px) {
	.qjr-cad-brief { top: 84px; }
	.qjr-cad-brief__body > div { padding: 6px 0; }
}

@media (prefers-reduced-motion: reduce) {
	.qjr-cad * { transition: none !important; scroll-behavior: auto !important; }
}

/* field 15: the description already lists the types */
.qjr-cad .gform_wrapper.gravity-theme .qjr-cad-f .gform_fileupload_rules { display: none; }

/* plain radios (shipping insurance Yes/No) stay on one line; GF's half-width column shrank each choice until labels wrapped letter by letter (NS-2416 review) */
.qjr-cad .gform_wrapper.gravity-theme .qjr-ins .gfield_radio { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-ins .gchoice { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; margin: 0; }
.qjr-cad .gform_wrapper.gravity-theme .qjr-ins .gchoice > label { max-inline-size: none; inline-size: auto; white-space: nowrap; margin: 0; }
