.vtmls-alert{padding:12px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:#fff7e6;color:#5a3b00;font-weight:600;max-width:1100px}
.vtmls-locator{--vtmls-gap:14px;--vtmls-radius:14px;--vtmls-border:rgba(0,0,0,.12);--vtmls-bg:#fff;--vtmls-muted:rgba(0,0,0,.6);--vtmls-shadow:0 8px 30px rgba(0,0,0,.08);max-width:none;margin:0}
.vtmls-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:var(--vtmls-gap)}
.vtmls-label{font-weight:700}
.vtmls-select{padding:10px 12px;border-radius:10px;border:1px solid var(--vtmls-border);background:var(--vtmls-bg);min-width:240px}
.vtmls-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--vtmls-gap);align-items:stretch}
.vtmls-list,.vtmls-mapWrap{border-radius:var(--vtmls-radius);border:1px solid var(--vtmls-border);background:var(--vtmls-bg);box-shadow: none;overflow:hidden}
.vtmls-list{max-height:640px}
.vtmls-list__inner{overflow:auto!important;max-height:620px;padding:12px; padding-bottom:32px!important; display:flex;flex-direction:column;gap:10px}
.vtmls-mapWrap{min-height:640px}
.vtmls-toolbar{padding-top:12px!important; padding-left:32px!important;}
.vtmls-map{width:100%;height:100%;min-height:640px}
.vtmls-item{line-height:1em!important;border:1px solid rgba(0,0,0,.10);border-radius:12px;padding:12px;cursor:pointer;transition:transform .08s ease, box-shadow .08s ease, border-color .08s ease}
.vtmls-item:hover{transform:translateY(-1px);box-shadow: none;border-color:rgba(0,0,0,.18)}
.vtmls-item.is-active{}
.vtmls-item__title{font-weight:800;font-size:16px;line-height:1.2}
.vtmls-item__badge{font-size:12px;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.06);color:rgba(0,0,0,.7);white-space:nowrap}
.vtmls-item__excerpt{font-size:13px;color:var(--vtmls-muted);margin-bottom:8px}
.vtmls-item__row{font-size:13px;color:rgba(0,0,0,.85);margin-bottom:6px}
.vtmls-item__k{font-weight:700;color:rgba(0,0,0,.65)}
.vtmls-item__actions{margin-top:10px}
.vtmls-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.14);text-decoration:none;font-weight:700}
.vtmls-btn:hover{border-color:rgba(0,0,0,.28)}
.vtmls-empty{padding:16px;color:rgba(0,0,0,.7);font-weight:600}
.vtmls-pin{width:38px;height:38px;border-radius:999px;box-shadow: none;border:2px solid rgba(255,255,255,.95);background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center}
.vtmls-pin--img{background-size:cover;background-position:center;background-repeat:no-repeat}
.vtmls-pin--svg svg{width:22px;height:22px;display:block}
.vtmls-popup__title{font-weight:800;margin-bottom:6px}
.vtmls-popup__row{font-size:13px;margin-bottom:6px}
.vtmls-popup__link{font-weight:800}
@media (max-width:980px){.vtmls-layout{grid-template-columns:1fr}.vtmls-list,.vtmls-mapWrap,.vtmls-map{min-height:420px}.vtmls-list{max-height:420px}.vtmls-list__inner{max-height:420px}}


/* --- Icons row (list + popup) --- */
.vtmls-item__links,
.vtmls-popup__links{
	display:flex;
	gap:10px;
	align-items:center;
	margin-top:8px;
	flex-wrap:wrap;
}
.vtmls-ico-link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	border:1px solid rgba(0,0,0,.10);
	border-radius:10px;
	color:inherit;
	text-decoration:none;
}
.vtmls-ico-link svg{
	width:16px;
	height:16px;
	display:block;
}
/* Thumbnail in list cards */
.vtmls-item__head{
	display:flex;
	align-items:center;
	gap:10px;
}
.vtmls-item__thumb{
	width:42px;
	height:42px;
	border-radius:10px;
	overflow:hidden;
	flex:0 0 42px;
	border:1px solid rgba(0,0,0,.10);
	background:#fafafa;
}
.vtmls-item__thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}


/* --- Featured 4:2 ratio --- */
.vtmls-item__thumb{
    width:64px;
    height:32px; /* 4:2 ratio */
    border-radius:6px;
}
.vtmls-item__thumb img{
    object-fit:cover;
}

