/* ********************************************************************************************************************* TEXU MAPA STYLES */
.texu-mapa { position: relative; box-sizing: border-box; margin-bottom: -50px; padding-top: 100px; }
.texu-mapa .mapa img { width: 100%; }
.texu-mapa .markers { position: absolute; top: 100px; left: 0; width: 100%; aspect-ratio: 2.812; }
.texu-mapa .markers > div { position: absolute; z-index: 2; top: 0; left: 0; width: 1px; height: 1px; transition: opacity 0.3s, transform 0.3s; }
.texu-mapa .markers > div .icon { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; box-sizing: border-box; width: 52px; height: 52px; padding: 8px; background-color: #fff; border-radius: 50%; transform: translate(-25px, -104px); }
.texu-mapa .markers > div:after { content: ''; position: absolute; top: -52px; left: 50%; width: 2px; height: 52px; background-color: #fff; }
.texu-mapa .markers > div.playa .icon, .texu-mapa .markers > div.playa:after { background-color: #89cdd8; }
.texu-mapa .markers > div.mirador .icon, .texu-mapa .markers > div.mirador:after { background-color: #96c006; }
.texu-mapa .markers > div.faro .icon, .texu-mapa .markers > div.faro:after { background-color: #1d4698; }
.texu-mapa .markers > div.puerto .icon, .texu-mapa .markers > div.puerto:after { background-color: #51b3c0; }
.texu-mapa .markers > div.transporte .icon, .texu-mapa .markers > div.transporte:after { background-color: #a6a6a6; }
.texu-mapa .markers > div.deporte .icon, .texu-mapa .markers > div.deporte:after { background-color: #c7384a; }
.texu-mapa .markers > div.centro .icon, .texu-mapa .markers > div.centro:after { background-color: #6497ce; }
.texu-mapa .markers > div.salud .icon, .texu-mapa .markers > div.salud:after { background-color: #c997ba; }
.texu-mapa .markers > div.supermercado .icon, .texu-mapa .markers > div.supermercado:after { background-color: #02813c; }
.texu-mapa .markers > div.pescaderia .icon, .texu-mapa .markers > div.pescaderia:after { background-color: #cc57af; }
.texu-mapa .markers > div.farmacia .icon, .texu-mapa .markers > div.farmacia:after { background-color: #52b84a; }
.texu-mapa .markers > div.item-texu { top: 10.05%; left: 39.45%; }
.texu-mapa .markers > div.item-texu .icon { box-sizing: initial; width: 110px; height: 100px; padding: 0; border: 2px solid #659933; border-radius: 10px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); transform: translate(-50%, -124px); }
.texu-mapa .markers > div.item-texu:after { top: -20px; height: 20px; background-color: #659933; }
.texu-mapa .markers > div.item-01 { top: 30.90%; left: 2.27%; }
.texu-mapa .markers > div.item-02 { top: 35.46%; left: 5.47%; }
.texu-mapa .markers > div.item-03 { top: 67.58%; left: 86.04%; }
.texu-mapa .markers > div.item-04 { top: 53.42%; left: 97.29%; }
.texu-mapa .markers > div.item-05 { top: 54.79%; left: 37.99%; }
.texu-mapa .markers > div.item-06 { top: 47.03%; left: 40.10%; }
.texu-mapa .markers > div.item-07 { top: 50.99%; left: 41.88%; }
.texu-mapa .markers > div.item-08 { top: 38.66%; left: 51.79%; }
.texu-mapa .markers > div.item-09 { top: 59.36%; left: 36.26%; }
.texu-mapa .markers > div.item-10 { top: 59.21%; left: 62.82%; }
.texu-mapa .markers > div.item-11 { top: 49.16%; left: 48.81%; }
.texu-mapa .markers > div.item-12 { top: 23.29%; left: 54.65%; }
.texu-mapa .markers > div.item-13 { top: 16.29%; left: 55.14%; }
.texu-mapa .markers > div.item-14 { top: 19.18%; left: 95.45%; }
.texu-mapa .markers > div.item-15 { top: 24.05%; left: 51.08%; }
.texu-mapa .markers > div.item-16 { top: 17.20%; left: 52.44%; }
.texu-mapa .markers > div.item-17 { top: 22.37%; left: 55.19%; }
.texu-mapa .markers > div.item-18 { top: 38.36%; left: 44.32%; }
.texu-mapa .markers > div.item-19 { top: 25.57%; left: 51.62%; }
.texu-mapa .markers > div.item-20 { top: 46.12%; left: 42.21%; }
.texu-mapa .markers > div.item-21 { top: 43.38%; left: 38.31%; }
.texu-mapa .markers > div.item-22 { top: 31.35%; left: 49.19%; }
.texu-mapa .markers > div.to-back { z-index: 1; }
.texu-mapa .markers > div.to-front { z-index: 3; }
.texu-mapa .markers > div.marker-out { opacity: 0; transform: translateY(-40px) scale(0.8); }
.texu-mapa .markers > div.short .icon { transform: translate(-25px, -62px); }
.texu-mapa .markers > div.short:after { top: -10px; height: 10px; }
.texu-mapa .tipos-wrapper { position: relative; z-index: 1; width: 730px; padding: 0 0 0 calc(((100% - 1300px) / 2) + 150px); }
.texu-mapa .tipos { display: flex; flex-wrap: wrap; gap: 10px; margin-top: -80px; padding: 30px; background-color: #fff; border-radius: 10px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); transform: translateY(-40px); }
.texu-mapa .tipos .item { display: flex; align-items: center; gap: 10px; width: 28%; }
.texu-mapa .tipos .item input[type="checkbox"] { position: relative; display: inline-block; vertical-align: middle; width: 24px; height: 24px; cursor: pointer; appearance: none; background-color: #fff; border: 2px solid #659933; border-radius: 6px; transition: border-color 0.2s, box-shadow 0.2s, background 0.2s; }
.texu-mapa .tipos .item input[type="checkbox"]:hover, .texu-mapa .tipos .item input[type="checkbox"]:focus { border-color: #4c7326; box-shadow: 0 0 0 3px rgba(101, 153, 51, 0.15); }
.texu-mapa .tipos .item input[type="checkbox"]:checked { background: #659933; border-color: #659933; animation: checkbox-pop 0.18s cubic-bezier(0.4, 0.2, 0.2, 1); }
.texu-mapa .tipos .item input[type="checkbox"]:checked:after { content: ''; position: absolute; left: 5px; top: 1px; width: 6px; height: 12px; border: solid #fff; border-width: 0 3px 3px 0; transform: rotate(45deg); transition: border-color 0.2s; }
.texu-mapa .tipos .item input[type="checkbox"]:after { content: ''; position: absolute; display: block; width: 0; height: 0; }
@keyframes checkbox-pop { 0% { transform: scale(1); }
  60% { transform: scale(0.8); }
  100% { transform: scale(1); } }
.html-wrapper { display: none; }

body.logged-in .html-wrapper { display: block; }

@media screen and (max-width: 767px) { .texu-mapa { height: 500px; }
  .texu-mapa .mapa { height: 500px; } }
