/* A loja: percurso 3D controlado pela rolagem.
   Sem JavaScript, com movimento reduzido ou pausado, a seção é uma composição estática legível. */
.store-walk{--walk-bg:#0d0e0c;position:relative;isolation:isolate;background:radial-gradient(ellipse at 72% 38%,#4a2c1a2e,transparent 58%),var(--walk-bg);color:var(--paper);box-shadow:inset 0 1px #ffffff10}
.walk-stage{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,84px);align-items:center;padding-block:76px 92px}
.walk-copy{order:1;position:relative}
.walk-scene{order:2;position:relative;min-width:0}
.walk-camera{position:relative}
.walk-facade{position:relative;width:100%;max-width:560px;margin-inline:auto;aspect-ratio:1173/1341}
.walk-front,.walk-interior,.walk-door{position:absolute}
.walk-front{inset:0;width:100%;height:100%;opacity:var(--shell,1);user-select:none}
.walk-interior{left:9.63%;top:41.16%;width:75.45%;height:49.96%;overflow:hidden;background:#2a2119}
.walk-interior img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 58%}
.walk-door{top:53.39%;height:37.73%;opacity:var(--shell,1)}
.walk-door img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.door-left{left:27.54%;width:20.03%;transform-origin:0 50%}
.door-right{left:47.57%;width:19.95%;transform-origin:100% 50%}
.walk-wall,.walk-floor,.walk-vignette,.walk-hint,.walk-meter,.walk-topline{display:none}
/* Door body layers only exist in the 3D scene; the static composition shows the flat glass. */
.door-back,.door-edge,.door-pull,.door-shadow,.walk-spill{display:none}

