/* Native Blender layers supply the paint finish, bevels and cast shadows.
   Flat colour is an opaque safety backing, not the finished wall treatment. */
:root{--dapper-price-wall:#cdc5b8;--dapper-price-ink:#303631;--price-rule:#30363155}
.price-trigger{pointer-events:auto;touch-action:manipulation;position:absolute;left:0;top:0;width:640px;height:480px;transform-origin:0 0;border:0;padding:0;border-radius:0;background-color:transparent;background-size:100% 100%;background-repeat:no-repeat;color:#252925;cursor:pointer}
.price-trigger::before{content:'';position:absolute;inset:calc(-1 * var(--hit-y,0px)) calc(-1 * var(--hit-x,0px));background:transparent}
.price-plaque-label{pointer-events:none;position:absolute;inset:25% 23% 25% 13%;display:flex;align-items:center;justify-content:center;white-space:pre-line;text-align:center;font:500 58px/1.15 Arial,sans-serif}
.price-trigger::after{content:'›';pointer-events:none;position:absolute;right:14%;top:36%;font:400 90px/1 Arial,sans-serif}
.price-trigger[aria-expanded="true"]::after{content:'‹'}
.price-trigger:hover .price-plaque-label{text-decoration:underline;text-underline-offset:10px}
.price-trigger:focus-visible{outline:10px solid #80621a;outline-offset:0}
.price-dialog{position:fixed;inset:0;z-index:30;overflow:hidden;overscroll-behavior:contain}
.price-dialog #priceButtons{position:fixed;overflow:hidden;pointer-events:none;z-index:2}
.price-dialog.sheet #priceButtons{visibility:hidden}
.price-backdrop,.price-writing-viewport{position:absolute;inset:0;pointer-events:none}
.price-dialog #priceCover{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.price-dialog #priceCover polygon{fill:var(--dapper-price-wall);fill-opacity:1;stroke:var(--dapper-price-wall);stroke-width:2;vector-effect:non-scaling-stroke}
.price-surface,.price-board{position:absolute;left:0;top:0;transform-origin:0 0;border:0;border-radius:0;box-shadow:none}
.price-surface{pointer-events:none;background:var(--dapper-price-wall);background-size:100% 100%;background-repeat:no-repeat}
.price-writing-clip{position:absolute;inset:0;pointer-events:none}
.price-writing-clip .price-board{pointer-events:auto}
.price-board{color:var(--dapper-price-ink);display:flex;flex-direction:column;background:transparent;font:24px/1.4 Arial,sans-serif;overflow:hidden}
.price-head{flex:none;position:relative;padding:62px 70px 0;text-align:center}
.price-head h2{font:500 54px/1.12 Georgia,'Times New Roman',serif;text-transform:uppercase;letter-spacing:.025em;margin:0 0 8px}
.price-head .price-subtitle{font:30px/1.2 Georgia,'Times New Roman',serif;margin:0 auto;padding:0 0 28px;max-width:610px;border-bottom:1px solid var(--price-rule)}
.price-head button{position:absolute;right:16px;top:12px;width:64px;height:64px;background:transparent;border:0;color:inherit;font-size:34px;cursor:pointer}
.price-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 70px;scrollbar-color:#68685e transparent;touch-action:pan-y;background:transparent}
.price-body:focus-visible{outline:2px solid #303631;outline-offset:-3px}
.price-summary{text-align:center}
.price-summary .price-summary-total{font:38px/1.25 Georgia,'Times New Roman',serif;margin:27px 0 24px}
.price-summary section{margin:0;padding:24px 0;position:relative}
.price-summary section::before{content:'';display:block;position:absolute;width:180px;height:1px;background:var(--price-rule);top:0;left:50%;transform:translateX(-50%)}
.price-summary h3{font:500 23px/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;margin:0 0 9px}
.price-summary section p{font:25px/1.4 Georgia,'Times New Roman',serif;white-space:pre-line;margin:0}
.price-summary .price-summary-note{font:21px/1.5 Arial,sans-serif;margin:15px 0 0}
.price-foot{position:absolute;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(680px,calc(100% - 16px));padding:8px 16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:0 12px;background:var(--dapper-price-wall);color:var(--dapper-price-ink);border:1px solid #30363130;border-radius:3px;box-sizing:border-box}
.price-foot button{flex:1;min-width:0;min-height:44px;padding:5px 0;background:transparent;border:0;border-radius:0;color:inherit;font:500 14px/1.3 Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.price-foot>span{display:none}
.price-dialog.sheet{background:#12251d45}
.price-dialog.sheet .price-board{left:50%;top:calc(50% - 44px);width:min(680px,calc(100% - 32px))!important;height:min(880px,calc(100dvh - 120px))!important;transform:translate(-50%,-50%)!important;background:var(--dapper-price-wall);font:16px/1.45 Arial,sans-serif}
.sheet .price-head{padding:24px 52px 12px}.sheet .price-head h2{font-size:32px}.sheet .price-head .price-subtitle{font-size:23px;padding-bottom:16px}
.sheet .price-head button{width:44px;height:44px;right:6px;top:6px;font-size:28px}
.sheet .price-body{padding:12px 26px;scrollbar-gutter:stable}
.sheet .price-body h3{font-size:18px;line-height:1.3;margin:0 0 10px}
.sheet .price-body p{margin:8px 0;line-height:1.5}
.price-total{border-bottom:1px solid var(--price-rule);padding-bottom:15px}
.sheet .price-total .price-unconfirmed{font:28px/1.2 Georgia,serif;margin:8px 0 12px}
.price-total dl{font-size:14px;margin:14px 0 0}.price-total dl>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.price-total dd{margin:0;white-space:nowrap;font-weight:600}
.price-scope-note{font-size:14px;padding:10px 0}
.price-section{border-top:1px solid var(--price-rule);padding:18px 0 0;margin-top:16px}.price-section>p{font-size:14px}.price-section ul{padding-left:19px;margin:10px 0}.price-section li{margin:0 0 13px;line-height:1.45}.price-section li strong{font-weight:600}.price-section li span{display:block;font-size:14px;margin-top:4px}
.sheet .price-foot>span{display:block;flex-basis:100%;font:13px/1.4 Arial,sans-serif}
.price-dialog button:focus-visible{outline:3px solid #493c16;outline-offset:2px}
@media(max-width:650px){.price-dialog.sheet .price-board{width:100%!important;height:calc(100dvh - 112px)!important;border:0}.sheet .price-head{padding-top:max(18px,env(safe-area-inset-top))}.sheet .price-body{padding-inline:20px}.price-foot{gap:0 8px;padding-inline:12px}.price-foot button{font-size:13px}}
@media(max-height:520px){.sheet .price-head{padding-block:8px}.sheet .price-head h2{font-size:24px}.sheet .price-head .price-subtitle{font-size:19px;padding-bottom:8px}.sheet .price-foot{padding-block:6px}.sheet .price-foot>span{display:none}}
