/*
 * B1 quiet right-column candidate.
 * This is one complete presentation layer over the accepted controls. It does
 * not import the earlier compact/glance/hierarchy/proportions patches.
 */
.b1-calm{
 --calm-ink:#1c241f;
 --calm-label:#3f4943;
 --calm-muted:#747d77;
 --calm-line:#dde2dd;
 --calm-line-strong:#c8d0ca;
 --calm-soft:#f5f7f4;
 --calm-selected:#edf2ee;
 --calm-accent:#345c48;
 --calm-primary:#17201b;
 color:var(--calm-ink);
}
.b1-preview .b1-calm :is(#b1-estimate-form,#minimal-form){margin:0;padding:0;border:0}
.b1-calm :is(#estimate-controls,.minimal-section){margin:0;padding:0;border:0;min-width:0}
.b1-calm #estimate-controls>legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.b1-calm .b1-calm-heading{margin:0 0 18px;color:var(--calm-ink);font-size:21px;font-weight:680;line-height:1.35;letter-spacing:-.018em}

/* Material and help/self choices are compact segmented controls. */
.b1-calm :is(.estimate-materials,[data-help-first]){
 display:inline-flex;align-items:center;gap:3px;width:auto;max-width:100%;
 margin:0 0 24px;padding:3px;border:1px solid var(--calm-line);
 border-radius:12px;background:var(--calm-soft);
}
.b1-calm :is(.estimate-materials,[data-help-first]) .b1-button{
 flex:0 0 auto;width:auto;min-width:94px;min-height:40px;margin:0;padding:8px 17px;
 border:0;border-radius:9px;background:transparent;color:#59635d;box-shadow:none;
 font:540 14px/1.35 var(--b1-font,system-ui);text-decoration:none;
 transition:background-color 140ms ease,color 140ms ease,box-shadow 140ms ease,transform 100ms ease;
}
.b1-calm :is(.estimate-materials,[data-help-first]) .b1-button[aria-pressed=true]{
 background:#fff;color:var(--calm-ink);font-weight:670;
 box-shadow:0 1px 2px rgb(24 38 29 / .09),0 0 0 1px rgb(33 56 43 / .04);
}
.b1-calm [data-help-first] [data-mode=self]{font-size:13px}
.b1-calm :is(.estimate-materials,[data-help-first]) .b1-button::after{content:none}

/* Primary choices remain visible, but the visible surfaces stay small. */
.b1-calm .b1-calm-garment-row{
 display:grid;grid-template-columns:minmax(0,292px) 92px;align-items:end;gap:18px;
 width:fit-content;max-width:100%;
}
.b1-calm .b1-color-entry{min-width:0;margin:0}
.b1-calm :is(.b1-picker-label,.estimate-quantity>label,#minimal-help>label,.b1-calm-contact>label){
 display:block;margin:0 0 7px;color:var(--calm-label);font-size:13px;font-weight:620;line-height:1.45;
}
.b1-calm :is(label small,.minimal-upload-row small){color:var(--calm-muted);font-size:11px;font-weight:450}
.b1-calm #b1-color-trigger{
 display:flex;align-items:center;gap:10px;width:100%;height:58px;min-height:58px;margin:0;padding:7px 11px;
 border:1px solid var(--calm-line-strong);border-radius:11px;background:#fff;color:var(--calm-ink);
 box-shadow:none;text-align:left;cursor:pointer;
 transition:border-color 140ms ease,background-color 140ms ease,transform 100ms ease;
}
.b1-calm #b1-color-trigger[aria-expanded=true]{border-color:#91a095;background:#fbfcfb;box-shadow:none;outline:0}
.b1-calm #b1-chosen-shirt{width:35px;height:40px;flex:0 0 35px;object-fit:contain}
.b1-calm .b1-chosen-copy{display:grid;gap:1px;min-width:0}
.b1-calm #b1-chosen-name{color:var(--calm-ink);font-size:14px;font-weight:660;line-height:1.35}
.b1-calm #b1-color-count{color:var(--calm-muted);font-size:11px;line-height:1.3}
.b1-calm .b1-change-label{
 display:flex;align-items:center;gap:5px;margin-left:auto;padding:0;background:transparent;color:#5c6a61;
 font-size:12px;font-weight:560;white-space:nowrap;
}
.b1-calm .b1-change-label svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.55;transition:transform 160ms ease}
.b1-calm [aria-expanded=true] .b1-change-label svg{transform:rotate(180deg)}
.b1-calm .estimate-quantity{display:block;min-width:0;margin:0;padding:0;border:0}
.b1-calm .estimate-quantity>label span{display:none}
.b1-calm .estimate-quantity-control{position:relative;display:block;width:100%;margin:0}
.b1-calm #estimated-quantity{
 box-sizing:border-box;width:100%;height:58px;min-height:58px;margin:0;padding:9px 28px 9px 12px;
 border:1px solid var(--calm-line-strong);border-radius:11px;background:#fff;color:var(--calm-ink);box-shadow:none;
 font:560 17px/1.35 var(--b1-font,system-ui);font-variant-numeric:tabular-nums;
}
.b1-calm .estimate-quantity-control>span{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--calm-muted);font-size:12px;pointer-events:none}
.b1-calm #quantity-hint{margin:7px 0 0;color:var(--calm-muted);font-size:12px;line-height:1.55}
.b1-calm #quantity-error{margin:4px 0 0;font-size:12px}

