﻿/* Keep the shared navbar in normal flow and let both panels fill the remaining viewport. */
.order-workspace-body > .wrapper { display: flex; flex-direction: column; height: 100vh; height: 100dvh; min-height: 0; margin: 0; }
.order-workspace-body #site-header { flex: 0 0 auto; }
.order-workspace-body #site-header .nav { position: relative; height: auto; }
.order-workspace-body #site-header .bottom-bar { margin-bottom: 0; max-height: none; }
.order-workspace-body #site-header .forceDown { padding-top: 0; }
.order-workspace-body #site-header .search { position: relative; }
.order-workspace-body #site-header .search button { top: 0; right: 0; width: 40px; height: 38px; padding: 0; }
.order-workspace-body #site-header #search { padding-right: 42px; }
.order-workspace-body .workspace-main { display: flex; flex: 1 1 0; min-height: 0; min-width: 0; width: 100%; }
.order-workspace-body .back-to-top { display: none !important; }
.order-workspace-body { margin: 0; background: #edf1f3; overflow: hidden; }
html[data-theme="dark"] .order-workspace-body { background: #0b1013; }
.order-workspace { --ow-text: #20272b; --ow-muted: #61717b; --ow-line: #dce2e7; --ow-input: #fff; color: var(--ow-text); font: 14px/1.5 'Montserrat', 'Open Sans', Arial, sans-serif; display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; min-width: 0; padding: 18px 24px; width: 100%; }
html[data-theme="dark"] .order-workspace { --ow-text: #f4f6f8; --ow-muted: #b0bcc5; --ow-line: #34414b; --ow-input: #161e24; }
.order-workspace *, .order-workspace *::before, .order-workspace *::after { box-sizing: border-box; }
.order-workspace [hidden], .ow-checkout-body [hidden] { display: none !important; }
.order-workspace h1, .order-workspace h2, .order-workspace h3, .order-workspace p { color: inherit; font-family: inherit; }
.order-workspace h1 { margin: 0; font-size: 23px; font-weight: 750; }
.order-workspace h2 { margin: 0; font-size: 20px; font-weight: 700; }
.order-workspace h3 { font-size: 16px; font-weight: 650; margin: 0; }
.order-workspace button, .order-workspace input, .order-workspace textarea, .order-workspace select { font: inherit; }
.order-workspace button { cursor: pointer; }
.order-workspace button:disabled { opacity: .5; cursor: wait; }
.order-workspace button:focus-visible, .order-workspace a:focus-visible, .order-workspace input:focus-visible, .order-workspace select:focus-visible, .order-workspace textarea:focus-visible { outline: 2px solid #f4512b; outline-offset: 3px; }
.order-workspace input:not([type="checkbox"]), .order-workspace textarea, .order-workspace select { min-width: 0; padding: 10px 12px; border: 1px solid var(--ow-line); border-radius: 20px; background: var(--ow-input); color: var(--ow-text); }
.ow-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 24px; align-items: stretch; flex: 1 1 0; min-height: 0; }
.ow-main { position: relative; min-width: 0; padding: 0; margin: 0; scrollbar-gutter: auto; }
.ow-main, .ow-cart, .ow-product-viewport { min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; scrollbar-width: auto; scrollbar-color: #97a7af transparent; }
.ow-cart, .ow-product-viewport { scrollbar-gutter: stable; }
html[data-theme="dark"] .ow-main, html[data-theme="dark"] .ow-cart, html[data-theme="dark"] .ow-product-viewport { scrollbar-color: #596a75 transparent; }
.ow-main:focus-visible, .ow-cart:focus-visible, .ow-product-viewport:focus-visible { outline: 2px solid #f4512b; outline-offset: -2px; }
#owCatalog { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.ow-product-viewport { flex: 1 1 0; padding-right: 8px; }
.ow-checkout { padding: 0; margin: 0; }
.ow-categories { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; padding: 0 0 10px; scrollbar-width: none; }
.ow-categories button { padding: 9px 13px; flex-shrink: 0; white-space: nowrap; }
.ow-muted { color: var(--ow-muted) !important; }
.ow-small { font-size: 11px; }
.ow-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 235px), 1fr)); gap: 15px; }
.ow-product { padding: 18px; overflow: hidden; min-width: 0; cursor: pointer; }
.order-workspace .ow-product-open { border: 0; color: inherit; background: transparent; padding: 0; width: 100%; text-align: left; height: 100%; display: flex; flex-direction: column; gap: 12px; }
.ow-product h2 { font-size: 17px; min-height: 42px; }
.ow-product p { font-size: 12px; margin: 0; }
.ow-product .pf-preview-frame { width: 100%; }
.ow-product-action { padding: 11px 14px; margin-top: auto; text-align: center; width: 100%; }
.ow-cart { padding: 20px; min-width: 0; }
.order-workspace #owCartPanel { border: 0; box-shadow: none; }
.ow-panel-header { display: flex; gap: 14px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.ow-text-button { border: 0; background: transparent; color: inherit; text-decoration: underline; padding: 3px 0; font-size: 12px !important; }
.ow-cart-item { padding: 14px; margin: 14px 0; min-width: 0; }
.ow-line-heading { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.ow-line-heading h3 { overflow-wrap: anywhere; }
.ow-line-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 12px 0; }
.ow-line-preview { overflow: hidden; width: 100%; }
.ow-line-preview .pf-preview-frame { width: 100%; height: 180px; min-height: 0; }
.order-workspace .ow-line-preview .steel-profile-preview-pair > .steel-profile-preview-media { height: 180px; }
.ow-line-preview canvas { max-height: 100%; max-width: 100%; }
.ow-line-info { font-size: 11px; overflow-wrap: anywhere; }
.ow-line-info p { margin: 0 0 5px; }
.ow-line-addons { margin-top: 6px; }
.ow-line-price { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: 12px; }
.ow-line-price > span > span { font-size: 17px !important; }
.ow-line-total { margin-top: 12px; }
.ow-line-total > span > span { font-size: 21px !important; }
.ow-line-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin: 10px 0; }
.ow-line-buttons, .ow-cart-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ow-cart-actions { gap: 8px; margin: 0 0 16px; }
.order-workspace .cart-btn.ow-compact-button { min-height: 32px; padding: 6px 10px; gap: 6px; font-size: 12px; }
.ow-compact-button svg { flex: 0 0 14px; }
.ow-line-actions label { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; }
.order-workspace .ow-line-actions input { width: 65px; padding: 7px; }
.ow-note { display: block; font-size: 11px; color: var(--ow-muted); margin: 0; }
.ow-note textarea { display: block; width: 100%; margin-top: 4px; resize: vertical; }
.ow-cart-header-tools, .ow-cart-size-toggle, .ow-line-heading-tools { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.ow-cart-header-tools { gap: 10px; }
.order-workspace .cart-btn.ow-cart-size-button { min-height: 28px; width: 30px; padding: 5px; }
.ow-cart-lines { position: relative; display: flow-root; }
.ow-drag-handle { display: inline-flex; justify-content: center; align-items: center; width: 24px; height: 28px; flex-shrink: 0; padding: 3px; border: 0; border-radius: 6px; background: transparent; color: var(--ow-muted); cursor: grab !important; touch-action: none; }
.ow-drag-handle:hover { background: var(--ow-line); color: var(--ow-text); }
.ow-cart-drag-active, .ow-cart-drag-active * { cursor: grabbing !important; user-select: none; }
.ow-cart-item.is-dragging { position: fixed; z-index: 10020; margin: 0 !important; pointer-events: none; opacity: .96; filter: drop-shadow(0 12px 16px rgba(0, 0, 0, .3)); }
.ow-cart-placeholder { box-sizing: border-box; border-radius: 14px; outline: 2px dashed #77bd4c; outline-offset: -2px; }
.ow-cart[data-cart-size="compact"] .ow-cart-item { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 5px 10px; padding: 10px; margin: 8px 0; }
.ow-cart[data-cart-size="compact"] .ow-line-heading { grid-column: 2; grid-row: 1; gap: 4px; align-items: start; }
.ow-cart[data-cart-size="compact"] .ow-line-heading h3 { font-size: 12px; line-height: 1.35; }
.ow-cart[data-cart-size="compact"] .ow-line-heading .ow-text-button,
.ow-cart[data-cart-size="compact"] .ow-line-info,
.ow-cart[data-cart-size="compact"] .ow-line-price:not(.ow-line-total),
.ow-cart[data-cart-size="compact"] .ow-line-buttons,
.ow-cart[data-cart-size="compact"] .ow-preview-button { display: none; }
.ow-cart[data-cart-size="compact"] .ow-line-body { display: contents; }
.ow-cart[data-cart-size="compact"] .ow-line-preview { grid-column: 1; grid-row: 1 / span 2; height: 64px; }
.ow-cart[data-cart-size="compact"] .ow-line-preview .pf-preview-frame,
.order-workspace .ow-cart[data-cart-size="compact"] .ow-line-preview .steel-profile-preview-pair > .steel-profile-preview-media { height: 64px; min-height: 0; }
.ow-cart[data-cart-size="compact"] .ow-line-preview img { max-width: 100%; max-height: 64px; object-fit: contain; }
.ow-cart[data-cart-size="compact"] .ow-line-preview .steel-profile-preview-pair { gap: 3px; }
.ow-cart[data-cart-size="compact"] .ow-line-actions { grid-column: 2; grid-row: 2; margin: 0; gap: 4px; }
.ow-cart[data-cart-size="compact"] .ow-line-actions label { font-size: 10px; gap: 6px; }
.order-workspace .ow-cart[data-cart-size="compact"] .ow-line-actions input { width: 58px; padding: 3px 7px; min-height: 26px; }
.ow-cart[data-cart-size="compact"] .ow-note { grid-column: 1 / -1; grid-row: 3; display: flex; align-items: center; gap: 7px; font-size: 10px; }
.ow-cart[data-cart-size="compact"] .ow-note textarea { flex: 1; width: 0; margin: 0; padding: 4px 8px; min-height: 26px; font-size: 11px; }
.ow-cart[data-cart-size="compact"] .ow-line-total { grid-column: 1 / -1; grid-row: 4; margin: 0; font-size: 10px; }
.ow-cart[data-cart-size="compact"] .ow-line-total > span > span { font-size: 16px !important; }
.ow-cart-tools { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 12px 0; }
.ow-cart-tools button { border: 0; padding: 2px 0; text-decoration: underline; color: var(--ow-muted); background: transparent; font-size: 12px; }
#owSaved label { font-size: 12px; color: var(--ow-muted); }
#owSaved select { width: 100%; }
.ow-empty { text-align: center; padding: 35px 10px; color: var(--ow-muted); }
.ow-empty img { opacity: .65; margin-bottom: 18px; }
.ow-empty p { font-size: 12px; margin-top: 10px; }
.ow-totals { border-top: 1px solid var(--ow-line); padding-top: 16px; }
.ow-totals > div { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; }
.ow-totals p { margin: 8px 0; }
.ow-line-setup small { color: var(--ow-muted); }
.ow-delivery { padding: 16px 0 0; margin: 16px 0; border-top: 1px solid var(--ow-line); }
.ow-delivery h3 { margin-bottom: 12px; }
.ow-delivery-option { display: flex; align-items: flex-start; gap: 10px; margin: 8px 0; padding: 12px; cursor: pointer; }
.ow-delivery-option:has(input:checked) { outline: 2px solid #77bd4c; outline-offset: -2px; }
.ow-delivery-unavailable { opacity: .55; cursor: default; }
.order-workspace .ow-delivery-option input[type="radio"] { appearance: auto; flex: 0 0 16px; width: 16px; min-width: 16px; height: 16px; margin: 3px 0 0; padding: 0; accent-color: #6fbf48; }
.ow-delivery-details { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 5px; }
.ow-delivery-details strong { font-size: 13px; }
.ow-delivery-price small { color: var(--ow-muted); font-size: 11px; }
.ow-cost-summary { width: 100%; border-collapse: collapse; font-size: 11px; margin: 0 0 18px; }
.ow-cost-summary th, .ow-cost-summary td { padding: 8px 3px; vertical-align: middle; border-bottom: 1px solid var(--ow-line); }
.ow-cost-summary th { font-weight: 600; color: var(--ow-text); }
.ow-cost-summary thead th { color: var(--ow-muted); white-space: nowrap; }
.ow-cost-summary th:first-child { text-align: left; width: 40%; }
.ow-cost-summary td, .ow-cost-summary th:not(:first-child) { text-align: right; }
.ow-cost-summary td { white-space: nowrap; }
.ow-cost-summary tfoot th, .ow-cost-summary tfoot td { font-weight: 700; border-bottom: 0; padding-top: 12px; }
.ow-continue { width: 100%; padding: 15px !important; font-size: 16px !important; margin-top: 10px; }
.ow-editor { padding: 16px; overflow-anchor: none; }
.ow-main.ow-editor-is-loading { overflow-y: hidden; }
.ow-editor-loading { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; pointer-events: none; }
.ow-editor-spinner { width: 42px; height: 42px; border: 3px solid var(--ow-line); border-top-color: #77bd4c; border-radius: 50%; animation: ow-editor-spin .8s linear infinite; }
@keyframes ow-editor-spin { to { transform: rotate(360deg); } }
.order-workspace #owEditor { border: 0; border-radius: 0; background: #f7f9fb; box-shadow: none; }
html[data-theme="dark"] .order-workspace #owEditor { background: #121212; }
.ow-editor iframe, .ow-checkout iframe { display: block; border: 0; width: 100%; min-height: 500px; color-scheme: normal; }
.ow-checkout iframe { min-height: 750px; }
.ow-toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 2000; width: max-content; max-width: calc(100% - 32px); padding: 16px 22px; color: var(--ow-text); }
.ow-dialog { width: min(500px, calc(100% - 32px)); color: var(--ow-text); padding: 24px; }
.ow-dialog::backdrop { background: rgba(10, 20, 28, .5); }
.ow-dialog h2 { margin-bottom: 14px; }
.ow-dialog input { width: 100%; }
.ow-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.ow-dialog-actions button { padding: 10px 16px; }
#owDialogError { color: #c64724; margin-top: 10px; }
html[data-theme="dark"] #owDialogError { color: #ffac97; }
.ow-checkout-body { display: flow-root; margin: 0; padding: 0 3px; min-height: 0; overflow: hidden; background: transparent; }
.ow-checkout-body .limited-width-content { max-width: none; width: 100%; padding: 0; margin: 0; }
.ow-checkout-body .tabset, .ow-checkout-body #cartForm .jumbotron-cart2, .ow-checkout-body .cart-products-panel { display: none !important; }
.ow-checkout-body #cartForm > .row { margin: 0; }
.ow-checkout-body #cartForm .jumbotron-cart.pf-card { padding: 22px; }
.ow-checkout-body #owCheckoutMessage { padding: 16px; color: #a62614; background: #fff1ec; margin-bottom: 16px; border-radius: 8px; }
.ow-checkout-body .modal { top: var(--ow-visible-top, 0px); bottom: auto; height: var(--ow-visible-height, 90vh); }
.ow-checkout-body .modal-dialog-custom, .ow-checkout-body .modal-content { max-height: calc(var(--ow-visible-height, 90vh) - 32px); }
.ow-checkout-body .modal-body { overflow: auto; }
.ow-error { padding: 16px 20px; margin-bottom: 18px; }
@media (max-width: 1100px) {
    .ow-workspace { grid-template-columns: minmax(0, 1fr) 370px; gap: 16px; }
    .ow-cart { padding: 14px; }
}
@media (max-width: 900px) {
    .order-workspace { padding: 0 12px 12px; }
    .ow-workspace { grid-template-columns: minmax(0, 1fr); }
    .ow-categories { flex-wrap: nowrap; overflow-x: auto; }
    .order-workspace-body:not([data-view="cart"]) .ow-cart { display: none; }
    .order-workspace-body[data-view="cart"] .ow-main { display: none; }
    .ow-products { grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr)); gap: 12px; }
    .ow-editor { padding: 8px; }
    .ow-panel-header h2 { font-size: 18px; }
    .ow-panel-header button { padding: 9px; }
}

@media (max-width: 1280px) {
    .order-workspace:has(#owEditor:not([hidden])) { padding: 0; }
    .order-workspace:has(#owEditor:not([hidden])) .ow-workspace { column-gap: 8px; }
    .order-workspace #owEditor { padding: 0; }
    #owEditor > .ow-panel-header { display: none; }
}

@media (max-width: 767px) {
    .order-workspace-body #site-header .pushup-phone { padding-top: 8px; padding-bottom: 8px; }
}

.ow-checkout-body .checkout-expand.hide { visibility: hidden; }

html.ow-checkout-document, .ow-checkout-body { height: auto; min-height: 0; }
.order-workspace input[type="checkbox"] { appearance: auto; width: 16px; height: 16px; min-width: 16px; margin: 0; accent-color: #77bd4c; }

.ow-product-open > h2 + h2 { display: none; }
.ow-catalog-preview > h2 { display: none; }
.ow-catalog-preview, .ow-line-preview { position: relative; }
.ow-catalog-preview { width: 100%; }
.order-workspace .cart-btn.ow-preview-button { position: absolute; top: 8px; right: 8px; z-index: 2; width: 34px; min-height: 34px; padding: 6px; background: #d1d5db; color: #20272b; border-color: #7b858e; box-shadow: 0 2px 6px rgba(0, 0, 0, .24); }
.order-workspace .cart-btn.ow-preview-button:hover { background: #e5e7eb; color: #111827; border-color: #56616b; }
.order-workspace .ow-line-preview:has(.steel-profile-preview-pair) .ow-preview-button { top: 8px; left: 50%; right: auto; transform: translateX(-50%); }
.ow-cart-item-pending { opacity: 0; }
.ow-cart-item-added { animation: ow-cart-add-in .35s ease-out both, ow-cart-highlight 2.4s ease-in-out; }
@keyframes ow-cart-add-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
/* Match Cart's green double pulse while preserving the shared card surface. */
@keyframes ow-cart-highlight {
    18%, 52% { box-shadow: 0 0 0 5px rgba(143, 214, 95, .16), inset 0 0 0 1000px rgba(143, 214, 95, .22), 0 14px 34px rgba(15, 23, 42, .12); }
    35%, 69% { box-shadow: 0 0 0 0 rgba(143, 214, 95, 0), inset 0 0 0 1000px rgba(143, 214, 95, 0), 0 0 0 rgba(15, 23, 42, 0); }
}
.ow-preview-dialog { width: min(1240px, calc(100vw - 32px)); height: min(900px, calc(100vh - 48px)); height: min(900px, calc(100dvh - 48px)); max-width: none; max-height: none; padding: 18px; color: var(--ow-text); overflow: hidden; }
.ow-preview-dialog[open] { display: flex; flex-direction: column; animation: ow-preview-in .22s ease-out; }
.ow-preview-dialog::backdrop { background: rgba(10, 20, 28, .6); animation: ow-preview-backdrop-in .22s ease-out; }
.ow-preview-dialog .ow-panel-header { flex: 0 0 auto; margin-bottom: 12px; }
.ow-preview-dialog h2 { font-size: 18px; }
.ow-preview-dialog .ow-panel-header button { flex-shrink: 0; }
.ow-preview-dialog iframe { display: block; flex: 1 1 0; width: 100%; min-height: 0; border: 0; }
@keyframes ow-preview-in { from { opacity: 0; transform: translateY(20px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes ow-preview-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
.ow-quick-preview-body { margin: 0; height: 100vh; height: 100dvh; overflow: hidden; background: transparent; }
.ow-quick-preview-body [hidden] { display: none !important; }
.ow-quick-preview-stage { display: flex; flex-direction: column; height: 100%; width: 100%; min-height: 0; padding: 0; margin: 0; overflow: auto; color: inherit; }
.ow-quick-preview-stage > a { display: none; }
.ow-quick-preview-stage canvas { display: block; }
.ow-quick-preview-stage > img { flex: 1 1 0; min-height: 0; width: 100% !important; height: 100% !important; object-fit: contain; }
.ow-quick-preview-stage .pf-preview-frame { flex: 1 1 0; height: 100%; min-height: 0; max-height: none; aspect-ratio: auto; }
.ow-quick-preview-stage .steel-profile-preview-pair { flex: 1 1 0; height: 100%; min-width: 0; min-height: 0; overflow: hidden; }
.ow-quick-preview-stage .steel-profile-preview-pair > .steel-profile-preview-media { height: 100%; min-height: 0; overflow: hidden; }
.ow-preview-SteelProfileProduct .ow-quick-preview-stage, .ow-preview-SteelCapProduct .ow-quick-preview-stage, .ow-preview-StaldirectProduct .ow-quick-preview-stage { overflow: hidden; }
.ow-quick-preview-stage .profile3d-edge-property-overlay { width: 100% !important; height: 100% !important; }
.ow-interactive-drawing { touch-action: none; cursor: grab; }
.ow-interactive-drawing:active { cursor: grabbing; }
.ow-preview-2d-controls { position: absolute; bottom: 8px; right: 8px; display: flex; gap: 5px; z-index: 2; }
.ow-preview-2d-controls button { min-width: 34px; min-height: 34px; padding: 5px 10px; font-size: 14px; cursor: pointer; }
.ow-preview-SteelCapProduct .ow-quick-preview-stage > div, .ow-preview-StaldirectProduct .ow-quick-preview-stage > div,
.ow-preview-SteelCapProduct .ow-quick-preview-stage > div > div, .ow-preview-StaldirectProduct .ow-quick-preview-stage > div > div { width: 100%; height: 100% !important; }
#owQuickPreviewEmpty { position: absolute; inset: 0; display: grid; place-content: center; margin: 0; text-align: center; }
@media (max-width: 700px) {
    .ow-preview-dialog { width: calc(100vw - 20px); height: calc(100dvh - 24px); padding: 12px; }
    .ow-preview-dialog h2 { font-size: 15px; }
    .ow-quick-preview-stage .steel-profile-preview-pair { grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .ow-editor-spinner { animation-duration: 1.8s; }
    .ow-cart-item-added, .ow-preview-dialog[open], .ow-preview-dialog::backdrop { animation: none; }
    .order-workspace .ow-cart-item.ow-cart-item-added { box-shadow: inset 0 0 0 1000px rgba(143, 214, 95, .18), 0 0 0 4px rgba(143, 214, 95, .14); }
}

.ow-categories::-webkit-scrollbar { display: none; }
