/* GranEx 3D ürün vitrini */
.gx3d{margin:1.6rem 0 2.6rem;}
.gx3d-stage{position:relative;width:100%;aspect-ratio:16/8;border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,#ede7db 0%,#ddd6c8 100%);border:1px solid var(--s7,#ddd6c8);}
.gx3d-stage canvas{display:block;width:100%!important;height:100%!important;}
.gx3d:not(.gx3d-ready) .gx3d-stage::after{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;
  border:3px solid rgba(139,105,20,.25);border-top-color:var(--ac,#8b6914);border-radius:50%;animation:gx3dspin .9s linear infinite;}
@keyframes gx3dspin{to{transform:rotate(360deg)}}

.gx3d-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem 2rem;flex-wrap:wrap;margin-top:1.2rem;}
.gx3d-info{flex:1 1 320px;min-height:5.6rem;}
.gx3d-info.in{animation:gx3din .5s ease both;}
@keyframes gx3din{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.gx3d-idx{display:block;font-family:var(--fd,'Barlow Condensed',sans-serif);font-weight:600;font-size:15px;color:var(--ac,#8b6914);margin-bottom:.25rem;letter-spacing:.04em;}
.gx3d-name{font-family:var(--fd,'Barlow Condensed',sans-serif);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--s1,#1a1610);line-height:1.1;margin:0 0 .35rem;}
.gx3d-desc{font-size:15px;color:var(--s4,#7a7060);line-height:1.6;margin:0;max-width:56ch;}

.gx3d-ctl{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.gx3d-go{background:var(--ac,#8b6914);color:var(--s9,#f5f0e8);border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;
  cursor:pointer;font-family:var(--fd,'Barlow Condensed',sans-serif);letter-spacing:.06em;text-transform:uppercase;min-height:44px;}
.gx3d-go:hover{opacity:.88;}
.gx3d-dots{display:flex;gap:6px;}
.gx3d-dot{width:38px;height:44px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center;}
.gx3d-dot i{position:relative;display:block;width:100%;height:4px;border-radius:2px;background:var(--s6,#ccc4b4);overflow:hidden;}
.gx3d-dot i::after{content:"";position:absolute;inset:0;background:var(--ac,#8b6914);transform-origin:left;transform:scaleX(var(--p,0));}
.gx3d-dot[aria-current="true"] i{background:var(--s5,#aaa090);}
[dir="rtl"] .gx3d-dot i::after{transform-origin:right;}
.gx3d-pp{width:44px;height:44px;border-radius:50%;border:1px solid var(--s6,#ccc4b4);background:transparent;color:var(--s2,#2e2920);
  display:flex;align-items:center;justify-content:center;cursor:pointer;}
.gx3d-pp svg{fill:currentColor;}
.gx3d button:focus-visible{outline:2px solid var(--ac,#8b6914);outline-offset:2px;}

@media(max-width:700px){
  .gx3d-stage{aspect-ratio:1/1;border-radius:10px;}
  .gx3d-bar{align-items:flex-start;}
  .gx3d-ctl{width:100%;justify-content:space-between;}
}
@media(prefers-reduced-motion:reduce){.gx3d-info.in{animation:none}}
