/* Mapa de l'oficina de CRC: la façana emergeix des del punt del mapa (portat de Dyserco SHOP_MAP_v1, en negre + or). */
.crc-loc{grid-column:1/-1;margin-top:clamp(2.4rem,6vh,4rem)}
.crc-loc .kicker{color:var(--or2,#f1d48a)}
.crc-loc h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,4vw,3rem);margin:.4rem 0 .6rem}
.crc-loc address{font-style:normal;color:#cfc9bf;font-size:1.06rem;letter-spacing:.02em}
.map-card{position:relative;display:block;margin-top:26px;border-radius:18px;overflow:hidden;aspect-ratio:16/9;isolation:isolate;
  border:1px solid rgba(241,212,138,.28);box-shadow:0 30px 70px rgba(0,0,0,.55)}
.map-frame{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) invert(.92) contrast(.95) brightness(.85) sepia(.18);transition:filter .7s ease,transform .9s ease}
.map-veil{position:absolute;inset:0;z-index:1;cursor:pointer;display:flex;align-items:flex-end;padding:24px;
  background:radial-gradient(circle 170px at var(--mx,50%) var(--my,50%),rgba(8,8,9,.02),rgba(8,8,9,.82) 62%);transition:background .25s linear}
.map-card:hover .map-frame{filter:grayscale(.15) contrast(1) brightness(1);transform:scale(1.05)}
.map-card::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 0 #d4a53c;transition:box-shadow .45s ease;z-index:5;border-radius:inherit}
.map-card:hover::after{box-shadow:inset 0 0 0 2px #d4a53c}
.map-cta{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:#fff;background:rgba(8,8,9,.55);border:1px solid rgba(212,165,60,.6);padding:11px 18px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.shop-pin{position:absolute;left:50%;top:50%;z-index:2;width:0;height:0;pointer-events:none}
.shop-pin i{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(241,212,138,.95);box-shadow:0 0 18px rgba(212,165,60,.7);animation:crcRing 2.8s cubic-bezier(.2,.7,.2,1) infinite}
.shop-pin i:nth-child(2){animation-delay:.9s}.shop-pin i:nth-child(3){animation-delay:1.8s}
@keyframes crcRing{0%{transform:scale(.4);opacity:0}15%{opacity:1}100%{transform:scale(5.2);opacity:0}}
.shop-card{--rx:0deg;--ry:0deg;--gx:50%;--gy:30%;position:absolute;z-index:3;margin:0;top:0;bottom:0;height:fit-content;margin:auto 0;right:clamp(18px,4%,64px);width:min(44%,640px);max-width:calc(100% - 36px);display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#0a0a0b;
  box-shadow:0 40px 90px -20px rgba(0,0,0,.85),0 0 0 1px rgba(241,212,138,.45),0 0 0 7px rgba(10,10,11,.85),0 0 0 8px rgba(212,165,60,.35),0 0 60px rgba(212,165,60,.25);
  transform-origin:var(--ox,50%) var(--oy,50%);transform:perspective(1400px) rotateX(64deg) rotateZ(-8deg) scale(.06);clip-path:circle(0% at var(--ox,50%) var(--oy,50%));opacity:0;pointer-events:none;
  transition:transform 1s cubic-bezier(.16,.84,.22,1),clip-path .95s cubic-bezier(.6,0,.2,1),opacity .45s ease;will-change:transform,clip-path}
.map-card.is-shop .shop-card{opacity:1;pointer-events:auto;clip-path:circle(400% at var(--ox,50%) var(--oy,50%));transform:perspective(1400px) rotateX(var(--rx)) rotateY(var(--ry)) scale(1);
  transition:transform 1.05s cubic-bezier(.16,.84,.22,1),clip-path 1.1s cubic-bezier(.6,0,.2,1),opacity .35s ease}
.map-card.is-shop.is-live .shop-card{transform-origin:50% 50%;transition:transform .5s cubic-bezier(.2,.8,.2,1),clip-path 1.1s cubic-bezier(.6,0,.2,1),opacity .35s ease}
.shop-media{position:relative;display:block;aspect-ratio:1200/935;overflow:hidden;flex:none}
.shop-media img{width:100%;height:100%;object-fit:contain;display:block;transform:none;filter:saturate(.7) brightness(.85);transition:transform 2.4s cubic-bezier(.16,.84,.22,1),filter 1.4s ease}
.map-card.is-shop .shop-media img{transform:none;filter:saturate(1.04) brightness(1)}
.shop-sheen{position:absolute;left:0;right:0;top:0;aspect-ratio:1200/935;pointer-events:none;mix-blend-mode:soft-light;opacity:0;transition:opacity .6s ease;
  background:radial-gradient(circle 260px at var(--gx) var(--gy),rgba(255,246,214,.55),transparent 70%),linear-gradient(115deg,transparent 30%,rgba(241,212,138,.55) 45%,transparent 60%);
  background-size:100% 100%,260% 100%;background-position:0 0,140% 0}
.map-card.is-shop .shop-sheen{opacity:1;animation:crcSweep 1.6s .35s cubic-bezier(.3,.6,.2,1) both}
@keyframes crcSweep{from{background-position:0 0,140% 0}to{background-position:0 0,-60% 0}}
.shop-cap{position:relative;flex:none;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 14px;padding:12px 16px 12px 18px;color:#fff;
  background:linear-gradient(180deg,rgba(18,17,15,.92),rgba(8,8,9,.96));border-top:1px solid rgba(241,212,138,.4);
  transform:translateY(10px);opacity:0;transition:transform .7s .35s cubic-bezier(.16,.84,.22,1),opacity .5s .35s ease}
.map-card.is-shop .shop-cap{transform:none;opacity:1}
.shop-k{grid-column:1;font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;font-weight:600;color:#f1d48a}
.shop-addr{grid-column:1;font-family:var(--serif);font-weight:400;font-size:clamp(1rem,1.5vw,1.28rem);line-height:1.25}
.shop-dir{grid-column:2;grid-row:1/span 2;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;color:#141210;
  background:linear-gradient(135deg,#f6e2ad,#d4a53c);border-radius:999px;padding:10px 16px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 8px 22px rgba(212,165,60,.4);transition:transform .25s,box-shadow .25s}
.shop-dir svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.shop-dir:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(212,165,60,.55)}
.shop-close{position:absolute;bottom:14px;right:12px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(241,212,138,.45);display:none;align-items:center;justify-content:center;background:rgba(8,8,9,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:2}
.shop-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.shop-toggle{position:absolute;z-index:4;right:14px;bottom:14px;display:none;align-items:center;gap:9px;cursor:pointer;color:#fff;font:600 .74rem/1 var(--sans,system-ui);letter-spacing:.16em;text-transform:uppercase;
  padding:13px 18px;border-radius:999px;background:rgba(8,8,9,.66);border:1px solid rgba(212,165,60,.65);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 26px rgba(0,0,0,.45)}
.shop-toggle svg{width:17px;height:17px;fill:none;stroke:#f1d48a;stroke-width:1.8;stroke-linejoin:round}
@media (hover:none),(pointer:coarse){.shop-toggle,.shop-close{display:inline-flex}.map-card.is-shop .shop-toggle{opacity:0;pointer-events:none}.shop-cap{padding-right:60px}}
@media (min-width:761px) and (max-width:1100px){.map-card{aspect-ratio:4/3}.shop-card{width:min(54%,640px)}.shop-cap{grid-template-columns:1fr;padding:12px 14px}@media (hover:none),(pointer:coarse){.shop-cap{padding-right:60px}}.shop-dir{grid-column:1;grid-row:auto;justify-self:start;margin-top:8px}}
@media (max-width:760px){.map-card{aspect-ratio:4/5}.map-veil{background:rgba(8,8,9,.15)}.shop-card{left:10px;right:10px;width:auto}
  .shop-cap{grid-template-columns:1fr;padding:12px 14px}@media (hover:none),(pointer:coarse){.shop-cap{padding-right:60px}}.shop-dir{grid-column:1;grid-row:auto;justify-self:start;margin-top:8px}.shop-addr{font-size:.98rem}}
@media (prefers-reduced-motion:reduce){.shop-card,.shop-media img,.shop-cap{transition:none}.shop-pin i{animation:none}}