/* --- Hover background instead of shadow --- */
.vtmls-item{
    transition: background-color .15s ease;
}
.vtmls-item:hover{
    background-color:#f3f3f3;
    box-shadow: none;
}


/* --- Compact mini-cards (list left) --- */
.vtmls-item{
    padding: 12px !important;
}
.vtmls-item__row{
    margin-top: 6px;
    line-height: 1.25;
}
.vtmls-item__links{
    display:flex;
    gap:8px;
    align-items:center;
    margin-top:0 !important;
}
.vtmls-item__footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:10px;
}
.vtmls-item__actions{
    margin:0 !important;
}
.vtmls-btn{
    padding: 8px 14px !important;
    font-size: 13px !important;
}
.vtmls-ico-link{
    width:28px;
    height:28px;
    border-radius:10px;
}
.vtmls-ico-link svg{
    width:16px;
    height:16px;
}


/* --- Popup (map) wider + nicer --- */
.mapboxgl-popup-content{
	padding:0 !important;
	border-radius:14px !important;
	overflow:hidden;
}
.vtmls-popup{
	min-width: 380px;
	max-width: 460px;
}
.vtmls-popup__inner{
	display:flex;
	align-items:stretch;
}
.vtmls-popup__content{
	padding:14px 14px 12px 14px;
	flex: 1 1 auto;
}
.vtmls-popup__title{
	font-weight:700;
	margin-bottom:6px;
}
.vtmls-popup__address{
	opacity:.85;
	line-height:1.3;
	margin-bottom:10px;
}
.vtmls-popup__more{
	display:inline-block;
	text-decoration:none;
	font-weight:600;
	color: inherit;
	opacity:.9;
}
.vtmls-popup__more:hover{
	text-decoration:underline;
}
.vtmls-popup__media{
	flex: 0 0 170px;
	background:#fafafa;
	border-left:1px solid rgba(0,0,0,.08);
}
.vtmls-popup__media img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
@media(max-width:480px){
	.vtmls-popup{ min-width: 300px; max-width: 340px; }
	.vtmls-popup__media{ flex-basis: 130px; }
}


/* --- Popup full width (100%) --- */
.mapboxgl-popup{
	max-width: none !important;
}
.mapboxgl-popup-content{
	width: 100% !important;
}
.vtmls-popup{
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}


.vtmls-popup__inner{
	width:100%;
}
.vtmls-popup__media{
	flex: 0 0 220px;
}
@media(max-width:600px){
	.vtmls-popup__media{ display:none; }
}


