/* WMP Interactive Rooms 2.0 — six layouts; all classes isolated to the widget. */
.wmp-ir{--wmp-bg:#079bd0;--wmp-pin:#086caa;--wmp-pin-active:#034d81;--wmp-pin-text:#fff;--wmp-card:#fff;--wmp-ink:#152d43;--wmp-accent:#009ece;--wmp-muted:#607184;--wmp-shade:rgba(0,52,99,.2);--wmp-intro:#fff;position:relative;isolation:isolate;width:100%;padding:58px 18px 66px;overflow:hidden;color:var(--wmp-intro);background:radial-gradient(ellipse at 8% 10%,rgba(255,255,255,.17),transparent 42%),radial-gradient(ellipse at 85% 100%,rgba(0,41,91,.2),transparent 55%),var(--wmp-bg);font-family:inherit}
.wmp-ir,.wmp-ir *{box-sizing:border-box}
.wmp-ir button{font-family:inherit;cursor:pointer}
.wmp-ir [hidden]{display:none!important}
.wmp-ir--theme-light{--wmp-bg:#eef5f8;--wmp-pin:#116895;--wmp-pin-active:#06446d;--wmp-pin-text:#fff;--wmp-card:#fff;--wmp-ink:#1b3040;--wmp-accent:#087aa5;--wmp-muted:#5e7280;--wmp-intro:#173e56;--wmp-shade:rgba(12,57,79,.14)}
.wmp-ir--theme-mint{--wmp-bg:#def3ee;--wmp-pin:#08786c;--wmp-pin-active:#07584f;--wmp-pin-text:#fff;--wmp-card:#fff;--wmp-ink:#163b38;--wmp-accent:#088f80;--wmp-muted:#537a73;--wmp-intro:#0b5148;--wmp-shade:rgba(9,71,66,.15)}
.wmp-ir--theme-graphite{--wmp-bg:#132530;--wmp-pin:#155d83;--wmp-pin-active:#00a7dc;--wmp-pin-text:#fff;--wmp-card:#243541;--wmp-ink:#f5fafc;--wmp-accent:#46d2f3;--wmp-muted:#b5c8d2;--wmp-intro:#fff;--wmp-shade:rgba(0,0,0,.34)}
.wmp-ir__inner{width:100%;max-width:1230px;margin:auto}
.wmp-ir__intro{text-align:center;max-width:840px;margin:0 auto 25px}
.wmp-ir__eyebrow{margin:0 0 8px!important;font-size:12px;letter-spacing:.20em;font-weight:850;text-transform:uppercase;color:var(--wmp-intro);opacity:.87}
.wmp-ir__title{margin:0 0 12px!important;color:var(--wmp-intro)!important;font-size:clamp(25px,3.4vw,43px);line-height:1.14;font-weight:850;letter-spacing:-.025em}
.wmp-ir__description{color:var(--wmp-intro);opacity:.9;font-size:15px;line-height:1.65;margin:0 auto!important;max-width:720px}
.wmp-ir__visual{width:100%;max-width:1050px;margin-inline:auto;min-width:0}
.wmp-ir__house-stage{width:100%;position:relative;isolation:isolate}
.wmp-ir__house{width:100%;height:auto;display:block;border:0;max-width:none!important;filter:drop-shadow(0 20px 20px var(--wmp-shade));user-select:none;pointer-events:none}
.wmp-ir__pins,.wmp-ir__float-layer{position:absolute;inset:0;pointer-events:none}
.wmp-ir__pins{z-index:3}.wmp-ir__float-layer{z-index:5}
.wmp-ir__pin{position:absolute;pointer-events:auto;left:var(--wmp-x);top:var(--wmp-y);transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;max-width:180px;padding:8px 13px 8px 9px;border-radius:10px;border:1px solid rgba(255,255,255,.55);background:linear-gradient(160deg,var(--wmp-pin),var(--wmp-pin-active));color:var(--wmp-pin-text);box-shadow:0 6px 17px var(--wmp-shade),inset 0 1px rgba(255,255,255,.26);font-size:11px;text-transform:uppercase;letter-spacing:.02em;font-weight:800;white-space:normal;text-align:center;line-height:1.2;transition:filter .2s,box-shadow .2s}
.wmp-ir__pin::after{content:"";position:absolute;bottom:-5px;left:calc(50% - 6px);width:11px;height:11px;background:var(--wmp-pin-active);transform:rotate(45deg);z-index:-1;border-radius:2px}
.wmp-ir__pin:hover,.wmp-ir__pin.is-active{filter:brightness(1.12);box-shadow:0 8px 23px rgba(2,29,49,.34),inset 0 1px rgba(255,255,255,.35)}
.wmp-ir__pin-icon,.wmp-ir__room-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.wmp-ir__pin-icon svg{width:19px;height:19px}.wmp-ir__pin-icon i{font-size:18px}.wmp-ir__pin-label{flex:0 1 auto}
.wmp-ir button:focus-visible{outline:3px solid #72dbff;outline-offset:3px}
.wmp-ir__content-shell{margin:16px auto 0;max-width:1050px;min-width:0}
.wmp-ir__room-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:0 0 15px}
.wmp-ir__room-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;min-height:45px;border-radius:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.40);color:var(--wmp-intro);font-size:13px;font-weight:700;line-height:1.3;transition:.18s ease}
.wmp-ir__room-button:hover,.wmp-ir__room-button.is-active{background:var(--wmp-card);color:var(--wmp-accent);box-shadow:0 6px 18px var(--wmp-shade)}
.wmp-ir__room-icon svg{width:21px;height:21px}.wmp-ir__room-icon i{font-size:20px}
.wmp-ir__panel{display:grid;grid-template-columns:minmax(0,.79fr) minmax(0,1.21fr);width:100%;min-width:0;overflow:hidden;position:relative;border-radius:20px;background:var(--wmp-card);color:var(--wmp-ink);box-shadow:0 16px 40px var(--wmp-shade)}
.wmp-ir__panel-media{position:relative;min-height:255px;overflow:hidden;background:linear-gradient(145deg,#0e81b5,#8ae0f2)}
.wmp-ir__panel-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wmp-ir__placeholder{height:100%;min-height:255px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:18px;color:#fff;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.35),transparent 55%),linear-gradient(145deg,var(--wmp-pin),var(--wmp-accent))}
.wmp-ir__placeholder-icon{display:grid;place-items:center;width:87px;height:87px;border:1px solid rgba(255,255,255,.48);border-radius:25px;transform:rotate(-6deg);background:rgba(255,255,255,.15);box-shadow:0 10px 25px rgba(0,0,0,.08)}
.wmp-ir__placeholder-icon svg{width:53px;height:53px}.wmp-ir__placeholder-icon i{font-size:45px}
.wmp-ir__placeholder-label{font-size:16px;font-weight:800;text-align:center}
.wmp-ir__panel-body{min-width:0;padding:26px clamp(18px,3.3vw,38px) 30px}
.wmp-ir__panel-eyebrow{display:block;color:var(--wmp-accent);letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:850;margin-bottom:9px}
.wmp-ir__panel-heading{margin:0 0 12px!important;font-size:clamp(21px,2.6vw,30px);line-height:1.22;font-weight:850;color:var(--wmp-ink)!important}
.wmp-ir__panel-desc{margin:0 0 17px!important;color:var(--wmp-muted);font-size:14px;line-height:1.6}
.wmp-ir__checklist{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 15px}
.wmp-ir__checklist li{list-style:none!important;margin:0!important;padding:0!important;display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.47;color:var(--wmp-ink)}
.wmp-ir__checklist li::before{display:none!important;content:none!important}
.wmp-ir__check{display:grid;place-items:center;width:19px;height:19px;flex:0 0 19px;border-radius:50%;font-size:13px;font-weight:850;color:var(--wmp-accent);background:color-mix(in srgb,var(--wmp-accent) 12%,transparent);line-height:1;margin-top:0}
/* Floating layout — content entirely inside the house area on desktop. */
.wmp-ir--layout-floating .wmp-ir__content-shell{display:none}
.wmp-ir__float-panel{position:absolute;top:0;left:0;max-width:calc(100% - 10px);width:410px;pointer-events:auto;filter:drop-shadow(0 16px 24px rgba(1,36,55,.30))}
.wmp-ir__float-panel .wmp-ir__panel{display:flex;flex-direction:column;max-height:min(480px,76vh);border:1px solid rgba(255,255,255,.75)}
.wmp-ir__float-panel .wmp-ir__panel-media{min-height:78px;height:78px;flex:0 0 78px}
.wmp-ir__float-panel .wmp-ir__placeholder{min-height:78px;height:78px;flex-direction:row;justify-content:flex-start;padding:10px 19px}
.wmp-ir__float-panel .wmp-ir__placeholder-icon{width:48px;height:48px;border-radius:14px;transform:rotate(-5deg)}
.wmp-ir__float-panel .wmp-ir__placeholder-icon svg{width:29px;height:29px}.wmp-ir__float-panel .wmp-ir__placeholder-icon i{font-size:27px}
.wmp-ir__float-panel .wmp-ir__placeholder-label{font-size:15px;text-align:left;max-width:190px}
.wmp-ir__float-panel .wmp-ir__panel-body{padding:17px 21px 22px;overflow-y:auto;overscroll-behavior:contain}
.wmp-ir__float-panel .wmp-ir__panel-heading{font-size:21px}
.wmp-ir__float-panel .wmp-ir__panel-desc{font-size:13px;margin-bottom:12px!important}
.wmp-ir__float-panel .wmp-ir__checklist{grid-template-columns:1fr;gap:9px}
.wmp-ir__float-panel .wmp-ir__checklist li{font-size:12.5px}
.wmp-ir__close{position:absolute;z-index:11;right:13px;top:16px;display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;min-width:40px;max-height:40px;padding:0!important;border:2px solid rgba(255,255,255,.94)!important;border-radius:50%!important;background:linear-gradient(145deg,var(--wmp-accent),var(--wmp-pin-active))!important;color:#fff!important;box-shadow:0 3px 10px rgba(0,25,45,.22);line-height:0!important;transition:transform .18s,filter .18s}
.wmp-ir__close svg{display:block;width:18px;height:18px;pointer-events:none}
.wmp-ir__close:hover{transform:scale(1.06);filter:brightness(1.1)}
/* Bottom layout */
.wmp-ir--layout-bottom .wmp-ir__content-shell{max-width:1030px}
/* Side layout */
.wmp-ir--layout-side .wmp-ir__main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,.80fr);align-items:center;gap:26px}
.wmp-ir--layout-side .wmp-ir__content-shell{margin:0}
.wmp-ir--layout-side .wmp-ir__panel{display:flex;flex-direction:column}
.wmp-ir--layout-side .wmp-ir__panel-media{min-height:175px;max-height:200px;height:190px}
.wmp-ir--layout-side .wmp-ir__placeholder{min-height:190px}
.wmp-ir--layout-side .wmp-ir__panel-body{padding:20px 22px}
.wmp-ir--layout-side .wmp-ir__panel-heading{font-size:22px}
.wmp-ir--layout-side .wmp-ir__checklist{grid-template-columns:1fr;gap:9px}
/* Tabs */
.wmp-ir--layout-tabs .wmp-ir__room-nav{justify-content:flex-start;gap:4px;margin-bottom:0}
.wmp-ir--layout-tabs .wmp-ir__room-button{border-radius:12px 12px 0 0;border:0;background:rgba(255,255,255,.14)}
.wmp-ir--layout-tabs .wmp-ir__room-button.is-active{background:var(--wmp-card);color:var(--wmp-accent);box-shadow:none}
.wmp-ir--layout-tabs .wmp-ir__panel{border-radius:0 18px 18px 18px}
/* Icon cards */
.wmp-ir--layout-cards .wmp-ir__room-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.wmp-ir--layout-cards .wmp-ir__room-button{display:flex;flex-direction:column;min-height:108px;gap:11px;background:var(--wmp-card);color:var(--wmp-ink);border:1px solid rgba(85,113,136,.16);border-radius:16px;box-shadow:0 6px 16px var(--wmp-shade)}
.wmp-ir--layout-cards .wmp-ir__room-button.is-active{background:linear-gradient(145deg,var(--wmp-pin),var(--wmp-pin-active));color:#fff}
.wmp-ir--layout-cards .wmp-ir__room-icon svg{width:31px;height:31px}.wmp-ir--layout-cards .wmp-ir__room-icon i{font-size:27px}
/* Overlay modal */
.wmp-ir--layout-modal .wmp-ir__content-shell{margin-top:20px}.wmp-ir--layout-modal .wmp-ir__panel-list{display:none}
.wmp-ir__modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;isolation:isolate}
.wmp-ir__modal-backdrop{position:absolute;inset:0;background:rgba(3,21,34,.72);backdrop-filter:blur(5px);cursor:pointer}
.wmp-ir__modal-dialog{position:relative;z-index:1;max-width:min(720px,100%);width:100%;max-height:min(82vh,680px);overflow:auto;border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.45)}
.wmp-ir__modal-dialog .wmp-ir__panel{box-shadow:none}
.wmp-ir__modal-dialog .wmp-ir__close{right:16px;top:16px}
/* compact viewport and accessibility */
@media(max-width:1080px){.wmp-ir--layout-side .wmp-ir__main{grid-template-columns:1fr 320px;gap:12px}.wmp-ir__pin{min-height:35px;padding:6px 9px;font-size:10px;gap:5px}.wmp-ir__pin-icon svg{width:16px;height:16px}}
@media(max-width:767px){
 .wmp-ir{padding:37px 12px 46px}
 .wmp-ir__intro{margin-bottom:13px}
 .wmp-ir__pin{max-width:105px;min-height:26px;padding:4px 6px;border-radius:6px;font-size:8px;gap:3px}
 .wmp-ir__pin-icon svg{width:12px;height:12px}.wmp-ir__pin-icon i{font-size:12px}
 .wmp-ir--layout-floating .wmp-ir__float-layer{display:none}
 .wmp-ir--layout-floating .wmp-ir__content-shell{display:block}
 .wmp-ir--layout-side .wmp-ir__main{display:block}
 .wmp-ir--layout-side .wmp-ir__content-shell{margin:16px auto 0}
 .wmp-ir__room-button{min-height:40px;font-size:12px;padding:9px 10px}
 .wmp-ir__panel{grid-template-columns:1fr}
 .wmp-ir__panel-media{height:155px;min-height:155px}
 .wmp-ir__placeholder{min-height:155px;gap:10px}
 .wmp-ir__placeholder-icon{width:68px;height:68px}
 .wmp-ir__panel-body{padding:21px 19px 24px}
 .wmp-ir__panel-heading{font-size:22px}
 .wmp-ir__checklist{grid-template-columns:1fr;gap:9px}
 .wmp-ir--layout-cards .wmp-ir__room-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .wmp-ir--layout-cards .wmp-ir__room-button{min-height:78px}
 .wmp-ir--layout-tabs .wmp-ir__room-nav{flex-wrap:wrap;gap:5px;margin-bottom:9px}
 .wmp-ir--layout-tabs .wmp-ir__room-button{border-radius:9px}
 .wmp-ir--layout-tabs .wmp-ir__panel{border-radius:18px}
 .wmp-ir--layout-modal .wmp-ir__modal-dialog .wmp-ir__panel-media{height:120px;min-height:120px}
 .wmp-ir--layout-modal .wmp-ir__modal-dialog .wmp-ir__panel-body{padding:20px}
}
@media(prefers-reduced-motion:reduce){.wmp-ir *, .wmp-ir *::before, .wmp-ir *::after{animation:none!important;transition:none!important}}
@keyframes wmp-ir-arrive{from{opacity:.45}to{opacity:1}}

/* v2.1 — Full-bleed section and separately editable room labels / room popups. */
.wmp-ir {
  --wmp-pin-border: rgba(255,255,255,.55);
  --wmp-popup-width: 410px;
  --wmp-close-bg: var(--wmp-accent);
  --wmp-close-color: #fff;
  --wmp-close-size: 40px;
}
/* Full-bleed escapes Elementor's default boxed content width where the parent permits overflow. */
.wmp-ir--width-viewport {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  margin-right: 0;
}
.wmp-ir--width-full, .wmp-ir--width-boxed { width:100%; max-width:100%; }
.wmp-ir--width-viewport .wmp-ir__inner,
.wmp-ir--width-full .wmp-ir__inner { width: 100%; }
.wmp-ir--flat { background: var(--wmp-bg) !important; }

/* Room label styling. In a room's repeater, per-room colors override global variables. */
.wmp-ir__pin {
  color: var(--wmp-room-pin-text,var(--wmp-pin-text));
  border-color: var(--wmp-pin-border);
  background: linear-gradient(160deg,var(--wmp-room-pin,var(--wmp-pin)),var(--wmp-room-pin,var(--wmp-pin-active)));
}
.wmp-ir__pin::after { background: var(--wmp-room-pin,var(--wmp-pin-active)); }
.wmp-ir--pin-solid .wmp-ir__pin { background:var(--wmp-room-pin,var(--wmp-pin)); }
.wmp-ir--pin-outline .wmp-ir__pin { background:transparent; border-width:2px; border-color:var(--wmp-room-pin,var(--wmp-pin)); color:var(--wmp-room-pin-text,var(--wmp-pin-text)); text-shadow:0 1px 3px rgba(0,0,0,.5); }
.wmp-ir--pin-outline .wmp-ir__pin::after { background:transparent; border-right:2px solid var(--wmp-room-pin,var(--wmp-pin)); border-bottom:2px solid var(--wmp-room-pin,var(--wmp-pin)); }
.wmp-ir__room-button { background:var(--wmp-room-pin,rgba(255,255,255,.14)); color:var(--wmp-room-pin-text,var(--wmp-intro)); }
.wmp-ir__room-button.is-active { background:var(--wmp-room-pin,var(--wmp-card)); color:var(--wmp-room-pin-text,var(--wmp-accent)); }
.wmp-ir--layout-tabs .wmp-ir__room-button.is-active { background:var(--wmp-room-pin,var(--wmp-card)); color:var(--wmp-room-pin-text,var(--wmp-accent)); }
.wmp-ir--layout-cards .wmp-ir__room-button.is-active { background:var(--wmp-room-pin,linear-gradient(145deg,var(--wmp-pin),var(--wmp-pin-active))); color:var(--wmp-room-pin-text,#fff); }

/* Room popup styling: global popup palette never changes the label palette. */
.wmp-ir__panel { background:var(--wmp-room-popup,var(--wmp-card)); color:var(--wmp-room-popup-ink,var(--wmp-ink)); }
.wmp-ir__panel-heading,
.wmp-ir__checklist li { color:var(--wmp-room-popup-ink,var(--wmp-ink))!important; }
.wmp-ir__panel-eyebrow { color:var(--wmp-room-popup-accent,var(--wmp-accent)); }
.wmp-ir__panel-desc { color:var(--wmp-muted); }
.wmp-ir__check { color:var(--wmp-room-popup-accent,var(--wmp-accent)); }
.wmp-ir__placeholder { background:var(--wmp-popup-media,linear-gradient(145deg,var(--wmp-pin),var(--wmp-room-popup-accent,var(--wmp-accent)))); }
.wmp-ir__float-panel { width:var(--wmp-room-width,var(--wmp-popup-width,410px)); }
.wmp-ir__close {
  width:var(--wmp-close-size,40px)!important;
  min-width:var(--wmp-close-size,40px)!important;
  height:var(--wmp-close-size,40px)!important;
  min-height:var(--wmp-close-size,40px)!important;
  max-height:var(--wmp-close-size,40px)!important;
  background:var(--wmp-close-bg,var(--wmp-accent))!important;
  color:var(--wmp-close-color,#fff)!important;
  line-height:1!important;
  padding:0!important;
}
.wmp-ir__close svg { width:46%; height:46%; display:block; margin:auto; }

/* v2.1.1 — Isolate room markers from Elementor/theme global button styles.
 * Use only the widget's own CSS properties; per-room / Elementor controls still work.
 */
.wmp-ir .wmp-ir__pin[type="button"] {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--wmp-pin-gap, 9px) !important;
  width: max-content;
  min-width: 0;
  height: auto !important;
  padding: 9px 14px !important;
  background: linear-gradient(160deg, var(--wmp-room-pin, var(--wmp-pin)), var(--wmp-room-pin, var(--wmp-pin-active))) !important;
  border: 1px solid var(--wmp-pin-border, rgba(255,255,255,.55)) !important;
  color: var(--wmp-room-pin-text, var(--wmp-pin-text, #ffffff)) !important;
  text-decoration: none !important;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.35 !important;
  letter-spacing: .025em;
  font-size: 12px;
  font-weight: 750;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
  box-shadow: 0 6px 17px var(--wmp-shade), inset 0 1px rgba(255,255,255,.26);
  cursor: pointer;
}
.wmp-ir .wmp-ir__pin[type="button"]:hover,
.wmp-ir .wmp-ir__pin[type="button"]:focus,
.wmp-ir .wmp-ir__pin[type="button"].is-active {
  color: var(--wmp-room-pin-text, var(--wmp-pin-text, #ffffff)) !important;
  border-color: var(--wmp-pin-border, rgba(255,255,255,.55)) !important;
  background: linear-gradient(160deg, var(--wmp-room-pin, var(--wmp-pin)), var(--wmp-room-pin, var(--wmp-pin-active))) !important;
}
.wmp-ir.wmp-ir--pin-solid .wmp-ir__pin[type="button"],
.wmp-ir.wmp-ir--pin-solid .wmp-ir__pin[type="button"]:hover {
  background: var(--wmp-room-pin, var(--wmp-pin)) !important;
}
.wmp-ir.wmp-ir--pin-outline .wmp-ir__pin[type="button"],
.wmp-ir.wmp-ir--pin-outline .wmp-ir__pin[type="button"]:hover {
  /* An opaque glass fill guarantees readable letters on pale walls or floors. */
  background: rgba(6, 46, 79, .92) !important;
  border: 2px solid var(--wmp-room-pin, var(--wmp-pin)) !important;
}
.wmp-ir .wmp-ir__pin[type="button"] .wmp-ir__pin-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 21px !important;
  width: 21px !important;
  min-width: 21px;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: 17px;
  line-height: 1 !important;
}
.wmp-ir .wmp-ir__pin[type="button"] .wmp-ir__pin-icon svg,
.wmp-ir .wmp-ir__pin[type="button"] .wmp-ir__pin-icon i {
  display: block;
  width: 19px;
  height: 19px;
  flex-shrink: 0;
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
}
.wmp-ir .wmp-ir__pin[type="button"] .wmp-ir__pin-icon i {
  display: inline-block;
  width: auto;
  height: auto;
  font-size: 17px;
  line-height: 1;
}
.wmp-ir .wmp-ir__pin[type="button"] .wmp-ir__pin-label {
  display: block !important;
  min-width: 0;
  flex: 0 1 auto;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  text-shadow: none !important;
  line-height: inherit !important;
  font-weight: inherit;
  letter-spacing: inherit;
  white-space: normal;
}
@media (max-width: 1080px) {
  .wmp-ir .wmp-ir__pin[type="button"] {
    gap: var(--wmp-pin-gap, 7px) !important;
    padding: 6px 10px !important;
    font-size: 10px;
  }
  .wmp-ir .wmp-ir__pin[type="button"] .wmp-ir__pin-icon {
    flex-basis: 17px !important;
    min-width: 17px;
    width: 17px !important;
  }
  .wmp-ir .wmp-ir__pin[type="button"] .wmp-ir__pin-icon svg {
    width: 16px;
    height: 16px;
  }
}
@media (max-width: 767px) {
  .wmp-ir .wmp-ir__pin[type="button"] {
    padding: 5px 7px !important;
    font-size: 9px;
    gap: 4px !important;
  }
  .wmp-ir .wmp-ir__pin[type="button"] .wmp-ir__pin-icon {
    flex-basis: 13px !important;
    min-width: 13px;
    width: 13px !important;
  }
  .wmp-ir .wmp-ir__pin[type="button"] .wmp-ir__pin-icon svg {
    width: 13px;
    height: 13px;
  }
}

/* v2.1.2 — Mobile: choose ONE room navigation method to avoid duplicate labels. */
@media (max-width: 767px) {
  .wmp-ir.wmp-ir--mobile-house .wmp-ir__room-nav {
    display: none !important;
  }
  .wmp-ir.wmp-ir--mobile-buttons .wmp-ir__pins {
    display: none !important;
  }
  /* The content card stays visible and changes when a hotspot is tapped. */
  .wmp-ir.wmp-ir--mobile-house .wmp-ir__content-shell {
    margin-top: 14px;
  }
}

/* v2.2.0: Drag-to-rotate perspective for the image and room hotspots.
   Popups are siblings of the rotator so text and close buttons stay upright. */
.wmp-ir__house-rotator {
  width: 100%;
  position: relative;
  transform-origin: 50% 50%;
  transform: perspective(1250px) rotateX(var(--wmp-rotate-x, 0deg)) rotateY(var(--wmp-rotate-y, 0deg));
  transition: transform 230ms cubic-bezier(.2,.8,.2,1);
  backface-visibility: visible;
}
.wmp-ir--rotation-on .wmp-ir__house-rotator {
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
.wmp-ir--rotation-on.wmp-ir--rotation-touch .wmp-ir__house-rotator {
  touch-action: none;
}
.wmp-ir--dragging .wmp-ir__house-rotator {
  cursor: grabbing;
  transition: none !important;
}
.wmp-ir--rotation-on .wmp-ir__house-rotator:focus-visible {
  outline: 2px solid var(--wmp-accent);
  outline-offset: 5px;
  border-radius: 5px;
}
.wmp-ir--rotation-on .wmp-ir__house-rotator .wmp-ir__pin {
  cursor: pointer;
}
.wmp-ir .wmp-ir__rotation-reset[type="button"] {
  position: absolute;
  right: 12px;
  bottom: 8px;
  z-index: 8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: auto;
  min-width: 0;
  min-height: 36px;
  margin: 0;
  padding: 8px 13px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 100px !important;
  background: var(--wmp-pin-active) !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.25;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(0,38,69,.24);
  cursor: pointer;
}
.wmp-ir .wmp-ir__rotation-reset svg { flex: 0 0 auto; }
.wmp-ir .wmp-ir__rotation-reset[type="button"]:hover {
  background: var(--wmp-pin) !important;
  color: #fff !important;
}
@media (max-width: 767px) {
  .wmp-ir .wmp-ir__rotation-reset[type="button"] {
    right: 5px;
    bottom: 2px;
    min-height: 30px;
    font-size: 10px !important;
    padding: 6px 8px !important;
  }
  .wmp-ir .wmp-ir__rotation-reset svg { width: 16px; height: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .wmp-ir__house-rotator { transition: none !important; }
}
