.lpmv{--lpmv-accent:#0d6b4f;--lpmv-height:620px;width:100%;max-width:100%;font-family:inherit;color:#17251e;box-sizing:border-box}.lpmv *{box-sizing:border-box}.lpmv__header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:0 0 18px}.lpmv__eyebrow{display:block;color:var(--lpmv-accent);font-size:10px;letter-spacing:.18em;font-weight:800;margin-bottom:8px}.lpmv__heading h2{font-size:clamp(24px,3vw,36px);line-height:1.15;letter-spacing:-.035em;margin:0;font-weight:750}.lpmv__heading p{font-size:14px;line-height:1.5;color:#68756e;margin:9px 0 0}.lpmv__hint{white-space:nowrap;border:1px solid #e2e9e4;border-radius:999px;padding:10px 13px;font-size:12px;font-weight:650;color:#536158;background:#fff}.lpmv__hint i,.lpmv__footer i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lpmv-accent);margin-right:7px}.lpmv__stage{height:var(--lpmv-height);max-height:82vh;min-height:300px;position:relative;overflow:hidden;border:1px solid #e0e7e1;border-radius:20px;background:#f1f4f1;box-shadow:0 18px 48px #14291b12;cursor:grab;touch-action:none;isolation:isolate;outline:none}.lpmv__stage:focus-visible{outline:3px solid #0d6b4f55}.lpmv__stage.is-dragging{cursor:grabbing}.lpmv__canvas{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.lpmv__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;transform-origin:center;will-change:transform;pointer-events:none}.lpmv__loading{position:absolute;inset:0;display:flex;gap:10px;align-items:center;justify-content:center;background:#f1f4f1;color:#68756e;font-size:13px;z-index:1;pointer-events:none;transition:opacity .2s}.lpmv__loading span{width:16px;height:16px;border:2px solid #d7e0da;border-top-color:var(--lpmv-accent);border-radius:50%;animation:lpmv-spin .7s linear infinite}.lpmv__stage.is-loaded .lpmv__loading{opacity:0;visibility:hidden}@keyframes lpmv-spin{to{transform:rotate(360deg)}}.lpmv__toolbar{position:absolute;z-index:3;top:15px;right:15px;display:flex;align-items:center;gap:4px;padding:6px;background:#ffffffed;border:1px solid #e0e8e2;border-radius:14px;box-shadow:0 8px 25px #14291b1c;backdrop-filter:blur(12px)}.lpmv__control{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:0!important;border-radius:10px!important;background:transparent!important;color:#20372b!important;font-size:23px;line-height:1;cursor:pointer;padding:0!important;box-shadow:none!important;transition:background .18s}.lpmv__control:hover{background:#edf4ef!important;color:var(--lpmv-accent)!important}.lpmv__control:focus-visible{outline:2px solid var(--lpmv-accent)}.lpmv__zoom{min-width:42px;text-align:center;font-size:11px;font-weight:750;color:#526159;font-variant-numeric:tabular-nums}.lpmv__separator{width:1px;height:24px;background:#e4e9e5;margin:0 3px}.lpmv__drag-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap;padding:9px 14px;border-radius:999px;background:#ffffffed;border:1px solid #e1e7e2;box-shadow:0 5px 18px #14291b14;font-size:11px;font-weight:650;color:#526159;pointer-events:none}.lpmv__drag-hint:first-letter{color:var(--lpmv-accent)}.lpmv__footer{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:11px;color:#7a877f}.lpmv__footer span:first-child{font-weight:700;color:#526159}.lpmv-admin-notice{padding:14px 16px;border-left:4px solid #0d6b4f;background:#f1f7f3}.lpmv.is-fullscreen{position:fixed!important;inset:0!important;z-index:999999!important;width:100vw!important;height:100dvh!important;background:#f1f4f1!important;padding:18px!important;display:flex;flex-direction:column}.lpmv.is-fullscreen .lpmv__stage{height:auto;max-height:none;min-height:0;flex:1}.lpmv.is-fullscreen .lpmv__header,.lpmv.is-fullscreen .lpmv__footer{flex:0 0 auto}@media(max-width:767px){.lpmv__header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:13px}.lpmv__heading h2{font-size:25px}.lpmv__heading p{font-size:13px}.lpmv__stage{height:min(var(--lpmv-height),68vh);min-height:340px;border-radius:14px}.lpmv__toolbar{top:9px;right:9px;padding:4px;gap:2px}.lpmv__control{width:34px;height:34px}.lpmv__zoom{min-width:36px;font-size:10px}.lpmv__drag-hint{bottom:9px;font-size:10px;padding:7px 11px}.lpmv__footer{flex-direction:column;gap:6px}.lpmv.is-fullscreen{padding:10px!important}.lpmv.is-fullscreen .lpmv__stage{min-height:0}}@media(prefers-reduced-motion:reduce){.lpmv *{animation:none!important;transition:none!important}}

html.planview-no-scroll{overflow:hidden!important}
.lpmv__toolbar{z-index:30;pointer-events:auto}
.lpmv__control{pointer-events:auto;position:relative;z-index:31;touch-action:manipulation}
.lpmv__stage{touch-action:none;user-select:none;-webkit-user-select:none}
.lpmv__canvas{inset:0;overflow:hidden}
.lpmv__image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center}
.lpmv.is-fullscreen{position:fixed!important;inset:0!important;z-index:999999!important;width:100vw!important;height:100dvh!important;padding:12px!important;display:flex;flex-direction:column;background:#f2f4f1!important}
.lpmv.is-fullscreen .lpmv__stage{flex:1;min-height:0;height:auto;max-height:none}
@media(max-width:767px){
 .lpmv__header{margin-bottom:10px}
 .lpmv__stage{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto;border-radius:12px}
 .lpmv__canvas{position:relative;inset:auto;width:100%;height:auto;min-height:0;display:flex;align-items:center;justify-content:center}
 .lpmv__image{position:absolute;left:50%;top:50%;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;transform:translate(-50%,-50%) scale(1);transform-origin:center center}
 .lpmv__loading{position:absolute;inset:0}
 .lpmv__toolbar{top:8px;right:8px;gap:1px;padding:3px;border-radius:11px}
 .lpmv__control{width:32px;height:32px}
 .lpmv__zoom{min-width:34px}
 .lpmv__drag-hint{bottom:8px}
 .lpmv__footer{margin-top:8px}
 .lpmv.is-fullscreen .lpmv__stage{aspect-ratio:auto;height:auto!important}
}

/* PlanView 1.1.1 — mobile image visibility fix */
@media (max-width: 767px) {
  .lpmv .lpmv__stage {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: var(--planview-image-ratio, 16 / 9) !important;
    overflow: hidden !important;
  }
  .lpmv .lpmv__canvas {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  .lpmv .lpmv__image {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    transform-origin: center center !important;
  }
  .lpmv .lpmv__loading {
    position: absolute !important;
    inset: 0 !important;
  }
  .lpmv.is-fullscreen .lpmv__stage {
    aspect-ratio: auto !important;
    height: auto !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }
}

/* PlanView 1.1.2: hide decorative labels requested by the site owner. */
.lpmv__hint,
.lpmv__footer { display: none !important; }

/* PlanView 1.1.3: compact mobile instruction below the map. */
.lpmv__drag-hint { display: none; }
@media (max-width: 767px) {
  .lpmv__drag-hint {
    display: flex !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: max-content;
    max-width: 100%;
    margin: 7px auto 0 !important;
    padding: 4px 9px !important;
    gap: 5px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    background: transparent !important;
    border: 1px solid #e2e8e3 !important;
    color: #77837c !important;
    white-space: nowrap;
    pointer-events: none;
  }
  .lpmv__drag-hint span {
    font-size: 12px !important;
    line-height: 1 !important;
  }
}

/* PlanView 1.2.0: title alignment options and no visible product branding. */
.lpmv__eyebrow { display: none !important; }
.lpmv[data-title-align="left"] .lpmv__heading h2 { text-align: left; }
.lpmv[data-title-align="center"] .lpmv__heading h2 { text-align: center; }
.lpmv[data-title-align="right"] .lpmv__heading h2 { text-align: right; }
.lpmv[data-subtitle-align="left"] .lpmv__heading p { text-align: left; }
.lpmv[data-subtitle-align="center"] .lpmv__heading p { text-align: center; }
.lpmv[data-subtitle-align="right"] .lpmv__heading p { text-align: right; }
.lpmv[data-title-align="center"] .lpmv__heading,
.lpmv[data-subtitle-align="center"] .lpmv__heading { width: 100%; }

/* PlanView 1.2.1 — context-aware zoom instructions */
.lpmv__hint-mobile { display: none !important; }
.lpmv__hint-desktop { display: inline !important; }
@media (max-width: 767px) {
  .lpmv__hint-desktop { display: none !important; }
  .lpmv__hint-mobile { display: inline !important; }
  .lpmv__drag-hint {
    display: flex !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: max-content;
    max-width: 100%;
    margin: 7px auto 0 !important;
    padding: 4px 9px !important;
    gap: 5px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    background: transparent !important;
    border: 1px solid #e2e8e3 !important;
    color: #77837c !important;
    white-space: nowrap;
    pointer-events: none;
  }
  .lpmv__hint-icon { font-size: 12px !important; line-height: 1 !important; }
}

/* PlanView 1.2.1 — context-aware zoom instructions */
.lpmv__hint-mobile { display: none !important; }
.lpmv__hint-desktop { display: inline !important; }
@media (max-width: 767px) {
  .lpmv__hint-desktop { display: none !important; }
  .lpmv__hint-mobile { display: inline !important; }
  .lpmv__drag-hint {
    display: flex !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: max-content;
    max-width: 100%;
    margin: 7px auto 0 !important;
    padding: 4px 9px !important;
    gap: 5px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    background: transparent !important;
    border: 1px solid #e2e8e3 !important;
    color: #77837c !important;
    white-space: nowrap;
    pointer-events: none;
  }
  .lpmv__hint-icon { font-size: 12px !important; line-height: 1 !important; }
}

/* PlanView 1.2.2: controls are outside the image, compact on mobile. */
.lpmv__toolbar { position:relative !important; inset:auto !important; width:max-content; max-width:100%; margin:10px auto 0 !important; display:flex !important; justify-content:center; box-shadow:none !important; backdrop-filter:none !important; }
.lpmv__drag-hint { margin-top:6px !important; }
@media (max-width:767px) {
 .lpmv__toolbar { margin:8px auto 0 !important; padding:3px !important; gap:1px !important; border-radius:10px !important; }
 .lpmv__control { width:27px !important; height:27px !important; min-width:27px !important; font-size:18px !important; border-radius:7px !important; }
 .lpmv__zoom { min-width:30px !important; font-size:9px !important; }
 .lpmv__separator { height:18px !important; margin:0 2px !important; }
 .lpmv__drag-hint { margin:5px auto 0 !important; font-size:9px !important; padding:3px 7px !important; }
}
.lpmv.is-fullscreen .lpmv__toolbar { flex:0 0 auto; }


/* PlanView 1.2.3 — mobile: hint on the left, controls on the right, both below the plan. */
@media (max-width: 767px) {
  .lpmv .lpmv__toolbar {
    float: right !important;
    display: flex !important;
    width: max-content !important;
    max-width: 48% !important;
    margin: 8px 0 0 8px !important;
    padding: 3px !important;
    gap: 1px !important;
    position: relative !important;
    inset: auto !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px #14291b0d !important;
  }
  .lpmv .lpmv__drag-hint {
    float: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: calc(100% - 155px) !important;
    margin: 8px 0 0 !important;
    padding: 5px 7px !important;
    gap: 4px !important;
    font-size: 9px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    text-align: center !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    background: #fff !important;
  }
  .lpmv .lpmv__hint-icon { flex: 0 0 auto !important; font-size: 12px !important; }
  .lpmv .lpmv__hint-mobile { display: inline !important; }
  .lpmv .lpmv__footer { clear: both !important; }
  .lpmv.is-fullscreen .lpmv__toolbar { flex: 0 0 auto !important; }
}


/* PlanView 1.2.4 — mobile: centered controls below the plan, no pinch notice. */
@media (max-width: 767px) {
  .lpmv .lpmv__toolbar {
    float: none !important;
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 10px auto 0 !important;
    padding: 3px !important;
    gap: 1px !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px #14291b0d !important;
  }
  .lpmv .lpmv__drag-hint { display: none !important; }
  .lpmv .lpmv__footer { clear: both !important; }
  .lpmv.is-fullscreen .lpmv__toolbar { flex: 0 0 auto !important; }
}
