/* Entrada tejida: la trama aparece antes del contenido, sin bloquear el sitio al terminar. */
.site-weave-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 40%,#fff9f0,#e9ddd1);color:#2c4739;transition:opacity .45s ease,visibility .45s ease}
.site-weave-loader::before,.site-weave-loader::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32}
.site-weave-loader::before{background:repeating-linear-gradient(0deg,transparent 0 17px,#9d34401f 18px 20px,transparent 21px 37px);clip-path:inset(0 100% 0 0);animation:weaveHorizontal 1s steps(18,end) forwards}
.site-weave-loader::after{background:repeating-linear-gradient(90deg,transparent 0 17px,#3b5b4330 18px 20px,transparent 21px 37px);clip-path:inset(100% 0 0 0);animation:weaveVertical 1s .1s steps(18,end) forwards}
.site-weave-loader.is-finished{opacity:0;visibility:hidden;pointer-events:none}
.site-weave-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:17px;width:min(82vw,420px);padding:28px 34px;background:#f8f2e9dd;box-shadow:0 25px 70px #334b3b26;text-align:center}
.site-weave-content img{width:min(55vw,215px);height:auto;display:block}
.site-weave-content p{margin:0;color:#7f3039;font:700 .62rem 'Open Sans',sans-serif;letter-spacing:.24em;text-transform:uppercase}
.site-weave-line{position:relative;width:190px;height:2px;background:#dcc8ba;overflow:hidden}
.site-weave-line::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#304a3b,#a23942,#caa283);transform:translateX(-100%);animation:weaveLine 1s ease-in-out infinite}
@keyframes weaveHorizontal{to{clip-path:inset(0 0 0 0)}}
@keyframes weaveVertical{to{clip-path:inset(0 0 0 0)}}
@keyframes weaveLine{to{transform:translateX(100%)}}

/* Volumen fotográfico discreto en las tarjetas, sin deformar las prendas. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .product-card .product-photo,.home-feature-slide .home-feature-photo,.store-category .store-category-photo{transform:perspective(1100px) rotateX(var(--depth-rx,0deg)) rotateY(var(--depth-ry,0deg));transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .3s ease!important;box-shadow:0 12px 25px #25382e14}
  .product-card:hover .product-photo,.home-feature-slide:hover .home-feature-photo,.store-category:hover .store-category-photo{box-shadow:0 23px 45px #26372d30}
  .product-card .product-photo::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),#fff9 0,transparent 47%);transition:opacity .25s}
  .product-card:hover .product-photo::after{opacity:.35}
}

/* Galería de ángulos con giro espacial; cada vista sigue siendo la foto original. */
.main-image.immersive-stage{position:relative;perspective:1300px;isolation:isolate;touch-action:pan-y;background:radial-gradient(circle at 50% 42%,#fffaf4 0,#f1e9df 60%,#e6d7ca 100%);box-shadow:inset 0 0 0 1px #e2d2c4}
.main-image.immersive-stage::before{content:"";position:absolute;left:19%;right:19%;bottom:13%;height:7%;border-radius:50%;background:#3b2f2840;filter:blur(20px);z-index:0}
.main-image.immersive-stage #main-photo{position:relative;z-index:1;width:100%;height:calc(100% - 48px);object-fit:contain!important;transform:translateZ(26px) rotateX(var(--view-rx,0deg)) rotateY(var(--view-ry,0deg))!important;transition:transform .22s ease,opacity .2s ease;filter:drop-shadow(0 16px 18px #32291d21);cursor:grab}
.main-image.immersive-stage #main-photo:active{cursor:grabbing}
.main-image.immersive-stage.is-turning #main-photo{opacity:.25;transform:translateZ(0) rotateY(var(--turn-angle,65deg))!important}
.immersive-eyebrow{position:absolute;z-index:3;top:17px;left:18px;padding:8px 11px;background:#fbf7f0ed;color:#7d3039;font:700 .55rem 'Open Sans',sans-serif;letter-spacing:.13em}
.immersive-controls{position:absolute;z-index:3;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px;padding:7px 10px;background:#fbf7f0ed;border:1px solid #d8c6b8;box-shadow:0 7px 18px #2d35241f}
.immersive-controls button{width:33px;height:33px;border:0;background:#304a3b;color:#fff;font:1.2rem/1 'Open Sans',sans-serif;cursor:pointer;transition:background .25s,transform .25s}
.immersive-controls button:hover:not(:disabled){background:#95343d;transform:scale(1.07)}
.immersive-controls button:disabled{opacity:.4;cursor:default}
.immersive-count{min-width:57px;text-align:center;color:#394c3d;font:700 .64rem 'Open Sans',sans-serif;letter-spacing:.11em}
.main-image.immersive-stage:focus-visible,.immersive-controls button:focus-visible{outline:2px solid #9a3540;outline-offset:3px}
@media(max-width:520px){.site-weave-content{gap:13px;padding:24px 20px}.immersive-eyebrow{font-size:.47rem;left:10px;top:10px}.immersive-controls{bottom:10px;gap:13px}.immersive-controls button{width:31px;height:31px}}
@media(prefers-reduced-motion:reduce){.site-weave-loader::before,.site-weave-loader::after,.site-weave-line::after{animation:none;clip-path:none}.site-weave-loader{transition:none}.main-image.immersive-stage #main-photo{transform:none!important;transition:none!important}.immersive-controls button{transition:none}}
