@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300&family=Montserrat:wght@200;300;400&display=swap');
:root{
  --iag-red:#ff0010;
  --BASE:16px;
  --iag-art-shadow:
    0 1px 1px rgba(0,0,0,.10),
    0 10px 18px rgba(0,0,0,.14),
    0 20px 32px rgba(0,0,0,.16);
}

/* ── Wrapper ─────────────────────────────────────────────────── */
.iag-wrapper{position:relative;width:100%;overflow:hidden;background:#111;font-family:'Montserrat',sans-serif;font-weight:200;color:#111;font-size:var(--BASE);}
#iag-canvas-container{position:absolute;inset:0;cursor:grab;}
#iag-canvas-container:active{cursor:grabbing;}
#iag-canvas-container canvas{display:block;}
#iag-hud{position:absolute;inset:0;pointer-events:none;z-index:10;}

/* ── Optional DOM artwork shadow (matches wall example) ─────── */
.iag-art-shadow{
  box-shadow:var(--iag-art-shadow);
}

/* ── Title — gradient bar at top, always visible ─────────────── */
#iag-title-block{
  position:absolute;top:0;left:0;right:0;padding:22px 0 28px;text-align:center;
  background:linear-gradient(to bottom,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 100%);
  pointer-events:none;
}
#iag-title-block h1{
  font-family:'Cormorant Garamond',serif;font-weight:300;
  font-size:clamp(22px,3.5vw,38px);letter-spacing:.38em;
  color:#fff;text-transform:uppercase;
  text-shadow:0 1px 18px rgba(0,0,0,.85);margin:0;
}
#iag-title-block p{
  font-size:clamp(11px,1.2vw,14px);letter-spacing:.44em;
  color:rgba(255,255,255,.72);text-transform:uppercase;
  margin:7px 0 0;text-shadow:0 1px 8px rgba(0,0,0,.6);
}

/* ── Nav arrows ──────────────────────────────────────────────── */
.iag-nav-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:54px;height:54px;border:1px solid rgba(255,255,255,.32);
  background:rgba(0,0,0,.42);color:#fff;font-size:22px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;pointer-events:all;transition:all .3s;
  backdrop-filter:blur(8px);user-select:none;
}
.iag-nav-btn:hover{border-color:#fff;background:rgba(0,0,0,.65);}
#iag-btn-prev{left:18px;}#iag-btn-next{right:18px;}

/* ── Wall/room dots ──────────────────────────────────────────── */
#iag-room-indicator{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:16px;align-items:center;}
.iag-room-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);cursor:pointer;pointer-events:all;transition:all .4s;}
.iag-room-dot.active{background:#fff;border-color:#fff;transform:scale(1.5);}
/* Preview-rum: streckad kant */
.iag-room-dot.iag-room-preview{border-style:dashed;border-color:rgba(100,160,255,.8);}
.iag-room-dot.iag-room-preview.active{background:rgba(100,160,255,.9);border-color:rgba(100,160,255,.9);}

/* ── Controls hint ───────────────────────────────────────────── */
#iag-controls-hint{
  position:absolute;bottom:28px;right:24px;
  font-size:12px;letter-spacing:.14em;
  color:rgba(255,255,255,.45);text-align:right;line-height:2;text-transform:uppercase;
}

/* ── Admin toggle ────────────────────────────────────────────── */
#iag-admin-toggle{
  position:absolute;top:22px;right:22px;pointer-events:all;
  background:rgba(0,0,0,.48);border:1px solid rgba(255,255,255,.28);
  color:#fff;font-family:'Montserrat',sans-serif;
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  padding:10px 18px;cursor:pointer;transition:all .3s;backdrop-filter:blur(10px);
}
#iag-admin-toggle:hover{border-color:#fff;background:rgba(0,0,0,.65);}

