/* Scoped rental shortlist styles. Captured navigation, cards and galleries stay intact. */
.os-company-cart { margin-bottom: 80px; color: #222; }
body:is([data-page-kind="company-basket"], [data-page-kind="company-quote-request"]) #contents > .section { max-width: 1280px; width: calc(100% - 48px); margin-left: auto; margin-right: auto; box-sizing: border-box; }
.os-company-cart [hidden] { display: none !important; }
.os-company-cart h3 { font-size: 20px; font-weight: 700; }
.os-cart-note { padding: 14px 16px; margin: 16px 0; background: #f5f7f8; color: #555; font-size: 13px; line-height: 1.7; border-radius: 4px; }
.os-cart-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid #ddd; }
.os-cart-toolbar label { display: flex; gap: 8px; align-items: center; }
.os-company-cart .os-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; }
.os-company-cart .cart-product, .os-company-cart .cart-total { width: auto; min-width: 0; }
.os-company-cart .local-cart-item { grid-template-columns: 20px 100px minmax(0, 1fr) auto; }
.os-company-cart .local-cart-item label { display: block; margin-top: 14px; }
.os-company-cart .local-cart-name { overflow-wrap: anywhere; font-weight: 600; }
.os-company-cart .local-order-total .os-cart-note { display: block; margin: 16px 0; }
.os-company-cart .local-order-total { margin-top: 20px; }
.os-company-cart .local-order-total button { width: 100%; white-space: normal; }
.os-company-cart button:disabled { opacity: .45; cursor: not-allowed; }
/* Outrank the captured .productAction [class^="btn"].sizeL text color. */
.os-company-cart .btnSubmit, .os-cart-dialog .btnSubmit, body[data-page-kind="company-product"] .btnSubmit[data-company-quote] { color: #fff; }
.os-cart-links { display: flex; flex-wrap: wrap; gap: 16px 24px; margin: 28px 0; font-size: 14px; }
.os-cart-links a { text-decoration: underline; text-underline-offset: 4px; }
.os-cart-no-image { display: inline-flex; align-items: center; justify-content: center; width: 100px; height: 100px; background: #f7f7f7; font-size: 12px; }
.os-company-cart .os-quote-item { grid-template-columns: 100px minmax(0, 1fr) auto; }
.os-quote-form { margin: 36px 0 0; padding: 28px; border: 1px solid #ddd; }
.os-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 24px 0; }
.os-quote-form label { display: block; font-size: 14px; font-weight: 600; }
/* Grid gaps replace the captured label + label inline spacing. */
.os-quote-form .os-form-grid > label { margin-left: 0; }
.os-quote-form label span { color: #666; font-size: 12px; font-weight: 400; }
.os-quote-form input:not([type="checkbox"]), .os-quote-form select, .os-quote-form textarea { display: block; box-sizing: border-box; width: 100%; margin-top: 10px; border: 1px solid #ccc; background: white; color: #222; padding: 10px 12px; font: inherit; min-height: 44px; }
.os-quote-form .os-quote-contact { margin-bottom: 20px; }
.os-quote-form textarea { resize: vertical; }
.os-quote-form .os-quote-submit { margin-top: 24px; min-width: 260px; }
.os-company-cart :focus-visible, .os-cart-dialog :focus-visible { outline: 2px solid #005b49; outline-offset: 3px; }
.os-dialog-actions { display: flex; gap: 10px; }
.os-dialog-actions > * { flex: 1; }
body[data-page-kind="company-product"] .buy-btn-wrap > [data-company-add], body[data-page-kind="company-product"] .buy-btn-wrap > [data-company-quote] { flex: 1; width: auto; margin: 0; }
body[data-page-kind="company-product"] .buy-btn-wrap { gap: 8px; }
body[data-page-kind="company-product"] .mobile-fix-footer > button { flex: 1; width: auto; margin: 0; }
/* Preserve the captured terms/options, but hide their inactive company-detail UI. */
body[data-page-kind="company-product"] .infoArea .detail-spec,
body[data-page-kind="company-product"] .infoArea .productOption,
body[data-page-kind="company-product"] .infoArea .os-detail-note { display: none; }
.os-detail-quantity { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.os-detail-quantity input { width: 64px; height: 36px; box-sizing: border-box; text-align: center; border: 1px solid #ccc; font: inherit; }
.os-detail-note { font-size: 12px; color: #666; line-height: 1.6; margin: 10px 0; }
/* Ignore the captured inline height only for the desktop company's fixed panel.
   Keep the existing top offset; bottom:0 stretches its border and anchored actions to the viewport. */
@media (min-width: 1024px) {
  body[data-page-kind="company-product"] .mobile-layer.fixed { bottom: 0; height: auto !important; }
}
@media (max-width: 1023px) {
  body[data-page-kind="company-product"] .mobile-fix-footer { display: flex; gap: 8px; }
  .os-company-cart .os-cart-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .os-company-cart .cart-total .sticky { position: static; }
}
.os-intake-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.os-intake-consent { padding: 18px; margin: 22px 0; background: #f5f8f6; border: 1px solid #dce8e1; line-height: 1.8; }
.os-intake-consent p { margin-bottom: 12px; }
.os-quote-form .os-intake-consent label { display: flex; align-items: flex-start; gap: 8px; margin-left: 0; }
/* Use the native control, not the captured theme's repeating checked background. */
.os-quote-form .os-intake-consent input[type="checkbox"] { appearance: auto; box-sizing: border-box; flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 3px 0 0; background: none; background-repeat: no-repeat; accent-color: #00845b; }
.os-intake-consent button { margin-top: 12px; }
@media (max-width: 767px) {
  body:is([data-page-kind="company-basket"], [data-page-kind="company-quote-request"]) #contents > .section { width: calc(100% - 32px); }
  .os-company-cart { margin-bottom: 40px; }
  .os-company-cart .local-cart-item { grid-template-columns: 18px 72px minmax(0, 1fr); gap: 10px; }
  .os-company-cart .local-cart-item img, .os-cart-no-image { width: 72px; height: 72px; }
  .os-company-cart .local-cart-price { grid-column: 2 / -1; flex-direction: row; justify-content: space-between; align-items: center; font-size: 13px; }
  .os-company-cart .os-quote-item { grid-template-columns: 72px minmax(0, 1fr); }
  .os-company-cart .os-quote-item .local-cart-price { grid-column: 2; }
  .os-form-grid { grid-template-columns: 1fr; gap: 16px; }
  .os-quote-form { padding: 20px 16px; }
  .os-quote-form .os-quote-submit { width: 100%; min-width: 0; }
  .os-cart-dialog { padding: 32px 18px; }
}
