#dfp{position:fixed;inset:0;z-index:100;background:#FEFEFE;color:#111;overflow-y:auto;-webkit-overflow-scrolling:touch;display:none;font-family:'Inter',system-ui,sans-serif}
#dfp.open{display:block;animation:dfpIn .25s ease}
@keyframes dfpIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.dfp-bar{position:sticky;top:0;z-index:2;background:rgba(254,254,254,.94);backdrop-filter:blur(8px);border-bottom:1px solid #EFE9DC;display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
.dfp-back{border:0;background:none;font:500 12px 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:8px 0;color:#111}
.dfp-back:hover{color:#C9A86A}
.dfp-brand{font-family:'Playfair Display',serif;font-size:18px;letter-spacing:.08em}
.dfp-wrap{max-width:1180px;margin:0 auto;padding:24px 20px 64px}
.dfp-crumb{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7A7A7A;margin-bottom:18px}
.dfp-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.dfp-img{background:#F8F6F2;border-radius:16px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.dfp-img img{width:100%;height:100%;object-fit:contain;padding:28px;transition:transform .5s}
.dfp-img:hover img{transform:scale(1.05)}
.dfp-badge{position:absolute;top:16px;left:16px;background:#0F0F0F;color:#fff;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border-radius:999px}
.dfp-stars{color:#C9A86A;font-size:14px;letter-spacing:2px}
.dfp-rev{font-size:12px;color:#7A7A7A;margin-left:8px}
.dfp h1{font-family:'Playfair Display',serif;font-weight:500;font-size:34px;line-height:1.2;margin:10px 0 14px}
.dfp-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.dfp-price b{font-size:32px;letter-spacing:-.01em}
.dfp-price s{color:#7A7A7A;font-size:15px}
.dfp-price em{font-style:normal;color:#B42318;font-weight:600;font-size:13px}
.dfp-stock{margin:12px 0 0;font-size:13px;color:#444;display:flex;align-items:center;gap:8px}
.dfp-stock i{width:8px;height:8px;border-radius:50%;background:#16a34a;display:inline-block}
.dfp-desc{margin:22px 0;font-size:15px;line-height:1.7;color:#333}
.dfp-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}
.dfp-opt{background:#F8F6F2;border-radius:10px;padding:12px 14px}
.dfp-opt small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7A7A7A;margin-bottom:4px}
.dfp-opt span{font-size:14px;font-weight:500}
.dfp-actions{display:grid;gap:10px}
.dfp-btn{height:52px;border-radius:10px;font:600 12px 'Inter',sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border:1px solid #0F0F0F;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:.2s}
.dfp-btn.primary{background:#0F0F0F;color:#fff}
.dfp-btn.primary:hover{background:#C9A86A;border-color:#C9A86A}
.dfp-btn.primary.done{background:#C9A86A;border-color:#C9A86A}
.dfp-btn.wa{background:#25D366;border-color:#25D366;color:#fff}
.dfp-btn.ghost{background:#fff;color:#0F0F0F}
.dfp-btn.ghost:hover{border-color:#C9A86A;color:#C9A86A}
.dfp-note{margin-top:16px;font-size:12px;color:#6B6B6B;line-height:1.8}
.dfp-feat{margin:26px 0 0;padding:0;list-style:none;border-top:1px solid #EFE9DC}
.dfp-feat li{padding:12px 0;border-bottom:1px solid #EFE9DC;font-size:13.5px;display:flex;gap:10px}
.dfp-feat li:before{content:'✓';color:#C9A86A;font-weight:700}
.dfp h2{font-family:'Playfair Display',serif;font-weight:500;font-size:26px;margin:56px 0 20px}
.dfp-rel{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dfp-card{cursor:pointer;border:1px solid #EFE9DC;border-radius:14px;overflow:hidden;background:#fff;transition:.25s}
.dfp-card:hover{box-shadow:0 12px 40px rgba(0,0,0,.10);transform:translateY(-3px)}
.dfp-card div{background:#F8F6F2;aspect-ratio:4/3}
.dfp-card img{width:100%;height:100%;object-fit:contain;padding:14px}
.dfp-card p{margin:0;padding:12px 14px 2px;font-family:'Playfair Display',serif;font-size:14px;line-height:1.3}
.dfp-card span{display:block;padding:2px 14px 14px;font-weight:700;font-size:15px}
body.dfp-lock{overflow:hidden}
/* make product cards look clickable */
h4.serif,img[data-dfp]{cursor:pointer}
h4.serif:hover{color:#A88A52}
@media(max-width:820px){.dfp-grid{grid-template-columns:1fr;gap:22px}.dfp h1{font-size:27px}.dfp-rel{grid-template-columns:repeat(2,1fr)}.dfp-wrap{padding:16px 16px 48px}}
