/* All rules belong exclusively to the new controls and panel. */
:is(#dp-properties,#dp-card-layer) .dpc-shell>button.dpfv-heart,
#pf-gallery .pf-main-photo>button.dpfv-heart{
 position:absolute;inset:12px 12px auto auto;z-index:6;display:flex;align-items:center;justify-content:center;
 width:30px;height:30px;min-height:30px;margin:0;padding:6px;border:1px solid #27406020;border-radius:50%;
 background:#fffffff0;color:#274060;box-shadow:0 2px 7px #09263d20;cursor:pointer;line-height:1;transform:none;
}
.dpfv-heart::after{content:'';position:absolute;inset:-7px}
:is(#dp-properties,#dp-card-layer) .dpc-shell>button.dpfv-heart svg,
#pf-gallery .pf-main-photo>button.dpfv-heart svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
:is(#dp-properties,#dp-card-layer) .dpc-shell>button.dpfv-heart[aria-pressed=true],
#pf-gallery .pf-main-photo>button.dpfv-heart[aria-pressed=true]{color:#CD9F50}
:is(#dp-properties,#dp-card-layer) .dpc-shell>button.dpfv-heart[aria-pressed=true] svg,
#pf-gallery .pf-main-photo>button.dpfv-heart[aria-pressed=true] svg{fill:#CD9F50}
.dpfv-heart:focus-visible{outline:2px solid #CD9F50;outline-offset:4px}
#dpfv-float{position:fixed;right:20px;top:var(--dpfv-float-top,48%);z-index:1150;display:flex;align-items:center;justify-content:center;width:46px;height:46px;min-height:46px;padding:11px;border:1px solid #ffffff66;border-radius:50%;background:#274060;color:#fff;box-shadow:0 4px 16px #09263d25;cursor:pointer}
#dpfv-float[hidden]{display:none}
#dpfv-float svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}
#dpfv-float span{position:absolute;right:-4px;top:-5px;min-width:20px;height:20px;display:grid;place-items:center;border-radius:12px;background:#CD9F50;color:#17364d;font:700 10px/1 Arial,sans-serif;padding:0 4px;border:2px solid #fff;box-sizing:border-box}
#dpfv-panel{position:fixed;inset:0 0 0 auto;margin:0;width:400px;max-width:100vw;height:100dvh;max-height:100dvh;box-sizing:border-box;padding:0;border:0;border-left:1px solid #dce3eb;background:#fff;color:#274060;overflow:hidden;font:400 13px/1.5 Montserrat,Arial,sans-serif;box-shadow:-8px 0 32px #09263d20}
#dpfv-panel:not([open]){display:none}
#dpfv-panel[open]{display:flex;flex-direction:column;animation:dpfv-enter .25s ease-out}
#dpfv-panel::backdrop{background:#09263d44}
#dpfv-panel,#dpfv-panel *{box-sizing:border-box}
#dpfv-panel button,#dpfv-panel a{font:inherit}
#dpfv-panel button{cursor:pointer}
#dpfv-panel header{position:relative;flex:none;padding:23px 24px 17px;border-bottom:1px solid #e8edf1;background:#fff}
#dpfv-panel h2{display:flex;align-items:center;gap:11px;margin:0 38px 8px 0;color:#274060;font:600 22px/1.3 Montserrat,Arial,sans-serif}
#dpfv-panel h2 svg{width:27px;height:27px;stroke:#CD9F50;fill:none;stroke-width:1.6;flex:none}
#dpfv-count{margin:0;color:#617184;font-size:12px}
#dpfv-close{position:absolute;right:12px;top:14px;width:44px;height:44px;padding:10px;border:0;background:transparent;color:#274060;font-size:28px;line-height:1}
#dpfv-list{list-style:none;margin:0;padding:0 24px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#bdc8d3 transparent}
#dpfv-list li{position:relative;padding:17px 22px 17px 0;border-bottom:1px solid #e8edf1;min-width:0}
#dpfv-list a{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;text-decoration:none;color:#274060;min-width:0}
#dpfv-list img{display:block;width:100px;height:112px;object-fit:cover;border-radius:5px;background:#f1f3f5}
#dpfv-list a.dpfv-no-photo{grid-template-columns:minmax(0,1fr)}
#dpfv-list h3{margin:0 0 5px;font:600 12px/1.45 Montserrat,Arial,sans-serif;color:#274060;overflow-wrap:anywhere}
#dpfv-list .dpfv-location{margin:0 0 7px;color:#617184;font-size:11px;overflow-wrap:anywhere}
#dpfv-list .dpfv-features{display:flex;flex-wrap:wrap;gap:5px 10px;margin:0 0 8px;color:#29445C;font-size:10px}
#dpfv-list .dpfv-features span{display:inline-flex;align-items:center;gap:4px}
#dpfv-list .dpfv-features svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}
#dpfv-list .dpfv-price{display:block;color:#274060;font-size:13px;font-weight:700;overflow-wrap:anywhere}
#dpfv-list .dpfv-reference{display:block;margin-top:5px;font-size:10px;color:#617184}
#dpfv-list .dpfv-remove{position:absolute;right:-10px;top:10px;width:36px;height:36px;padding:0;border:0;background:transparent;color:#617184;font-size:23px;line-height:1}
#dpfv-empty{margin:0;padding:35px 24px;color:#617184;font-size:13px}
#dpfv-panel footer{flex:none;max-height:44dvh;overflow-y:auto;overscroll-behavior:contain;padding:18px 24px 22px;background:#fff;border-top:1px solid #e8edf1}
#dpfv-panel .dpfv-wa{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:12px 13px;border:1px solid #bc9147;border-radius:7px;background:#CD9F50;color:#17364d;text-align:center;text-decoration:none;font-weight:600;font-size:11px;transition:background .2s,box-shadow .2s}
#dpfv-panel .dpfv-wa svg{width:20px;height:20px;fill:currentColor;flex:none}
#dpfv-panel .dpfv-wa[aria-disabled=true]{background:#edf0f3;border-color:#dce3eb;color:#617184}
#dpfv-clear{width:100%;min-height:44px;margin-top:10px;padding:10px;border:1px solid #e3e8ed;border-radius:7px;background:#f3f5f7;color:#29445C;font-size:11px}
#dpfv-confirm{margin-top:12px;padding:12px;background:#f7f4ed;border-radius:7px;color:#274060}
#dpfv-confirm p{margin:0 0 10px}
#dpfv-confirm button{min-height:40px;margin-right:8px;padding:8px 12px;border:1px solid #274060;border-radius:6px;background:#fff;color:#274060}
#dpfv-chunks p,#dpfv-wa-note{font-size:11px;line-height:1.5;color:#617184;margin:10px 0}
#dpfv-chunks a{margin-top:8px}
#dpfv-panel [hidden]{display:none!important}
#dpfv-panel :is(button,a):focus-visible,#dpfv-float:focus-visible{outline:2px solid #CD9F50;outline-offset:3px}
#dpfv-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:2147483647;width:max-content;max-width:calc(100vw - 40px);padding:11px 18px;border:1px solid #CD9F5066;border-radius:8px;background:#274060;color:#fff;font:400 12px/1.5 Montserrat,Arial,sans-serif;box-shadow:0 4px 16px #09263d20;pointer-events:none;text-align:center}
#dpfv-toast:empty{display:none}
@keyframes dpfv-enter{from{translate:18px 0;opacity:.7}to{translate:0;opacity:1}}
@media(max-width:599px){#dpfv-float{right:13px;width:44px;height:44px}#dpfv-panel{width:min(400px,100vw)}#dpfv-panel header{padding:20px 20px 15px}#dpfv-list{padding-inline:20px}#dpfv-panel footer{padding:15px 20px max(18px,env(safe-area-inset-bottom))}#dpfv-list a{grid-template-columns:88px minmax(0,1fr);gap:10px}#dpfv-list img{width:88px;height:108px}}
@media(prefers-reduced-motion:reduce){#dpfv-panel[open]{animation:none}#dpfv-panel .dpfv-wa{transition:none}}

#dpfv-panel #dpfv-close{font-size:26px;line-height:1}
