/* SoulTreasury Lounge styles; scoped to .stl-shell to protect the active theme. */

.stl-shell {
  --st-ink:#101612; --st-panel:#101b16; --st-green:#164c38;
  --st-gold:#edc75a; --st-cream:#f4efdf; --st-muted:#c8c6b9;
  color:var(--st-cream); font-family:Inter, ui-sans-serif, system-ui, sans-serif;
}
.stl-shell, .stl-shell *, .stl-shell *::before, .stl-shell *::after { box-sizing:border-box; }
.stl-shell button { font:inherit; }
.stl-shell button, .stl-shell a { -webkit-tap-highlight-color: transparent; }
.stl-shell :focus-visible { scroll-margin:12px; }
.stl-shell { width:min(1500px,100%); margin:0 auto; padding:clamp(12px,2.5vw,30px); container-type:inline-size; }
.stl-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:14px; }
.stl-kicker { color:var(--st-gold); text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; }
.stl-heading h1 { margin:.35rem 0 .4rem; font:clamp(1.65rem,3.4vw,3rem)/1.05 Georgia,serif; font-weight:500; }
.stl-heading p { color:var(--st-muted); margin:0; max-width:55ch; line-height:1.5; font-size:.92rem; }
.stl-live { flex:0 0 auto; border:1px solid #536b54; border-radius:999px; padding:8px 12px; color:#e4e8d8; font-size:.78rem; }
.stl-live:before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:#a6d27b; margin-right:8px; box-shadow:0 0 10px #a6d27b88; }
.stl-stage { position:relative; overflow:hidden; border:1px solid #65563b; border-radius:16px; background:#171b17; isolation:isolate; box-shadow:0 28px 80px #0008; }
.stl-scene { position:relative; width:100%; transform:scale(1); transform-origin:50% 50%; transition:transform 1050ms cubic-bezier(.16,.82,.24,1), filter 750ms ease; will-change:transform,filter; }
.stl-scene img { display:block; width:100%; height:auto; }
/* Camera moves are tuned independently so the selected object becomes the visual focus. */
.stl-stage[data-focus="sofa"] .stl-scene { transform:scale(1.55) translate(18%,8%); }
.stl-stage[data-focus="record"] .stl-scene { transform:scale(1.62) translate(1%,7%); }
.stl-stage[data-focus="table"] .stl-scene { transform:scale(1.55) translate(-12%,6%); }
.stl-stage[data-focus="kitchen"] .stl-scene { transform:scale(1.55) translate(-20%,4%); }
.stl-stage[data-focus="screen"] .stl-scene { transform:scale(1.55) translate(0%,15%); }
.stl-stage[data-focus]:not([data-focus=""]) .stl-hotspot:not([aria-pressed="true"]) { opacity:.38; }
.stl-stage.is-open .stl-instruction { opacity:0; transition:opacity .25s ease; }
.stl-stage[data-focus]:not([data-focus=""]) .stl-scene { filter:brightness(.68) saturate(.86); }
.stl-hotspot { position:absolute; z-index:2; border:1px solid #edc75ad9; background:#10291fe8; color:#fff6d8; border-radius:999px; padding:clamp(6px,1vw,10px) clamp(9px,1.5vw,15px); display:flex; align-items:center; gap:8px; cursor:pointer; box-shadow:0 5px 20px #0007; transition:background .2s, transform .2s, opacity .3s; backdrop-filter:blur(7px); font-size:clamp(.65rem,1.1vw,.9rem); }
.stl-hotspot:before { content:""; width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:var(--st-gold); box-shadow:0 0 12px #edc75a; }
.stl-hotspot:hover, .stl-hotspot:focus-visible { background:#236447; transform:translateY(-2px); outline:2px solid var(--st-gold); outline-offset:3px; }
.stl-hotspot[aria-pressed="true"] { background:#9a7825; color:#111; }
.stl-hotspot[data-object="sofa"] { left:20%; top:61%; }
.stl-hotspot[data-object="record"] { left:21%; top:35%; }
.stl-hotspot[data-object="screen"] { left:38%; top:25%; }
.stl-hotspot[data-object="table"] { left:65%; top:40%; }
.stl-hotspot[data-object="kitchen"] { right:2%; top:36%; }
.stl-instruction { position:absolute; left:16px; bottom:14px; z-index:2; padding:9px 12px; background:#0b110edb; border:1px solid #ffffff20; border-radius:8px; color:#f0ead9; font-size:.78rem; backdrop-filter:blur(8px); }
.stl-panel { display:block; visibility:hidden; pointer-events:none; opacity:0; position:absolute; z-index:5; inset:auto 0 0; padding:clamp(18px,3vw,32px); background:linear-gradient(180deg,#0c120feF,#0b100ffb); border-top:1px solid #edc75a88; box-shadow:0 -20px 55px #0007; transform:translateY(18px); transition:opacity .3s ease, transform .4s ease, visibility .3s; }
.stl-stage.is-open .stl-panel { visibility:visible; pointer-events:auto; opacity:1; transform:translateY(0); transition-delay:.18s; }
.stl-panel-inner { display:flex; justify-content:space-between; align-items:start; gap:24px; max-width:1100px; margin:auto; }
.stl-panel-copy { max-width:72ch; }
.stl-panel .stl-kicker { margin-bottom:8px; }
.stl-panel h2 { font:clamp(1.4rem,2.6vw,2.2rem)/1.1 Georgia,serif; margin:0 0 9px; font-weight:500; }
.stl-panel p { margin:0; color:#d7d5ca; line-height:1.6; max-width:68ch; }
.stl-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:17px; }
.stl-action { border:1px solid #edc75a99; background:#164c38; color:#fff4d0; padding:10px 14px; border-radius:7px; text-decoration:none; cursor:pointer; }
.stl-action:hover, .stl-action:focus-visible { background:#24694a; outline:2px solid var(--st-gold); outline-offset:2px; }
.stl-close { border:1px solid #ffffff44; background:transparent; color:#fff; border-radius:999px; width:40px; height:40px; cursor:pointer; flex:0 0 auto; }
.stl-close:hover, .stl-close:focus-visible { border-color:var(--st-gold); outline:2px solid var(--st-gold); }
.stl-note { color:#9eaa9f; font-size:.8rem; line-height:1.5; margin:12px 2px 0; }

/* v6: compact, single-line hotspot labels and panels that fit without unnecessary scrolling */
.stl-hotspot {
  white-space: nowrap;
  font-size: clamp(.66rem, .82vw, .82rem);
  line-height: 1.15;
  padding: 7px 10px;
  gap: 6px;
}
.stl-hotspot span,
.stl-hotspot .stl-hotspot-label {
  white-space: nowrap;
}
.stl-panel {
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  max-height: min(76%, 520px);
}
.stl-panel::-webkit-scrollbar { display: none; }
.stl-panel h2 { margin-top: 2px; margin-bottom: 6px; }
.stl-panel p { margin-top: 5px; margin-bottom: 7px; line-height: 1.42; }
.stl-actions { margin-top: 10px; flex-wrap: wrap; }
.stl-action { padding: 9px 12px; line-height: 1.2; }

@media (max-width:700px) {
 .stl-heading { display:block; }
 .stl-live { display:inline-block; margin-top:12px; }
 .stl-stage { border-radius:10px; }
 .stl-hotspot { padding:6px 8px; gap:5px; font-size:.63rem; }
 .stl-hotspot:before { width:5px; height:5px; flex-basis:5px; }
 .stl-hotspot[data-object="sofa"] { left:13%; top:62%; }
 .stl-hotspot[data-object="record"] { left:13%; top:35%; }
 .stl-hotspot[data-object="screen"] { left:31%; top:25%; }
 .stl-hotspot[data-object="table"] { left:58%; top:41%; }
 .stl-hotspot[data-object="kitchen"] { right:1%; top:37%; }
 .stl-instruction { left:8px; bottom:7px; font-size:.65rem; padding:6px 8px; }
 .stl-panel { max-height:76%; overflow:auto; padding:16px; overscroll-behavior:contain; }
 .stl-hotspot { min-height:38px; }
 .stl-action { min-height:42px; display:inline-flex; align-items:center; justify-content:center; }
 .stl-panel-inner { align-items:start; }
 .stl-panel-copy { min-width:0; }
 .stl-panel p { font-size:.9rem; }
 .stl-actions { gap:8px; }
 .stl-note { padding:0 2px; }
 .stl-stage[data-focus="sofa"] .stl-scene { transform:scale(1.42) translate(12%,8%); }
 .stl-stage[data-focus="record"] .stl-scene { transform:scale(1.48) translate(1%,7%); }
 .stl-stage[data-focus="table"] .stl-scene { transform:scale(1.42) translate(-10%,5%); }
 .stl-stage[data-focus="kitchen"] .stl-scene { transform:scale(1.42) translate(-17%,4%); }
 .stl-stage[data-focus="screen"] .stl-scene { transform:scale(1.42) translate(0%,12%); }
 .stl-panel-inner { gap:10px; }
 .stl-close { width:34px; height:34px; }
}
@media (max-width:420px) {
 .stl-shell { padding:10px; }
 .stl-heading h1 { font-size:1.75rem; }
 .stl-heading p { font-size:.88rem; }
 .stl-hotspot { min-height:34px; padding:5px 7px; font-size:.58rem; gap:4px; }
 .stl-hotspot:before { width:4px; height:4px; flex-basis:4px; }
 .stl-hotspot[data-object="sofa"] { left:8%; top:62%; }
 .stl-hotspot[data-object="record"] { left:9%; top:35%; }
 .stl-hotspot[data-object="screen"] { left:30%; top:25%; }
 .stl-hotspot[data-object="table"] { left:56%; top:41%; }
 .stl-hotspot[data-object="kitchen"] { right:1%; top:37%; }
 .stl-panel { max-height:82%; padding:12px; }
 .stl-panel-inner { gap:7px; }
 .stl-panel h2 { font-size:1.45rem; }
 .stl-panel p { font-size:.84rem; line-height:1.48; }
 .stl-close { width:32px; height:32px; }
 .stl-actions { margin-top:12px; }
 .stl-action { padding:9px 10px; font-size:.83rem; }
}
@media (prefers-reduced-motion:reduce) {
 *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

@media (max-width: 600px) {
  .stl-hotspot {
    font-size: .58rem;
    padding: 5px 7px;
    gap: 4px;
    letter-spacing: 0;
    max-width: max-content;
  }
  .stl-hotspot[data-object="screen"],
  .stl-hotspot[data-object="kitchen"] {
    font-size: .54rem;
    padding-left: 6px;
    padding-right: 6px;
  }
  .stl-panel {
    max-height: 88%;
    padding: 10px 12px;
  }
  .stl-panel h2 { font-size: 1.3rem; margin-bottom: 4px; }
  .stl-panel p { font-size: .78rem; line-height: 1.34; margin: 4px 0 6px; }
  .stl-actions { margin-top: 7px; gap: 6px; }
  .stl-action { min-height: 36px; padding: 7px 9px; font-size: .78rem; }
}
@media (max-width: 420px) {
  .stl-panel { max-height: 90%; padding: 9px 10px; }
  .stl-panel h2 { font-size: 1.2rem; }
  .stl-panel p { font-size: .74rem; line-height: 1.3; }
  .stl-hotspot { font-size: .54rem; padding: 5px 6px; }
  .stl-hotspot[data-object="screen"],
  .stl-hotspot[data-object="kitchen"] { font-size: .5rem; }
}



/* v0.1.1 integration refinements: neutralise theme button styling and compact mobile layout. */
.stl-shell .stl-action,
.stl-shell .stl-action:link,
.stl-shell .stl-action:visited,
.stl-shell .stl-action:hover,
.stl-shell .stl-action:focus,
.stl-shell .stl-action:active {
  text-transform:none !important;
  letter-spacing:normal !important;
  font-weight:500 !important;
  font-family:inherit !important;
  font-size:.9rem;
  line-height:1.2;
  color:#fff4d0 !important;
  text-decoration:none !important;
}
.stl-shell button.stl-action {
  appearance:none;
  -webkit-appearance:none;
  background:#164c38 !important;
  border:1px solid #edc75a99 !important;
  border-radius:7px !important;
  box-shadow:none !important;
  padding:9px 12px !important;
  min-height:0 !important;
}
.stl-shell button.stl-action:hover,
.stl-shell button.stl-action:focus-visible {
  background:#24694a !important;
  color:#fff4d0 !important;
}
.stl-shell a.stl-action { display:inline-flex; align-items:center; justify-content:center; }

@media (max-width:700px) {
  .stl-shell .stl-hotspot { min-height:0; padding:4px 6px; gap:4px; font-size:.58rem; line-height:1.05; }
  .stl-shell .stl-hotspot:before { width:4px; height:4px; flex-basis:4px; }
  .stl-shell .stl-hotspot[data-object="table"] { left:54%; top:42%; }
  .stl-shell .stl-hotspot[data-object="kitchen"] { right:2%; top:55%; }
  .stl-shell .stl-panel { max-height:54%; padding:9px 10px; }
  .stl-shell .stl-panel-inner { gap:7px; }
  .stl-shell .stl-panel .stl-kicker { font-size:.58rem; letter-spacing:.12em; margin-bottom:3px; }
  .stl-shell .stl-panel h2 { font-size:1.15rem; line-height:1.1; margin:0 0 4px; }
  .stl-shell .stl-panel p { font-size:.73rem; line-height:1.3; margin:3px 0 4px; }
  .stl-shell .stl-actions { margin-top:6px; gap:6px; }
  .stl-shell .stl-action,
  .stl-shell button.stl-action { font-size:.72rem; padding:6px 8px !important; min-height:30px !important; }
  .stl-shell .stl-close { width:28px; height:28px; }
  .stl-shell .stl-note { font-size:.72rem; margin-top:8px; }
}
@media (max-width:420px) {
  .stl-shell .stl-hotspot { padding:4px 5px; font-size:.53rem; }
  .stl-shell .stl-hotspot[data-object="table"] { left:51%; top:43%; }
  .stl-shell .stl-hotspot[data-object="kitchen"] { right:2%; top:58%; }
  .stl-shell .stl-panel { max-height:50%; padding:8px 9px; }
  .stl-shell .stl-panel h2 { font-size:1.05rem; }
  .stl-shell .stl-panel p { font-size:.69rem; line-height:1.26; }
  .stl-shell .stl-panel .stl-kicker { font-size:.54rem; }
  .stl-shell .stl-action,
  .stl-shell button.stl-action { font-size:.68rem; padding:5px 7px !important; min-height:28px !important; }
}


/* v0.1.2: mobile panel controls stay aligned and reliably tappable on small screens. */
.stl-shell .stl-panel { z-index: 20; }
.stl-shell .stl-panel-inner { position: relative; }
.stl-shell .stl-actions { align-items: stretch; }
.stl-shell .stl-actions .stl-action,
.stl-shell .stl-actions a.stl-action,
.stl-shell .stl-actions button.stl-action {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle;
  margin: 0 !important;
  font-family: inherit !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: 1.15 !important;
  color: #fff4d0 !important;
  border: 1px solid #edc75a99 !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
@media (max-width:700px) {
  .stl-shell .stl-panel { overflow-x: hidden; }
  .stl-shell .stl-panel-inner { display: block; padding-right: 30px; }
  .stl-shell .stl-close { position: absolute; right: 0; top: 0; z-index: 2; }
  .stl-shell .stl-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    width: 100%;
    gap: 6px;
  }
  .stl-shell .stl-actions .stl-action,
  .stl-shell .stl-actions a.stl-action,
  .stl-shell .stl-actions button.stl-action {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 30px !important;
    padding: 5px 4px !important;
    font-size: clamp(.56rem, 2.4vw, .68rem) !important;
    font-weight: 500 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .stl-shell .stl-panel .stl-note { overflow-wrap: anywhere; }
}
@media (max-width:360px) {
  .stl-shell .stl-actions { gap: 4px; }
  .stl-shell .stl-actions .stl-action,
  .stl-shell .stl-actions a.stl-action,
  .stl-shell .stl-actions button.stl-action {
    font-size: .54rem !important;
    padding: 5px 2px !important;
  }
}


/* v0.1.3: respond to the actual embedded lounge width, not only the browser width.
   This targets tablet/smaller desktop content columns while leaving the approved
   mobile layout and full-width desktop layout unchanged. */
@container (min-width: 701px) and (max-width: 1000px) {
  .stl-hotspot {
    font-size: .64rem;
    line-height: 1.1;
    padding: 5px 7px;
    gap: 5px;
  }
  .stl-hotspot:before { width: 5px; height: 5px; flex-basis: 5px; }
  .stl-hotspot[data-object="table"] { left: 61%; top: 47%; }
  .stl-hotspot[data-object="kitchen"] { right: 2%; top: 35%; }
}

/* v0.3.0: curated discovery panel and unified Living Sound Bar. */
.stl-shell .stl-panel { padding:clamp(14px,2vw,24px); max-height:min(78%,650px); }
.stl-shell .stl-panel-top { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; max-width:1320px; margin:0 auto 14px; }
.stl-shell .stl-panel-copy { flex:0 0 min(31%,360px); max-width:360px; }
.stl-shell .stl-panel-description { max-width:42ch; }
.stl-shell .stl-content-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; max-width:1320px; margin:0 auto; }
.stl-shell .stl-content-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; color:var(--st-cream); text-decoration:none; border:1px solid #b18b3e99; border-radius:9px; background:linear-gradient(180deg,#132019,#080e0b); transition:border-color .2s,transform .2s,background .2s; }
.stl-shell .stl-content-card.is-linked:hover,.stl-shell .stl-content-card.is-linked:focus-visible { border-color:var(--st-gold); transform:translateY(-2px); outline:2px solid #edc75a66; outline-offset:2px; }
.stl-shell .stl-card-image { display:block; width:100%; height:clamp(80px,10vw,145px); object-fit:cover; background:#18251d; }
.stl-shell .stl-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:12px; }
.stl-shell .stl-card-eyebrow { color:var(--st-gold); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:5px; }
.stl-shell .stl-card-body h3 { font:500 clamp(1rem,1.5vw,1.35rem)/1.15 Georgia,serif; margin:0 0 7px; color:var(--st-cream); }
.stl-shell .stl-card-body p { color:#d0d2c8; font-size:.82rem; line-height:1.4; margin:0 0 12px; }
.stl-shell .stl-card-cta { color:var(--st-gold); font-size:.76rem; margin-top:auto; padding-top:5px; }
.stl-shell .stl-soundbar-wrap { margin-top:10px; transition:filter .3s,transform .3s; }
.stl-shell .stl-soundbar { display:flex; align-items:center; gap:13px; min-width:0; padding:10px 14px; border:1px solid #9a7938; border-radius:10px; color:var(--st-cream); background:linear-gradient(100deg,#0a100d,#14251a 52%,#090d0b); box-shadow:0 8px 25px #0003; }
.stl-shell .stl-sound-cover { width:48px; height:48px; flex:0 0 48px; display:grid; place-items:center; border:1px solid #edc75a99; border-radius:5px; color:var(--st-gold); font-size:1.6rem; overflow:hidden; background:#18251d; }
.stl-shell .stl-sound-cover img { width:100%; height:100%; object-fit:cover; }
.stl-shell .stl-sound-meta { display:flex; flex:1; flex-direction:column; min-width:0; gap:2px; }
.stl-shell .stl-sound-kicker { font-size:.6rem; letter-spacing:.14em; color:var(--st-gold); text-transform:uppercase; }
.stl-shell .stl-sound-title { font:500 1rem/1.15 Georgia,serif; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.stl-shell .stl-sound-artist { color:#c8c9be; font-size:.76rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.stl-shell .stl-play { width:38px; height:38px; flex:0 0 38px; border:1px solid var(--st-gold); border-radius:50%; color:#fff3c6; background:#153d2c; cursor:pointer; }
.stl-shell .stl-play:hover,.stl-shell .stl-play:focus-visible { background:#24694a; outline:2px solid var(--st-gold); outline-offset:2px; }
.stl-shell .stl-audio-status { color:#bfc7bc; font-size:.68rem; max-width:160px; }
.stl-shell .stl-audio { display:none; }
.stl-shell .stl-soundbar-wrap.is-emphasised { transform:translateY(-2px); filter:drop-shadow(0 0 12px #edc75a30); }
.stl-shell .stl-primary-link.is-unconfigured { opacity:.65; }
.stl-shell .stl-record-dock[hidden],.stl-shell .stl-content-cards[hidden] { display:none !important; }
@media(max-width:800px) {
 .stl-shell .stl-panel { max-height:78%; }
 .stl-shell .stl-panel-top { gap:10px; }
 .stl-shell .stl-panel-copy { flex-basis:36%; }
 .stl-shell .stl-content-cards { gap:8px; }
 .stl-shell .stl-card-body { padding:9px; }
 .stl-shell .stl-card-body p { font-size:.74rem; }
 .stl-shell .stl-soundbar { gap:9px; padding:9px; }
 .stl-shell .stl-audio-status { max-width:110px; }
}
@media(max-width:600px) {
 .stl-shell .stl-panel { max-height:76%; padding:10px; }
 .stl-shell .stl-panel-top { display:block; padding-right:34px; margin-bottom:10px; }
 .stl-shell .stl-panel-copy { max-width:none; }
 .stl-shell .stl-panel .stl-kicker { font-size:.58rem; }
 .stl-shell .stl-panel h2 { font-size:1.3rem; }
 .stl-shell .stl-panel p { font-size:.78rem; line-height:1.35; }
 .stl-shell .stl-content-cards { grid-template-columns:repeat(3,minmax(125px,1fr)); overflow-x:auto; padding:2px 2px 8px; scroll-snap-type:x mandatory; }
 .stl-shell .stl-content-card { scroll-snap-align:start; }
 .stl-shell .stl-card-image { height:78px; }
 .stl-shell .stl-card-body { padding:8px; }
 .stl-shell .stl-card-eyebrow { font-size:.54rem; }
 .stl-shell .stl-card-body h3 { font-size:.95rem; }
 .stl-shell .stl-card-body p { font-size:.68rem; line-height:1.3; }
 .stl-shell .stl-card-cta { font-size:.66rem; }
 .stl-shell .stl-soundbar { flex-wrap:wrap; gap:8px; }
 .stl-shell .stl-sound-cover { width:40px; height:40px; flex-basis:40px; }
 .stl-shell .stl-sound-meta { flex-basis:calc(100% - 105px); }
 .stl-shell .stl-audio-status { flex:1 1 100%; max-width:none; padding-left:2px; }
}


/* v0.3.1: desktop panel controls stay on one row; full-width desktop cards become landscape;
   medium embedded layouts give the Table and Kitchen separate vertical lanes. */
@media (min-width: 701px) {
  .stl-shell .stl-panel-copy .stl-actions {
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center;
    gap:7px;
  }
  .stl-shell .stl-panel-copy .stl-actions .stl-action,
  .stl-shell .stl-panel-copy .stl-actions a.stl-action,
  .stl-shell .stl-panel-copy .stl-actions button.stl-action {
    flex:0 1 auto;
    min-width:0;
    white-space:nowrap;
    padding:7px 8px !important;
    font-size:clamp(.62rem, .72vw, .76rem) !important;
  }
}

/* Wide desktop: landscape cards echo the broad editorial cards in the supplied design.
   Mobile card proportions are intentionally unchanged. */
@media (min-width: 1001px) {
  .stl-shell .stl-content-card {
    flex-direction:row;
    align-items:stretch;
    min-height:154px;
    max-height:190px;
  }
  .stl-shell .stl-card-image {
    width:38%;
    height:auto;
    min-height:154px;
    max-height:190px;
    flex:0 0 38%;
    align-self:stretch;
  }
  .stl-shell .stl-card-body {
    min-width:0;
    padding:10px 11px;
    overflow:hidden;
  }
  .stl-shell .stl-card-body h3 {
    font-size:clamp(.92rem, 1.05vw, 1.12rem);
  }
  .stl-shell .stl-card-body p {
    font-size:.74rem;
    line-height:1.32;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
  }
  .stl-shell .stl-card-cta { font-size:.7rem; }
}

/* Medium-width embedded desktop: separate the right-side hotspots to prevent overlap. */
@container (min-width: 701px) and (max-width: 1000px) {
  .stl-shell .stl-hotspot[data-object="table"] { left:54%; top:48%; }
  .stl-shell .stl-hotspot[data-object="kitchen"] { right:2%; top:30%; }
}

/* v0.3.2: compact editorial panel and responsive embedded hotspots. */
/* Query the actual room stage, not the browser viewport or outer WordPress column. */
.stl-shell .stl-stage { container-name: stl-room; container-type:inline-size; }
@container stl-room (min-width: 601px) and (max-width: 1100px) {
  .stl-hotspot[data-object="table"] { left:52%; right:auto; top:53%; }
  .stl-hotspot[data-object="kitchen"] { right:2%; left:auto; top:25%; }
  .stl-hotspot { font-size:clamp(.58rem,1.05cqw,.75rem); padding:6px 8px; }
}
@container stl-room (min-width: 601px) and (max-width: 800px) {
  .stl-hotspot[data-object="table"] { left:49%; top:54%; }
  .stl-hotspot[data-object="kitchen"] { right:1%; top:22%; }
}
@media (min-width: 701px) {
  .stl-shell .stl-panel { padding:clamp(10px,1.4vw,18px); max-height:min(85%,650px); overflow-x:hidden; }
  .stl-shell .stl-panel-top { margin-bottom:8px; gap:8px; }
  .stl-shell .stl-panel-copy { flex-basis:min(38%,420px); max-width:420px; }
  .stl-shell .stl-panel .stl-kicker { margin-bottom:2px; }
  .stl-shell .stl-panel h2 { margin:0 0 3px; line-height:1.08; }
  .stl-shell .stl-panel .stl-panel-description { margin:0 0 4px; line-height:1.28; max-width:62ch; }
  .stl-shell .stl-panel-copy .stl-actions { margin-top:6px; }
  .stl-shell .stl-content-cards { gap:10px; grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr)); }
  .stl-shell .stl-content-card { min-height:130px; max-height:175px; flex-direction:column; }
  .stl-shell .stl-content-card:first-child { flex-direction:row; }
  .stl-shell .stl-content-card:first-child .stl-card-image { flex:0 0 44%; width:44%; height:auto; min-height:130px; max-height:175px; }
  .stl-shell .stl-content-card:not(:first-child) .stl-card-image { flex:none; width:100%; height:72px; min-height:0; max-height:none; }
  .stl-shell .stl-card-body { padding:8px; min-width:0; overflow:hidden; }
  .stl-shell .stl-card-body h3 { font-size:clamp(.86rem,1.05vw,1.1rem); margin-bottom:4px; }
  .stl-shell .stl-card-body p { font-size:.72rem; line-height:1.25; margin-bottom:4px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
  .stl-shell .stl-card-cta { padding-top:2px; }
}
/* Preserve mobile cards and touch scrolling, but hide the horizontal scrollbar track. */
@media (max-width: 600px) {
  .stl-shell .stl-content-cards { scrollbar-width:none; -ms-overflow-style:none; }
  .stl-shell .stl-content-cards::-webkit-scrollbar { display:none; }
}

/* v0.3.3: consistent editorial hierarchy on wide desktop, independent of card count.
   Scoped to Lounge to avoid WordPress/Zeen typography overrides. */
@media (min-width:701px) {
  .stl-shell .stl-panel-copy { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
  .stl-shell .stl-panel-copy .stl-panel-kicker { margin:0 0 3px !important; line-height:1.15; }
  .stl-shell .stl-panel-copy .stl-panel-title { margin:0 0 4px !important; padding:0; line-height:1.12; }
  .stl-shell .stl-panel-copy .stl-panel-description { margin:0 0 6px !important; padding:0; line-height:1.3; }
  .stl-shell .stl-panel-copy .stl-actions { margin-top:4px; }
  .stl-shell .stl-panel-top { margin-bottom:8px; }
  .stl-shell .stl-content-cards { grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr)); }
  .stl-shell .stl-content-card:not(:first-child) { flex-direction:column; align-items:stretch; min-height:130px; max-height:175px; }
  .stl-shell .stl-content-card:not(:first-child) .stl-card-image { display:block; width:100%; height:72px; min-height:0; max-height:72px; flex:0 0 72px; align-self:auto; }
  .stl-shell .stl-content-card:first-child { flex-direction:row; align-items:stretch; }
  .stl-shell .stl-content-card:first-child .stl-card-image { width:44%; height:auto; min-height:130px; max-height:175px; flex:0 0 44%; }
}

/* v0.3.4: enforce a tight title-to-description rhythm in both desktop widths.
   Use explicit grid rows so theme typography/vertical distribution cannot
   stretch the space between the heading and paragraph. Mobile is untouched. */
@media (min-width:701px) {
  .stl-shell .stl-panel .stl-panel-copy {
    display:grid !important;
    grid-template-columns:minmax(0,1fr);
    grid-auto-rows:max-content;
    align-content:start !important;
    justify-content:start !important;
    row-gap:0 !important;
    height:auto !important;
    min-height:0 !important;
  }
  .stl-shell .stl-panel .stl-panel-copy > .stl-panel-kicker {
    margin:0 0 3px !important;
    padding:0 !important;
  }
  .stl-shell .stl-panel .stl-panel-copy > h2.stl-panel-title {
    margin:0 0 7px !important;
    padding:0 !important;
    min-height:0 !important;
  }
  .stl-shell .stl-panel .stl-panel-copy > p.stl-panel-description {
    margin:0 0 8px !important;
    padding:0 !important;
    min-height:0 !important;
  }
  .stl-shell .stl-panel .stl-panel-copy > .stl-actions {
    margin:0 !important;
    align-self:start;
  }
}

/* v0.3.5: repair theme-influenced heading geometry and prevent action overflow.
   These rules target desktop Lounge panels only; mobile stays unchanged. */
@media (min-width:701px) {
  .stl-shell .stl-panel .stl-panel-top { align-items:flex-start !important; }
  .stl-shell .stl-panel .stl-panel-copy {
    display:flex !important; flex-direction:column !important;
    align-items:stretch !important; justify-content:flex-start !important;
    align-content:flex-start !important; gap:0 !important;
    height:auto !important; min-height:0 !important;
    flex-grow:0 !important; flex-shrink:1 !important;
    flex-basis:auto !important; width:min(100%,460px) !important;
    max-width:460px !important;
  }
  .stl-shell .stl-panel .stl-panel-copy > .stl-panel-kicker {
    display:block !important; position:static !important;
    margin:0 0 5px !important; padding:0 !important;
    height:auto !important; min-height:0 !important;
  }
  .stl-shell .stl-panel .stl-panel-copy > h2.stl-panel-title {
    display:block !important; position:static !important;
    font:500 clamp(1.3rem,2.1cqw,1.9rem)/1.14 Georgia,serif !important;
    color:#f4efdf !important; opacity:1 !important;
    margin:0 0 8px !important; padding:0 !important;
    height:auto !important; min-height:0 !important; max-height:none !important;
    transform:none !important; text-indent:0 !important;
    letter-spacing:normal !important;
  }
  .stl-shell .stl-panel .stl-panel-copy > p.stl-panel-description {
    display:block !important; position:static !important;
    margin:0 0 8px !important; padding:0 !important;
    height:auto !important; min-height:0 !important;
    line-height:1.35 !important; color:#d7d5ca !important;
  }
  .stl-shell .stl-panel .stl-panel-copy > .stl-actions {
    display:flex !important; flex-wrap:wrap !important;
    width:100% !important; min-width:0 !important;
    gap:6px !important; margin:0 !important;
  }
  .stl-shell .stl-panel .stl-panel-copy .stl-actions > .stl-action {
    display:inline-flex !important; align-items:center !important;
    justify-content:center !important; width:auto !important;
    max-width:100% !important; min-width:0 !important;
    height:auto !important; min-height:32px !important;
    padding:7px 9px !important; line-height:1.25 !important;
    white-space:normal !important; overflow-wrap:normal !important;
    text-align:center !important;
  }
}

/* v0.4.2: one-row exhibition carousel; keep existing mobile card presentation. */
.stl-shell .stl-card-carousel { position:relative; max-width:1320px; margin:0 auto; min-width:0; }
.stl-shell .stl-content-cards {
  display:grid; grid-auto-flow:column; grid-template-rows:minmax(0,1fr);
  grid-template-columns:none; overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:none; -ms-overflow-style:none;
  max-width:100%; margin:0; min-width:0;
}
.stl-shell .stl-content-cards::-webkit-scrollbar { display:none; }
.stl-shell .stl-content-card { scroll-snap-align:start; }
.stl-shell .stl-card-arrow[hidden] { display:none !important; }
.stl-shell .stl-card-arrow {
  position:absolute; z-index:3; top:50%; transform:translateY(-50%);
  width:40px; height:40px; border-radius:50%; border:1px solid #e8bb5c;
  background:#07110fe8; color:#f5c76a; font-size:30px; line-height:1;
  display:grid; place-items:center; cursor:pointer; box-shadow:0 4px 18px #0008;
}
.stl-shell .stl-card-prev { left:5px; }
.stl-shell .stl-card-next { right:5px; }
.stl-shell .stl-card-arrow:hover,.stl-shell .stl-card-arrow:focus-visible { background:#163225; outline:2px solid #edc75a; }
@media (min-width:701px) {
  .stl-shell .stl-content-cards {
    grid-template-columns:none !important;
    grid-auto-columns:clamp(155px,17%,220px);
    gap:10px; padding:2px 3px 5px;
  }
  .stl-shell .stl-content-card {
    min-height:165px; max-height:185px; flex-direction:column !important;
  }
  .stl-shell .stl-content-card:first-child {
    grid-column:span 2; flex-direction:row !important;
  }
  .stl-shell .stl-content-card:first-child .stl-card-image {
    display:block; flex:0 0 45%; width:45%; height:auto;
    min-height:165px; max-height:185px; object-fit:cover;
  }
  .stl-shell .stl-content-card:not(:first-child) .stl-card-image {
    display:block; flex:0 0 85px; width:100%; height:85px;
    min-height:0; max-height:85px; object-fit:cover;
  }
}
@media (max-width:700px) {
  .stl-shell .stl-content-cards {
    grid-template-columns:none !important;
    grid-auto-columns:minmax(125px, 43%);
    grid-auto-flow:column; grid-template-rows:minmax(0,1fr);
    overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
  }
  .stl-shell .stl-content-card:first-child { grid-column:auto; }
  .stl-shell .stl-card-arrow { display:none !important; }
}

/* v0.4.3: centered vector chevrons independent of font metrics. */
.stl-shell .stl-card-arrow { font-size:0 !important; line-height:0 !important; padding:0 !important; align-items:center !important; justify-items:center !important; }
.stl-shell .stl-card-arrow::before { content:""; display:block; width:10px; height:10px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); margin-left:-4px; }
.stl-shell .stl-card-prev::before { transform:rotate(225deg); margin-left:4px; }

/* v0.4.4: reserve a navigation gutter instead of covering the last card. */
@media (min-width:701px) {
  .stl-shell .stl-card-carousel { padding-right:52px !important; box-sizing:border-box; }
  .stl-shell .stl-card-next { right:4px !important; }
  .stl-shell .stl-card-prev { left:-18px !important; }
}
.stl-shell .stl-card-arrow {
  display:flex !important; align-items:center !important; justify-content:center !important;
  font-size:0 !important; line-height:0 !important; padding:0 !important;
}
.stl-shell .stl-card-arrow[hidden] { display:none !important; }
.stl-shell .stl-card-arrow::before {
  content:"" !important; position:absolute !important; left:50% !important; top:50% !important;
  width:9px !important; height:9px !important; margin:0 !important;
  border-top:2px solid currentColor !important; border-right:2px solid currentColor !important;
  transform:translate(-65%,-50%) rotate(45deg) !important;
}
.stl-shell .stl-card-prev::before { transform:translate(-35%,-50%) rotate(225deg) !important; }
@media (max-width:700px) { .stl-shell .stl-card-carousel { padding-right:0 !important; } .stl-shell .stl-card-arrow { display:none !important; } }

/* v0.4.5: concept-aligned compact exhibition strip. Container-aware, not viewport-only.
   No changes to card content, carousel controls, or hotspot coordinates. */
@container stl-room (min-width: 701px) {
  .stl-panel {
    box-sizing:border-box; left:1.6%; right:1.6%; bottom:1.5%;
    width:auto; max-height:min(48%, 312px) !important;
    padding:clamp(10px,1.25cqw,19px) !important;
    border:1px solid #c29b4d !important; border-radius:20px;
    background:linear-gradient(115deg,rgba(5,13,10,.97),rgba(8,17,13,.96)) !important;
    display:grid; grid-template-columns:minmax(175px,24%) minmax(0,1fr);
    gap:clamp(10px,1.2cqw,18px); align-items:stretch;
    overflow-y:auto; overflow-x:hidden;
  }
  .stl-panel-top { display:block !important; min-width:0; margin:0 !important; position:relative; }
  .stl-panel-copy { width:100% !important; max-width:none !important; flex-basis:auto !important; padding-top:9px; }
  .stl-panel .stl-panel-title { font-size:clamp(1.2rem,2.1cqw,2rem) !important; }
  .stl-panel .stl-panel-description { font-size:clamp(.72rem,.9cqw,.88rem); line-height:1.36 !important;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; }
  .stl-panel-copy .stl-actions { gap:5px !important; margin-top:8px !important; }
  .stl-panel-copy .stl-actions .stl-action { min-height:28px !important; padding:5px 8px !important; }
  .stl-panel .stl-close { position:absolute; right:0; top:0; width:25px; height:25px; }
  .stl-card-carousel { min-width:0; align-self:stretch; display:flex; align-items:stretch; }
  .stl-content-cards { align-self:stretch; flex:1; min-width:0; }
  .stl-content-card { height:clamp(160px,18cqw,234px) !important; max-height:234px !important; min-height:0 !important; }
  .stl-content-card:first-child { flex-direction:column !important; }
  .stl-content-card:first-child .stl-card-image { width:100% !important; height:55% !important;
    min-height:0 !important; max-height:none !important; flex:0 0 55% !important; }
  .stl-content-card:not(:first-child) .stl-card-image { height:44% !important;
    max-height:none !important; flex:0 0 44% !important; }
  .stl-card-body { min-height:0; padding:clamp(6px,.8cqw,11px); overflow:hidden; }
  .stl-card-body h3 { font-size:clamp(.85rem,1.2cqw,1.12rem); margin-bottom:4px; }
  .stl-card-body p { font-size:clamp(.67rem,.77cqw,.79rem); line-height:1.3; margin-bottom:4px;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
  .stl-card-eyebrow { margin-bottom:3px; }
  .stl-card-cta { padding-top:2px; }
}
@container stl-room (min-width:701px) and (max-width:920px) {
  .stl-panel { grid-template-columns:minmax(155px,28%) minmax(0,1fr); max-height:min(57%,290px) !important; }
  .stl-panel .stl-panel-description { -webkit-line-clamp:3; }
  .stl-content-card { height:clamp(150px,23cqw,190px) !important; }
}
@container stl-room (max-width:700px) {
  .stl-panel { padding:9px !important; max-height:65% !important; }
  .stl-panel-top { margin-bottom:5px !important; }
  .stl-panel .stl-panel-title { margin-bottom:2px !important; }
  .stl-panel .stl-panel-description { line-height:1.28 !important; margin-bottom:3px !important;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
  .stl-panel-copy .stl-actions { margin-top:5px !important; }
}

/* v0.4.6: compact embedded panel, content-aware arrows, concept-style back link. */
.stl-shell .stl-close { display:none !important; }
.stl-shell .stl-panel-copy .stl-actions { display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:7px !important; }
.stl-shell .stl-panel-copy .stl-actions .stl-return {
  order:-1 !important; border:0 !important; background:transparent !important;
  box-shadow:none !important; color:#e9bd65 !important; padding:0 !important;
  min-height:0 !important; height:auto !important; width:auto !important;
  font-size:12px !important; font-weight:500 !important; white-space:nowrap !important;
  text-decoration:none !important;
}
.stl-shell .stl-panel-copy .stl-actions .stl-return:hover,
.stl-shell .stl-panel-copy .stl-actions .stl-return:focus-visible { text-decoration:underline !important; }
.stl-shell .stl-panel-copy .stl-actions .stl-primary-link { order:2; }
/* Three or fewer items always fit without arrows; only extra items trigger scrolling. */
@media (min-width:701px) {
  .stl-shell .stl-card-carousel[data-card-count="1"],
  .stl-shell .stl-card-carousel[data-card-count="2"],
  .stl-shell .stl-card-carousel[data-card-count="3"] { padding-right:0 !important; }
  .stl-shell .stl-card-carousel[data-card-count="1"] .stl-content-cards { grid-auto-columns:minmax(0,58%) !important; }
  .stl-shell .stl-card-carousel[data-card-count="2"] .stl-content-cards { grid-auto-columns:minmax(0,30%) !important; }
  .stl-shell .stl-card-carousel[data-card-count="3"] .stl-content-cards { grid-auto-columns:minmax(0,24%) !important; }
  .stl-shell .stl-card-carousel[data-card-count="1"] .stl-content-card:first-child { grid-column:auto !important; }
}
/* The 701px viewport breakpoint is not sufficient for a Zeen embedded block.
   Container rules also cover the medium embedded room regardless of screen width. */
@container stl-room (min-width:480px) and (max-width:920px) {
  .stl-shell .stl-panel {
    box-sizing:border-box !important; left:1.5% !important; right:1.5% !important;
    bottom:1.5% !important; width:auto !important;
    max-height:min(46%,270px) !important;
    padding:10px !important; overflow-y:auto !important; overflow-x:hidden !important;
    display:grid !important; grid-template-columns:minmax(130px,31%) minmax(0,1fr) !important;
    align-items:stretch !important; gap:10px !important;
    border:1px solid #c29b4d !important; border-radius:16px !important;
  }
  .stl-shell .stl-panel-top { display:block !important; margin:0 !important; padding:0 !important; }
  .stl-shell .stl-panel-copy { width:100% !important; max-width:none !important; }
  .stl-shell .stl-panel .stl-panel-title { font-size:clamp(1rem,2.7cqw,1.4rem) !important; margin:0 0 4px !important; }
  .stl-shell .stl-panel .stl-panel-description { font-size:clamp(.68rem,1.6cqw,.8rem) !important; line-height:1.3 !important; margin:0 0 6px !important; }
  .stl-shell .stl-card-carousel { min-width:0 !important; align-self:stretch !important; margin:0 !important; }
  .stl-shell .stl-content-cards { display:grid !important; grid-auto-flow:column !important; grid-template-rows:minmax(0,1fr) !important; overflow-x:auto !important; overflow-y:hidden !important; grid-auto-columns:clamp(115px,27%,170px) !important; }
  .stl-shell .stl-content-card { height:clamp(135px,25cqw,200px) !important; min-height:0 !important; max-height:200px !important; flex-direction:column !important; }
  .stl-shell .stl-content-card:first-child { grid-column:span 2 !important; flex-direction:column !important; }
  .stl-shell .stl-content-card .stl-card-image { width:100% !important; height:45% !important; max-height:none !important; min-height:0 !important; flex:0 0 45% !important; }
  .stl-shell .stl-card-body { padding:6px !important; overflow:hidden !important; }
  .stl-shell .stl-card-body h3 { font-size:.82rem !important; }
  .stl-shell .stl-card-body p { font-size:.68rem !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .stl-shell .stl-card-carousel[data-card-count="1"], .stl-shell .stl-card-carousel[data-card-count="2"], .stl-shell .stl-card-carousel[data-card-count="3"] { padding-right:0 !important; }
  .stl-shell .stl-card-carousel[data-card-count="1"] .stl-content-card:first-child { grid-column:auto !important; }
  .stl-shell .stl-card-carousel[data-card-count="1"] .stl-content-cards { grid-auto-columns:minmax(0,78%) !important; }
  .stl-shell .stl-card-carousel[data-card-count="2"] .stl-content-cards { grid-auto-columns:minmax(0,35%) !important; }
  .stl-shell .stl-card-carousel[data-card-count="3"] .stl-content-cards { grid-auto-columns:minmax(0,27%) !important; }
}
@container stl-room (max-width:479px) {
  .stl-shell .stl-panel { max-height:50% !important; overflow-y:auto !important; padding:8px 9px !important; }
  .stl-shell .stl-panel-top { margin-bottom:5px !important; }
  .stl-shell .stl-panel .stl-panel-description { -webkit-line-clamp:2 !important; }
  .stl-shell .stl-panel-copy .stl-actions { gap:4px !important; }
  /* Mobile cards and swipe remain at their existing sizes. */
}

/* v0.4.9: v0.4.6 desktop foundation with safe compact text and card sizing. */
@container stl-room (min-width:480px) {
 .stl-shell .stl-panel { overflow-y:hidden !important; }
 .stl-shell .stl-panel-copy { min-height:0 !important; }
 .stl-shell .stl-panel-copy .stl-panel-title { display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important; overflow:hidden !important; }
 .stl-shell .stl-panel-copy .stl-panel-description { display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:3 !important; overflow:hidden !important; }
 .stl-shell .stl-panel-copy .stl-actions { gap:5px !important; }
 .stl-shell .stl-panel-copy .stl-actions .stl-primary-link { font-size:clamp(10px,1.05cqw,13px) !important; line-height:1.2 !important; }
 .stl-shell .stl-content-card { overflow:hidden !important; }
 .stl-shell .stl-card-body { display:flex !important; flex-direction:column !important; min-height:0 !important; overflow:hidden !important; }
 .stl-shell .stl-card-body h3 { display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:3 !important; overflow:hidden !important; }
 .stl-shell .stl-card-body p { display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important; overflow:hidden !important; }
 .stl-shell .stl-card-body .stl-card-cta { margin-top:auto !important; flex-shrink:0 !important; }
}
@container stl-room (min-width:921px) {
 .stl-shell .stl-card-carousel[data-card-count="1"] { margin-left:0 !important; margin-right:0 !important; }
 .stl-shell .stl-card-carousel[data-card-count="1"] .stl-content-cards { grid-auto-columns:minmax(0, min(100%, 400px)) !important; }
 .stl-shell .stl-card-carousel[data-card-count="1"] .stl-content-card:first-child { grid-column:auto !important; }
}
/* A dedicated top-level mobile dialog, never constrained by Zeen page wrappers. */
@media (max-width:700px) {
 .stl-mobile-portal:not([hidden]) { position:fixed !important; inset:0 !important; z-index:2147483640 !important; display:flex !important; align-items:center !important; justify-content:center !important; box-sizing:border-box !important; padding:calc(env(safe-area-inset-top, 0px) + 14px) 12px calc(env(safe-area-inset-bottom, 0px) + 14px) !important; width:100vw !important; height:100dvh !important; overflow:hidden !important; background:transparent !important; }
 .stl-mobile-portal[hidden] { display:none !important; }
 .stl-mobile-portal .stl-mobile-backdrop { position:absolute !important; inset:0 !important; background:rgba(3,10,7,.82) !important; backdrop-filter:blur(3px); }
 .stl-mobile-portal .stl-panel { position:relative !important; inset:auto !important; display:flex !important; flex-direction:column !important; box-sizing:border-box !important; width:100% !important; max-width:580px !important; height:auto !important; max-height:100% !important; min-height:0 !important; overflow-y:auto !important; overflow-x:hidden !important; overscroll-behavior:contain !important; -webkit-overflow-scrolling:touch !important; padding:14px !important; gap:10px !important; border:1px solid #c29b4d !important; border-radius:18px !important; background:rgba(5,14,10,.97) !important; box-shadow:0 20px 65px #0009 !important; transform:none !important; opacity:1 !important; visibility:visible !important; pointer-events:auto !important; }
 .stl-mobile-portal .stl-panel-top { position:relative !important; display:block !important; flex:none !important; margin:0 !important; }
 .stl-mobile-portal .stl-panel-copy { display:flex !important; flex-direction:column !important; align-items:flex-start !important; width:100% !important; padding:0 !important; }
 .stl-mobile-portal .stl-panel-kicker { font-size:10px !important; margin:0 0 3px !important; }
 .stl-mobile-portal .stl-panel-title { font-size:clamp(19px,5vw,25px) !important; line-height:1.1 !important; margin:0 0 5px !important; }
 .stl-mobile-portal .stl-panel-description { font-size:12px !important; line-height:1.3 !important; margin:0 0 6px !important; display:-webkit-box !important; -webkit-line-clamp:3 !important; -webkit-box-orient:vertical !important; overflow:hidden !important; }
 .stl-mobile-portal .stl-actions { display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:6px !important; margin:0 !important; }
 .stl-mobile-portal .stl-actions .stl-return { order:-1 !important; background:transparent !important; border:0 !important; padding:0 !important; min-height:0 !important; color:#e9bd65 !important; }
 .stl-mobile-portal .stl-actions .stl-primary-link { order:2 !important; min-height:28px !important; padding:6px 10px !important; font-size:12px !important; }
 .stl-mobile-portal .stl-card-carousel { position:relative !important; display:block !important; flex:none !important; width:100% !important; min-width:0 !important; margin:0 !important; padding:0 !important; }
 .stl-mobile-portal .stl-content-cards { display:grid !important; grid-auto-flow:column !important; grid-template-rows:minmax(0,1fr) !important; grid-template-columns:none !important; grid-auto-columns:clamp(128px,43%,190px) !important; gap:9px !important; overflow-x:auto !important; overflow-y:hidden !important; scroll-snap-type:x mandatory !important; -webkit-overflow-scrolling:touch !important; padding:2px 0 4px !important; }
 .stl-mobile-portal .stl-content-card { box-sizing:border-box !important; display:flex !important; flex-direction:column !important; height:190px !important; min-height:0 !important; max-height:190px !important; width:auto !important; overflow:hidden !important; }
 .stl-mobile-portal .stl-content-card:first-child { grid-column:span 2 !important; flex-direction:row !important; }
 .stl-mobile-portal .stl-content-card:first-child .stl-card-image { width:48% !important; height:100% !important; flex:0 0 48% !important; min-height:0 !important; max-height:none !important; object-fit:cover !important; }
 .stl-mobile-portal .stl-content-card:not(:first-child) .stl-card-image { width:100% !important; height:76px !important; flex:0 0 76px !important; min-height:0 !important; max-height:none !important; object-fit:cover !important; }
 .stl-mobile-portal .stl-card-body { display:flex !important; flex-direction:column !important; flex:1 !important; min-width:0 !important; min-height:0 !important; overflow:hidden !important; padding:8px !important; }
 .stl-mobile-portal .stl-card-body h3 { font-size:13px !important; line-height:1.17 !important; margin:2px 0 4px !important; display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:3 !important; overflow:hidden !important; }
 .stl-mobile-portal .stl-card-body p { font-size:10px !important; line-height:1.2 !important; display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important; overflow:hidden !important; }
 .stl-mobile-portal .stl-card-body .stl-card-cta { margin-top:auto !important; flex-shrink:0 !important; font-size:11px !important; }
 .stl-mobile-portal .stl-card-arrow { display:none !important; }
}

/* v0.4.10 compact panel corrections */
@media(max-width:700px){.stl-mobile-portal .stl-panel-title{margin-bottom:1px!important}.stl-mobile-portal .stl-panel-description{margin-top:0!important}.stl-mobile-portal .stl-panel-copy{gap:0!important}}
@container stl-room (min-width:921px){
.stl-shell .stl-content-card:first-child{display:flex!important;flex-direction:column!important;align-items:stretch!important}
.stl-shell .stl-content-card:first-child .stl-card-image{display:block!important;width:100%!important;height:45%!important;min-height:0!important;max-height:none!important;flex:0 0 45%!important;object-fit:cover!important}}
@container stl-room (min-width:480px) and (max-width:920px){
.stl-shell .stl-panel{grid-template-columns:minmax(0,29%) minmax(0,1fr)!important;gap:8px!important;padding:9px!important;overflow:hidden!important}
.stl-shell .stl-panel-copy{padding-top:0!important;min-height:0!important;display:flex!important;flex-direction:column!important}
.stl-shell .stl-panel-copy .stl-panel-kicker{font-size:clamp(9px,1.3cqw,11px)!important;line-height:1.1!important;margin-bottom:2px!important}
.stl-shell .stl-panel-copy .stl-panel-title{line-height:1.08!important;margin-bottom:3px!important;font-size:clamp(16px,2.45cqw,22px)!important}
.stl-shell .stl-panel-copy .stl-panel-description{-webkit-line-clamp:2!important;font-size:clamp(10px,1.35cqw,12px)!important;line-height:1.2!important;margin-bottom:4px!important}
.stl-shell .stl-panel-copy .stl-actions{margin-top:auto!important;gap:5px!important;padding-bottom:2px!important}
.stl-shell .stl-panel-copy .stl-actions .stl-action{min-height:0!important;padding:6px 7px!important;line-height:1.15!important}
.stl-shell .stl-content-card{height:clamp(155px,25cqw,205px)!important;max-height:205px!important}
.stl-shell .stl-content-card .stl-card-image{height:37%!important;flex:0 0 37%!important}
.stl-shell .stl-card-body{display:flex!important;flex-direction:column!important;padding:6px!important;gap:0!important;min-height:0!important}
.stl-shell .stl-card-body h3{font-size:clamp(11px,1.55cqw,14px)!important;line-height:1.12!important;margin:1px 0 3px!important;-webkit-line-clamp:2!important}
.stl-shell .stl-card-body p{font-size:10px!important;line-height:1.14!important;-webkit-line-clamp:1!important;margin:0 0 2px!important}
.stl-shell .stl-card-body .stl-card-cta{margin-top:auto!important;padding-top:3px!important;font-size:11px!important;line-height:1.15!important}}

/* v0.4.12: direct selectors for compact embedded panel. */
@container stl-room (min-width:480px) and (max-width:920px) {
 .stl-shell .stl-panel { grid-template-columns:minmax(0,30%) minmax(0,1fr)!important; padding:12px 10px!important; gap:10px!important; align-items:center!important; overflow:hidden!important; }
 .stl-shell .stl-panel-top { align-self:stretch!important; min-height:0!important; display:flex!important; }
 .stl-shell .stl-panel-copy { display:flex!important; flex-direction:column!important; min-height:0!important; padding:0!important; gap:0!important; }
 .stl-shell .stl-panel-kicker { font-size:clamp(9px,1.15cqw,11px)!important; line-height:1.1!important; margin:0 0 3px!important; display:-webkit-box!important; -webkit-box-orient:vertical!important; -webkit-line-clamp:2!important; overflow:hidden!important; }
 .stl-shell .stl-panel-title { font-size:clamp(16px,2.5cqw,22px)!important; line-height:1.08!important; margin:0 0 4px!important; display:-webkit-box!important; -webkit-box-orient:vertical!important; -webkit-line-clamp:2!important; overflow:hidden!important; }
 .stl-shell .stl-panel-description { font-size:clamp(10px,1.3cqw,12px)!important; line-height:1.18!important; margin:0!important; display:-webkit-box!important; -webkit-box-orient:vertical!important; -webkit-line-clamp:2!important; overflow:hidden!important; }
 .stl-shell .stl-panel-copy .stl-actions { display:flex!important; flex-direction:column!important; align-items:flex-start!important; flex:0 0 auto!important; margin-top:auto!important; gap:5px!important; padding:6px 0 2px!important; }
 .stl-shell .stl-panel-copy .stl-actions .stl-return { font-size:11px!important; line-height:1.15!important; }
 .stl-shell .stl-panel-copy .stl-actions .stl-primary-link { box-sizing:border-box!important; max-width:100%!important; min-height:0!important; padding:6px 8px!important; font-size:clamp(10px,1.25cqw,12px)!important; line-height:1.15!important; white-space:normal!important; text-align:left!important; }
 .stl-shell .stl-card-carousel { height:auto!important; min-height:0!important; align-self:center!important; }
 .stl-shell .stl-content-cards { align-self:center!important; padding-block:0!important; }
 .stl-shell .stl-content-card { height:clamp(150px,24cqw,198px)!important; max-height:198px!important; margin-block:0!important; }
}
.stl-shell .stl-card-arrow[hidden], .stl-shell .stl-card-carousel[data-at-start="true"] .stl-card-prev, .stl-shell .stl-card-carousel[data-at-end="true"] .stl-card-next { display:none!important; visibility:hidden!important; pointer-events:none!important; }
@media(max-width:700px) {
 body > .stl-mobile-portal .stl-panel .stl-panel-title { margin:0 0 1px!important; padding:0!important; line-height:1.08!important; }
 body > .stl-mobile-portal .stl-panel .stl-panel-description { margin:0 0 4px!important; padding:0!important; }
}

/* v0.4.13: targeted fixes. The portal is moved under BODY on mobile. */
@media (max-width:700px) {
  body > div.stl-mobile-portal .stl-panel .stl-panel-copy > h2.stl-panel-title {
    color:#f5f2e8 !important;
    -webkit-text-fill-color:#f5f2e8 !important;
    opacity:1 !important;
    visibility:visible !important;
    text-shadow:none !important;
  }
}
/* Embedded desktop: use the actual two-column panel, and target direct
   children to override old, more-specific theme protection rules. */
@media (min-width:701px) {
  @container stl-room (min-width:480px) and (max-width:920px) {
    .stl-shell .stl-stage.is-open > section.stl-panel {
      grid-template-columns:minmax(0,32%) minmax(0,1fr) !important;
      align-items:center !important;
      padding:10px !important;
      gap:10px !important;
    }
    .stl-shell .stl-panel .stl-panel-top { align-self:stretch !important; align-items:stretch !important; }
    .stl-shell .stl-panel .stl-panel-top > .stl-panel-copy {
      width:100% !important; max-width:none !important;
      height:100% !important; display:flex !important;
      flex-direction:column !important; justify-content:flex-start !important;
      min-height:0 !important; overflow:hidden !important;
    }
    .stl-shell .stl-panel .stl-panel-copy > .stl-panel-kicker { margin:0 0 2px !important; font-size:9px !important; line-height:1.1 !important; }
    .stl-shell .stl-panel .stl-panel-copy > h2.stl-panel-title {
      font:500 clamp(15px,2.7cqw,20px)/1.08 Georgia,serif !important;
      margin:0 0 4px !important; max-height:2.16em !important;
      overflow:hidden !important; display:-webkit-box !important;
      -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important;
    }
    .stl-shell .stl-panel .stl-panel-copy > p.stl-panel-description {
      font-size:clamp(10px,1.25cqw,12px) !important;
      line-height:1.18 !important; margin:0 0 4px !important;
      max-height:2.36em !important; overflow:hidden !important;
      display:-webkit-box !important; -webkit-box-orient:vertical !important;
      -webkit-line-clamp:2 !important;
    }
    .stl-shell .stl-panel .stl-panel-copy > .stl-actions {
      flex-shrink:0 !important; margin-top:auto !important;
      padding:4px 0 1px !important; gap:4px !important;
    }
    .stl-shell .stl-panel .stl-panel-copy > .stl-actions .stl-primary-link {
      font-size:10px !important; line-height:1.15 !important;
      min-height:0 !important; padding:5px 7px !important;
    }
    .stl-shell .stl-panel .stl-card-carousel { align-self:center !important; min-height:0 !important; }
  }
}
/* Attribute hidden must override legacy arrow presentation styles. */
.stl-shell button.stl-card-prev[hidden],
.stl-shell button.stl-card-next[hidden] { display:none !important; }

/* v0.4.14: embedded panel geometry, constrained to the measured compact view.
   Deliberately leaves large desktop and the body-level mobile portal alone. */
@media (min-width:701px) {
 @container stl-room (min-width:480px) and (max-width:920px) {
  .stl-shell .stl-stage.is-open > section.stl-panel {
   height:clamp(188px,29cqw,218px) !important;
   max-height:none !important;
   min-height:0 !important;
   overflow:hidden !important;
   grid-template-columns:minmax(0,31%) minmax(0,1fr) !important;
   padding:10px !important;
   align-items:stretch !important;
  }
  .stl-shell .stl-panel > .stl-panel-top { min-height:0 !important; height:100% !important; overflow:hidden !important; }
  .stl-shell .stl-panel .stl-panel-top > .stl-panel-copy {
   height:100% !important; min-height:0 !important; box-sizing:border-box !important;
   justify-content:flex-start !important; overflow:hidden !important;
  }
  .stl-shell .stl-panel .stl-panel-copy > h2.stl-panel-title { flex:0 0 auto !important; font-size:clamp(15px,2.45cqw,20px) !important; }
  .stl-shell .stl-panel .stl-panel-copy > p.stl-panel-description { flex:0 1 auto !important; min-height:0 !important; -webkit-line-clamp:2 !important; }
  .stl-shell .stl-panel .stl-panel-copy > .stl-actions {
   margin-top:auto !important; flex:0 0 auto !important; gap:4px !important;
   padding:4px 0 0 !important; width:100% !important;
  }
  .stl-shell .stl-panel .stl-panel-copy > .stl-actions .stl-return { font-size:10px !important; line-height:1.1 !important; }
  .stl-shell .stl-panel .stl-panel-copy > .stl-actions .stl-primary-link {
   box-sizing:border-box !important; width:fit-content !important; max-width:100% !important;
   padding:5px 6px !important; font-size:10px !important; line-height:1.15 !important;
  }
  .stl-shell .stl-panel > .stl-card-carousel { height:100% !important; align-self:stretch !important; min-height:0 !important; }
  .stl-shell .stl-panel .stl-content-cards { height:100% !important; min-height:0 !important; align-self:stretch !important; }
  .stl-shell .stl-panel .stl-content-card { height:100% !important; max-height:none !important; min-height:0 !important; }
 }
}
/* Carousel state is authoritative even when theme CSS styles buttons. */
.stl-shell .stl-card-carousel[data-at-start="true"] > button.stl-card-prev,
.stl-shell .stl-card-carousel[data-at-end="true"] > button.stl-card-next,
.stl-shell .stl-card-carousel > button.stl-card-arrow[hidden] { display:none !important; visibility:hidden !important; }

/* v0.4.15 — embedded-only refinements. Leave arrows, mobile and large room alone. */
@media (min-width:701px) {
 @container stl-room (min-width:480px) and (max-width:920px) {
  /* Keep action buttons next to the copy instead of pinning them to the floor. */
  .stl-shell .stl-stage.is-open > .stl-panel .stl-panel-top > .stl-panel-copy {
    height:auto !important; min-height:0 !important; justify-content:flex-start !important;
    overflow:visible !important; padding:2px 0 0 4px !important;
  }
  .stl-shell .stl-stage.is-open > .stl-panel .stl-panel-copy > .stl-actions {
    margin-top:7px !important; padding:0 0 2px 2px !important;
    width:calc(100% - 2px) !important; gap:5px !important;
    align-items:flex-start !important;
  }
  /* Room for card hover movement and outline without changing the outer panel.
     The scroll viewport clips vertically; internal breathing room is essential. */
  .stl-shell .stl-stage.is-open > .stl-panel > .stl-card-carousel {
    padding-top:6px !important; padding-bottom:5px !important;
    box-sizing:border-box !important; min-height:0 !important;
  }
  .stl-shell .stl-stage.is-open > .stl-panel .stl-content-cards {
    height:100% !important; box-sizing:border-box !important;
    padding-top:2px !important; padding-bottom:2px !important;
    scroll-padding-top:4px !important;
  }
  .stl-shell .stl-stage.is-open > .stl-panel .stl-content-card {
    height:100% !important; max-height:100% !important;
    box-sizing:border-box !important;
  }
 }
}

/* v0.4.25: original v0.4.20 Discovery CSS restored verbatim above.
   Mobile fullscreen is a fixed camera canvas with an independent bottom panel.
   Neither opening Discovery nor zooming changes the image/hotspot geometry. */
.stl-shell .stl-enter-mobile,.stl-shell .stl-exit-mobile{display:none}
@media(max-width:700px){
 .stl-shell .stl-enter-mobile{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin:0 0 10px;padding:12px 16px;border:1px solid #c9a855;border-radius:10px;background:#164c38;color:#fff3d3;font-weight:700;cursor:pointer}
 .stl-shell:not(.stl-room-fullscreen)>.stl-stage{display:none!important}
 body.stl-lounge-room-open{overflow:hidden!important}
 .stl-shell.stl-room-fullscreen .stl-stage{
  position:fixed!important;inset:0!important;top:0!important;left:0!important;
  transform:none!important;width:100dvw!important;height:100dvh!important;
  max-width:none!important;max-height:none!important;aspect-ratio:auto!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:#0b100d!important;display:block!important;overflow:hidden!important;
  z-index:2147482000!important;isolation:isolate!important;
 }
 .stl-shell.stl-room-fullscreen .stl-mobile-room-viewport{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;transform:none!important;
 }
 .stl-shell.stl-room-fullscreen .stl-mobile-room-viewport .stl-scene{
  position:relative!important;width:100%!important;height:auto!important;flex:0 0 auto!important;
  transform-origin:50% 50%!important;
  transition:transform 1750ms cubic-bezier(.18,.72,.18,1),filter 800ms ease!important;
 }
 .stl-shell.stl-room-fullscreen .stl-mobile-room-viewport .stl-scene img{
  display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;
 }
 .stl-shell.stl-room-fullscreen .stl-hotspot{
  position:absolute!important;z-index:8!important;max-width:30vw!important;
  font-size:10px!important;padding:6px!important;line-height:1.1!important;
  transition:opacity .25s ease,background .2s ease!important;
 }
 /* Percentages are relative to the invariant viewport, not to the zoomed image. */
 .stl-shell.stl-room-fullscreen .stl-hotspot[data-object="sofa"]{left:17%!important;right:auto!important;top:59%!important}
 .stl-shell.stl-room-fullscreen .stl-hotspot[data-object="record"]{left:17%!important;right:auto!important;top:41%!important}
 .stl-shell.stl-room-fullscreen .stl-hotspot[data-object="screen"]{left:37%!important;right:auto!important;top:37%!important}
 .stl-shell.stl-room-fullscreen .stl-hotspot[data-object="table"]{left:63%!important;right:auto!important;top:44%!important}
 .stl-shell.stl-room-fullscreen .stl-hotspot[data-object="kitchen"]{left:80%!important;right:auto!important;top:41%!important}
 .stl-shell.stl-room-fullscreen .stl-stage[data-focus]:not([data-focus=""]) .stl-hotspot{opacity:0!important;pointer-events:none!important}
 .stl-shell.stl-room-fullscreen .stl-stage[data-focus]:not([data-focus=""]) .stl-scene{filter:none!important}
 .stl-shell.stl-room-fullscreen .stl-stage[data-focus="sofa"] .stl-scene{transform:scale(1.65) translate(17%,-9%)!important}
 .stl-shell.stl-room-fullscreen .stl-stage[data-focus="record"] .stl-scene{transform:scale(1.7) translate(13%,-4%)!important}
 .stl-shell.stl-room-fullscreen .stl-stage[data-focus="screen"] .stl-scene{transform:scale(1.7) translate(5%,0%)!important}
 .stl-shell.stl-room-fullscreen .stl-stage[data-focus="table"] .stl-scene{transform:scale(1.65) translate(-11%,-4%)!important}
 .stl-shell.stl-room-fullscreen .stl-stage[data-focus="kitchen"] .stl-scene{transform:scale(1.7) translate(-19%,-3%)!important}
 .stl-shell.stl-room-fullscreen .stl-exit-mobile{
  display:block!important;position:fixed!important;z-index:2147482050!important;
  top:max(9px,env(safe-area-inset-top))!important;right:max(9px,env(safe-area-inset-right))!important;
  min-height:30px!important;padding:5px 9px!important;font-size:11px!important;
  border:1px solid #e6c16e;border-radius:999px;background:#10271fe8;color:white;cursor:pointer;
 }
 /* Restore v0.4.20 panel layout: grid, horizontal carousel and clamped descriptions. */
 .stl-shell.stl-room-fullscreen .stl-stage>.stl-panel{
  display:none!important;position:absolute!important;inset:auto 8px max(7px,env(safe-area-inset-bottom)) 8px!important;
  width:auto!important;height:46dvh!important;max-height:46dvh!important;min-height:0!important;
  box-sizing:border-box!important;overflow:hidden!important;
  background:linear-gradient(180deg,#090b09,#080a08)!important;
  border:1px solid #c5a65d!important;border-radius:10px!important;
  box-shadow:0 -12px 42px #000a,inset 0 0 0 1px #c5a65d22!important;
  padding:10px 10px!important;z-index:20!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transform:translateY(12px)!important;transition:opacity .32s ease,transform .35s ease!important;
 }
 .stl-shell.stl-room-fullscreen .stl-stage.is-open>.stl-panel{
  display:grid!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transform:translateY(0)!important;
  grid-template-columns:minmax(0,30%) minmax(0,1fr)!important;gap:8px!important;align-items:center!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel>.stl-panel-top{height:100%!important;min-height:0!important;overflow:hidden!important;align-self:stretch!important}
 .stl-shell.stl-room-fullscreen .stl-panel .stl-panel-copy{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
 .stl-shell.stl-room-fullscreen .stl-panel .stl-panel-title{font-size:clamp(14px,3.7vw,19px)!important;line-height:1.12!important}
 .stl-shell.stl-room-fullscreen .stl-panel .stl-panel-description{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;font-size:10px!important;line-height:1.2!important}
 .stl-shell.stl-room-fullscreen .stl-panel .stl-actions{margin-top:auto!important;display:flex!important;flex-direction:column!important;gap:5px!important}
 .stl-shell.stl-room-fullscreen .stl-panel .stl-action{font-size:10px!important;min-height:0!important;padding:6px!important}
 .stl-shell.stl-room-fullscreen .stl-panel>.stl-card-carousel{min-width:0!important;width:100%!important;height:100%!important;min-height:0!important;align-self:stretch!important;overflow:hidden!important}
 .stl-shell.stl-room-fullscreen .stl-panel .stl-content-cards{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  width:100%!important;height:100%!important;max-height:100%!important;
  overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;
  scroll-snap-type:x mandatory!important;align-items:stretch!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-content-card{
  flex:0 0 min(94%,235px)!important;width:min(94%,235px)!important;
  height:100%!important;max-height:100%!important;min-height:0!important;
  overflow:hidden!important;scroll-snap-align:start!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-content-card p{
  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;
  overflow:hidden!important;font-size:10px!important;line-height:1.25!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-content-card .stl-card-image{height:37%!important;flex:0 0 37%!important}
 .stl-shell.stl-room-fullscreen .stl-panel .stl-card-arrow{z-index:3!important}
 .stl-shell.stl-room-fullscreen .stl-stage.stl-camera-travelling>.stl-panel{display:none!important}
 .stl-shell.stl-room-fullscreen .stl-stage.is-open .stl-instruction{opacity:0!important}
}


/* v0.4.27 — fixed image-space markers; selected marker stays gold.
   Discovery restores the v0.4.20 left-copy/right-carousel arrangement. */
@media (max-width:700px) {
 .stl-shell.stl-room-fullscreen .stl-mobile-room-viewport .stl-scene {
   width:100%!important;aspect-ratio:3/2!important;height:auto!important;position:relative!important;flex:0 0 auto!important;
 }
 .stl-shell.stl-room-fullscreen .stl-mobile-room-viewport .stl-scene img {
   display:block!important;width:100%!important;height:100%!important;aspect-ratio:3/2!important;object-fit:fill!important;
 }
 .stl-shell.stl-room-fullscreen .stl-mobile-marker-layer {
   position:absolute!important;top:50%!important;left:0!important;width:100%!important;
   height:auto!important;aspect-ratio:3/2!important;transform:translateY(-50%)!important;
   z-index:22!important;pointer-events:none!important;overflow:visible!important;
   opacity:1!important;visibility:visible!important;
 }
 .stl-shell.stl-room-fullscreen .stl-mobile-marker-layer .stl-hotspot {
   position:absolute!important;pointer-events:auto!important;transform:none!important;
   font-size:10px!important;max-width:28%!important;transition:opacity .25s ease,background .25s ease!important;
 }
 .stl-shell.stl-room-fullscreen .stl-mobile-marker-layer .stl-hotspot[data-object="sofa"]{left:13%!important;right:auto!important;top:62%!important}
 .stl-shell.stl-room-fullscreen .stl-mobile-marker-layer .stl-hotspot[data-object="record"]{left:13%!important;right:auto!important;top:35%!important}
 .stl-shell.stl-room-fullscreen .stl-mobile-marker-layer .stl-hotspot[data-object="screen"]{left:31%!important;right:auto!important;top:25%!important}
 .stl-shell.stl-room-fullscreen .stl-mobile-marker-layer .stl-hotspot[data-object="table"]{left:58%!important;right:auto!important;top:41%!important}
 .stl-shell.stl-room-fullscreen .stl-mobile-marker-layer .stl-hotspot[data-object="kitchen"]{left:auto!important;right:1%!important;top:37%!important}
 /* All other markers vanish on focus; the selected one remains highlighted. */
 .stl-shell.stl-room-fullscreen .stl-stage[data-focus]:not([data-focus=""]) .stl-mobile-marker-layer .stl-hotspot {opacity:0!important;visibility:hidden!important;pointer-events:none!important}
 .stl-shell.stl-room-fullscreen .stl-stage[data-focus]:not([data-focus=""]) .stl-mobile-marker-layer .stl-hotspot[aria-pressed="true"] {
   opacity:1!important;visibility:visible!important;pointer-events:none!important;
   background:#9a7228!important;color:#fff7d6!important;border:1px solid #ffe0a0!important;
   box-shadow:0 0 0 2px #0b0b0b,0 0 18px #f5c45b!important;
 }
 .stl-shell.stl-room-fullscreen .stl-stage.stl-camera-resetting .stl-mobile-marker-layer .stl-hotspot {opacity:0!important;visibility:hidden!important;pointer-events:none!important}
 /* Panel is a locked left/right grid; its internal vertical overflow is disabled. */
 .stl-shell.stl-room-fullscreen .stl-stage.is-open>.stl-panel {
   display:grid!important;grid-template-columns:minmax(0,34%) minmax(0,1fr)!important;
   grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important;gap:9px!important;
   height:min(42dvh,320px)!important;max-height:min(42dvh,320px)!important;
   min-height:0!important;overflow:hidden!important;box-sizing:border-box!important;
   padding:10px!important;background:#090b09!important;border:1px solid #c5a65d!important;
 }
 .stl-shell.stl-room-fullscreen .stl-stage.is-open>.stl-panel>.stl-panel-top {
   display:block!important;grid-column:1!important;grid-row:1!important;
   width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;
   margin:0!important;padding:0!important;overflow:hidden!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-panel-copy {
   display:flex!important;flex-direction:column!important;align-items:stretch!important;
   width:100%!important;max-width:none!important;height:100%!important;
   min-height:0!important;overflow:hidden!important;padding:0!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-panel-kicker {
   display:block!important;font-size:9px!important;color:#edc75a!important;line-height:1.15!important;
   margin:0 0 5px!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel h2.stl-panel-title {
   display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
   color:#fff0cb!important;font-size:clamp(14px,3.8vw,18px)!important;
   line-height:1.13!important;margin:0 0 6px!important;max-height:2.26em!important;overflow:hidden!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-panel-description {
   display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;
   font-size:10px!important;line-height:1.24!important;max-height:3.72em!important;
   margin:0 0 7px!important;overflow:hidden!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-actions {
   display:flex!important;flex-direction:column!important;justify-content:flex-end!important;
   gap:6px!important;max-width:none!important;min-width:0!important;
   margin:auto 0 0!important;padding:0!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-actions .stl-action {
   display:block!important;box-sizing:border-box!important;width:100%!important;
   font-size:10px!important;line-height:1.2!important;min-height:0!important;
   padding:7px 4px!important;margin:0!important;text-align:center!important;
 }
 .stl-shell.stl-room-fullscreen .stl-stage.is-open>.stl-panel>.stl-card-carousel {
   display:block!important;position:relative!important;grid-column:2!important;grid-row:1!important;
   width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;
   margin:0!important;padding:0 1px 2px!important;overflow:hidden!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-content-cards {
   display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
   align-items:stretch!important;gap:7px!important;width:100%!important;
   height:100%!important;max-height:100%!important;min-height:0!important;
   overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior:contain!important;
   scroll-snap-type:x mandatory!important;touch-action:pan-x!important;
   margin:0!important;padding:0!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-content-card {
   flex:0 0 min(92%,190px)!important;width:min(92%,190px)!important;
   height:100%!important;max-height:100%!important;min-height:0!important;
   box-sizing:border-box!important;overflow:hidden!important;scroll-snap-align:start!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-content-card .stl-card-image {
   display:block!important;height:34%!important;max-height:90px!important;min-height:0!important;flex:0 0 34%!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-card-body {
   min-height:0!important;overflow:hidden!important;padding:7px!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-card-body h3 {
   display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
   overflow:hidden!important;font-size:11px!important;line-height:1.2!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-content-card p {
   display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
   overflow:hidden!important;font-size:9px!important;line-height:1.22!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-card-arrow {
   display:grid!important;position:absolute!important;top:50%!important;
   width:27px!important;height:27px!important;z-index:3!important;
 }
 .stl-shell.stl-room-fullscreen .stl-panel .stl-card-arrow[hidden]{display:none!important}
}

/* v0.4.28 — Sofa-only focus offset: keep overview coordinates unchanged. */
@media (max-width:700px) {
  .stl-shell.stl-room-fullscreen .stl-stage.is-open .stl-mobile-marker-layer .stl-hotspot[data-object="sofa"][aria-pressed="true"] {
    top:52%!important;
  }
}
