.sc-case-builder [hidden] {
    display: none !important;
}

.sc-builder-page .sc-finder-hero__grid {
    align-items: start;
}

.sc-builder-hero__form,
.sc-case-builder--page {
    min-width: 0;
    width: 100%;
}

.sc-case-builder--page {
    border-radius: 1rem;
    box-shadow: 0 22px 60px rgba(8, 31, 42, .28);
}

.sc-case-builder--page .sc-case-builder__intro {
    padding: 1.15rem 1.35rem 1rem;
}

.sc-case-builder--page .sc-case-builder__intro h2 {
    font-size: 1.4rem;
    line-height: 1.2;
    margin: .25rem 0 .35rem;
}

.sc-case-builder--page .sc-case-builder__intro > p:last-child {
    color: var(--sc-slate-700);
    font-size: .8rem;
    margin: 0;
}

.sc-case-builder--page .sc-case-builder__form {
    padding: 1.15rem 1.35rem 1.35rem;
}

.sc-case-builder--page fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

.sc-case-builder--page legend {
    font-size: 1.08rem;
    line-height: 1.3;
    margin: 0 0 .25rem;
}

.sc-case-builder--page .sc-builder-help {
    font-size: .78rem;
    line-height: 1.5;
    margin: 0 0 .85rem;
}

.sc-builder-inline-link {
    color: var(--sc-blue-700);
    display: inline-block;
    font-weight: 800;
    margin-left: .2rem;
}

.sc-case-builder--page .sc-builder-grid,
.sc-case-builder--page .sc-builder-dimensions {
    gap: .75rem;
}

