.ov-backdrop{z-index:100;opacity:0;visibility:hidden;background:#0d141e80;transition:opacity .35s,visibility 0s .35s;position:fixed;inset:0}.ov-backdrop.open{opacity:1;visibility:visible;transition:opacity .35s}.ov-close{border:1px solid var(--rule);width:42px;height:42px;color:var(--ink);transition:transform .4s var(--ease),background .2s,border-color .2s;background:0 0;border-radius:50%;flex:none;place-items:center;display:grid}.ov-close:hover{border-color:var(--ink);transform:rotate(90deg)}.drawer{z-index:101;background:var(--paper);width:min(460px,100vw);transition:transform .65s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%)}.drawer.open{transform:none}.drawer-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding:20px 20px 18px 24px;display:flex}.drawer-head h2{font-family:var(--display);letter-spacing:-.015em;text-transform:none;align-items:baseline;gap:10px;font-size:28px;font-weight:600;line-height:1;display:flex}.drawer-count{font-family:var(--mono);letter-spacing:.1em;color:var(--tobacco);background:0 0;border:0;min-width:0;height:auto;padding:0;font-size:12px;font-weight:500}.drawer-count:before{content:"("}.drawer-count:after{content:")"}.drawer-ship{border-bottom:1px solid var(--rule);color:var(--ink-2);padding:12px 24px 14px;font-size:13.5px}.drawer-ship-bar{background:var(--rule);height:2px;margin-top:10px;display:block;overflow:hidden}.drawer-ship-bar i{background:var(--olive);transform-origin:0;height:100%;transition:transform .6s var(--ease);display:block}.drawer-body{overscroll-behavior:contain;flex:1;padding:4px 24px;overflow-y:auto}.drawer-empty{text-align:center;color:var(--ink-2);flex-direction:column;align-items:center;gap:18px;padding:56px 12px;display:flex}.drawer-empty p{font-family:var(--serif);color:var(--ink);font-size:22px;font-style:italic;line-height:1.25}.drawer-empty-art{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 84' fill='none' stroke='%2316202e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M60 26c0-7 4-10 8-10s7 3 7 7c0 5-4 7-7 9-3 2-8 5-8 9'/%3E%3Cpath d='M60 41L8 70c-4 2-3 8 2 8h100c5 0 6-6 2-8L60 41z'/%3E%3Cpath d='M22 78h76' stroke='%238a5a33'/%3E%3C/svg%3E") 50%/contain no-repeat;width:120px;height:84px}.line{border-bottom:1px solid var(--rule);grid-template-columns:78px minmax(0,1fr) auto;align-items:start;gap:14px;padding:18px 0;display:grid}.line:last-child{border-bottom:0}.line-img{aspect-ratio:4/5;background:var(--cream);width:78px;overflow:hidden}.line-img img{object-fit:cover;width:100%;height:100%}.line-info{flex-direction:column;gap:3px;min-width:0;display:flex}.line-info b{font-family:var(--display);font-size:17px;font-weight:600;line-height:1.2}.line-info small{font-family:var(--mono);color:var(--muted);font-size:11.5px}.line-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;display:flex}.line-remove{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;text-underline-offset:3px;color:var(--muted);font-size:10.5px;text-decoration:underline}.line-remove:hover{color:var(--tobacco)}.line-total{font-family:var(--mono);font-size:13.5px}.qty{border:1px solid var(--rule);background:0 0;align-items:center;height:36px;display:inline-flex}.qty button{width:34px;height:100%;font-size:16px;transition:background .2s}.qty button:hover:not(:disabled){background:var(--cream)}.qty button:disabled{opacity:.35}.qty span{text-align:center;min-width:24px;font-family:var(--mono);font-size:13px}.drawer-foot{border-top:1px solid var(--ink);gap:12px;padding:18px 24px 22px;display:grid}.sum-row{justify-content:space-between;align-items:baseline;font-size:14.5px;display:flex}.sum-row b{font-family:var(--display);font-size:22px;font-weight:600}.modal{z-index:101;background:var(--paper);opacity:0;visibility:hidden;clip-path:inset(0 0 100%);width:min(980px,100vw - 32px);max-height:calc(100dvh - 48px);transition:opacity .3s,transform .6s var(--ease),clip-path .6s var(--ease),visibility 0s .6s;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-47%)}.modal.open{opacity:1;visibility:visible;clip-path:inset(0);transition:opacity .3s,transform .6s var(--ease),clip-path .6s var(--ease);transform:translate(-50%,-50%)}.modal-close{z-index:2;background:var(--paper);position:absolute;top:16px;right:16px}.modal-title{font-family:var(--display);letter-spacing:-.02em;text-transform:none;margin-bottom:10px;font-size:clamp(28px,3.4vw,42px);font-weight:600;line-height:1.02}.qv{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);display:grid}.qv-img{background:var(--cream);min-height:0}.qv-img img{object-fit:cover;object-position:50% 20%;width:100%;height:100%;max-height:calc(100dvh - 52px)}.qv-info{max-height:calc(100dvh - 52px);padding:36px 34px 30px;position:relative;overflow-y:auto}.qv-tagline{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--tobacco);background:0 0;border:0;align-items:center;gap:10px;max-width:calc(100% - 56px);margin-bottom:12px;padding:0;font-size:11px;font-weight:500;display:inline-flex;transform:none}.qv-tagline:before{content:"";background:currentColor;width:22px;height:1px}.qv-name{font-family:var(--display);letter-spacing:-.02em;text-transform:none;padding-right:52px;font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.02}.qv-price{font-family:var(--mono);margin-top:10px;font-size:18px}.qv-rating{font-family:var(--mono);color:var(--muted);align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.qv-rating .rs-star .bg{stroke:var(--brass)}.qv-rating .rs-star .fill path{fill:var(--brass);stroke:var(--brass)}.qv-desc{margin-top:16px;font-size:15.5px}.qv-intro{color:var(--ink-2);margin-top:10px;font-size:14.5px}.qv-spec{border-top:1px solid var(--rule);margin:20px 0 0;padding:0;display:grid}.qv-spec-row{border-bottom:1px solid var(--rule);grid-template-columns:120px minmax(0,1fr);align-items:baseline;gap:14px;padding:10px 0;display:grid}.qv-spec dt{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:10.5px;font-weight:500}.qv-spec dd{color:var(--ink-2);margin:0;font-size:14px;line-height:1.5}.qv-opts{gap:14px;margin-top:22px;display:grid}.qv-opt{gap:8px;display:grid}.qv-opt>div{flex-wrap:wrap;gap:6px;display:flex}.qv-chip{border:1px solid var(--rule);border-radius:var(--r);min-width:44px;height:38px;font-family:var(--mono);background:0 0;padding:0 12px;font-size:12px;transition:border-color .2s,background .2s,color .2s}.qv-chip:hover{border-color:var(--ink)}.qv-chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.qv-buy{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.qv-buy .qty{height:50px}.qv-buy .rs-btn{flex:1}.qv-more{margin-top:18px;display:inline-block}.consult{width:min(620px,100vw - 32px)}.consult-inner{border-top:4px solid var(--navy);max-height:calc(100dvh - 52px);padding:36px 34px 30px;overflow-y:auto}.consult-lead{color:var(--ink-2);max-width:48ch;margin-bottom:20px}.form{gap:14px;display:grid}.field{gap:6px;min-width:0;display:grid}.field>span{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--rule);border-bottom-color:var(--ink);border-radius:var(--r);background:var(--paper);outline:none;width:100%;min-height:48px;padding:12px 14px;font-size:16px;transition:border-color .2s,background .2s}.field textarea{resize:vertical;min-height:96px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--tobacco);background:#fff}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-done{border-left:2px solid var(--olive);background:#e5e6d6;padding:14px 16px}.form-error{color:#6d2012;background:#f1e2d9;border-left:2px solid #8c2a1a;padding:10px 14px;font-size:14px}@media (max-width:809px){.qv{grid-template-columns:1fr;overflow-y:auto}.qv-img{aspect-ratio:4/3}.qv-img img{max-height:none}.qv-info{max-height:none;padding:24px 20px;overflow:visible}.qv .modal-close{top:12px;right:12px}.qv-name{padding-right:0}.qv-spec-row{grid-template-columns:1fr;gap:3px}}@media (max-width:560px){.modal{clip-path:none;width:100%;max-height:92dvh;top:auto;bottom:0;left:0;transform:translateY(100%)}.modal.open{transform:none}.consult-inner{max-height:92dvh;padding:28px 20px 24px}.field-row{grid-template-columns:1fr}.drawer-body,.drawer-foot{padding-inline:18px}.drawer-head{padding-inline:18px 14px}}
