.pol-map-shell{position:relative;width:100%;}
.pol-map{width:100%;height:var(--pol-map-height,70vh);min-height:420px;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(24,48,35,.16);background:#dbe5dc;}
.pol-map.is-compact{min-height:360px;max-height:560px;}
.pol-div-icon{background:transparent!important;border:0!important;}
.pol-hotel-pin,.pol-exp-pin{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 12px 28px rgba(0,0,0,.28);}
.pol-hotel-pin{width:46px;height:46px;background:#234632;border:3px solid #fff;}
.pol-hotel-pin-mark{transform:rotate(45deg);font:800 17px/1 Georgia,serif;color:#fff;}
.pol-exp-pin{background:#f7f4ec;border:3px solid #fff;}
.pol-exp-pin-core{width:14px;height:14px;border-radius:50%;background:#55785c;transform:rotate(45deg);box-shadow:0 0 0 5px rgba(85,120,92,.16);}
.pin-recomendado-por-orocay{filter:drop-shadow(0 0 10px rgba(196,153,69,.95));}
.pin-naturaleza{filter:drop-shadow(0 0 10px rgba(63,130,82,.9));}
.pin-historia-y-cultura{filter:drop-shadow(0 0 10px rgba(141,104,65,.9));}
.pin-fe-y-tradicion{filter:drop-shadow(0 0 10px rgba(93,110,160,.9));}
.pin-aventura-y-montana{filter:drop-shadow(0 0 10px rgba(78,118,107,.95));}
.pin-gastronomia{filter:drop-shadow(0 0 10px rgba(161,86,63,.9));}
.pin-actualidad-turistica{filter:drop-shadow(0 0 10px rgba(195,130,42,.95));}
.pol-pulse{display:block;width:38px;height:38px;border-radius:50%;border:2px solid rgba(35,70,50,.6);animation:polPulse 1.25s ease-out infinite;box-shadow:0 0 24px rgba(35,70,50,.35);}
.pol-pulse span{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:#234632;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #fff;}
@keyframes polPulse{0%{transform:scale(.45);opacity:.95}80%{transform:scale(1.25);opacity:.12}100%{transform:scale(1.35);opacity:0}}
.pol-route-info{display:flex;flex-direction:column;gap:4px;min-width:180px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(0,0,0,.16);font:14px/1.35 system-ui,sans-serif;color:#22362a;}
.pol-route-info strong{font-size:14px;}
.pol-route-info span{display:block;}
.pol-map-hint{font-size:12px;opacity:.72;}
.leaflet-routing-container{display:none!important;}
@media(max-width:700px){.pol-map{height:58vh!important;min-height:380px;border-radius:18px}.pol-route-info{min-width:0;max-width:170px;font-size:12px;padding:9px 10px}.leaflet-control-layers{font-size:12px}}