/* Explanations are text disclosures on hairlines, not another set of cards. */
.b1-calm .b1-calm-disclosure,.b1-calm .estimate-scope{margin:8px 0 0;padding:0;border:0;border-radius:0;background:transparent;font-size:12px}
.b1-calm :is(.b1-calm-disclosure,.estimate-scope)>summary{
 display:inline-flex;align-items:center;gap:6px;width:auto;min-height:34px;margin:0;padding:7px 0;
 border:0;border-radius:0;background:transparent;color:#637068;box-shadow:none;
 font:520 12px/1.5 var(--b1-font,system-ui);list-style:none;cursor:pointer;
}
.b1-calm :is(.b1-calm-disclosure,.estimate-scope)>summary::-webkit-details-marker{display:none}
.b1-calm :is(.b1-calm-disclosure,.estimate-scope)>summary::after{content:'⌄';display:inline-block;color:#718077;font:500 14px/1 sans-serif;transform:translateY(-1px);transition:transform 150ms ease}
.b1-calm :is(.b1-calm-disclosure,.estimate-scope)[open]>summary::after{transform:rotate(180deg) translateY(1px)}
.b1-calm :is(.b1-calm-disclosure,.estimate-scope)>:not(summary){max-width:470px;color:var(--calm-muted);font-size:12px;line-height:1.65}
.b1-calm .b1-calm-disclosure p{margin:3px 0 8px}

/* The second task is separated by whitespace and one hairline. */
.b1-calm .b1-calm-design{margin:28px 0 0;padding:27px 0 0;border-top:1px solid var(--calm-line)}
.b1-calm #minimal-help{max-width:470px}
.b1-calm #minimal-text{
 display:block;box-sizing:border-box;width:min(100%,460px);height:48px;min-height:48px;max-height:150px;margin:0;padding:11px 13px;
 border:1px solid var(--calm-line-strong);border-radius:10px;background:#fff;color:var(--calm-ink);box-shadow:none;
 font:500 16px/1.45 var(--b1-font,system-ui);resize:vertical;overflow:auto;
}
.b1-calm :is(input,textarea)::placeholder{color:#969d98;opacity:1;font-weight:420}
.b1-calm .minimal-upload-row{display:flex;align-items:center;justify-content:flex-start;gap:13px;margin:11px 0 0}
.b1-calm .minimal-upload-row>span{color:var(--calm-label);font-size:12px;font-weight:560}
.b1-calm #minimal-upload,.b1-calm #b1-open-design{
 width:auto;min-height:38px;margin:0;padding:7px 11px;border:1px solid var(--calm-line-strong);border-radius:9px;
 background:#fff;color:#46534b;box-shadow:none;font:570 12px/1.4 var(--b1-font,system-ui);
}
.b1-calm #minimal-help>.b1-hint{margin:8px 0 0;color:var(--calm-muted);font-size:12px;line-height:1.55}
.b1-calm .minimal-file-list{margin:8px 0 0;color:var(--calm-label);font-size:12px;overflow-wrap:anywhere}
.b1-calm .minimal-file-list:empty{display:none}
.b1-calm .minimal-self{max-width:470px;margin:0;padding:13px 14px;border:1px solid var(--calm-line);border-radius:10px;background:var(--calm-soft)}
.b1-calm .minimal-self p{margin:0 0 9px;color:var(--calm-muted);font-size:12px;line-height:1.6}

