.stcw-card,.stcw-product,.stcw-footer { box-sizing:border-box; font-family:inherit; }
.stcw-card { margin:1.25rem 0; padding:clamp(1rem,3vw,2rem); border:1px solid var(--st-card-border,#d5dee8); border-radius:var(--st-radius-card,16px); background:var(--st-commerce-card,#fff); color:var(--st-color-ink,#10243b); }
.stcw-card h1,.stcw-card h2,.stcw-card h3 { color:inherit; line-height:1.25; }
.stcw-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.stcw-field { display:flex; flex-direction:column; gap:.4rem; margin:0 0 1rem; min-width:0; }
.stcw-field > span { font-size:.95rem; font-weight:600; }
.stcw-card input:not([type=checkbox]),.stcw-card select,.stcw-card textarea { box-sizing:border-box; width:100%; max-width:100%; min-height:44px; padding:.65rem .75rem; border:1px solid #72869b; border-radius:7px; color:#10243b; background:#fff; font:inherit; }
.stcw-card input[type=checkbox] { width:20px; height:20px; flex:0 0 20px; accent-color:#1769e0; }
.stcw-card fieldset { margin:1.5rem 0; padding:0; border:0; }
.stcw-card legend { margin-bottom:1rem; font-size:1.15rem; font-weight:700; }
.stcw-check { display:flex; align-items:flex-start; gap:.65rem; margin:1rem 0; line-height:1.6; }
.stcw-card .button,.stcw-product .button,.stcw-portal .button { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:44px; padding:.65rem 1rem; border:1px solid #1769e0; border-radius:8px; background:#fff; color:#124eaa; font:inherit; font-weight:600; line-height:1.4; text-decoration:none; cursor:pointer; }
.stcw-card .button.alt,.stcw-portal .button.alt { background:var(--st-color-action,#1769e0); border-color:var(--st-color-action,#1769e0); color:#fff; }
.stcw-card .button:disabled,.stcw-product .button:disabled { opacity:.65; cursor:wait; }
.stcw-card :focus-visible,.stcw-product :focus-visible,.stcw-footer :focus-visible { outline:3px solid #1769e0; outline-offset:3px; }
.stcw-card [hidden] { display:none !important; }
.stcw-quote-row { display:grid; grid-template-columns:minmax(0,1fr) 110px auto; gap:1rem; align-items:center; padding:1rem 0; border-bottom:1px solid #d5dee8; }
.stcw-quote-row small,.stcw-card td small { display:block; color:#465e76; overflow-wrap:anywhere; margin-top:.25rem; }
.stcw-quote-row label { display:flex; flex-direction:column; gap:.3rem; }
.stcw-card table { width:100%; border-collapse:collapse; }
.stcw-card th,.stcw-card td { padding:.75rem .5rem; border-bottom:1px solid #d5dee8; text-align:left; vertical-align:top; }
.stcw-card th { font-size:.9rem; }
.stcw-table-wrap { overflow-x:auto; }
.stcw-totals { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.75rem 1rem; margin:1.5rem 0; }
.stcw-totals dd { margin:0; text-align:right; }
.stcw-terms { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; line-height:1.65; }
.stcw-card summary { padding:.7rem 0; cursor:pointer; font-weight:600; }
.stcw-card a,.stcw-footer a,.stcw-link { color:#124eaa; text-decoration:underline; text-underline-offset:3px; }
.stcw-link { border:0; background:transparent; padding:.2rem; font:inherit; cursor:pointer; }
.stcw-error { color:#9b1c20; font-weight:600; }
.stcw-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.stcw-product { margin:1rem 0; }
.stcw-status { margin:.5rem 0; }
.stcw-footer { display:flex; justify-content:center; flex-wrap:wrap; gap:1rem 2rem; padding:1rem; background:#f2f5f9; color:#10243b; }
.stcw-portal { margin:0; padding:clamp(.7rem,3vw,2rem); background:#edf2f8; color:#10243b; font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.stcw-portal main { max-width:1000px; margin:0 auto; }
.stcw-inline { display:inline-block; margin:.3rem .5rem .3rem 0; }
.stcw-admin { max-width:1200px; }
.stcw-admin .stcw-card input[type=number] { max-width:100px; }
.stcw-card.stcw-request { width:100%; max-width:1180px; margin:0 auto 2rem; padding:0; border:0; border-radius:0; background:transparent; font-family:var(--st-font-sans,inherit); line-height:1.6; }
.stcw-request *, .stcw-request *::before, .stcw-request *::after { box-sizing:border-box; }
.stcw-request-header { margin:0 0 1.75rem; max-width:960px; }
.stcw-request .stcw-eyebrow { margin:0 0 .5rem; font-size:.78rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; color:var(--st-color-link,#0067d5); }
.stcw-request-header h1 { margin:0 0 .75rem; font-size:clamp(1.65rem,3vw,2.25rem); letter-spacing:-.035em; color:var(--st-color-primary,#0b1f3b); }
.stcw-request-header > p:not(.stcw-eyebrow) { margin:0; max-width:760px; color:var(--st-color-text,#33445a); }
.stcw-steps { display:flex; flex-wrap:wrap; gap:.7rem 1.5rem; counter-reset:stcw-step; margin:1.4rem 0 0; padding:0; list-style:none; }
.stcw-steps li { display:flex; align-items:center; gap:.55rem; font-size:.8rem; font-weight:650; color:var(--st-color-text,#33445a); }
.stcw-steps li::before { counter-increment:stcw-step; content:counter(stcw-step); display:grid; place-items:center; flex:0 0 25px; height:25px; border:1px solid #c9def7; border-radius:50%; color:#005fc7; background:#eef6ff; font-size:.76rem; }
.stcw-request-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr); align-items:start; gap:1.5rem; }
.stcw-request-form { grid-column:1; grid-row:1; min-width:0; padding:clamp(1.15rem,2.8vw,2rem); background:var(--st-color-surface,#fff); border:1px solid var(--st-card-border,#d7e2ec); border-radius:var(--st-radius-card,9px); box-shadow:0 4px 20px rgb(11 31 59 / 3%); }
.stcw-basket { grid-column:2; grid-row:1; min-width:0; padding:1.4rem; background:var(--st-color-surface,#fff); border:1px solid var(--st-card-border,#d7e2ec); border-top:3px solid var(--st-color-action,#006ee6); border-radius:var(--st-radius-card,9px); }
.stcw-section-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem; }
.stcw-section-heading h3 { margin:0; font-size:1.1rem; }
.stcw-count { padding:.25rem .55rem; border-radius:5px; background:#eef6ff; font-size:.7rem; font-weight:700; color:#005fc7; }
.stcw-request .stcw-grid { gap:0 1rem; }
.stcw-request .stcw-wide { grid-column:1/-1; }
.stcw-card.stcw-request a.button.stcw-secondary { color:var(--st-color-link,#0067d5); background:#fff; }
.stcw-card.stcw-request a.button.stcw-secondary:hover { color:#fff; background:var(--st-color-action-hover,#005fc7); }
.stcw-request .stcw-field { margin:0 0 1rem; }
.stcw-request .stcw-field > span { font-size:.81rem; line-height:1.5; font-weight:650; }
.stcw-request input:not([type=checkbox]),.stcw-request select,.stcw-request textarea { border-color:var(--st-field-border,#c5d3e0); background:var(--st-field-background,#fbfdff); border-radius:var(--st-radius-control,5px); font-size:.95rem; }
.stcw-request-form fieldset { margin:0 0 1.5rem; padding:0 0 .5rem; border:0; border-bottom:1px solid var(--st-color-line,#dce5ef); min-width:0; }
.stcw-request-form legend { margin:0 0 .35rem; padding:0; font-size:1.05rem; }
.stcw-request .stcw-help { margin:.65rem 0 1rem; font-size:.78rem; color:var(--st-color-muted,#52647a); line-height:1.7; }
.stcw-request-form fieldset > .stcw-help { margin:0 0 1rem; }
.stcw-basket .stcw-empty { margin:1.2rem 0; padding:1.25rem; background:#f4f7fb; border:1px dashed #c5d3e0; border-radius:6px; color:#52647a; font-size:.87rem; }
.stcw-basket .stcw-quote-row { grid-template-columns:minmax(0,1fr) 70px; gap:.6rem; font-size:.85rem; }
.stcw-basket .stcw-quote-row > button { grid-column:1/-1; justify-self:start; min-height:32px; padding:.25rem .55rem; font-size:.75rem; }
.stcw-basket > .button { width:100%; margin-top:1rem; font-size:.8rem; }
.stcw-support { display:grid; gap:.35rem; padding-top:1rem; border-top:1px solid #dce5ef; font-size:.8rem; overflow-wrap:anywhere; }
.stcw-billing { margin:0 0 1.25rem; border-bottom:1px solid #dce5ef; }
.stcw-request .stcw-billing summary { padding:.6rem 0 1rem; font-size:.82rem; }
.stcw-request .stcw-billing > label { display:flex; gap:.5rem; align-items:center; margin-bottom:1rem; font-size:.82rem; }
.stcw-submit { display:grid; gap:.25rem; padding-top:.25rem; }
.stcw-request .stcw-submit .button { width:100%; min-height:48px; border-radius:5px; font-size:.94rem; }
.stcw-submit .stcw-help { margin:.5rem 0 0; text-align:center; font-size:.7rem; }
.stcw-request [data-stcw-result]:empty { display:none; }
.stcw-success { padding:1rem; border:1px solid #a3d4b8; border-radius:6px; background:#effaf3; color:#135e37; font-weight:650; }
.stcw-request :disabled { cursor:not-allowed; }
@media(max-width:800px) { .stcw-request-layout { grid-template-columns:minmax(0,1fr); gap:1rem; } .stcw-basket { grid-column:1; grid-row:1; padding:1.15rem; } .stcw-request-form { grid-column:1; grid-row:2; } .stcw-steps { gap:.65rem 1rem; } }
@media(max-width:600px) { .stcw-grid { grid-template-columns:minmax(0,1fr); gap:0; } .stcw-quote-row { grid-template-columns:minmax(0,1fr) 85px; gap:.75rem; } .stcw-quote-row > button { grid-column:1/-1; justify-self:start; } .stcw-card th,.stcw-card td { padding:.6rem .35rem; } .stcw-card th { font-size:.8rem; } .stcw-portal { font-size:15px; } }
@media print { .stcw-portal { background:#fff; padding:0; } .stcw-portal .stcw-card { border:0; padding:0; } .stcw-portal form,.stcw-portal button,.stcw-portal a.button { display:none; } .stcw-portal details { display:block; } .stcw-portal details > * { display:block; } .stcw-portal table { page-break-inside:auto; } .stcw-portal tr { page-break-inside:avoid; } }

/* Classic customer-type fields must stay hidden under Woo/theme row rules. */
.woocommerce form.checkout .stcw-business-field[hidden],
.woocommerce form.checkout .stcw-business-field [hidden] { display: none !important; }