.sc-field--required > span:first-child {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.sc-field--required > span:first-child small {
    color: var(--sc-danger);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.sc-field--quantity,
.sc-field--weight {
    max-width: 12rem;
}

.sc-case-builder--page textarea {
    min-height: 5.75rem;
}

.sc-builder-prefill-note {
    background: var(--sc-green-100);
    border-left: 4px solid var(--sc-green-700);
    border-radius: .45rem;
    color: var(--sc-slate-700);
    font-size: .78rem;
    line-height: 1.45;
    margin-bottom: 1rem;
    padding: .7rem .8rem;
}

.sc-builder-prefill-note strong,
.sc-builder-prefill-note span {
    display: block;
}

.sc-builder-prefill-note strong {
    color: var(--sc-blue-950);
}

.sc-builder-progress {
    border-bottom: 1px solid var(--sc-slate-200);
    margin: 0 0 1rem;
    padding: 0 0 .9rem;
}

.sc-builder-progress ol {
    display: grid;
    gap: .45rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.sc-builder-progress li {
    align-items: center;
    color: var(--sc-slate-500);
    display: flex;
    font-size: .68rem;
    font-weight: 800;
    gap: .35rem;
    min-width: 0;
}

.sc-builder-progress li > span {
    align-items: center;
    background: var(--sc-slate-100);
    border: 1px solid var(--sc-slate-300);
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 1.55rem;
    height: 1.55rem;
    justify-content: center;
}

.sc-builder-progress li small {
    font-size: inherit;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sc-builder-progress li.is-current {
    color: var(--sc-blue-950);
}

.sc-builder-progress li.is-current > span {
    background: var(--sc-blue-900);
    border-color: var(--sc-blue-900);
    color: var(--sc-white);
}

.sc-builder-progress li.is-complete > span {
    background: var(--sc-green-800);
    border-color: var(--sc-green-800);
    color: var(--sc-white);
}

.sc-builder-subheading {
    color: var(--sc-blue-950);
    font-size: .82rem;
    font-weight: 900;
    margin: .95rem 0 .5rem;
}

.sc-builder-constraints {
    background: var(--sc-blue-50);
    border: 1px solid var(--sc-slate-200);
    border-radius: .65rem;
    margin-top: 1rem;
    padding: .7rem .8rem;
}

.sc-builder-constraints summary {
    color: var(--sc-blue-800);
    cursor: pointer;
    font-size: .8rem;
    font-weight: 900;
}

.sc-builder-constraints[open] summary {
    margin-bottom: .75rem;
}

.sc-builder-constraints .sc-builder-help {
    margin-bottom: .6rem;
}

.sc-builder-feature-group {
    margin-top: 1rem;
}

.sc-builder-feature-group > p {
    font-size: .78rem;
    font-weight: 900;
    margin: 0 0 .5rem;
}

.sc-builder-feature-group > p small {
    color: var(--sc-slate-500);
    font-size: .7rem;
    font-weight: 700;
    margin-left: .35rem;
}

.sc-builder-features {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sc-builder-features .sc-check {
    align-items: start;
    min-height: 2.65rem;
}

.sc-builder-notes {
    display: block;
    margin-top: 1rem;
}

.sc-builder-consent {
    align-items: start;
    margin-top: 1rem;
}

.sc-builder-step-actions {
    align-items: center;
    border-top: 1px solid var(--sc-slate-200);
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    justify-content: flex-end;
    margin-top: 1.15rem;
    padding-top: 1rem;
}

.sc-builder-step-actions .sc-button--quiet {
    margin-right: auto;
}

.sc-builder-step-actions--submit > a {
    color: var(--sc-blue-700);
    font-size: .78rem;
    font-weight: 800;
}

.sc-builder-next {
    margin-top: 0;
}

.sc-builder-page .sc-finder-page__body {
    padding-top: clamp(2.5rem, 5vw, 4rem);
}

@media (max-width: 700px) {
    .sc-builder-features {
        grid-template-columns: 1fr;
    }

    .sc-field--quantity,
    .sc-field--weight {
        max-width: none;
    }

    .sc-builder-progress li {
        justify-content: center;
    }

    .sc-builder-progress li small {
        display: none;
    }
}

@media (max-width: 480px) {
    .sc-case-builder--page .sc-case-builder__intro,
    .sc-case-builder--page .sc-case-builder__form {
        padding-inline: 1rem;
    }

    .sc-builder-step-actions .sc-button {
        flex: 1 1 100%;
        margin: 0;
        width: 100%;
    }

    .sc-builder-step-actions--submit > a {
        text-align: center;
        width: 100%;
    }
}

/* 1.2: readable mobile controls and clear review / submission state. */
.sc-case-builder { --sc-blue-700: #175c8c; --sc-slate-700: #344454; }
.sc-case-builder input, .sc-case-builder select, .sc-case-builder textarea { font-size: 16px; }
.sc-case-builder--page .sc-builder-help { font-size: .9rem; }
.sc-case-builder .sc-button, .sc-case-builder select { min-height: 44px; }
.sc-case-builder :focus-visible { outline: 3px solid #2276ab; outline-offset: 3px; }
.sc-case-builder [data-builder-feedback] { background: #eef6fb; color: #173349; padding: 1rem; margin: 1rem; border-left: 4px solid #2276ab; }
.sc-case-builder [data-builder-summary] { margin: .8rem 0; }
.sc-case-builder [data-builder-summary] dt { font-weight: 700; margin-top: .6rem; }
.sc-case-builder [data-builder-summary] dd { margin: .15rem 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.sc-case-builder [data-builder-new] { margin: 1rem; }
.sc-case-builder .sc-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 700px) {
 .sc-builder-progress li { flex-direction: column; font-size: .68rem; }
 .sc-builder-progress li small { display: block; white-space: normal; text-align: center; }
 .sc-case-builder .sc-builder-dimensions { grid-template-columns: 1fr; }
}
/* Scoped base controls keep the embedded builder readable across finder themes. */
.sc-case-builder { background:#fff; color:#1d3345; border:1px solid #d8e1e8; border-radius:16px; overflow:hidden; }
.sc-case-builder__intro, .sc-case-builder__form { padding:20px; }
.sc-case-builder__intro { background:#f1f6fa; }
.sc-case-builder .sc-field { display:block; min-width:0; }
.sc-case-builder .sc-field > span:first-child { display:block; font-weight:600; margin-bottom:6px; }
.sc-case-builder input:not([type="checkbox"]):not([type="hidden"]), .sc-case-builder select, .sc-case-builder textarea { width:100%; border:1px solid #9daebc; border-radius:6px; padding:10px; color:#173349; background:#fff; }
.sc-case-builder .sc-builder-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.sc-case-builder .sc-field--wide { grid-column:1/-1; }
.sc-case-builder .sc-builder-dimensions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.sc-case-builder .sc-field__input { display:flex; align-items:center; gap:6px; }
.sc-case-builder .sc-check { display:flex; align-items:flex-start; gap:10px; }
.sc-case-builder .sc-check input { margin-top:4px; width:18px; height:18px; flex-shrink:0; }
.sc-case-builder .sc-button { display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; border-radius:7px; font-weight:700; cursor:pointer; }
.sc-case-builder .sc-button--accent { background:#175c8c; color:white; }
.sc-case-builder .sc-button--quiet { color:#173349; background:#e9eff4; }
.sc-case-builder button:disabled { opacity:.65; cursor:wait; }
@media(max-width:600px) { .sc-case-builder .sc-builder-grid, .sc-case-builder .sc-builder-dimensions { grid-template-columns:1fr; } }

.sc-builder-progress li small { overflow-wrap:anywhere; }
.sc-case-builder textarea { font-family:inherit; }
