/* BWP estimate form. Namespaced to retain the existing public-site theme. */
.bwp-estimate { background:#fafafa; padding:62px 0 70px; }
.bwp-estimate .bwp-form-intro { margin:0 auto 30px; max-width:760px; }
.bwp-estimate .bwp-form-intro h2 { font-size:30px; margin:0 0 14px; }
.bwp-estimate .bwp-form-intro p { font-size:17px; line-height:1.65; }
.bwp-estimate .bwp-hint { font-size:14px; color:#60676d; line-height:1.6; }
.bwp-estimate .bwp-form-panel { background:#fff; border:1px solid #e4e8ea; border-radius:8px; box-shadow:0 2px 12px rgba(30,40,46,.045); padding:27px 30px; margin:0 0 23px; }
.bwp-estimate .bwp-form-panel h3 { color:#233039; font-size:23px; margin:0 0 20px; }
.bwp-estimate .bwp-step { display:inline-flex; background:#d54842; width:35px; height:35px; align-items:center; justify-content:center; color:#fff; font-size:17px; border-radius:50%; margin-right:10px; }
.bwp-estimate legend { font-size:17px; border:0; margin:0 0 10px; color:#26313b; }
.bwp-estimate fieldset { border:0; padding:0; margin:0 0 18px; min-width:0; }
.bwp-estimate .bwp-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin:18px 0 10px; }
.bwp-estimate label { display:block; color:#25313c; font-size:15px; font-weight:600; margin:0 0 16px; }
.bwp-estimate .bwp-service-option { display:flex; align-items:start; padding:16px; background:#fbfbfb; border:2px solid #e1e4e7; border-radius:6px; cursor:pointer; margin:0; }
.bwp-estimate .bwp-service-option:has(input:checked) { border-color:#c4403c; background:#fff8f7; }
.bwp-estimate .bwp-service-option input { margin:4px 9px 0 0; flex:0 0 auto; }
.bwp-estimate .bwp-service-option strong,.bwp-estimate .bwp-service-option small { display:block; }
.bwp-estimate .bwp-service-option small { color:#65717a; font-weight:400; line-height:1.45; margin-top:6px; }
.bwp-estimate .bwp-fields-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
.bwp-estimate input:not([type=checkbox]),.bwp-estimate select,.bwp-estimate textarea { display:block; width:100%; border:1px solid #c8d0d4; border-radius:4px; padding:10px 12px; font-size:15px; font-weight:400; color:#26313a; background:#fff; margin-top:6px; box-sizing:border-box; }
.bwp-estimate input:focus-visible,.bwp-estimate select:focus-visible,.bwp-estimate textarea:focus-visible { outline:3px solid #f6b5ad; outline-offset:2px; }
.bwp-estimate .bwp-service-detail { border-top:1px solid #e8eaeb; padding:24px 0 8px; margin-top:10px; }
.bwp-estimate .bwp-service-detail[hidden] { display:none!important; }
.bwp-estimate .bwp-service-detail h4 { color:#b53632; font-size:19px; margin:0 0 16px; }
.bwp-estimate .bwp-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 20px; margin:10px 0 18px; }
.bwp-estimate .bwp-check-grid label { display:flex; align-items:start; font-weight:400; margin:0; line-height:1.4; }
.bwp-estimate .bwp-check-grid input { margin:5px 8px 0 0; }
.bwp-estimate .bwp-error { color:#a51617; font-size:14px; }
.bwp-estimate .bwp-honeypot { position:absolute!important; left:-10000px!important; top:auto!important; height:1px!important; overflow:hidden!important; }
.bwp-estimate .bwp-submit { margin:13px 0; padding:13px 30px; }
@media(max-width:767px) { .bwp-estimate{padding:32px 0 45px}.bwp-estimate .bwp-form-panel{padding:19px 16px}.bwp-estimate .bwp-service-grid,.bwp-estimate .bwp-fields-grid,.bwp-estimate .bwp-check-grid{grid-template-columns:1fr}.bwp-estimate .bwp-form-panel h3{font-size:20px} }
.bwp-estimate .bwp-inline-check {display:flex;align-items:flex-start;gap:8px;margin:12px 0 18px;font-weight:500;line-height:1.5}
.bwp-estimate .bwp-inline-check input {margin-top:5px;flex-shrink:0}
.bwp-estimate select + small {font-weight:400;display:block;margin-top:5px}
.bwp-estimate .bwp-submit:disabled {opacity:.6;cursor:wait}

/* Form clarity and saved-submission acknowledgment. */
.bwp-estimate .bwp-required { color:#a9221b; font-weight:800; margin-left:2px; }
.bwp-estimate .bwp-required[hidden], .bwp-estimate [hidden] { display:none!important; }
.bwp-estimate .bwp-required-key { margin:0 0 18px; font-size:15px; font-weight:600; color:#25313c; }
.bwp-estimate .bwp-field-help { display:block; margin-top:6px; color:#596570; font-size:13px; font-weight:400; line-height:1.5; }
.bwp-estimate .bwp-term-link { color:#a72c26; text-decoration:underline; text-underline-offset:2px; }
.bwp-estimate .bwp-term-link:focus-visible { outline:2px solid #a72c26; outline-offset:2px; }
.bwp-estimate .bwp-success { background:#ecf8f0; border:2px solid #237447; border-left:6px solid #237447; border-radius:8px; color:#163b29; padding:22px 25px; margin:10px 0 24px; }
.bwp-estimate .bwp-success h1 { margin:0 0 8px; color:#15572f; font-size:27px; line-height:1.25; }
.bwp-estimate .bwp-success p { margin:0 0 9px; }
.bwp-estimate .bwp-success .bwp-ref { font-size:17px; font-weight:700; overflow-wrap:anywhere; margin-bottom:0; }
.bwp-term-guide { max-width:1080px; margin:20px auto 38px; background:#fff; border:1px solid #e2e5e8; border-top:5px solid #b73932; border-radius:6px; padding:22px 28px; }
.bwp-term-guide h2 { font-size:27px; margin-top:0; }
.bwp-term-guide .bwp-term-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 26px; }
.bwp-term-guide dl { margin:0; }
.bwp-term-guide dt { font-size:17px; font-weight:700; color:#27313a; scroll-margin-top:24px; }
.bwp-term-guide dd { font-size:15px; line-height:1.55; color:#3c464e; margin:3px 0 13px; }
.bwp-term-guide a { color:#a72c26; text-decoration:underline; }
@media(max-width:767px) { .bwp-term-guide { padding:20px 16px; margin:15px 5px 32px; } .bwp-term-guide .bwp-term-grid { grid-template-columns:1fr; } }

/* Contextual definitions for manuscript concerns: links do not toggle checkboxes. */
.bwp-estimate .bwp-concern label { margin-bottom:3px; }
.bwp-estimate .bwp-concern > a { display:inline-block; margin-left:29px; font-size:13px; line-height:1.5; }

/* Publication-focused intake: dissertation-only field. */
.bwp-estimate .bwp-academic-field[hidden] {display:none!important;}
