/* HERCAR - Cinta fotográfica + mapa 3D animado - 2026-10-23 */
:root{--belt-navy:#062b51;--belt-blue:#0d69b4;--belt-cyan:#63b7df;--belt-coral:#ed684b}
.gallery-section{overflow:hidden}
.gallery-section .gallery-viewport{width:100%;overflow-x:auto;padding:10px 0 24px;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
.gallery-viewport.has-seamless-belt{overflow:hidden}
.gallery-belt-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}
.gallery-belt-toolbar p{font-size:.85rem;margin:0;color:#17415f;font-weight:650}
.gallery-belt-toolbar p span{color:var(--belt-coral);font-weight:900}
.gallery-belt-pause{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #87b7d4;background:#f5fbff;color:#073f67;font:800 .78rem/1.1 Manrope,sans-serif;cursor:pointer;border-radius:999px;padding:11px 17px;box-shadow:0 5px 15px #0c48621a}
.gallery-belt-pause:hover{background:#e5f4fd}
.gallery-belt-pause[hidden]{display:none}
.gallery-belt-track{display:flex;width:max-content;gap:18px;will-change:transform;align-items:stretch}
.gallery-belt-track[data-seamless=true]{animation:hc-conveyor 52s linear infinite}
.gallery-belt-track.is-paused,.gallery-belt-track.is-interacting,.gallery-viewport:hover .gallery-belt-track,.gallery-viewport:focus-within .gallery-belt-track{animation-play-state:paused}
.gallery-set{display:flex;gap:18px;align-items:stretch;flex-shrink:0}
.gallery-set .gallery-card{display:block;flex:none;width:clamp(245px,25vw,350px);height:clamp(245px,22vw,310px);position:relative;margin:0;overflow:hidden;border-radius:22px;background:#08385e;box-shadow:0 16px 35px #022a5030;transform:none!important;min-height:0!important;grid-row:auto!important;grid-column:auto!important}
.gallery-set .gallery-trigger{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;cursor:pointer;overflow:hidden;border-radius:inherit;background:#082e56}
.gallery-set .gallery-trigger>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}
.gallery-set .gallery-trigger:hover>img{transform:scale(1.065);filter:saturate(1.15)}
.gallery-set .gallery-overlay{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:end;padding:34px 21px 18px;color:#fff;background:linear-gradient(to top,#011b36e8 0%,#012f507a 65%,transparent 100%);min-height:112px;opacity:1}
.gallery-set .gallery-overlay strong{font:800 1.08rem/1.3 Manrope,sans-serif;color:#fff}
.gallery-set .gallery-kicker{font-size:.67rem;color:#ddf3ff;letter-spacing:.04em}
.gallery-set .gallery-open-icon{position:absolute;right:16px;bottom:18px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #ffffff70;background:#ffffff24;color:#fff}
.gallery-set .gallery-trigger:focus-visible{outline:4px solid #f4c75a;outline-offset:-5px}
@keyframes hc-conveyor{to{transform:translate3d(calc(-50% - 9px),0,0)}}
/* Mapa: geografía real en iframe con una carcasa que simula profundidad; control opcional */
.map-embed-shell{overflow:visible}
.map-scene{padding:12px 10px 30px;perspective:1100px;perspective-origin:50% 55%;overflow:visible}
.map-scene .map-embed-frame{position:relative;isolation:isolate;overflow:hidden;border:5px solid #fff;border-radius:23px;box-shadow:0 18px 0 #b7d8e9,0 32px 40px rgba(5,43,78,.2);transform:rotateX(9deg) rotateY(-4deg) translateZ(0);transform-origin:center center;animation:hc-map-float 8.5s ease-in-out infinite alternate;transition:transform .7s ease,box-shadow .7s ease}
.map-scene .map-embed-frame iframe{transform:none;width:100%;height:280px;display:block;border:0}
.map-scene .map-embed-frame:hover{animation-play-state:paused;transform:rotateX(2deg) rotateY(0deg) translateY(-5px)}
.map-3d-toggle{border:1px solid #b1cbe0;background:#fff;color:#07365c;padding:8px 12px;border-radius:999px;font:800 .73rem/1.1 Manrope,sans-serif;cursor:pointer}
.map-3d-toggle:hover{background:#e4f4fd}
.map-float-pin{position:absolute;right:13px;top:12px;width:40px;height:40px;border-radius:13px;background:linear-gradient(140deg,#075da5,#0b82d0);display:grid;place-items:center;color:#fff;pointer-events:none;z-index:3;box-shadow:0 9px 20px #0025495c;animation:hc-pin-hover 2.6s ease-in-out infinite alternate}
.map-float-pin svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linejoin:round;stroke-linecap:round}
.map-scene.is-flat .map-embed-frame{animation:none;transform:none;box-shadow:0 12px 26px #09396024}
.map-scene.is-flat .map-float-pin{animation:none}
@keyframes hc-map-float{0%{transform:rotateX(7deg) rotateY(-3deg) translateY(3px)}100%{transform:rotateX(11deg) rotateY(3deg) translateY(-5px)}}
@keyframes hc-pin-hover{from{transform:translateY(-2px)}to{transform:translateY(3px)}}
.hc-inline-map{perspective:980px;overflow:visible;padding:5px 5px 20px}
.hc-inline-map iframe{border:4px solid #fff;border-radius:17px;transform:rotateX(6deg);box-shadow:0 12px 0 #bfdbe9,0 24px 28px #072c5629;animation:hc-map-float 10s ease-in-out alternate infinite}
@media(max-width:768px){.gallery-set .gallery-card{width:260px;height:250px}.gallery-belt-track[data-seamless=true]{animation-duration:44s}.map-scene .map-embed-frame iframe{height:240px}}
@media(max-width:520px){.gallery-set .gallery-card{width:235px;height:235px}.gallery-belt-toolbar{align-items:flex-start}.gallery-belt-toolbar p{max-width:100%}.gallery-section .gallery-viewport{mask-image:none;-webkit-mask-image:none}.gallery-belt-track[data-seamless=true]{animation-duration:40s}.map-scene{padding:10px 4px 25px}.map-scene .map-embed-frame{border-width:3px}}
@media(prefers-reduced-motion:reduce){.gallery-section .gallery-viewport{overflow-x:auto;mask-image:none;-webkit-mask-image:none;scroll-snap-type:x mandatory}.gallery-belt-track,.gallery-belt-track[data-seamless=true]{animation:none!important;transform:none!important;will-change:auto}.gallery-set .gallery-card{scroll-snap-align:start}.gallery-set .gallery-trigger>img{transition:none!important}.map-scene .map-embed-frame,.map-float-pin,.hc-inline-map iframe{animation:none!important;transform:none!important}.gallery-belt-pause{display:none}}
