/* Dreamery Kitchen Visualizer — scoped to #drm-viz so the WordPress theme cannot leak in or out. */
#drm-viz{--burg:#47161F;--burg2:#5E2233;--gold:#C9A227;--gold2:#E3BE6A;--paper:#F9F6F0;--ink:#2B2624;--muted:#7A746A;--line:#E4DCCB;--ok:#2F6B45;--err:#A3262B;
  max-width:1080px;margin:0 auto;padding:12px 16px 48px;color:var(--ink);font-family:inherit;font-size:16px;line-height:1.5;box-sizing:border-box}
#drm-viz *,#drm-viz *::before,#drm-viz *::after{box-sizing:border-box}
#drm-viz h1,#drm-viz h2,#drm-viz h3{font-family:Georgia,'Times New Roman',serif;color:var(--burg);font-weight:normal;margin:0 0 10px;line-height:1.2}
#drm-viz h1{font-size:clamp(28px,4.4vw,42px)}
#drm-viz h2{font-size:clamp(22px,3vw,30px)}
#drm-viz h3{font-size:19px}
#drm-viz p{margin:0 0 12px}
#drm-viz .dv-sub{color:var(--muted);font-size:17px;max-width:680px}
#drm-viz .dv-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 1px 2px rgba(43,38,36,.04)}
#drm-viz .dv-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start;padding:8px 0 18px}
#drm-viz .dv-hero>img{width:100%;border-radius:14px;display:block;aspect-ratio:4/3;object-fit:cover}
/* before/after showcase on the intro (same look as the slider on /cabinet-refacing/) */
#drm-viz .dv-show{margin:0}
#drm-viz .dv-show-stage{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#E9E2D8;box-shadow:0 18px 40px rgba(43,38,36,.16);touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none}
#drm-viz .dv-show-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;transition:opacity .25s}
#drm-viz .dv-show.is-loading .dv-show-stage img{opacity:.6}
#drm-viz .dv-show-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--p,50%))}
#drm-viz .dv-show-line{position:absolute;top:0;bottom:0;left:var(--p,50%);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.25);pointer-events:none}
#drm-viz .dv-show-line::after{content:"\2194";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;color:var(--burg);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.25)}
#drm-viz .dv-show.is-hint .dv-show-after{transition:clip-path 1s cubic-bezier(.4,0,.2,1)}
#drm-viz .dv-show.is-hint .dv-show-line{transition:left 1s cubic-bezier(.4,0,.2,1)}
#drm-viz .dv-show-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;-webkit-appearance:none;appearance:none;pointer-events:none}
#drm-viz .dv-show-stage:focus-within{outline:3px solid var(--gold);outline-offset:3px}
#drm-viz .dv-show-tag{position:absolute;top:12px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:rgba(31,26,27,.72);color:#fff;pointer-events:none}
#drm-viz .dv-show-tag{transition:opacity .2s}
#drm-viz .dv-show.hide-b .dv-show-tag.b,#drm-viz .dv-show.hide-a .dv-show-tag.a{opacity:0}
#drm-viz .dv-show-tag.b{left:12px}
#drm-viz .dv-show-tag.a{right:12px;background:var(--burg);color:var(--gold2)}
#drm-viz .dv-show-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin-top:12px}
#drm-viz .dv-show-thumb{display:flex;flex-direction:column;gap:5px;padding:4px 4px 6px;border:2px solid transparent;border-radius:10px;background:#fff;cursor:pointer;font:inherit;font-size:12px;font-weight:600;line-height:1.25;color:var(--ink);text-align:center;box-shadow:0 2px 10px rgba(43,38,36,.07)}
#drm-viz .dv-show-thumb img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:7px;display:block}
#drm-viz .dv-show-thumb:hover{border-color:var(--line)}
#drm-viz .dv-show-thumb[aria-pressed="true"]{border-color:var(--burg);color:var(--burg)}
#drm-viz .dv-show-thumb:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
#drm-viz .dv-show-say{margin:10px 0 0;font-size:15px;font-weight:600;color:var(--ink)}
#drm-viz .dv-show-cap{margin:4px 0 0;font-size:13px;color:var(--muted)}
#drm-viz .dv-example{max-width:880px;margin:36px auto 8px;padding-top:28px;border-top:1px solid var(--line)}
#drm-viz .dv-example h2{margin:0 0 6px}
#drm-viz .dv-example .dv-sub{margin:0 0 16px}
#drm-viz .dv-example .dv-show-pick{grid-template-columns:repeat(5,minmax(0,1fr))}
#drm-viz .dv-badges{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px;padding:0;list-style:none}
#drm-viz .dv-badges li{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:14px}
#drm-viz .dv-badges li::before{content:'✓ ';color:var(--ok);font-weight:700}
#drm-viz .dv-zip{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
#drm-viz input[type=text],#drm-viz input[type=email],#drm-viz input[type=tel]{font:inherit;font-size:17px;padding:12px 14px;border:1px solid #cfc6b4;border-radius:10px;background:#fff;color:var(--ink);min-width:0;width:100%}
#drm-viz .dv-zip input{max-width:180px;letter-spacing:2px}
#drm-viz input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
#drm-viz .dv-btn{font:inherit;font-size:17px;border:0;border-radius:10px;padding:12px 22px;background:var(--burg);color:var(--gold2);cursor:pointer;letter-spacing:.2px;display:inline-flex;align-items:center;gap:8px;text-decoration:none;justify-content:center}
#drm-viz .dv-btn:hover{background:var(--burg2)}
#drm-viz .dv-btn[disabled]{opacity:.45;cursor:not-allowed}
#drm-viz .dv-btn.dv-ghost{background:transparent;color:var(--burg);border:1px solid var(--burg)}
#drm-viz .dv-btn.dv-ghost:hover{background:var(--paper)}
#drm-viz .dv-msg{margin-top:10px;font-size:15px}
#drm-viz .dv-msg.err{color:var(--err)}
#drm-viz .dv-msg a,#drm-viz .dv-sub a,#drm-viz .dv-note a,#drm-viz .dv-prog a{color:var(--burg);text-decoration:underline;text-underline-offset:2px}
#drm-viz .dv-steps{display:flex;gap:6px;margin:6px 0 18px;padding:0;list-style:none;flex-wrap:wrap}
#drm-viz .dv-steps li{flex:1;min-width:90px;font-size:13px;color:var(--muted);border-top:3px solid var(--line);padding-top:6px}
#drm-viz .dv-steps li.on{color:var(--burg);border-color:var(--gold)}
#drm-viz .dv-steps li.done{color:var(--ink);border-color:var(--burg)}
#drm-viz .dv-nav{display:flex;justify-content:space-between;gap:10px;margin-top:20px;padding:14px 0 6px}
#drm-viz .dv-nav.dv-fixed{position:fixed;z-index:9990;margin:0;padding:10px 16px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(43,38,36,.12)}
#drm-viz .dv-tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:14px 0;padding:0;list-style:none}
#drm-viz .dv-tips li{background:var(--paper);border-radius:10px;padding:10px 12px;font-size:14.5px}
#drm-viz .dv-tips b{display:block;color:var(--burg);font-weight:600;margin-bottom:2px}
#drm-viz .dv-drop{border:2px dashed #cdbf9f;border-radius:14px;padding:30px 16px;text-align:center;background:var(--paper);cursor:pointer;transition:border-color .15s}
#drm-viz .dv-drop.over{border-color:var(--burg)}
#drm-viz .dv-drop .big{font-size:18px;color:var(--burg)}
#drm-viz .dv-preview{position:relative;margin-top:14px}
#drm-viz .dv-preview img{width:100%;max-height:520px;object-fit:contain;border-radius:12px;background:#f3efe7;display:block}
#drm-viz .dv-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}
#drm-viz .dv-chip{font:inherit;font-size:14px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;color:var(--ink)}
#drm-viz .dv-chip.on{background:var(--burg);color:#fff;border-color:var(--burg)}
#drm-viz .dv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}
#drm-viz .dv-item{position:relative;border:2px solid transparent;border-radius:12px;background:#fff;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit;overflow:hidden;box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}
#drm-viz .dv-item:focus-visible{outline:2px solid var(--gold)}
#drm-viz .dv-item .sw{display:block;width:100%;aspect-ratio:1/1;background-size:cover;background-position:center}
#drm-viz .dv-item .nm{display:block;padding:7px 8px 8px;font-size:13.5px;line-height:1.25}
#drm-viz .dv-item .nm small{display:block;color:var(--muted);font-size:12px}
#drm-viz .dv-item.on{border-color:var(--burg);box-shadow:0 0 0 1px var(--burg)}
#drm-viz .dv-item.on::after{content:'✓';position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:var(--burg);color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center}
#drm-viz .dv-item.dv-keep .sw{display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--burg);font-family:Georgia,serif;font-size:15px;text-align:center;padding:10px}
#drm-viz .dv-item[disabled]{opacity:.4;cursor:not-allowed}
#drm-viz .dv-count{font-size:15px;color:var(--muted)}
#drm-viz .dv-styles .dv-chip{font-size:15px;padding:8px 14px}
#drm-viz .dv-gola{background:var(--paper);border-radius:10px;padding:10px 12px;margin:4px 0 12px;font-size:14.5px;color:var(--ink)}
#drm-viz .dv-gola b{color:var(--burg);margin-right:4px}
#drm-viz .dv-gola small{display:block;color:var(--muted);font-size:13px}
#drm-viz .dv-count b{color:var(--burg)}
#drm-viz .dv-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#drm-viz .dv-form label{font-size:14px;color:var(--muted);display:block}
#drm-viz .dv-form .full{grid-column:1/-1}
#drm-viz .dv-consent,#drm-viz .dv-form label.dv-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted)}
#drm-viz .dv-consent input{margin-top:3px;width:18px;height:18px;flex:none}
#drm-viz .dv-summary{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
#drm-viz .dv-summary span{display:inline-flex;align-items:center;gap:6px;background:var(--paper);border-radius:999px;padding:4px 10px 4px 4px;font-size:13.5px}
#drm-viz .dv-summary i{width:20px;height:20px;border-radius:50%;display:inline-block;background-size:cover;border:1px solid rgba(0,0,0,.1)}
#drm-viz .dv-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
#drm-viz .dv-prog{max-width:640px;margin:0 auto;text-align:center}
#drm-viz .dv-bar{height:10px;background:var(--paper);border-radius:999px;overflow:hidden;margin:18px 0 10px;border:1px solid var(--line)}
#drm-viz .dv-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--burg),var(--gold));transition:width .8s ease}
#drm-viz .dv-stagelist{list-style:none;padding:0;margin:16px auto;text-align:left;max-width:420px}
#drm-viz .dv-stagelist li{padding:6px 0 6px 30px;position:relative;color:var(--muted)}
#drm-viz .dv-stagelist li::before{content:'';position:absolute;left:4px;top:11px;width:12px;height:12px;border-radius:50%;border:2px solid var(--line)}
#drm-viz .dv-stagelist li.on{color:var(--ink)}
#drm-viz .dv-stagelist li.on::before{border-color:var(--gold);animation:dvp 1s infinite alternate}
#drm-viz .dv-stagelist li.done{color:var(--ink)}
#drm-viz .dv-stagelist li.done::before{background:var(--burg);border-color:var(--burg)}
@keyframes dvp{to{box-shadow:0 0 0 5px rgba(201,162,39,.25)}}
#drm-viz .dv-results{display:grid;grid-template-columns:1fr;gap:26px}
#drm-viz .dv-res h3{margin-bottom:6px}
#drm-viz .dv-res .meta{color:var(--muted);font-size:14px;margin-bottom:8px}
#drm-viz .dv-ba{position:relative;overflow:hidden;border-radius:12px;user-select:none;touch-action:pan-y;background:#eee;cursor:ew-resize}
#drm-viz .dv-ba:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
#drm-viz h1:focus,#drm-viz h2:focus{outline:none}
#drm-viz .dv-ba img{display:block;width:100%;height:auto;pointer-events:none}
#drm-viz .dv-ba .after{position:absolute;inset:0;clip-path:inset(0 0 0 50%)}
#drm-viz .dv-ba .after img{height:100%;object-fit:cover}
#drm-viz .dv-ba .handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;box-shadow:0 0 6px rgba(0,0,0,.4)}
#drm-viz .dv-ba .handle::after{content:'⟷';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;color:var(--burg);display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 2px 8px rgba(0,0,0,.3)}
#drm-viz .dv-ba .lab{position:absolute;top:10px;padding:3px 10px;background:rgba(71,22,31,.85);color:var(--gold2);font-size:12px;letter-spacing:1px;border-radius:4px}
#drm-viz .dv-ba .lab.l{left:10px}#drm-viz .dv-ba .lab.r{right:10px}
#drm-viz .dv-cta{background:var(--burg);color:#fff;border-radius:14px;padding:24px;margin-top:28px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
#drm-viz .dv-cta h3{color:var(--gold2);margin:0 0 4px}
#drm-viz .dv-cta p{margin:0;color:#f2e9e4}
#drm-viz .dv-cta .dv-btn{background:var(--gold);color:var(--burg)}
#drm-viz .dv-cta .dv-btn.dv-ghost{background:transparent;color:#fff;border-color:#fff}
#drm-viz .dv-note{font-size:13px;color:var(--muted);margin-top:14px}
#drm-viz .dv-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media (max-width:760px){
  #drm-viz .dv-hero{grid-template-columns:1fr}
  #drm-viz .dv-hero>img{aspect-ratio:16/10}      /* after the ZIP box: the first action stays above the fold */
  #drm-viz .dv-form{grid-template-columns:1fr}
  #drm-viz .dv-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px}
  #drm-viz .dv-card{padding:16px}
  #drm-viz .dv-steps li{min-width:0;font-size:0;border-top-width:4px}
}
