/* My Home Floor Plans · Scoped product card and private upload controls. */
#mhfp-3d-root{--mhfp3d-navy:#25293b;--mhfp3d-gold:#ffc90d;--mhfp3d-muted:#acb5ca;clear:both;display:block;width:100%;margin:24px 0;font:400 14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#fff;text-align:left;isolation:isolate;box-sizing:border-box;position:relative;z-index:5;pointer-events:auto}
#mhfp-3d-root[hidden],#mhfp-3d-root [hidden],.mhfp3d-modal [hidden]{display:none!important}
#mhfp-3d-root *,#mhfp-3d-root *:before,#mhfp-3d-root *:after,.mhfp3d-modal *,.mhfp3d-modal *:before,.mhfp3d-modal *:after{box-sizing:border-box}
#mhfp-3d-root .mhfp3d-panel{background:#25293b;border:1px solid #42485e;border-radius:20px;overflow:hidden;position:relative;pointer-events:auto;box-shadow:0 10px 35px #10132424}
#mhfp-3d-root .mhfp3d-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 26px;gap:16px;background:linear-gradient(120deg,#2e334a,#25293b)}
#mhfp-3d-root .mhfp3d-eyebrow{color:#ffcf31;font-size:10px;letter-spacing:2px;font-weight:750;margin-bottom:7px;line-height:1.2}
#mhfp-3d-root .mhfp3d-title{font:650 clamp(19px,2vw,27px)/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#fff;margin:0;padding:0;text-transform:none;letter-spacing:-.5px}
#mhfp-3d-root .mhfp3d-heading>.mhfp3d-icon{width:44px;height:44px;flex:0 0 44px;padding:9px;border:1px solid #5c5c54;border-radius:13px;background:#ffc90d12;color:#ffcf31}
.mhfp3d-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;vertical-align:middle}
.mhfp3d-icon svg{display:block;width:100%;height:100%;pointer-events:none}
#mhfp-3d-root .mhfp3d-preview{position:relative;aspect-ratio:16/9;width:100%;min-height:220px;background:#dce6eb;cursor:zoom-in}
#mhfp-3d-root .mhfp3d-preview-host{position:absolute;inset:0;overflow:hidden}
#mhfp-3d-root .mhfp3d-preview-placeholder{display:flex;align-items:center;justify-content:center;gap:12px;height:100%;color:#42556a;font-weight:500;background:linear-gradient(150deg,#d4e4ee,#f4f3ed)}
#mhfp-3d-root .mhfp3d-preview-placeholder>.mhfp3d-icon{height:30px;width:30px;flex-basis:30px}
/* Small self-contained expand button; the stage handles clicks elsewhere. */
#mhfp-3d-root .mhfp3d-preview-open{position:absolute!important;inset:auto 18px 17px auto!important;z-index:12!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;margin:0!important;padding:0!important;border:1px solid #fff!important;border-radius:16px!important;background:#fffdf5f2!important;color:#25293b!important;font:inherit!important;cursor:zoom-in!important;box-shadow:0 4px 22px #25293b26!important;text-shadow:none!important;transform:none!important;transition:background .15s,box-shadow .15s!important;pointer-events:auto!important}
#mhfp-3d-root .mhfp3d-preview-open>span:not(.mhfp3d-icon){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)}
#mhfp-3d-root .mhfp3d-preview-open>.mhfp3d-icon{position:static!important;display:inline-flex!important;width:27px!important;height:27px!important;flex:0 0 27px!important;padding:0!important;margin:0!important;color:#25293b!important;background:transparent!important;border:0!important;transform:none!important;pointer-events:none!important}
#mhfp-3d-root .mhfp3d-preview-open:hover{background:#fff!important;box-shadow:0 5px 24px #25293b3b!important}
#mhfp-3d-root .mhfp3d-preview-open:active{background:#ffdf63!important}
#mhfp-3d-root .mhfp3d-preview-open:focus-visible{outline:3px solid #66b8ff!important;outline-offset:3px!important}
#mhfp-3d-root .mhfp3d-card-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:21px 25px}
#mhfp-3d-root .mhfp3d-card-caption{display:flex;flex-direction:column;gap:3px;min-width:0}
#mhfp-3d-root .mhfp3d-card-caption strong{color:#fff;font-size:15px;font-weight:650}
#mhfp-3d-root .mhfp3d-card-caption span{color:#b5bed2;font-size:12px;line-height:1.5}
#mhfp-3d-root .mhfp3d-button,.mhfp3d-modal .mhfp3d-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 19px;border:1px solid transparent;border-radius:11px;min-height:44px;margin:0;font:650 14px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;text-decoration:none;text-transform:none;letter-spacing:0;cursor:pointer;white-space:nowrap;box-shadow:none;text-shadow:none;transition:background .16s,transform .16s;color:#25293b}
#mhfp-3d-root .mhfp3d-button-gold{background:#ffc90d;color:#25293b;border-color:#ffc90d}
#mhfp-3d-root .mhfp3d-button-gold:hover{background:#ffda4a;border-color:#ffda4a;transform:translateY(-1px)}
#mhfp-3d-root .mhfp3d-button-light,.mhfp3d-modal .mhfp3d-button-light{background:#fff;color:#25293b;border-color:#dbe1eb}
#mhfp-3d-root .mhfp3d-button-light:hover,.mhfp3d-modal .mhfp3d-button-light:hover{background:#eef2f8}
#mhfp-3d-root button:disabled{opacity:.5;cursor:wait;transform:none}
#mhfp-3d-root :is(button,input,select,a):focus-visible,.mhfp3d-modal :is(button,input,select,a):focus-visible{outline:3px solid #66b8ff;outline-offset:3px}
#mhfp-3d-root .mhfp3d-preview-open:focus-visible{outline-offset:-5px}
#mhfp-3d-root .mhfp3d-admin{border-top:1px solid #454b60;background:#202436;padding:19px 24px}
#mhfp-3d-root .mhfp3d-admin-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:13px}
#mhfp-3d-root .mhfp3d-badge{display:inline-flex;align-items:center;gap:6px;color:#ffda6c;background:#ffc90d12;border:1px solid #ffc90d38;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:600;line-height:1.35}
#mhfp-3d-root .mhfp3d-badge>.mhfp3d-icon{width:14px;height:14px;flex-basis:14px}
#mhfp-3d-root .mhfp3d-badge.is-public{color:#a0e7bd;background:#5cbd8214;border-color:#5cbd8244}
#mhfp-3d-root .mhfp3d-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 0;margin:0;background:transparent;border:0;border-radius:4px;color:#e0e5f0;font:600 12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px;box-shadow:none;min-height:30px}
#mhfp-3d-root .mhfp3d-link>.mhfp3d-icon{width:14px;height:14px;flex-basis:14px}
#mhfp-3d-root .mhfp3d-link:hover{color:#ffc90d}
#mhfp-3d-root .mhfp3d-danger{color:#e7a5a5}
#mhfp-3d-root .mhfp3d-publish{padding:12px 14px;background:#2b3044;border:1px solid #434b62;border-radius:10px}
#mhfp-3d-root .mhfp3d-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:#fff;font-size:14px;font-weight:650;margin:0;padding:0}
#mhfp-3d-root .mhfp3d-checkbox-label input{appearance:auto;-webkit-appearance:checkbox;accent-color:#ffc90d;position:static;opacity:1;width:18px;height:18px;min-width:18px;margin:0;display:inline-block;cursor:pointer;clip:auto;clip-path:none}
#mhfp-3d-root .mhfp3d-checkbox-label input:disabled{cursor:not-allowed;opacity:.5}
#mhfp-3d-root .mhfp3d-publish-hint{font:400 12px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#b6c0d3;margin:5px 0 0 28px;padding:0}
#mhfp-3d-root .mhfp3d-file-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;color:#aeb8ce;padding-top:10px}
#mhfp-3d-root .mhfp3d-file-meta>span{overflow-wrap:anywhere}
#mhfp-3d-root .mhfp3d-warning{padding:9px 12px;margin:10px 0 0;background:#ffc90d0c;border-left:2px solid #ffcf31;color:#e9d6a5;font:400 12px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
#mhfp-3d-root .mhfp3d-upload-panel{padding-top:5px}
#mhfp-3d-root .mhfp3d-dropzone{border:1px dashed #78829d;border-radius:12px;padding:25px 15px;display:flex;flex-direction:column;align-items:center;gap:10px;background:#2a3043;text-align:center;transition:border-color .2s,background .2s}
#mhfp-3d-root .mhfp3d-dropzone>.mhfp3d-icon{width:30px;height:30px;flex-basis:30px;color:#ffd646}
#mhfp-3d-root .mhfp3d-dropzone strong{color:#fff;font-size:16px;font-weight:600}
#mhfp-3d-root .mhfp3d-dropzone>span:not(.mhfp3d-icon){color:#bbc6dc;font-size:12px}
#mhfp-3d-root .mhfp3d-dropzone small{color:#a7b3cb;font-size:11px}
#mhfp-3d-root .mhfp3d-dropzone.is-dragover{background:#353b4c;border-color:#ffc90d;box-shadow:inset 0 0 0 1px #ffc90d}
#mhfp-3d-root .mhfp3d-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%)}
#mhfp-3d-root .mhfp3d-upload-help{font-size:11px;line-height:1.6;color:#aebad1;margin:10px 0 0;padding:0}
#mhfp-3d-root .mhfp3d-progress-wrap{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;color:#e4e9f4}
#mhfp-3d-root progress{width:100%;height:7px;appearance:none;border:0;border-radius:10px;overflow:hidden;accent-color:#ffc90d;background:#3d445a}
#mhfp-3d-root progress::-webkit-progress-bar{background:#3d445a;border-radius:10px}
#mhfp-3d-root progress::-webkit-progress-value{background:#ffc90d;border-radius:10px}
#mhfp-3d-root progress::-moz-progress-bar{background:#ffc90d;border-radius:10px}
#mhfp-3d-root .mhfp3d-progress-wrap>.mhfp3d-link{margin-left:auto}
#mhfp-3d-root .mhfp3d-message{padding:12px 16px;margin:0;border-top:1px solid #ffffff16;background:#2d354a;color:#dbe5f8;font-size:12px;line-height:1.55}
#mhfp-3d-root .mhfp3d-message.is-success{background:#1c3a35;color:#bbf2d9}
#mhfp-3d-root .mhfp3d-message.is-error{background:#4b2d35;color:#ffd5d5}
.mhfp3d-modal{position:fixed;inset:0;z-index:2147483600;background:#101420d9;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(8px);font:400 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#25293b;isolation:isolate}
.mhfp3d-modal-dialog{position:relative;display:flex;width:min(1600px,100%);height:min(940px,calc(100dvh - 48px));min-height:280px;overflow:hidden;background:#dbe4e9;border:1px solid #ffffff55;border-radius:19px;box-shadow:0 20px 90px #0006}
.mhfp3d-modal-host{position:absolute;inset:0}
.mhfp3d-modal-close{position:absolute;right:18px;top:18px;z-index:40;display:inline-flex;align-items:center;gap:7px;margin:0;padding:9px 12px;height:40px;border-radius:10px;border:1px solid #fff8;background:#fffedff0;color:#25293b;cursor:pointer;font:600 12px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;box-shadow:0 2px 8px #25314b13;text-transform:none}
.mhfp3d-modal-close:hover{background:#fff}
.mhfp3d-modal-close .mhfp3d-icon{width:17px;height:17px;flex-basis:17px}
.mhfp3d-modal:fullscreen{padding:0;background:#dbe4e9}
.mhfp3d-modal:fullscreen .mhfp3d-modal-dialog{width:100%;height:100%;border:0;border-radius:0}
.mhfp3d-modal-loading,.mhfp3d-load-failed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;height:100%;padding:38px 28px;text-align:center;color:#394860;background:linear-gradient(150deg,#d8e7f0,#f1f1ea)}
.mhfp3d-modal-loading>.mhfp3d-icon,.mhfp3d-load-failed>.mhfp3d-icon{width:36px;height:36px;flex-basis:36px}
.mhfp3d-load-failed strong{font-size:19px;line-height:1.3;color:#25293b}
.mhfp3d-load-failed>span:not(.mhfp3d-icon){max-width:480px;font-size:13px;line-height:1.6;color:#55637b}
@media(max-width:600px){#mhfp-3d-root{margin:19px 0}#mhfp-3d-root .mhfp3d-heading{padding:19px 18px}#mhfp-3d-root .mhfp3d-title{font-size:21px}#mhfp-3d-root .mhfp3d-card-footer{padding:16px 17px;gap:12px}#mhfp-3d-root .mhfp3d-card-caption span{font-size:11px}#mhfp-3d-root .mhfp3d-card-caption strong{font-size:13px}#mhfp-3d-root .mhfp3d-card-footer .mhfp3d-button{font-size:12px;padding:11px 13px}#mhfp-3d-root .mhfp3d-admin{padding:16px}#mhfp-3d-root .mhfp3d-preview{min-height:220px;aspect-ratio:4/3}#mhfp-3d-root .mhfp3d-heading>.mhfp3d-icon{width:36px;height:36px;flex-basis:36px;padding:7px}.mhfp3d-modal{padding:0}.mhfp3d-modal-dialog{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.mhfp3d-modal-close{top:11px;right:10px;padding:8px;width:36px;height:36px;justify-content:center}.mhfp3d-modal-close>span:not(.mhfp3d-icon){display:none}}
@media(prefers-reduced-motion:reduce){#mhfp-3d-root *, .mhfp3d-modal *{transition:none!important;scroll-behavior:auto!important}}


/* v1.7: Native MU product cursor, STABLE at all times. No hover class toggles.
   The MU repair prevents photo hotspots from covering this widget. */
#mhfp-3d-root{--mhfp3d-zoom-cursor:var(--mhfp-zoom-cursor,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Ccircle cx='13' cy='13' r='9' fill='%231b2340' stroke='%23ffc90d' stroke-width='2'/%3E%3Cpath d='M9 13h8M13 9v8m7 13-4-4' stroke='%23ffc90d' stroke-width='2'/%3E%3C/svg%3E") 13 13)}
#mhfp-3d-root .mhfp3d-preview,
#mhfp-3d-root .mhfp3d-preview *,
#mhfp-3d-root .mhfp3d-preview-open,
#mhfp-3d-root .mhfp3d-preview-open *{
  cursor:var(--mhfp3d-zoom-cursor),zoom-in!important;
}
#mhfp-3d-root .mhfp3d-preview-open,
#mhfp-3d-root .mhfp3d-preview-open *{touch-action:manipulation!important}
#mhfp-3d-root .mhfp3d-preview-open::before,
#mhfp-3d-root .mhfp3d-preview-open::after{content:none!important;pointer-events:none!important}
#mhfp-3d-root .mhfp3d-preview-open>*{pointer-events:none!important}
#mhfp-3d-root .mhfp3d-preview-open:focus-visible{outline:3px solid #ffc90d!important;outline-offset:3px!important}
#mhfp-3d-root .mhfp3d-heading{padding:21px 27px;background:linear-gradient(125deg,#25293b,#2d334b)!important;gap:18px}
#mhfp-3d-root .mhfp3d-title{font-size:clamp(21px,2.15vw,30px);line-height:1.18;font-weight:750;color:#ffc90d!important;letter-spacing:-.45px}
#mhfp-3d-root .mhfp3d-home-mark{
  width:54px;height:54px;flex:0 0 54px;display:inline-flex;align-items:center;
  justify-content:center;border-radius:15px;color:#ffc90d;
  background:linear-gradient(145deg,#414456,#2a2f43);border:1px solid #6b6573;
  box-shadow:inset 0 1px 0 #ffffff14,0 5px 12px #10152833;
}
#mhfp-3d-root .mhfp3d-home-mark .mhfp3d-icon{width:34px;height:34px;flex:0 0 34px}
#mhfp-3d-root .mhfp3d-home-mark svg{stroke-width:1.55}
#mhfp-3d-root button.mhfp3d-home-mark{
  appearance:none!important;-webkit-appearance:none!important;
  display:inline-flex!important;padding:0!important;margin:0!important;
  min-width:54px!important;min-height:54px!important;
  cursor:var(--mhfp3d-zoom-cursor),zoom-in!important;
  pointer-events:auto!important;transition:border-color .17s,background-color .17s!important;
}
#mhfp-3d-root button.mhfp3d-home-mark>span:not(.mhfp3d-icon){
  position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;
  clip-path:inset(50%);white-space:nowrap;
}
#mhfp-3d-root button.mhfp3d-home-mark:hover{background:#41485c!important;border-color:#ffc90d!important}
#mhfp-3d-root button.mhfp3d-home-mark:focus-visible{outline:3px solid #ffc90d!important;outline-offset:3px!important}
#mhfp-3d-root button.mhfp3d-home-mark .mhfp3d-icon,#mhfp-3d-root button.mhfp3d-home-mark .mhfp3d-icon *{cursor:inherit!important;pointer-events:none!important}
/* Hide any stale cached footer until all frontend caches expire. */
#mhfp-3d-root .mhfp3d-card-footer,#mhfp-3d-root .mhfp3d-eyebrow{display:none!important}
@media(max-width:600px){
  #mhfp-3d-root .mhfp3d-heading{padding:18px 17px}
  #mhfp-3d-root .mhfp3d-title{font-size:clamp(20px,5vw,24px)}
  #mhfp-3d-root .mhfp3d-home-mark{width:47px;height:47px;flex-basis:47px;border-radius:13px}#mhfp-3d-root button.mhfp3d-home-mark{min-width:47px!important;min-height:47px!important}
  #mhfp-3d-root .mhfp3d-home-mark .mhfp3d-icon{width:30px;height:30px;flex-basis:30px}
}
