/* بخش پروژه: نمای سه‌بعدی / ۳۶۰ / AR */
.h3-mount{position:relative;width:100%;aspect-ratio:1/1;max-height:70vh;border-radius:16px;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,var(--panel-strong,#f4efe6),var(--bg-1,#eee) 75%);touch-action:pan-y}
.h3-wrap{position:absolute;inset:0}
.h3-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none;cursor:grab}
.h3-canvas:active{cursor:grabbing}
.h3-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .35s}
.h3-poster.gone{opacity:0;pointer-events:none}
.h3-loading{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:var(--text-1,#333);font-size:13px;background:rgba(127,127,127,.08);pointer-events:none}
.h3-loading[hidden],.h3-error[hidden]{display:none}
.h3-spin{width:30px;height:30px;border-radius:50%;border:3px solid rgba(109,17,30,.25);border-top-color:#6d111e;animation:h3spin .8s linear infinite}
@keyframes h3spin{to{transform:rotate(360deg)}}
.h3-bar{display:block;width:140px;height:4px;border-radius:4px;background:rgba(127,127,127,.25);overflow:hidden}
.h3-bar u{display:block;height:100%;width:0;background:#6d111e;transition:width .2s}
.h3-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-2,#777);font-size:13px;padding:20px;text-align:center}
.h3-bar-ui{position:absolute;inset-inline:10px;bottom:10px;display:flex;gap:8px;justify-content:space-between;align-items:center;pointer-events:none}
.h3-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:7px;border:0;cursor:pointer;font:inherit;font-size:13px;font-weight:700;padding:9px 16px;border-radius:999px;text-decoration:none;position:relative}
.h3-btn[hidden]{display:none}
.h3-btn-ghost{background:rgba(30,30,30,.55);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.h3-btn-ar{background:#6d111e;color:#fff;box-shadow:0 6px 18px rgba(109,17,30,.4)}
.h3-btn.busy{opacity:.6;pointer-events:none}
.h3-dims{position:absolute;top:10px;inset-inline-start:10px;font-size:12px;font-weight:700;background:rgba(30,30,30,.55);color:#fff;padding:5px 11px;border-radius:999px;pointer-events:none;direction:ltr}
/* ---- روکش AR ---- */
.h3-ar{position:fixed;inset:0;z-index:2147483000;font-family:inherit;color:#fff;-webkit-user-select:none;user-select:none;direction:rtl}
html[lang="en"] .h3-ar{direction:ltr}
.h3-ar-touch{position:absolute;inset:0;touch-action:none}
.h3-ar-top{position:absolute;top:max(14px,env(safe-area-inset-top));inset-inline:14px;display:flex;gap:10px;align-items:center;pointer-events:none}
.h3-ar-sp{flex:1}
.h3-round{pointer-events:auto;width:46px;height:46px;border-radius:50%;border:0;background:rgba(40,40,42,.72);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.h3-round.off{opacity:.5}
.h3-ar-hint{position:absolute;top:calc(max(14px,env(safe-area-inset-top)) + 62px);left:50%;transform:translateX(-50%);max-width:86%;text-align:center;font-size:14px;font-weight:600;background:rgba(40,40,42,.72);padding:8px 16px;border-radius:999px;pointer-events:none;backdrop-filter:blur(10px)}
.h3-ar-bottom{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));inset-inline:0;display:flex;gap:14px;justify-content:center;pointer-events:none}
.h3-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;border:0;background:rgba(40,40,42,.82);color:#fff;font:inherit;font-size:15px;font-weight:700;padding:14px 24px;border-radius:999px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.h3-pill:active,.h3-round:active{transform:scale(.96)}
.h3-ar:not(.is-placed) .h3-pill[data-a=rot]{opacity:.4}
.h3-dim{position:absolute;left:0;top:0;will-change:transform;pointer-events:none;background:rgba(255,255,255,.96);color:#222;font-size:13px;font-weight:800;padding:5px 11px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.3)}
html.h3-ar-on,html.h3-ar-on body{background:transparent!important}