.walk-beats{list-style:none;margin:0;padding:0;display:grid;gap:44px}
.walk-beat{position:relative;isolation:isolate;max-width:470px}
.walk-eyebrow{display:flex;align-items:center;gap:12px;font-size:.75rem;letter-spacing:.13em;color:var(--red-bright);margin:0 0 14px}
.walk-eyebrow:before{content:'';width:22px;height:1px;background:currentColor;flex:none}
.walk-beat h3{font-size:clamp(2rem,3.4vw,3.35rem);line-height:1.06;letter-spacing:-.045em;font-weight:500;margin:0;text-wrap:balance}
.walk-beat h3 em{font-family:var(--serif);font-weight:400;color:var(--red-bright);letter-spacing:-.035em}
.walk-beat p{color:#cfc8ba;font-size:1rem;line-height:1.8;margin-top:16px;max-width:430px}
.walk-beat-link{display:inline-flex;align-items:center;gap:24px;min-height:46px;margin-top:18px;padding:10px 18px;border:1px solid #c5a16c66;border-radius:2px;font-size:.875rem;background:linear-gradient(120deg,#c5a16c12,transparent);transition:background .18s,border-color .18s}
.walk-beat-link:hover{background:#c5a16c1a;border-color:#e2c79f}
.walk-beat-link:focus-visible{outline:2px solid #f2ddbb;outline-offset:5px}
.walk-note{margin-top:14px;text-align:center;font-size:.75rem;letter-spacing:.08em;color:#bdb5a7;text-transform:uppercase}

/* ---------- 3D ---------- */
.store-walk.is-3d .walk-track{height:360vh}
.store-walk.is-3d .walk-stage{position:sticky;top:0;display:block;height:100vh;height:100svh;width:100%;max-width:none;padding:0;overflow:hidden}
.store-walk.is-3d .walk-scene{position:absolute;inset:0;perspective-origin:50% 50%}
.store-walk.is-3d .walk-camera{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;will-change:transform}
.store-walk.is-3d .walk-facade{position:absolute;left:0;top:0;max-width:none;margin:0;aspect-ratio:auto;transform-style:preserve-3d}
.store-walk.is-3d .walk-interior{top:12.48%;height:107.3%;background:#241c15;backface-visibility:hidden}
.store-walk.is-3d .walk-interior img{object-position:50% 50%}
.store-walk.is-3d .walk-wall{display:block;position:absolute;background:var(--walk-bg);opacity:var(--shell,1)}
.store-walk.is-3d .walk-floor{display:block;position:absolute;top:calc(100% - 1px);height:160%;transform-origin:50% 0;transform:rotateX(90deg);opacity:var(--shell,1);background:radial-gradient(ellipse 9% 30% at 50% 0,#a07e5a 0,#5a4632 22%,#2a221b 50%,transparent 78%),radial-gradient(ellipse 16% 50% at 50% 0,#c98b4a26,transparent 70%),linear-gradient(#171512,var(--walk-bg) 45%)}
.store-walk.is-3d .w-top{left:-200%;width:500%;top:-150%;height:calc(150% + 1px)}
.store-walk.is-3d .w-bottom{left:-200%;width:500%;top:calc(100% - 1px);height:150%}
.store-walk.is-3d .w-left{left:-200%;width:calc(200% + 1px);top:0;height:100%}
.store-walk.is-3d .w-right{left:calc(100% - 1px);width:200%;top:0;height:100%}
.store-walk.is-3d .walk-floor{left:-200%;width:500%}
.store-walk.is-3d .walk-vignette{display:block;position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#080906a6,transparent 57%),linear-gradient(#0d0e0c99,transparent 18%,transparent 65%,#0d0e0cf2),radial-gradient(ellipse at 60% 45%,transparent 58%,#07080666)}
.store-walk.is-3d .walk-topline{display:flex;position:absolute;left:4.8%;right:4.8%;top:28px;z-index:3;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid #dfc7a52b;color:#e0d5c5;font-size:.625rem;letter-spacing:.22em;pointer-events:none}
.walk-topline span:first-child{display:flex;align-items:center;gap:14px}
.walk-topline i{height:12px;width:1px;background:#c8a97880}
.store-walk.is-3d .walk-copy{position:absolute;inset:0;z-index:2;pointer-events:none}
.store-walk.is-3d .walk-vignette{opacity:var(--walk-shade,1)}
.store-walk.is-3d .walk-beats{display:block}
.store-walk.is-3d .walk-beat{position:absolute;left:max(clamp(24px,4.8vw,80px),calc((100% - 1512px)/2 + 80px));width:min(440px,calc(100% - 48px));opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .32s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.store-walk.is-3d .walk-beat:before{content:'';position:absolute;inset:-56px -90px -56px -70px;z-index:-1;background:radial-gradient(ellipse at 38% 50%,#0a0b09d9 0,#0a0b0999 45%,transparent 72%);pointer-events:none}
.store-walk.is-3d .walk-beat.is-on{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.store-walk.is-3d .walk-eyebrow{font-size:.6875rem;letter-spacing:.17em;color:#d9b989;margin-bottom:20px}
.store-walk.is-3d .walk-beat h3{font-size:clamp(2.5rem,4.2vw,4rem);line-height:1.05;text-wrap:balance}
.store-walk.is-3d .walk-beat p:not(.walk-eyebrow){max-width:360px;color:#e0d8cc;line-height:1.75}
.store-walk.is-3d .beat-inside{bottom:12vh}
.store-walk.is-3d .beat-doors{bottom:12vh}
.store-walk.is-3d .beat-facade{top:50%;margin-top:-120px}
.store-walk.is-3d .walk-note{position:absolute;right:max(clamp(24px,4.8vw,80px),calc((100% - 1512px)/2 + 80px));bottom:22px;margin:0;z-index:3;text-align:right}
.store-walk.is-3d .walk-hint{display:flex;position:absolute;left:50%;bottom:26px;z-index:3;transform:translateX(-50%);align-items:center;gap:10px;font-size:.6875rem;letter-spacing:.14em;color:#efe6d6;padding:10px 16px;border:1px solid #ffffff2e;border-radius:999px;background:#0d0e0c99;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:opacity .4s}
.store-walk.is-3d .walk-hint.is-off{opacity:0}
.walk-hint span{display:inline-block;animation:walk-nudge 1.8s ease-in-out infinite;animation-play-state:paused}
.store-walk.is-visible:not(.is-hidden) .walk-hint:not(.is-off) span{animation-play-state:running}
@keyframes walk-nudge{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
.store-walk.is-3d .walk-meter{display:block;position:absolute;right:max(clamp(24px,4.8vw,80px),calc((100% - 1512px)/2 + 80px));top:50%;width:1px;height:120px;margin-top:-60px;background:#ffffff26;z-index:3}
.walk-meter span{position:absolute;inset:0;background:var(--red-bright);transform-origin:50% 0;transform:scaleY(0)}

/* ---------- Doors with body ----------
   Each leaf is a real slab: glass front and back, four aluminium edges, a standing
   pull handle on both faces and a soft shadow behind it. --swing (0 closed, 1 open)
   and --glint (door speed) come from store-walk.js. */
.walk-door{--t:var(--door-depth,5px)}
.door-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 28%,#fff3e21a 42%,#ffffff08 50%,transparent 62%)}
.store-walk.is-3d .walk-door{transform-style:preserve-3d;will-change:transform}
.store-walk.is-3d .door-glass{transform:translateZ(calc(var(--t)/2));backface-visibility:hidden;filter:brightness(calc(1 - var(--swing,0)*.12))}
.store-walk.is-3d .door-back{display:block;transform:rotateY(180deg) translateZ(calc(var(--t)/2)) scaleX(-1);backface-visibility:hidden;filter:brightness(.62) sepia(.18)}
.store-walk.is-3d .door-edge{display:block;position:absolute;backface-visibility:visible;background:linear-gradient(90deg,#050504,#2d2c28 22%,#6a6558 48%,#23221f 70%,#060605)}
.store-walk.is-3d .edge-hinge,.store-walk.is-3d .edge-lock{top:0;height:100%;width:var(--t);transform:rotateY(90deg)}
.store-walk.is-3d .edge-hinge{left:calc(var(--t)/-2)}
.store-walk.is-3d .edge-lock{left:calc(100% - var(--t)/2);background:linear-gradient(90deg,#060605,#34322c 25%,#8d8573 50%,#2b2925 75%,#070706);filter:brightness(calc(.75 + var(--swing,0)*.55))}
.store-walk.is-3d .edge-top,.store-walk.is-3d .edge-bottom{left:0;width:100%;height:var(--t);transform:rotateX(90deg);background:linear-gradient(#050504,#3a3833 50%,#060605)}
.store-walk.is-3d .edge-top{top:calc(var(--t)/-2)}
.store-walk.is-3d .edge-bottom{top:calc(100% - var(--t)/2)}
/* Moving reflection: the highlight slides across the glass as the leaf turns. */
.store-walk.is-3d .door-sheen{transform:translateZ(calc(var(--t)/2 + .5px));backface-visibility:hidden;background:linear-gradient(105deg,transparent 30%,#fff6e62b 41%,#ffffff14 46%,transparent 54%,transparent 62%,#ffe9c912 68%,transparent 76%) no-repeat,linear-gradient(#b9c9c205,#8fa39a09);background-size:260% 100%,100% 100%;background-position:calc(100% - var(--swing,0)*100%) 0;opacity:calc(.36 + var(--glint,0)*.25)}
/* Brass pull bar standing off the glass; the side face gives it real depth. */
.store-walk.is-3d .door-pull{display:block;position:absolute;top:57.5%;height:21.5%;width:2.1%;min-width:3px;transform-style:preserve-3d;transform:translateZ(calc(var(--t)/2 + var(--t)*1.3));border-radius:2px;background:linear-gradient(90deg,#3d2c17,#b08d57 30%,#f1dcad 48%,#a07c48 66%,#3a2a16);box-shadow:0 0 0 .5px #0008}
.store-walk.is-3d .door-left .door-pull{left:91.2%}
.store-walk.is-3d .door-right .door-pull{left:4.6%;top:56%}
.store-walk.is-3d .door-pull i{position:absolute;top:0;left:0;height:100%;width:calc(var(--t)*1.3);transform-origin:0 50%;transform:rotateY(90deg);background:linear-gradient(90deg,#6b5231,#2a1f12);backface-visibility:visible}
.store-walk.is-3d .door-pull.pull-back{transform:rotateY(180deg) translateZ(calc(var(--t)/2 + var(--t)*1.3));filter:brightness(.7)}
.store-walk.is-3d .door-left .pull-back{left:91.2%}
.store-walk.is-3d .door-right .pull-back{left:4.6%}
/* Soft occlusion behind the moving leaf: grounds the door against the lit interior. */
.store-walk.is-3d .door-shadow{display:block;position:absolute;inset:3% 4%;transform:translateZ(calc(var(--t)*-6));background:#050403;filter:blur(10px);opacity:calc(var(--swing,0)*.7);pointer-events:none}
/* Aluminium threshold and warm interior light spilling onto the sidewalk while the doors are open. */
.walk-threshold{position:absolute;left:27.1%;width:40.9%;top:90.75%;height:.7%;pointer-events:none;background:linear-gradient(#8b8472,#2c2a25 55%,#0b0a09);opacity:var(--shell,1)}
.store-walk.is-3d .walk-spill{display:block;position:absolute;left:12%;width:70%;top:91%;height:9%;pointer-events:none;background:radial-gradient(ellipse 48% 100% at 50% 0,#ffc98a8c,#f0a55a33 42%,transparent 75%);opacity:calc(var(--spill,0)*var(--shell,1))}

@media(max-width:899px){
  .walk-stage{grid-template-columns:1fr;gap:34px;padding-block:48px 60px}
  .walk-scene{order:2}
  .walk-facade{max-width:430px}
  .walk-beats{gap:32px}
  .store-walk.is-3d .walk-track{height:310vh}
  .store-walk.is-3d .walk-beat{left:24px;width:calc(100% - 48px)}
  .store-walk.is-3d .walk-beat h3{font-size:clamp(2rem,8.6vw,2.7rem)}
  .store-walk.is-3d .walk-beat p{font-size:.9375rem;line-height:1.7;margin-top:12px}
  .store-walk.is-3d .walk-beat .walk-eyebrow{font-size:.6875rem;margin-top:0;margin-bottom:16px}
  .store-walk.is-3d .beat-inside,.store-walk.is-3d .beat-doors{bottom:92px}
  .store-walk.is-3d .beat-facade{top:9vh;margin-top:0}
  .store-walk.is-3d .walk-beat:before{inset:-40px -30px -40px -30px;background:radial-gradient(ellipse at 40% 50%,#0a0b09e0 0,#0a0b09a6 50%,transparent 76%)}
  .store-walk.is-3d .walk-meter{display:none}
  .store-walk.is-3d .walk-note{left:24px;right:auto;bottom:24px;text-align:left}
  .store-walk.is-3d .walk-hint{top:72px;bottom:auto;white-space:nowrap;font-size:.625rem}
  .store-walk.is-3d .walk-topline{left:24px;right:24px;top:22px;padding-bottom:14px}
  .store-walk.is-3d .walk-vignette{background:linear-gradient(#0d0e0ca6,transparent 20%,transparent 42%,#0d0e0cd9 85%,#0d0e0c),radial-gradient(ellipse at 50% 40%,transparent 60%,#07080666)}
  .store-walk.is-3d .door-shadow{filter:blur(6px)}
}
@media(max-width:370px){.walk-stage{padding-inline:20px}.store-walk.is-3d .walk-beat{left:20px;width:calc(100% - 40px)}.store-walk.is-3d .walk-beat h3{font-size:1.9rem}}
@media(max-width:899px) and (max-height:700px){.store-walk.is-3d .beat-facade{top:24px}.store-walk.is-3d .walk-topline{display:none}.store-walk.is-3d .walk-hint{top:20px}}
@media(prefers-reduced-motion:reduce){.walk-hint span{animation:none}}
/* Very fine surface texture: keep the source image readable at all scales. */
.walk-grain{display:none}
.store-walk.is-3d .walk-grain{display:block;position:absolute;inset:0;pointer-events:none;opacity:.025;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.store-walk.is-3d{background:var(--walk-bg)}
