/* Place-in-your-space (AR). 100% token-driven: identical in light, dark, or inverted. */
.arview{ display:block; }

.arview-trigger{
  display:flex; width:-webkit-fit-content; width:fit-content; align-items:center; justify-content:center; gap:10px;
  margin:14px auto 2px;
  font-family:var(--font); font-size:0.8rem; line-height:1.4;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--text); background:transparent;
  border:1px solid var(--border-color);
  padding:11px 18px; cursor:pointer; text-decoration:none;
  -webkit-appearance:none; appearance:none;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, letter-spacing .25s ease;
}
.arview-trigger:hover, .arview-trigger:focus-visible{ border-color:var(--text); letter-spacing:0.17em; outline:none; }
.arview-trigger:active{ opacity:0.85; }
.arview-ico{ width:1.05em; height:1.05em; flex:0 0 auto; display:block; }

.arview-modal{
  position:fixed; inset:0; z-index:99999;
  display:none; flex-direction:column;
  background:var(--bg); color:var(--text);
  font-family:var(--font);
  opacity:0; transition:opacity .3s ease;
}
.arview-modal.is-open{ display:flex; }
.arview-modal.is-vis{ opacity:1; }

.arview-bar{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  padding:16px clamp(16px,3vw,32px);
  border-bottom:1px solid var(--border-color);
}
.arview-meta{ font-size:var(--fs-info); line-height:1.5; letter-spacing:0.03em; min-width:0; }
.arview-title em{ font-style:italic; }
.arview-sub{ opacity:0.5; text-transform:uppercase; letter-spacing:0.1em; font-size:0.72rem; margin-top:3px; }

.arview-close{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font); font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--text); background:transparent; border:0; padding:6px 2px; cursor:pointer;
  opacity:0.65; transition:opacity .15s ease;
}
.arview-close:hover{ opacity:1; }
.arview-x{ font-size:1.3em; line-height:1; }

.arview-stage{ position:relative; flex:1 1 auto; min-height:0; }
.arview-stage model-viewer{
  width:100%; height:100%; background:transparent;
  --poster-color:transparent;
  --progress-bar-color:var(--text);
  --progress-bar-height:2px;
}
.arview-load{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; opacity:0.45;
  pointer-events:none;
}

.arview-foot{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px;
  padding:14px clamp(16px,3vw,32px);
  border-top:1px solid var(--border-color); min-height:34px;
}
.arview-size{ font-size:var(--fs-info); letter-spacing:0.03em; opacity:0.75; }
.arview-hint{ font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; opacity:0.4; text-align:right; }
.arview-note{ font-size:var(--fs-info); letter-spacing:0.04em; opacity:0.6; text-align:center; }

.arview-cta{
  display:none; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font); font-size:0.9rem; line-height:1.4;
  letter-spacing:0.12em; text-transform:uppercase;
  color:var(--text); background:transparent; border:1px solid var(--text);
  padding:12px 22px; cursor:pointer; text-decoration:none;
  -webkit-appearance:none; appearance:none;
  transition: background-color .25s ease, color .25s ease, letter-spacing .25s ease;
}
.arview-cta.is-available{ display:inline-flex; }
.arview-cta:hover, .arview-cta:focus-visible{ background:var(--text); color:var(--bg); letter-spacing:0.16em; outline:none; }
.arview-arrow{ display:inline-block; transition:transform .25s ease; }
.arview-cta:hover .arview-arrow{ transform:translateX(3px); }

.arview-modal.arview-needs-safari .arview-stage model-viewer::part(default-ar-button){ display:none; }
.arview-safari{ position:absolute; inset:0; z-index:5; display:none; flex-direction:column; align-items:center; justify-content:center; padding:24px; background:rgba(0,0,0,0.55); }
.arview-safari-card{ background:var(--bg); border:1px solid var(--border-color); padding:24px 26px; max-width:24em; text-align:center; box-shadow:0 12px 44px rgba(0,0,0,0.55); }
.arview-safari-h{ font-family:var(--font); font-size:0.95rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--text); margin-bottom:12px; }
.arview-safari-p{ font-family:var(--font); font-size:var(--fs-info); line-height:1.55; letter-spacing:0.03em; color:var(--text); opacity:0.85; }
.arview-safari-btn{ display:inline-block; text-align:center; line-height:1.45; margin-top:18px; font-family:var(--font); font-size:0.82rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--bg); background:var(--text); border:1px solid var(--text); padding:13px 24px; cursor:pointer; -webkit-appearance:none; appearance:none; transition:opacity .2s ease; }
.arview-safari-btn:active{ opacity:0.8; }
.arview-desktop{ position:absolute; inset:0; z-index:5; display:none; flex-direction:column; align-items:center; justify-content:center; padding:24px; background:rgba(0,0,0,0.4); }
.arview-qr{ background:#fff; padding:10px; margin:16px auto 0; width:-webkit-fit-content; width:fit-content; border-radius:4px; }
.arview-qr img{ display:block; width:190px; height:190px; }
body.arview-lock{ overflow:hidden !important; }

@media (max-width:600px){
  .arview-foot{ grid-template-columns:1fr; gap:12px; text-align:center; }
  .arview-hint{ display:none; }
  .arview-cta{ justify-content:center; }
}