.bulsdc-app,
.bulsdc-app * { box-sizing: border-box; }

.bulsdc-app {
	--bulsdc-green: #10231d;
	--bulsdc-orange: #ff8a00;
	--bulsdc-cream: #fff8ef;
	--bulsdc-pale: #f2f7f6;
	--bulsdc-white: #ffffff;
	--bulsdc-text: #183129;
	--bulsdc-muted: #5f716b;
	--bulsdc-border: #e5ddd3;
	width: 100%;
	margin: 24px auto;
	color: var(--bulsdc-text);
	font-family: inherit;
}

.bulsdc-shell {
	position: relative;
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(24px, 5vw, 52px);
	overflow: hidden;
	border-radius: 28px;
	background: radial-gradient(circle at 92% 2%, rgba(255, 138, 0, .18), transparent 29%), var(--bulsdc-green);
	box-shadow: 0 22px 60px rgba(16, 35, 29, .12);
}

.bulsdc-heading { max-width: 820px; margin-bottom: 30px; }
.bulsdc-heading h2,
.bulsdc-results h3,
.bulsdc-selection h3 {
	margin: 0 0 12px;
	color: var(--bulsdc-white) !important;
	font-family: inherit;
	font-size: clamp(31px, 4.5vw, 49px);
	font-weight: 840;
	line-height: 1.06;
	letter-spacing: -.035em;
}
.bulsdc-heading p,
.bulsdc-results-summary p { margin: 0; color: #dce7e2 !important; font-size: 17px; line-height: 1.65; }
.bulsdc-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 13px; color: var(--bulsdc-orange) !important; font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.bulsdc-eyebrow::before { width: 27px; height: 3px; border-radius: 999px; background: currentColor; content: ""; }

.bulsdc-search-form { padding: clamp(20px, 4vw, 35px); border: 1px solid rgba(255,255,255,.13); border-radius: 22px; background: rgba(255,255,255,.08); backdrop-filter: blur(4px); }
.bulsdc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 17px; }
.bulsdc-field { min-width: 0; }
.bulsdc-field--wide,
.bulsdc-field--style { grid-column: 1 / -1; }
.bulsdc-field label,
.bulsdc-field legend,
.bulsdc-checkout-form > label > span:first-child { display: block; margin-bottom: 8px; color: var(--bulsdc-white); font-size: 14px; font-weight: 800; }
.bulsdc-field label span { color: #bcd0c7; font-size: 12px; font-weight: 600; }
.bulsdc-field input[type="text"],
.bulsdc-field select,
.bulsdc-checkout-form input[type="email"] { width: 100%; min-height: 53px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 13px; background: var(--bulsdc-white); color: var(--bulsdc-text); font: inherit; font-size: 16px; }
.bulsdc-field input:focus,
.bulsdc-field select:focus,
.bulsdc-checkout-form input:focus { border-color: var(--bulsdc-orange); outline: 3px solid rgba(255,138,0,.2); }
.bulsdc-field small { display: block; margin-top: 7px; color: #bcd0c7; font-size: 12px; line-height: 1.45; }
.bulsdc-field--style { margin: 2px 0 0; padding: 0; border: 0; }
.bulsdc-style-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.bulsdc-style-options label { position: relative; display: flex; min-height: 96px; gap: 10px; align-items: flex-start; margin: 0; padding: 15px; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; background: rgba(255,255,255,.07); cursor: pointer; }
.bulsdc-style-options label:has(input:checked) { border-color: var(--bulsdc-orange); background: rgba(255,138,0,.12); }
.bulsdc-style-options input { flex: 0 0 auto; margin-top: 4px; accent-color: var(--bulsdc-orange); }
.bulsdc-style-options span { display: block; }
.bulsdc-style-options strong { display: block; margin-bottom: 4px; color: var(--bulsdc-white); font-size: 14px; }
.bulsdc-style-options small { margin: 0; color: #c7d8d1; }
.bulsdc-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; }
.bulsdc-form-footer p { max-width: 510px; margin: 0; color: #bcd0c7 !important; font-size: 12px; line-height: 1.5; }

.bulsdc-primary-button,
.bulsdc-choose-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 9px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--bulsdc-orange); color: #111; font: inherit; font-size: 15px; font-weight: 850; line-height: 1; cursor: pointer; transition: transform .18s ease, background-color .18s ease; }
.bulsdc-primary-button:hover,
.bulsdc-primary-button:focus,
.bulsdc-choose-button:hover,
.bulsdc-choose-button:focus { background: #ed7d00; transform: translateY(-2px); }
.bulsdc-primary-button:disabled,
.bulsdc-choose-button:disabled { cursor: wait; opacity: .7; transform: none; }
.bulsdc-primary-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }

.bulsdc-status,
.bulsdc-checkout-status { min-height: 0; margin-top: 15px; color: #dce7e2; font-size: 14px; font-weight: 700; line-height: 1.5; }
.bulsdc-status.is-error,
.bulsdc-checkout-status.is-error { padding: 13px 15px; border-radius: 12px; background: #fff0ee; color: #9b1c1c; }
.bulsdc-status.is-loading,
.bulsdc-checkout-status.is-loading { color: #ffd49f; }
.bulsdc-checkout-status.is-success { padding: 13px 15px; border-radius: 12px; background: #e9f8ef; color: #176b3a; }

.bulsdc-results { margin-top: 33px; scroll-margin-top: 100px; }
.bulsdc-results-summary { display: grid; grid-template-columns: minmax(0,1fr); margin-bottom: 22px; }
.bulsdc-results-summary h3 { margin-bottom: 9px; font-size: clamp(27px,4vw,40px); }
.bulsdc-result-group { margin-top: 18px; padding: clamp(19px,4vw,30px); border-radius: 22px; background: var(--bulsdc-pale); }
.bulsdc-group-header { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.bulsdc-group-header h3 { margin-bottom: 5px; color: var(--bulsdc-text) !important; font-size: clamp(23px,3vw,31px); }
.bulsdc-group-header p { max-width: 760px; margin: 0; color: var(--bulsdc-muted) !important; font-size: 14px; line-height: 1.55; }
.bulsdc-domain-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.bulsdc-domain-card { display: flex; min-width: 0; min-height: 100%; flex-direction: column; padding: 17px; border: 1px solid var(--bulsdc-border); border-radius: 16px; background: var(--bulsdc-white); box-shadow: 0 8px 22px rgba(16,35,29,.04); }
.bulsdc-domain-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.bulsdc-domain-name { overflow-wrap: anywhere; color: var(--bulsdc-text); font-size: 18px; font-weight: 850; line-height: 1.2; }
.bulsdc-domain-score { flex: 0 0 auto; padding: 5px 7px; border-radius: 999px; background: var(--bulsdc-cream); color: #8d4e00; font-size: 10px; font-weight: 850; white-space: nowrap; }
.bulsdc-domain-reason { margin: 13px 0 16px; color: var(--bulsdc-muted) !important; font-size: 13px; line-height: 1.5; }
.bulsdc-domain-meta { display: grid; gap: 6px; margin-bottom: 16px; }
.bulsdc-domain-meta span { position: relative; padding-left: 20px; color: var(--bulsdc-muted); font-size: 11px; line-height: 1.4; }
.bulsdc-domain-meta span::before { position: absolute; top: 0; left: 0; display: inline-flex; width: 15px; height: 15px; align-items: center; justify-content: center; border-radius: 50%; background: var(--bulsdc-orange); color: #111; content: "✓"; font-size: 8px; font-weight: 900; }
.bulsdc-choose-button { width: 100%; min-height: 44px; margin-top: auto; padding: 0 13px; font-size: 12px; }

.bulsdc-selection[hidden] { display: none !important; }
.bulsdc-selection { position: fixed; z-index: 999999; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(5,15,12,.84); backdrop-filter: blur(7px); }
.bulsdc-selection-card { position: relative; width: min(590px,100%); max-height: 94vh; padding: clamp(24px,5vw,42px); overflow-y: auto; border-radius: 23px; background: var(--bulsdc-white); box-shadow: 0 25px 80px rgba(0,0,0,.35); }
.bulsdc-selection-card h3 { margin-bottom: 13px; color: var(--bulsdc-text) !important; font-size: clamp(30px,5vw,43px); overflow-wrap: anywhere; }
.bulsdc-selection-card > p { color: var(--bulsdc-muted) !important; font-size: 15px; line-height: 1.62; }
.bulsdc-selection-close { position: absolute; top: 13px; right: 13px; display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid var(--bulsdc-border); border-radius: 50%; background: var(--bulsdc-white); color: #111; font-size: 25px; line-height: 1; cursor: pointer; }
.bulsdc-checkout-form { display: grid; gap: 17px; margin-top: 24px; }
.bulsdc-checkout-form > label > span:first-child { color: var(--bulsdc-text); }
.bulsdc-checkbox { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 10px; align-items: start; }
.bulsdc-checkbox input { margin-top: 3px; accent-color: var(--bulsdc-orange); }
.bulsdc-checkbox span { color: var(--bulsdc-muted); font-size: 12px; line-height: 1.5; }

@media (max-width:1100px) { .bulsdc-domain-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) {
	.bulsdc-shell { border-radius: 21px; }
	.bulsdc-form-grid,
	.bulsdc-style-options { grid-template-columns: minmax(0,1fr); }
	.bulsdc-field--wide,
	.bulsdc-field--style { grid-column: auto; }
	.bulsdc-form-footer { align-items: stretch; flex-direction: column; }
	.bulsdc-primary-button { width: 100%; }
	.bulsdc-domain-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
	.bulsdc-shell { padding: 24px 16px; }
	.bulsdc-search-form,
	.bulsdc-result-group { padding: 17px; }
	.bulsdc-domain-grid { grid-template-columns: minmax(0,1fr); }
	.bulsdc-selection { padding: 0; }
	.bulsdc-selection-card { width: 100%; height: 100%; max-height: none; border-radius: 0; }
}
