/* Local container price block. Common calculator and page styles stay unchanged. */
#price .container-pricing { background:#f5f7fb; border:1px solid #dce3ef; border-radius:20px; padding:30px; margin:28px 0 36px; color:#172640; }
#price .pricing-intro { max-width:860px; margin:0 0 24px; line-height:1.6; }
#price,#final-request { scroll-margin-top:140px; }
#price input,#price select,#price button { scroll-margin-top:140px; scroll-margin-bottom:20px; }
#price .pricing-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; margin-bottom:26px; }
#price .pricing-field { min-width:0; display:flex; flex-direction:column; gap:8px; }
#price .pricing-field label { font-weight:600; font-size:16px; line-height:1.4; }
#price .pricing-field input,#price .pricing-field select { width:100%; min-width:0; box-sizing:border-box; border:1px solid #8593aa; border-radius:9px; min-height:50px; padding:12px; font:inherit; color:#172640; background:white; }
#price .pricing-field small { font-size:13px; line-height:1.5; color:#46566d; }
#price .pricing-field .pricing-field-error { color:#9b1c2f; }
#price [aria-invalid="true"] { border-color:#9b1c2f; box-shadow:0 0 0 1px #9b1c2f; }
#price input:focus-visible,#price select:focus-visible,#price button:focus-visible,#price a:focus-visible { outline:3px solid var(--otl-blue); outline-offset:4px; }
#price .pricing-field-error:empty { display:none; }
#price .pricing-status { margin:16px 0 0; line-height:1.6; }
#price .pricing-status:empty { display:none; }
#price .pricing-result,#price .pricing-dispatcher { background:white; border:1px solid #dce3ef; border-radius:14px; padding:26px; margin-top:28px; }
#price [hidden] { display:none!important; }
#price .pricing-result-heading h3,#price .pricing-dispatcher h3 { font-size:24px; line-height:1.35; margin:0 0 12px; }
#price .pricing-result-heading p,#price .pricing-dispatcher p { margin:0 0 24px; line-height:1.6; overflow-wrap:anywhere; }
#price .pricing-breakdown { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:0 0 24px; }
#price .pricing-breakdown>div { background:#f5f7fb; padding:20px; border-radius:12px; }
#price .pricing-breakdown dt { font-size:15px; font-weight:600; line-height:1.45; margin:0 0 12px; }
#price .pricing-breakdown dd { margin:0 0 12px; font-size:25px; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
#price .pricing-breakdown p { margin:0; font-size:13px; line-height:1.6; color:#46566d; }
#price .pricing-total { background:#17375b; color:white; border-radius:12px; padding:24px; display:flex; flex-direction:column; gap:9px; }
#price .pricing-total strong { font-size:36px; line-height:1.25; overflow-wrap:anywhere; }
#price .pricing-accounting-note,#price .pricing-followup { margin:20px 0 0; font-size:14px; line-height:1.65; color:#46566d; }
#price .pricing-conditions { margin:26px 0; }
#price .pricing-conditions h4 { font-size:18px; margin:0 0 14px; }
#price .pricing-conditions ul { margin:0; padding-left:22px; }
#price .pricing-conditions li { margin-bottom:10px; line-height:1.6; }
#price .pricing-retry { font:inherit; color:#17375b; border:1px solid #8593aa; border-radius:9px; padding:12px 16px; background:white; margin-top:16px; }
.pricing-request-summary { padding:18px; margin:20px 0; background:#f5f7fb; border:1px solid #dce3ef; border-radius:10px; white-space:pre-line; line-height:1.6; color:#172640; }
#price .button:disabled { cursor:wait; opacity:.6; }
@media(max-width:600px) {
  #price .container-pricing { padding:20px 16px; border-radius:14px; }
  #price .pricing-fields,#price .pricing-breakdown { grid-template-columns:1fr; gap:20px; }
  #price .pricing-result,#price .pricing-dispatcher { padding:20px 16px; }
  #price .pricing-breakdown>div { padding:18px; }
  #price .pricing-total { padding:20px; }
  #price .pricing-total strong { font-size:30px; }
  #price .button { width:100%; box-sizing:border-box; text-align:center; white-space:normal; line-height:1.5; }
}