/* --- OVERRIDE layout: list max 360px, map fills the rest --- */
.vtmls-locator{ display:block !important; }
.vtmls-layout{
    display:flex !important;
    gap: var(--vtmls-gap) !important;
    align-items: stretch !important;
}
.vtmls-list{
    flex: 0 0 360px !important;
    max-width: 360px !important;
}
.vtmls-mapWrap{
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
@media (max-width: 980px){
    .vtmls-layout{ flex-direction: column !important; }
    .vtmls-list{ max-width: 100% !important; flex: none !important; }
}


/* --- Map style control --- */
.vtmls-style-ctl{
    display:flex;
    gap:6px;
    padding:6px;
}
.vtmls-style-ctl select.vtmls-style-select{
    border:0;
    background:transparent;
    font-size:12px;
    outline:none;
}
.vtmls-style-ctl .vtmls-3d-btn{
    border:0;
    background:transparent;
    cursor:pointer;
    font-weight:700;
    font-size:12px;
    padding:0 8px;
}
.vtmls-style-ctl .vtmls-3d-btn.is-on{
    text-decoration:underline;
}


/* --- Radius proportions (outer vs inner) --- */
:root{
    --vtmls-radius-outer: 20px;
    --vtmls-radius-inner: 10px;
}
.vtmls-item{
    border-radius: var(--vtmls-radius-outer) !important;
}
.vtmls-btn{
    border-radius: var(--vtmls-radius-inner) !important;
}
.vtmls-ico-link{
    border-radius: var(--vtmls-radius-inner) !important;
}
/* popup content (map) */
.mapboxgl-popup-content{
    border-radius: var(--vtmls-radius-inner) !important;
}

/* --- Remove all shadows (clean flat UI) --- */
.vtmls-item,
.vtmls-btn,
.vtmls-ico-link,
.vtmls-overlay__panel,
.mapboxgl-popup-content{
    box-shadow: none !important;
}

/* ===== CLEAN RADIUS SYSTEM ===== */

/* Reset weird overrides but DO NOT touch layout */
.vtmls-item,
.vtmls-mapWrap,
.mapboxgl-popup-content,
.mapboxgl-ctrl-group,
.vtmls-btn,
.vtmls-ico-link{
    border-radius: 10px !important;
}

/* Smaller radius only for list cards */
.vtmls-item{
    border-radius: 10px !important;
}

/* Remove active highlight effect */
.vtmls-item.is-active,
.vtmls-item.active,
.vtmls-item.selected{

}

/* Remove popup shadow completely */
.mapboxgl-popup-content,
.mapboxgl-popup-tip{
    box-shadow: none !important;
    filter: none !important;
}

/* Toolbar inside list */
.vtmls-list .vtmls-toolbar{
    margin: 0 0 12px 0;
}

.vtmls-item__distance{margin-top:8px;font-size:12px;font-weight:700;opacity:.78}
.vtmls-user-pin{width:18px;height:18px;border-radius:999px;background:#111;border:3px solid #fff;box-shadow:0 0 0 2px rgba(0,0,0,.18)}
.vtmls-nearest-trigger,.vtmls-geolocate-trigger{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:12px;border:1px solid rgba(0,0,0,.14);background:#fff;font-weight:700;cursor:pointer;text-decoration:none}
.vtmls-nearest-trigger:hover,.vtmls-geolocate-trigger:hover{border-color:rgba(0,0,0,.28)}
.vtmls-prompt[hidden]{display:none !important}
.vtmls-prompt{position:fixed;inset:0;z-index:99999}
.vtmls-prompt__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.vtmls-prompt__dialog{position:relative;z-index:2;width:min(92vw,520px);margin:10vh auto 0;background:#fff;border-radius:18px;padding:22px;box-shadow:0 20px 80px rgba(0,0,0,.24)}
.vtmls-prompt__close{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;border-radius:999px;background:rgba(0,0,0,.06);font-size:22px;line-height:1;cursor:pointer}
.vtmls-prompt__title{font-size:22px;font-weight:800;line-height:1.1;margin-bottom:8px;padding-right:34px}
.vtmls-prompt__text{opacity:.78;line-height:1.4;margin-bottom:14px}
.vtmls-prompt__input{width:100%;padding:14px 14px;border:1px solid rgba(0,0,0,.14);border-radius:12px;background:#fff}
.vtmls-prompt__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.vtmls-prompt__button{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.14);background:#fff;font-weight:700;cursor:pointer}
.vtmls-prompt__button--primary{background:#111;color:#fff;border-color:#111}
.vtmls-prompt__status{min-height:22px;margin-top:10px;font-size:13px;font-weight:600}
.vtmls-prompt__status.is-error{color:#9b1c1c}
.vtmls-prompt__status.is-success{color:#176b3a}
.vtmls-prompt__status.is-loading{color:#444}
@media (max-width:640px){.vtmls-prompt__dialog{margin-top:8vh;padding:18px}.vtmls-prompt__actions{flex-direction:column}.vtmls-prompt__button{width:100%}}


/* --- Lightbox Más información --- */
html.vtmls-lightbox-open,
body.vtmls-lightbox-open{overflow:hidden !important;}
.vtmls-lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.74);z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;}
.vtmls-lightbox{position:relative;width:min(1280px,96vw);height:min(900px,92vh);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 18px 70px rgba(0,0,0,.32);}
.vtmls-lightbox-inner{width:100%;height:100%;background:#fff;}
.vtmls-lightbox-iframe{display:block;width:100%;height:100%;border:0;background:#fff;}
.vtmls-lightbox-close{position:absolute;top:14px;right:14px;z-index:2;width:42px;height:42px;border:0;border-radius:999px;background:rgba(0,0,0,.8);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.vtmls-lightbox-close:hover{background:#000;}
@media (max-width: 767px){.vtmls-lightbox-overlay{padding:10px;}.vtmls-lightbox{width:100vw;height:96vh;border-radius:12px;}.vtmls-lightbox-close{top:10px;right:10px;}}

.vtmls-popup__more, .vtmls-btn{appearance:none;-webkit-appearance:none;}
.vtmls-popup__more{border:none;cursor:pointer;}
