/* Claude design adapted to the existing Fast Order 1.8.16 DOM.
   Original structural CSS remains loaded for maps, stock and legacy surface rules. */
#threevg-dfo-overlay{position:fixed!important;inset:0!important;z-index:100000!important;display:flex!important;justify-content:flex-end!important;align-items:stretch!important;padding:0!important;background:rgb(17 24 39 / .48)!important;backdrop-filter:blur(2px)}
#threevg-dfo-overlay[hidden]{display:none!important}
#threevg-dfo-overlay *{box-sizing:border-box}
#threevg-dfo-overlay .threevg-dfo-modal{position:relative!important;inset:auto!important;transform:none!important;display:flex!important;flex-direction:column!important;width:min(100%,32rem)!important;max-width:32rem!important;height:100%!important;max-height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:20px 0 0 20px!important;background:#f9f9fb!important;box-shadow:-12px 0 48px #11182726!important;color:#111827;font:400 15px/1.5 var(--ds-font,system-ui,sans-serif);overflow:hidden!important}
#threevg-dfo-overlay .threevg-dfo-head{position:relative!important;flex:none;padding:24px 60px 20px 24px!important;background:#fff!important;border-bottom:1px solid #e5e7eb!important;border-radius:0!important;text-align:left!important}
#threevg-dfo-overlay .threevg-dfo-head h2{font-size:23px!important;line-height:1.2!important;letter-spacing:-.025em;margin:0 0 6px!important;color:#111827!important}
#threevg-dfo-overlay .threevg-dfo-head p{font-size:13px!important;line-height:1.5!important;margin:0!important;color:#6b7280!important}
#threevg-dfo-overlay .threevg-dfo-close{position:absolute!important;top:16px!important;right:16px!important;width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border:1px solid #e5e7eb!important;border-radius:50%!important;background:#fff!important;color:#111827!important;z-index:2}
#threevg-dfo-overlay .threevg-dfo-body{flex:1 1 auto!important;min-height:0!important;display:block!important;overflow:auto!important;overscroll-behavior:contain;padding:20px!important;background:#f9f9fb!important}
#threevg-dfo-overlay .threevg-dfo-panel{width:100%!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px!important;padding:18px!important;box-shadow:none!important;margin:0 0 16px!important}
#threevg-dfo-overlay .threevg-dfo-panel h3{font-size:17px!important;margin:0 0 14px!important;line-height:1.4!important;color:#111827!important}
#threevg-dfo-overlay .threevg-dfo-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
#threevg-dfo-overlay .threevg-dfo-panel-top h3{margin:0!important}
#threevg-dfo-overlay .threevg-dfo-item{display:grid!important;grid-template-columns:64px minmax(0,1fr) auto!important;align-items:start!important;gap:12px!important;padding:16px 0!important;border:0!important;border-bottom:1px solid #f0f0f3!important;background:none!important;border-radius:0!important}
#threevg-dfo-overlay .threevg-dfo-item img{width:64px!important;height:72px!important;object-fit:contain!important;border-radius:10px!important;background:#f9f9fb!important}
#threevg-dfo-overlay .threevg-dfo-item-main{min-width:0!important}
#threevg-dfo-overlay .threevg-dfo-item-name{font-size:14px!important;font-weight:650!important;line-height:1.4!important;overflow-wrap:anywhere}
#threevg-dfo-overlay .threevg-dfo-item-meta{font-size:12px!important;color:#6b7280!important;margin:4px 0 8px!important}
#threevg-dfo-overlay .threevg-dfo-item-side{min-width:0!important;text-align:right!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important}
#threevg-dfo-overlay .threevg-dfo-price{font-size:13px!important;font-weight:700!important;white-space:normal!important}
#threevg-dfo-overlay .threevg-dfo-qty{display:inline-flex!important;align-items:center!important;border:1px solid #e5e7eb!important;border-radius:9px!important;overflow:hidden;margin-top:8px!important;gap:0!important}
#threevg-dfo-overlay .threevg-dfo-qty button{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;background:#fff!important;border:0!important;border-radius:0!important;padding:0!important;color:#111827!important}
#threevg-dfo-overlay .threevg-dfo-qty strong{min-width:28px;text-align:center;font-size:13px}
#threevg-dfo-overlay .threevg-dfo-total{display:flex!important;justify-content:space-between!important;gap:12px;padding:16px 0 0!important;margin-top:0!important;border:0!important;font-size:17px!important;background:none!important}
#threevg-dfo-overlay .threevg-dfo-total strong{color:#df1b5b!important}
#threevg-dfo-overlay .threevg-dfo-form{display:grid!important;gap:14px!important}
#threevg-dfo-overlay .threevg-dfo-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
#threevg-dfo-overlay label{display:block!important;font-size:13px!important;font-weight:600!important;color:#374151!important;min-width:0!important}
#threevg-dfo-overlay input:not([type=radio]):not([type=checkbox]),#threevg-dfo-overlay select,#threevg-dfo-overlay textarea{display:block!important;width:100%!important;min-width:0!important;min-height:46px!important;margin:6px 0 0!important;padding:11px 12px!important;border:1px solid #d1d5db!important;border-radius:10px!important;background:#fff!important;color:#111827!important;font:400 16px/1.4 system-ui,sans-serif!important;box-shadow:none!important}
#threevg-dfo-overlay textarea{resize:vertical}
#threevg-dfo-overlay :focus-visible{outline:3px solid #df1b5b!important;outline-offset:3px!important}
#threevg-dfo-overlay .threevg-dfo-choice{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
#threevg-dfo-overlay .threevg-dfo-choice label{display:flex!important;align-items:center!important;gap:8px!important;padding:12px!important;min-height:48px!important;border:1px solid #e5e7eb!important;border-radius:10px!important;background:#fff!important;cursor:pointer}
#threevg-dfo-overlay .threevg-dfo-choice label.is-active{border-color:#df1b5b!important;background:#fff1f5!important;color:#a51444!important}
#threevg-dfo-overlay input[type=radio]{accent-color:#df1b5b;width:16px!important;height:16px!important;flex-shrink:0}
#threevg-dfo-overlay .threevg-dfo-delivery-fields{display:grid;gap:12px}
#threevg-dfo-overlay [hidden]{display:none!important}
#threevg-dfo-overlay .threevg-dfo-actions{position:static!important;flex:none!important;width:auto!important;display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:0!important;padding:16px 20px calc(16px + env(safe-area-inset-bottom))!important;border-top:1px solid #e5e7eb!important;background:#fff!important;box-shadow:0 -4px 18px #11182705!important;border-radius:0!important}
#threevg-dfo-overlay .threevg-dfo-primary,#threevg-dfo-overlay .threevg-dfo-dock-confirm{min-height:48px!important;padding:12px 18px!important;border:0!important;border-radius:12px!important;background:#df1b5b!important;color:#fff!important;font-size:15px!important;font-weight:700!important;box-shadow:none!important;flex:1 1 180px!important}
#threevg-dfo-overlay .threevg-dfo-secondary,#threevg-dfo-overlay .threevg-dfo-dock-cart{min-height:44px!important;padding:10px 16px!important;border:1px solid #e5e7eb!important;border-radius:12px!important;background:#fff!important;color:#374151!important;box-shadow:none!important;font-size:14px!important}
#threevg-dfo-overlay .threevg-dfo-note{flex:0 0 auto!important;font-size:12px!important;line-height:1.5!important;color:#6b7280!important;margin:0!important;text-align:center!important}
#threevg-dfo-overlay .threevg-dfo-clear,#threevg-dfo-overlay .threevg-dfo-remove,#threevg-dfo-overlay .threevg-dfo-link{min-height:36px!important;background:transparent!important;color:#a51444!important;border:0!important;padding:4px!important;text-decoration:underline;font-size:12px!important}
#threevg-dfo-overlay .threevg-dfo-locate{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:10px!important;color:#374151!important;min-height:44px!important;padding:10px!important}
#threevg-dfo-overlay .threevg-dfo-pickup-note,#threevg-dfo-overlay .threevg-dfo-saved{border-radius:10px!important;padding:12px!important;background:#f9f9fb!important;color:#374151!important;font-size:13px!important}
#threevg-dfo-overlay .threevg-dfo-saved small{display:block;margin:4px 0}
#threevg-dfo-overlay button:disabled{opacity:.55!important;cursor:wait!important}
#threevg-dfo-floating{border-radius:16px!important;background:#fff!important;color:#111827!important;box-shadow:0 6px 30px #11182726!important;border:1px solid #e5e7eb!important}
body.ds-ui-open #threevg-dfo-floating,body.ds-ui-open #threevg-dfo-dock{display:none!important}
@media(max-width:540px){#threevg-dfo-overlay .threevg-dfo-modal{max-width:100%!important;border-radius:0!important}#threevg-dfo-overlay .threevg-dfo-head{padding:20px 60px 16px 16px!important}#threevg-dfo-overlay .threevg-dfo-body{padding:14px!important}#threevg-dfo-overlay .threevg-dfo-panel{padding:14px!important}#threevg-dfo-overlay .threevg-dfo-grid{grid-template-columns:1fr!important}#threevg-dfo-overlay .threevg-dfo-item{grid-template-columns:52px minmax(0,1fr) auto!important;gap:8px!important}#threevg-dfo-overlay .threevg-dfo-item img{width:52px!important;height:64px!important}#threevg-dfo-overlay .threevg-dfo-actions{padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important}}
@media(prefers-reduced-motion:reduce){#threevg-dfo-overlay *{scroll-behavior:auto!important;transition:none!important}}

/* 1.2.1 — actual 1.8.16 DOM: note is a direct modal child; dock is nested in actions. */
body.threevg-dfo-modal-open{touch-action:auto!important}
#threevg-dfo-overlay{height:100vh!important;height:100dvh!important;bottom:auto!important}
#threevg-dfo-overlay .threevg-dfo-body{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#threevg-dfo-overlay .threevg-dfo-actions{flex:0 0 auto!important;min-width:0!important;max-width:100%!important}
#threevg-dfo-overlay .threevg-dfo-dock{position:static!important;inset:auto!important;transform:none!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr)!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;gap:10px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#threevg-dfo-overlay .threevg-dfo-dock-cart,#threevg-dfo-overlay .threevg-dfo-dock-confirm{width:100%!important;min-width:0!important;max-width:100%!important;min-height:48px!important;flex:none!important;justify-content:center!important;gap:6px!important;padding:10px 8px!important;white-space:normal!important}
#threevg-dfo-overlay .threevg-dfo-dock-confirm{flex-wrap:wrap!important;align-content:center!important}
#threevg-dfo-overlay .threevg-dfo-dock-count{min-width:24px!important;width:auto!important;height:24px!important;padding:0 5px!important;margin-left:0!important;font-size:12px!important;box-shadow:none!important;background:#f3f4f6!important}
#threevg-dfo-overlay .threevg-dfo-dock-confirm-total{min-width:0!important;max-width:100%!important;min-height:0!important;padding:0!important;border-radius:0!important;background:transparent!important;font-size:13px!important;white-space:normal!important;overflow-wrap:anywhere}
#threevg-dfo-overlay .threevg-dfo-note{flex:0 0 auto!important;padding:0 20px 12px!important;max-width:100%!important}
@media(max-width:360px){#threevg-dfo-overlay .threevg-dfo-dock{gap:6px!important}#threevg-dfo-overlay .threevg-dfo-dock-icon{display:none}#threevg-dfo-overlay .threevg-dfo-dock-label,#threevg-dfo-overlay .threevg-dfo-dock-confirm-label{font-size:13px!important}}