/* ── Admin panel ─────────────────────────────────────────────── */
#iag-admin-panel{
  position:absolute;top:0;right:0;width:320px;height:100%;
  background:rgba(255,255,255,.98);border-left:1px solid rgba(0,0,0,.08);
  z-index:25;transform:translateX(100%);transition:transform .4s ease;
  overflow-y:auto;pointer-events:all;box-shadow:-4px 0 24px rgba(0,0,0,.1);
}
#iag-admin-panel.open{transform:translateX(0);}
.iag-adm-hdr{padding:22px 20px;border-bottom:1px solid rgba(0,0,0,.07);display:flex;justify-content:space-between;align-items:center;}
.iag-adm-hdr h2{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;color:#111;letter-spacing:.08em;margin:0;}
.iag-adm-hdr-btns{display:flex;gap:8px;align-items:center;}
.iag-wp-link{background:none;border:1px solid rgba(0,0,0,.14);color:#555;font-size:12px;letter-spacing:.15em;text-transform:uppercase;padding:6px 10px;cursor:pointer;font-family:'Montserrat',sans-serif;text-decoration:none;transition:all .2s;}
.iag-wp-link:hover{border-color:#111;color:#111;}
#iag-admin-close{background:none;border:none;color:rgba(0,0,0,.3);font-size:24px;cursor:pointer;line-height:1;}
#iag-admin-close:hover{color:#111;}
#iag-artwork-list{padding:0 0 8px;}
.iag-aw-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.05);transition:background .15s;}
.iag-aw-item:hover{background:rgba(0,0,0,.025);}
.iag-aw-swatch{width:48px;height:48px;flex-shrink:0;border-radius:2px;}
.iag-aw-meta{flex:1;min-width:0;}
.iag-aw-meta span{display:block;font-size:16px;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px;font-weight:300;}
.iag-aw-meta small{font-size:13px;color:#aaa;letter-spacing:.04em;text-transform:uppercase;}
.iag-sold-label{display:flex;align-items:center;gap:6px;flex-shrink:0;cursor:pointer;font-size:13px;letter-spacing:.08em;color:#666;text-transform:uppercase;white-space:nowrap;}
.iag-sold-cb{width:16px!important;height:16px!important;min-width:16px;margin:0;cursor:pointer;accent-color:var(--iag-red);}
.iag-wp-note{padding:14px 18px 22px;font-size:14px;line-height:1.9;color:#999;border-top:1px solid rgba(0,0,0,.06);}
.iag-wp-note strong{color:#111;display:block;margin-bottom:5px;font-weight:500;letter-spacing:.08em;font-size:14px;}
.iag-loading-msg{color:#ccc;font-size:16px;padding:16px 18px;}

/* ── Loading screen ──────────────────────────────────────────── */
#iag-loading{position:absolute;inset:0;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;z-index:100;}
.iag-ld-logo{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,4vw,42px);font-weight:300;letter-spacing:.45em;color:#111;text-transform:uppercase;}
.iag-ld-bar{width:180px;height:1px;background:rgba(0,0,0,.1);position:relative;overflow:hidden;}
.iag-ld-fill{position:absolute;left:0;top:0;height:100%;background:#111;animation:iag-ld 2.6s ease forwards;}
@keyframes iag-ld{from{width:0}to{width:100%}}
.iag-ld-sub{font-size:13px;letter-spacing:.44em;color:#aaa;text-transform:uppercase;}

/* ── Lightbox ────────────────────────────────────────────────── */
#iag-lightbox{display:none;position:fixed;inset:0;z-index:300;align-items:center;justify-content:center;}
#iag-lightbox.open{display:flex;}
#iag-lb-bg{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(5px);cursor:pointer;}
#iag-lb-box{
  position:relative;z-index:301;background:#fff;
  display:flex;flex-direction:row;
  max-width:min(94vw,900px);width:100%;max-height:90vh;overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.65);
}
#iag-lb-close{
  position:absolute;top:14px;right:14px;z-index:302;
  background:rgba(0,0,0,.08);border:none;border-radius:50%;
  width:36px;height:36px;font-size:20px;cursor:pointer;color:#333;
  transition:background .2s;display:flex;align-items:center;justify-content:center;
}
#iag-lb-close:hover{background:rgba(0,0,0,.18);}
#iag-lb-left{flex:1.3;min-height:280px;background:#f0eeeb;display:flex;align-items:center;justify-content:center;overflow:hidden;}
#iag-lb-img{width:100%;height:100%;object-fit:contain;display:block;}
#iag-lb-ph{width:100%;min-height:340px;}
#iag-lb-right{
  flex:0 0 260px;padding:52px 28px 38px;
  display:flex;flex-direction:column;justify-content:center;gap:14px;
  border-left:1px solid rgba(0,0,0,.07);
}
#iag-lb-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(20px,2.5vw,28px);
  font-weight:300;font-style:italic;color:#111;margin:0;line-height:1.2;
}
#iag-lb-artist{font-size:16px;letter-spacing:.22em;color:#555;text-transform:uppercase;margin:0;}
#iag-lb-dims{font-size:14px;letter-spacing:.12em;color:#aaa;margin:0;}
#iag-lb-sold{
  display:none;margin-top:18px;
  background:var(--iag-red);color:#fff;
  font-size:16px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;
  padding:10px 18px;align-self:flex-start;
}
@media(max-width:600px){
  #iag-lb-box{flex-direction:column;}
  #iag-lb-right{flex:none;padding:22px 20px;border-left:none;border-top:1px solid rgba(0,0,0,.07);}
  #iag-lb-right{gap:10px;}
  #iag-lb-close{
    background:rgba(0,0,0,.62);color:#fff;
    border:1px solid rgba(255,255,255,.45);
    top:10px;right:10px;
  }
  #iag-lb-close:hover{background:rgba(0,0,0,.82);}
}

/* ── Admin artwork thumbnail ─────────────────────────────────── */
.iag-aw-thumb{
  width:52px;height:52px;flex-shrink:0;border-radius:2px;
  overflow:hidden;background:#eee;
  box-shadow:var(--iag-art-shadow);
}
.iag-aw-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
}