/* Price and contact use typography and spacing; the box is removed. */
.b1-calm .minimal-send{box-sizing:border-box;max-width:480px;margin:28px 0 0;padding:26px 0 0;border:0;border-top:1px solid var(--calm-line);border-radius:0;background:transparent;box-shadow:none}
.b1-calm .minimal-send>.b1-eyebrow,.b1-calm #minimal-summary-title,.b1-calm #minimal-selection,.b1-calm #minimal-content-summary,.b1-calm .minimal-amount,.b1-calm #estimate-selection{display:none}
.b1-calm .estimate-price{margin:0;padding:0;border:0;background:transparent}
.b1-calm .estimate-unit{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 9px;margin:0}
.b1-calm .estimate-unit>span{color:var(--calm-label);font-size:13px}
.b1-calm #estimate-unit{color:var(--calm-ink);font-size:28px;font-weight:710;line-height:1.2;letter-spacing:-.025em}
.b1-calm .estimate-unit>small,.b1-calm #estimate-tax-label{color:var(--calm-muted);font-size:11px}
.b1-calm .estimate-total{display:flex;align-items:baseline;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;min-height:42px;margin:11px 0 0;padding:11px 0;border:0;border-top:1px solid var(--calm-line);border-radius:0;background:transparent}
.b1-calm #estimate-equation{color:#536159;font-size:12px;line-height:1.45}
.b1-calm #estimate-total{color:var(--calm-ink);font-size:24px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}
.b1-calm #estimate-tax-label{width:100%;text-align:right}
.b1-calm .estimate-price[data-empty=true] #estimate-total{display:none}
.b1-calm .b1-calm-contact{margin:23px 0 0;padding:22px 0 0;border:0;border-top:1px solid var(--calm-line)}
.b1-calm .b1-calm-contact .b1-calm-heading{margin-bottom:12px;font-size:17px;font-weight:650}
.b1-calm #minimal-name{
 box-sizing:border-box;width:min(100%,320px);height:46px;min-height:46px;margin:0;padding:10px 12px;
 border:1px solid var(--calm-line-strong);border-radius:10px;background:#fff;color:var(--calm-ink);box-shadow:none;
 font:500 16px/1.4 var(--b1-font,system-ui);
}
.b1-calm #minimal-name-error{margin:5px 0 0;font-size:12px}
.b1-calm #minimal-name-error:empty,.b1-calm #quantity-error:empty,.b1-calm #estimate-status:empty{display:none}
.b1-calm .b1-calm-channel{margin-top:6px}
.b1-calm .b1-calm-channel .minimal-contact-label{margin:7px 0;color:var(--calm-label);font-size:12px}
.b1-calm .b1-calm-channel [aria-labelledby=minimal-channel-label]{display:flex;gap:7px;margin:0 0 6px}
.b1-calm .b1-calm-channel [data-channel]{min-width:72px;min-height:36px;padding:6px 10px;border:1px solid var(--calm-line);border-radius:9px;background:#fff;color:#566259;box-shadow:none;font-size:12px}
.b1-calm .b1-calm-channel [data-channel][aria-pressed=true]{border-color:#aebbb2;color:var(--calm-accent);font-weight:650}
.b1-calm .minimal-send>.b1-hint{margin:8px 0 14px;color:var(--calm-muted);font-size:12px;line-height:1.6}

/* LINE is the only filled primary action in the right column. */
.b1-calm #minimal-submit{
 display:flex;align-items:center;justify-content:center;gap:10px;width:min(100%,460px);min-height:50px;margin:18px 0 0;padding:12px 18px;
 border:1px solid var(--calm-primary);border-radius:12px;background:var(--calm-primary);color:#fff;box-shadow:none;
 font:680 16px/1.35 var(--b1-font,system-ui);letter-spacing:.005em;
 transition:background-color 140ms ease,transform 100ms ease;
}
.b1-calm .minimal-confirm{margin:10px 0 0;color:#68736c;font-size:12px;line-height:1.55}
.b1-calm .minimal-demo-note{margin:10px 0 0;color:#858276;font-size:11px;line-height:1.55}
.b1-calm #minimal-result{margin:13px 0 0;padding:12px 0 0;border:0;border-top:1px solid var(--calm-line);border-radius:0;background:transparent;color:var(--calm-label);font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.b1-calm #minimal-result[hidden]{display:none}
.b1-calm #minimal-result .b1-button{width:auto;min-height:38px;margin-top:8px;padding:7px 11px;border:1px solid var(--calm-line-strong);border-radius:9px;background:#fff;color:var(--calm-label);font-size:12px}
.b1-calm #estimate-status{margin:7px 0 0;color:var(--calm-muted);font-size:12px}
.b1-calm #estimate-retry{width:auto;min-height:38px;padding:7px 11px;border:1px solid var(--calm-line-strong);border-radius:9px;background:#fff;color:var(--calm-label);font-size:12px}

/* Clear feedback without permanent heavy borders. */
.b1-calm :is(button,summary,input,textarea):focus-visible{outline:2px solid #6d8c7b;outline-offset:2px}
.b1-calm :is(#minimal-text,#minimal-name,#estimated-quantity):focus-visible{border-color:#829789}
.b1-calm :is(button:disabled,input:disabled,textarea:disabled){cursor:not-allowed;opacity:.55}
@media(hover:hover) and (pointer:fine){
 .b1-calm :is(.estimate-materials,[data-help-first]) .b1-button:not(:disabled):hover{color:var(--calm-ink);background:rgb(255 255 255 / .72)}
 .b1-calm #b1-color-trigger:hover{border-color:#9eaba2;background:#fbfcfb}
 .b1-calm :is(.b1-calm-disclosure,.estimate-scope)>summary:hover{color:var(--calm-accent)}
 .b1-calm :is(#minimal-upload,#b1-open-design,#estimate-retry):hover{border-color:#a3afa7;background:#fafbfa;color:var(--calm-ink)}
 .b1-calm #minimal-submit:hover{background:#26312b}
}
.b1-calm :is(.estimate-materials,[data-help-first]) .b1-button:active,.b1-calm #b1-color-trigger:active,.b1-calm #minimal-submit:active{transform:scale(.985)}

@media(max-width:800px){
 .b1-calm .b1-calm-heading{margin-bottom:16px;font-size:19px}
 .b1-calm :is(.estimate-materials,[data-help-first]){margin-bottom:21px}
 .b1-calm :is(.estimate-materials,[data-help-first]) .b1-button{min-width:88px;min-height:39px;padding:8px 13px;font-size:13px}
 .b1-calm .b1-calm-garment-row{grid-template-columns:minmax(0,1fr) 78px;gap:11px;width:100%}
 .b1-calm #b1-color-trigger{height:56px;min-height:56px;padding:7px 9px;gap:7px}
 .b1-calm #b1-chosen-shirt{width:30px;height:36px;flex-basis:30px}
 .b1-calm #b1-chosen-name{font-size:13px}
 .b1-calm #b1-color-count{font-size:10px}
 .b1-calm .b1-change-label{font-size:0;gap:0}.b1-calm .b1-change-label svg{width:15px;height:15px}
 .b1-calm #estimated-quantity{height:56px;min-height:56px;padding-left:10px;font-size:16px}
 .b1-calm .b1-calm-design{margin-top:25px;padding-top:24px}
 .b1-calm #minimal-text{width:100%}
 .b1-calm .minimal-upload-row{align-items:center;flex-wrap:wrap}
 .b1-calm .minimal-send{max-width:none;margin-top:25px;padding-top:24px}
 .b1-calm #minimal-name{width:100%}
 .b1-calm #minimal-submit{width:100%}
}
@media(prefers-reduced-motion:reduce){
 .b1-calm *{scroll-behavior:auto!important}
 .b1-calm :is(button,.b1-change-label svg,.b1-calm-disclosure>summary::after,.estimate-scope>summary::after){transition:none!important}
}
