/*
  fm-mapbox.css
  - Estilos minimos para integrar Mapbox dentro del layout existente.
  - NO redefine el estilo visual del tema (solo capas/z-index + topbar + markers).
*/

/* Contenedor del mapa */
[data-fm-map-wrap]{
  position: relative;
}

/* Canvas Mapbox */
[data-fm-map-wrap] .fm-map{
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Aviso cookies (se oculta al cargar Mapbox) */
[data-fm-map-wrap] .content-aviso{
  position: absolute;
  inset: 0;
  z-index: 25;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
[data-fm-map-wrap] .content-aviso p{
  background: rgba(0,0,0,.55);
  color: #fff;
  padding: 10px 14px;
  border-radius: 10px;
  margin: 0;
}

/* TOPBAR */
.topbar{
  position: absolute;
  z-index: 30;
  left: 12px;
  top: 12px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  padding: 10px 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  max-width: 420px;
}
.topbar .title{
  font-weight: 800;
  font-size: 14px;
  line-height: 1.2;
}
.topbar .subtitle{
  font-size: 12px;
  opacity: .85;
  margin-top: 2px;
}
.topbar .actions{
  display: flex;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.topbar .actions button,
.topbar .actions select{
  appearance: none;
  border: 1px solid rgba(0,0,0,0.12);
  background: #fff;
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 12px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.topbar .actions button:hover{ transform: translateY(-1px); }

/* Boton Filtrar (markup de mapa.html) */
.map-filter-btn{
  position: absolute;
  z-index: 31;
  top: 14px;
  right: 14px;
}

/* Popup filtros (markup de mapa.html). El tema puede sobreescribir visualmente.
   Aqui solo aseguramos layering sobre el mapa.
*/
#filtro-popup{
  position: absolute;
  inset: 0;
  z-index: 50;
}

/* Leyenda: se pide mejorar accesibilidad con fondo */
.fm-legend{
  position: absolute;
  z-index: 31;
  left: 14px;
  bottom: 14px;
  background: rgba(5, 21, 41, 0.75);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 12px 26px rgba(0,0,0,0.22);
  backdrop-filter: blur(6px);
  border-radius: 12px;
  padding: 10px 12px;
}
.fm-legend .legend-item{
  display: flex;
  align-items: center;
  gap: 10px;
}
.fm-legend .legend-item + .legend-item{ margin-top: 10px; }
.fm-legend .legend-item p{
  margin: 0;
  color: #fff;
  font-weight: 800;
  letter-spacing: .2px;
  text-transform: uppercase;
  font-size: 13px;
}
.fm-legend .legend-item span img{
  width: 22px;
  height: 22px;
  display: block;
}

/* Marcadores Mapbox (HTML markers) */
.fm-marker{
  width: 35px;
  height: 35px;
  background: center / contain no-repeat;
  cursor: pointer;
  border: 0;
  padding: 0;
  outline: none;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,.20));
}
.fm-marker.is-active{
  transform: scale(1.06);
  filter: drop-shadow(0 14px 26px rgba(0,0,0,.28));
}
.fm-marker.is-visited{ opacity: .55; }

/* Ocultamos el boton nativo del GeolocateControl (se usa el de la topbar) */
.mapboxgl-ctrl-geolocate{ display:none !important; }


/* CSS MAQUETA */
/* CSS MAQUETA */
/* CSS MAQUETA */

@charset "utf-8";
/* CSS Document */


/* new css */
/* itinerario */
.custom-row  { width:1170px; margin:auto; padding:0px;}
.custom-pad { padding: 0 25px;}
.content-main { padding: 85px 0 100px; position: relative; z-index: 1; background: #FFFFFF;}
.content-main h2 { font-size: 30px; line-height: 34px; color: #004A76;font-family: 'Syne-ExtraBold'; letter-spacing: -0.32px; margin-bottom: 30px;}
.itinerario-wrap { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between;}
.itinerario-left { flex: 0 1 62.5%;}
.itinerario-left p { font-size: 25px; line-height: 35px; color: #004A76;font-family: 'Syne-Medium'; letter-spacing: -0.63px; margin-bottom: 20px;}
.itinerario-left p:last-child { margin-bottom: 0;}
.itinerario-left span { font-family: 'Syne-Bold';}
.itinerario-left a { font-family: 'Syne-Bold'; text-decoration: underline;transition: all 0.5s ease;display: inline;}
.itinerario-left a:hover { text-decoration: none;}
.itinerario-right { flex: 0 1 28.5%;}

.itinerario-right .frm-input.checkbox { float: left; width: 100%; display: flex; flex-wrap: wrap; row-gap: 10px; margin-bottom: 0;}
.itinerario-right .frm-input.checkbox > div { flex: 0 1 100%;}
.itinerario-right .frm-input.checkbox input {  height: 1px; left: 0; position: absolute; top: 0; visibility: hidden; width: 1px;}
.itinerario-right .frm-input .floating-label { color: #000; cursor: pointer; font-size: 18px; line-height:24px; font-family: 'Syne-Medium'; width: auto; letter-spacing: 0px; display: inline-block;}
.itinerario-right .frm-input .floating-label span { color: #000;}
.itinerario-right .frm-input.checkbox label { color: #004A76; cursor: pointer; background: rgba(0, 74, 118,0.1); border-radius: 50px; letter-spacing: -0.5px; font-family: 'Syne-Medium'; font-size: 20px; padding:10px 20px 10px 48px; position: relative; float: left; width: auto; line-height:28px; margin-bottom:0px; text-align:left;height: 50px;max-width: 100%;}
.itinerario-right .frm-input.checkbox label::before {  background: none; content: ""; height: 20px; left: 20px; position: absolute; top: 13px; transition: all 0.3s ease-in-out 0s; width: 20px; border-radius: 50px; z-index: 9; }
.itinerario-right .frm-input.checkbox label::after { background: none; content: ""; border: 2px solid #004A76; width: 20px; height: 20px;left: 20px; position: absolute; top: 13px; border-radius: 50px; }
.itinerario-right .frm-input.checkbox input:checked + label::before {background: #0EFFAB; }
.itinerario-right .frm-input.checkbox input:checked + label { background: #004A76; color: #ffffff;}
.itinerario-right .frm-input.checkbox:last-child label { padding-bottom: 0;}
.itinerario-right .frm-input.checkbox span { font-size:14px; color: #004A76; float: none; width:100%; font-family: 'Syne-Medium'; line-height:16px;}
.itinerario-right .frm-input.checkbox span a {color: #004A76; text-decoration:underline; transition:all .5s ease;}
.itinerario-right .frm-input.checkbox span a:hover { color:#013e33;}
.itinerario-right .frm-input.checkbox label a { text-decoration: underline; color: #000; transition:all .5s ease;}
.itinerario-right .frm-input.checkbox label a:hover { color: #14b06b;}

/* mapa */
/* .view-map {width: 100%;  position: relative;height: auto;min-width: 100%;}    
#madrid-map { width: 100%; height: 906px;}
.map-div img {  width: 100%; display: block;} */
.map-main-sec { width: 100%; padding: 80px 0; background: #ffffff;}
.map-main-sec h2 { font-size: 25px; line-height: 30px; color: #004A76;font-family: 'Syne-Bold'; letter-spacing: -0.63px; margin-bottom: 30px;}
.map-inner {  position: relative; width: 100%;  overflow: hidden; background: #ffffff; }
.map-section {   position: relative; width: 100%;  height: 100vh; overflow: hidden; }
#mapa { width: 100%; height: 100%; }
.map-filter-btn { position: absolute; top: 25px; right: 55px; background: #0EFFAB; color: #004A76; padding: 9px 30px; border-radius: 50px; font-family: 'Syne-Medium'; text-transform: uppercase; text-decoration: none; 
    z-index: 1; font-size: 16px; line-height: 25px; letter-spacing: -0.17px;}
.map-legend {position: absolute; bottom: 70px; left: 10px;z-index: 1; }
.legend-item { display: flex; align-items: center;  margin-bottom: 0px; font-size: 16px; line-height: 24px; color: #fff;font-family: 'Syne-Medium';  letter-spacing: -0.17px; text-transform: uppercase;}
.legend-item span { display: inline-flex;}
.legend-item p { line-height: 38px; display: inline-flex;}
:focus { outline: none !important;}
/* Filter Popup - Internal to Section */
.map-section aside { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 43, 68, 0.9); z-index: 10; display: none; padding: 20px; box-sizing: border-box; color: #fff;}
.popup-cont { width: 100%; display: flex; align-items: center; justify-content: center; height: 100%;}
aside .popup-cont h2 {text-transform: uppercase; font-size: 22px; line-height: 26px; color: #ffffff; letter-spacing: -0.55px; font-family: 'Syne-Bold'; margin-bottom: 30px;}
aside label { display: flex; align-items: center; margin-bottom: 28px; padding: 0; font-size: 20px; font-family: 'Syne-Medium'; letter-spacing: -0.5px; text-transform: uppercase; cursor: pointer;}
aside input[type="checkbox"] { background: none; background-color: inherit; border: 2px solid #ffffff; width: 30px; height: 30px;}
aside input { appearance: none; width: 22px; height: 22px; border: 2px solid #fff; margin-right: 20px; cursor: pointer; position: relative;}
aside input:checked { background: #0EFFAB; background-color: #0EFFAB !important; box-shadow: initial !important;  }
.btn-cerrar { position: absolute; top: 25px; right: 25px; background: #fff;color: #004A76; font-size: 16px; line-height: 24px; font-family: 'Syne-Medium'; letter-spacing: -0.17px; padding: 4px 5px 4px 23px; border-radius: 50px; border: none; cursor: pointer; text-transform: uppercase; display: flex; align-items: center; column-gap: 18px;}
.btn-cerrar img { width: auto;}
.btn-aplicar { background: #0EFFAB; color: #004A76; padding: 12px 30px; border-radius: 50px; font-family: 'Syne-Medium'; text-transform: uppercase; text-decoration: none; 
    z-index: 1; font-size: 16px; letter-spacing: -0.17px;border: none; cursor: pointer; transition: all 0.5s ease;}
.btn-aplicar:hover { background: #ffffff;}

.itinerary-container {width: 100%; float: left; padding: 28px 0 110px;}
.itinerary-container h3 {font-size: 20px; line-height: 26px; font-family: 'Syne-Medium'; letter-spacing: -0.5px; color: #004A76; margin-bottom: 25px; padding-left: 25px;}
.itinerary-container h3 span { float: left; margin-right: 20px;}
.itinerary-container ul { list-style: none;  padding: 0; margin: 0;}
.itinerary-container ul li { display: flex;align-items: stretch; border-top: none;margin-bottom: 0; position: relative;}
.drag-handle { width: 70px; background:rgba(0, 74, 118,0.1); border-radius: 20px 0 0 20px; display: flex; align-items: center; justify-content: center;height: 90%;min-height: 200px;margin-top: 20px;}
.drag-handle .mob-txt { display: none; font-size: 16px;line-height: 26px; font-family: 'Syne-Medium'; letter-spacing: -0.5px; color: #004A76;}
.content-row { width: 100%; display: flex; flex-wrap: wrap; padding: 20px; align-items: center; border: 1px solid #004A76; border-bottom: none; column-gap: 5.6%; row-gap: 25px;}
.itinerary-container ul li:last-child .content-row {border-bottom: 1px solid #004A76;}
.artwork-img { width: 19%; height: 200px;  object-fit: cover; flex-shrink: 0;}
.info-main { display: flex; flex-direction: column; gap: 12px; width: 33.8%; position: relative;}
.tag-title { border: 2px solid #004A76; background: #004A76; color: #fff; padding: 0px 18px; height: 50px; line-height: 50px; border-radius: 60px; font-size: 16px; font-family: 'Syne-Medium'; text-align: center; text-transform: uppercase; max-width: fit-content; text-decoration: none;}
.tag-artist { border: 2px solid #004A76;  padding: 0px 18px; height: 50px; line-height: 50px; border-radius: 60px; font-size: 16px; font-family: 'Syne-Medium'; letter-spacing: -0.17px;
    text-align: center; color: #004A76; position: relative; max-width: fit-content;text-decoration: none;}
.tag-artist::after { position: absolute; content: ''; left: 0; top: 0; width: 100%; height: 100%; border: 2px solid #004A76;}
.info-location { flex: 1; align-self: flex-start;}
.info-location h4 { margin: 0; font-size: 20px; text-transform: uppercase;font-family: 'Syne-Bold'; color: #004A76; letter-spacing: -0.21px;}
.info-location p { margin: 0px 0 0;font-size: 17px; line-height: 28px; text-decoration: underline; cursor: pointer; font-family: 'Syne-Regular'; color: #004A76; letter-spacing: -0.21px;}
.actions-col { display: flex; flex-direction: column; row-gap: 16px; width: 36%;}
.actions-col a.mob-link { font-size: 16px; text-transform: uppercase; display: none; text-decoration: none;}
.actions-col a.mob-link:hover { opacity: 0.6;;}
.actions-col a.mob-link svg { width: 16px; height: auto;}
.itinerary-container input[type="checkbox"] { appearance: none; width: 20px; height: 20px; border: 2px solid #004A76; border-radius: 50%;
    margin-right: 12px; position: relative;background: #fff; cursor: pointer;}
.itinerary-container .visited-active, .itinerary-container input[type="checkbox"]:checked { background: #004A76; box-shadow: none;}
.itinerary-container .visited-active input[type="checkbox"] { background-color: #00FFBB;border-color: #004A76;}

.actions-col .frm-input { float: left; width: 100%; margin-bottom: 14px; position: relative;}
.actions-col .frm-input .floating-label-group { float: left; width: 100%; position: relative;}
.actions-col input[type="text"], .form-box textarea { width:100%; color:#000; font-family: 'Syne-Medium'; padding: 10px 15px 10px; height: 55px; border-radius: 6px; border: 0px solid #DDDDDD; font-size:16px; transition: all .5s ease; background:#FFFFFF; }
.actions-col input[type="text"]:focus, .actions-col textarea:focus { border: 1px solid #000;}
.actions-col textarea { resize:none; height:130px; line-height:22px; padding: 15px 15px 10px; font-family: 'Syne-Medium'; color:#000;}
.actions-col .frm-input.checkbox { float: left; width: 100%; display: flex; flex-wrap: wrap; row-gap: 10px; margin-bottom: 0;}
.actions-col .frm-input.checkbox > div { flex: 0 1 100%;}
.actions-col .frm-input.checkbox input {  height: 1px; left: 0; position: absolute; top: 0; visibility: hidden; width: 1px;}
.actions-col .frm-input .floating-label { color: #000; cursor: pointer; font-size: 18px; line-height:24px; font-family: 'Syne-Medium'; width: auto; letter-spacing: 0px; display: inline-block;}
.actions-col .frm-input .floating-label span { color: #000;}
.actions-col .frm-input.checkbox label { color: #004A76; cursor: pointer; background: rgba(0, 74, 118,0.1); border-radius: 50px; letter-spacing: -0.5px; font-family: 'Syne-Medium'; font-size: 20px; padding:10px 20px 10px 48px; position: relative; float: left; width: auto; line-height:28px; margin-bottom:0px; text-align:left;height: 50px;max-width: 100%;}
.actions-col .frm-input.checkbox label::before {  background: none; content: ""; height: 20px; left: 20px; position: absolute; top: 13px; transition: all 0.3s ease-in-out 0s; width: 20px; border-radius: 50px; z-index: 9; }
.actions-col .frm-input.checkbox label::after { background: none; content: ""; border: 2px solid #004A76; width: 20px; height: 20px;left: 20px; position: absolute; top: 13px; border-radius: 50px; }
.actions-col .frm-input.checkbox input:checked + label::before {background: #0EFFAB; }
.actions-col .frm-input.checkbox input:checked + label { background: #004A76; color: #ffffff;}
.actions-col .frm-input.checkbox:last-child label { padding-bottom: 0;}
.actions-col .frm-input.checkbox span { font-size:14px; color: #004A76; float: none; width:100%; font-family: 'Syne-Medium'; line-height:16px;}
.actions-col .frm-input.checkbox span a {color: #004A76; text-decoration:underline; transition:all .5s ease;}
.actions-col .frm-input.checkbox span a:hover { color:#013e33;}
.actions-col .frm-input:last-child { margin-bottom: 0; margin-top: 10px;}
.actions-col .frm-input.checkbox label a { text-decoration: underline; color: #000; transition:all .5s ease;}
.actions-col .frm-input.checkbox label a:hover { color: #14b06b;}

.content-txt h6 {
    font-size: 1.2rem;
    line-height: 1.4em;
}

.padd-h-s iframe {
    width: 100%;
    max-width: 100%;
	margin-top: 15px;
	height: 562px;
}

.content-txt h6{
    margin-bottom: 1.6em;
}

/*
.container-leba {
	line-height: 0;       
	-webkit-column-count: 3;    
	-webkit-column-gap: 0px;    
	column-count: 3;    
	column-gap: 0px;  
	display:inline-block;    
	margin-right: auto;    
	margin-left: auto;  
	width: 100%;
}

.container-leba .col3-10.col6-12-s.padd-h{
	width: fit-content;
	height: auto !important;
	margin-bottom: 40px;
}

.container-leba .col3-10.col6-12-s.padd-h p{
	position: absolute;
	bottom: -20px;
}
*/

/*
.container-leba {
	background-color: #aaa;
  margin: 0 auto;
  height: 500px;
  width: 100%;
  -moz-column-count: 3;
  -webkit-column-count: 3;
  column-count: 3;
  -moz-column-gap: 10px;
  -webkit-column-gap: 10px;
  column-gap: 10px;
}

.container-leba .col3-10.col6-12-s.padd-h{
	background-color: white;
  border: 1px solid black;
  width: 100%;
  margin: 10px 0;
  display: inline-block;
  box-sizing: border-box;
}
*/

/*
.container-leba {
grid-template-columns: 1fr 1fr 1fr;
    background-color: seagreen;
    padding: 10px;
    width: 100%;
    margin: 20px auto;
	display: grid;
    grid-gap: 10px;
}

.container-leba .col3-10.col6-12-s.padd-h{
	background-color: white;
  border: 1px solid black;
  width: 100%;
  margin: 10px 0;
  display: inline-block;
  box-sizing: border-box;
}

.content-imgs-imgs ul li {
    list-style-type: none;
}
*/

/* 04-09-2023
.content-imgs-imgs.active {
    max-height: 1000rem;
    opacity: 1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas: 	"leba-1 leba-2 leba-3"
							"leba-4 leba-5 leba-6"
							"leba-7 leba-8 leba-9";
    grid-gap: 15px;
}

.container-leba .col3-10 {
    width: 100%;
	height: min-content;
	border: 1px solid black;
}

.container-leba .leba-1{
	grid-area: leba-1;
	height: min-content;
}

.container-leba .leba-2{
	grid-area: leba-2;
	height: min-content;
}

.container-leba .leba-3{
	grid-area: leba-3;
	height: min-content;
}

.container-leba .leba-4{
	grid-area: leba-4;
	height: min-content;
}

.container-leba .leba-5{
	grid-area: leba-5;
	height: min-content;
}

.container-leba .leba-6{
	grid-area: leba-6;
	height: min-content;
}
*/

.content-imgs-imgs ul li {
    list-style-type: none;
}

.content-txt h2 a.zonita {
    text-decoration: underline;
}

img.nuevocolor.color-1 {
    filter: invert(25%) sepia(100%) saturate(848%) hue-rotate(16deg) brightness(100%) contrast(101%);
}

img.nuevocolor.color-2 {
    filter: invert(18%) sepia(52%) saturate(2429%) hue-rotate(178deg) brightness(95%) contrast(101%);
}

img.nuevocolor.color-3 {
    filter: invert(13%) sepia(19%) saturate(4056%) hue-rotate(333deg) brightness(97%) contrast(114%);
}

img.nuevocolor.color-4 {
    filter: invert(27%) sepia(60%) saturate(823%) hue-rotate(109deg) brightness(102%) contrast(109%);
}

img.nuevocolor.color-5 {
    filter: invert(18%) sepia(52%) saturate(2429%) hue-rotate(178deg) brightness(95%) contrast(101%);
}

.tag {
    font-family: 'Syne-Medium';
    font-feature-settings: "lnum";
}

.menu .menu-main a {
    font-family: 'Syne-bold';
	font-feature-settings: "lnum";
}

.menu-lang a {
    font-family: 'Syne-bold';
	font-feature-settings: "lnum";
}

.content-txt h1 strong {
    font-family: 'Syne-Bold';
	font-feature-settings: "lnum";
}

.content-title h2{
	font-family: 'Syne-ExtraBold';
	font-feature-settings: "lnum";
}

.menu a, .menu-footer a {
    font-family: 'Syne-Bold';
	font-feature-settings: "lnum";
}

.content-txt h2.txt-p {
    font-family: 'Manrope';
}

h2.txt-h1 {
    font-family: 'Syne-Bold';
	font-feature-settings: "lnum";
}

.content-submenu a {
    font-family: 'Syne-Bold';
	font-feature-settings: "lnum";
}

.content-txt-header h2{
	font-family: 'Syne-Bold';
	font-feature-settings: "lnum";
}

/* .content-block-bg .tag.full { color: var(--c-oscuro); } */
/* .content-brand .tag { color: var(--c-oscuro); } */
/* .content-brand .tag.full { color: var(--c-oscuro); } */
/* .content-block.content-block-bg.content-logos { background-color: var(--c-oscuro);} */

.content-brand .tag.full { background-color: var(--c-oscuro); }
.content-brand .tag { color: var(--c-oscuro); border: 2px solid var(--c-oscuro);}
.content-brand .tag.box:after { border: 2px solid var(--c-oscuro); }
.content-block-bg .tag.full { background-color: var(--c-oscuro); border: 2px solid var(--c-oscuro); }

/* En patrocinadores*/
.content-block.content-block-bg.content-logos { background-color: var(--c-oscuro); }
.content-block.content-block-bg.content-logos .tag.full { background-color: var(--c-fondo); color: var(--c-oscuro); }


.content-grid-item-info.obres {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.content-grid-item-info.obres p {
    flex: 1;
}

.content-grid-item-info.obres .row-flx.flx-j-b.flx-a-c {
    height: 36px;
}

.menu-main li {
    margin: 1vw 2vh;
}

@media screen and (min-width:1920px) {
	.padd-h-s iframe {
		height: 600px;
	}
}

@media screen and (min-width:1701px) and (max-width:1800px) {
	.padd-h-s iframe {
		height: 525px;
	}
}

@media screen and (min-width:1601px) and (max-width:1700px) {
	.padd-h-s iframe {
		height: 490px;
	}
}

@media screen and (min-width:1501px) and (max-width:1600px) {
	.padd-h-s iframe {
		height: 475px;
	}
}

@media screen and (min-width:1400px) and (max-width:1500px) {
	.padd-h-s iframe {
		height: 400px;
	}
}

@media screen and (min-width:1280px) and (max-width:1399px) {
	.padd-h-s iframe {
		height: 400px;
	}
}

@media screen and (min-width:1024px) and (max-width:1279px) {
	.padd-h-s iframe {
		height: 340px;
	}
}

@media screen and (min-width:961px) and (max-width:1023px) {
	.padd-h-s iframe {
		height: 300px;
	}
}

@media screen and (max-width:960px) {
	.padd-h-s iframe {
		height: 500px;
	}
}

@media screen and (max-width:767px) {
	.padd-h-s iframe {
		height: 300px;
	}
}

@media screen and (max-width:639px) {
	.padd-h-s iframe {
		margin-bottom: 11px;
		height: 230px;
	}
}

@media screen and (max-width:479px) {
	.padd-h-s iframe {
		height: 200px;
	}
}

@charset "utf-8";
/* CSS Document */
input[type="submit"], input[type="button"], input[type="text"], input[type="password"], input[type="email"], textarea { -webkit-appearance: none; border-radius:0px; -webkit-border-radius:0px; -moz-border-radius:0px; -o-border-radius:0px; }
a[href^=tel] { text-decoration:inherit; color: inherit;}

/* #Media Queries
================================================== */
@media only screen and (min-width: 1920px){
}

@media only screen and (min-width:1300px) and (max-width:1500px) {
body{ overflow-x:hidden;}

/* home page css */



}

@media only screen and (max-width: 1280px) {
body{ overflow-x:hidden;}

/* home page css */
.custom-row { width: 100%; max-width: 100%; padding: 0 25px;}


}

@media screen and (min-width:1024px) and (max-width:1279px) {
img {max-width:100%;}
.custom-row{ width:100%; padding:0px 15px; }

/* home */
.map-main-sec { padding: 60px 0;}

/* mi-itinerario */
.itinerary-container { padding-bottom: 60px;}

/* itinerario */
.content-main { padding: 60px 0 60px;}
.content-main h2 { font-size: 28px;}
.itinerario-right { flex: 0 1 32.5%;}
}

/* Smaller than standard 1024 (devices and browsers) */
@media screen and (min-width:768px) and (max-width:1023px) {
img {max-width:100%; }
.custom-row { width:100%; padding:0px 15px; }

/* home */
.map-main-sec { padding: 50px 0;}

/* mi-itinerario */
.itinerary-container { padding-bottom: 50px; align-items: flex-start;}
.content-row { column-gap: 3%; align-items: flex-start;}
.tag-artist, .tag-title { font-size: 15px; padding: 0px 10px;}
.info-location h4 { font-size: 18px;}
.info-main, .actions-col { width: 37.5%;}
.actions-col .frm-input.checkbox label { font-size: 16px;}
.actions-col .frm-input.checkbox label::after, .actions-col .frm-input.checkbox label::before { left: 14px;}
.info-location p { font-size: 15px;}
.artwork-img{ height: auto;}

/* itinerario */
.content-main { padding: 60px 0 60px;}
.custom-pad { padding: 0;}
.content-main h2 { font-size: 25px;}
.itinerario-left { flex: 0 1 57.5%;}
.itinerario-right { flex: 0 1 41.5%;}

}

/* Smaller than standard 768 (devices and browsers) */
@media screen and (max-width:767px) {
img {max-width:100%; }
.custom-row { width:100%; padding:0px 15px; }

/* home */
.map-main-sec { padding: 40px 0;}

/* mi-itinerario */
.map-inner .custom-row { padding: 0;}
.itinerary-container { padding-bottom: 30px; align-items: flex-start;}
.itinerary-container ul li{ flex-wrap: wrap;}
.drag-handle { width: 100%; min-height: 50px; justify-content: left; padding: 0 25px; border-radius: 0; column-gap: 25px; margin-top: 0;}
.drag-handle .mob-txt { display: block;}
.icon-access { position: absolute; right: 0; top: 0;}
.content-row { column-gap: 3%; align-items: flex-start; border: none; border-bottom: 1px solid #004A76; padding: 20px 20px 35px;}
.itinerary-container ul li:last-child .content-row { border-bottom: none;}
.info-main, .actions-col { width: 100%;}
.actions-col .frm-input.checkbox label::after, .actions-col .frm-input.checkbox label::before { left: 14px;}
.info-location p { font-size: 15px;}
.artwork-img{ width: 200px; height: auto; margin: 10px 0 15px;}
.actions-col a.mob-link { display: block;}

.map-legend { left: 20px;}

/* itinerario */
.content-main { padding: 50px 0 50px;}
.custom-pad { padding: 0;}
.content-main h2 { font-size: 25px;}
.itinerario-left p { font-size: 20px; line-height: 30px;}
.itinerario-left { flex: 0 1 100%;}
.itinerario-right { flex: 0 1 100%; padding-top: 10px; margin-bottom: 20px; display: inline-block;}
}  

/* Mobile Landscape Size (devices and browsers) */
@media screen and (max-width:639px) {

}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media screen and (max-width:479px) {

  .map-section aside { padding: 20px 10px;}
  aside label { font-size: 18px;}
  .itinerario-right .frm-input.checkbox label { padding: 10px 15px 10px 40px;}
  .itinerario-right .frm-input.checkbox label::before, .itinerario-right .frm-input.checkbox label::after { left: 10px;}
  .actions-col .frm-input.checkbox label { padding: 10px 20px 10px 44px;}
} 

@media screen and (max-width:359px) {

}

@media screen and (max-width:319px) {

}
/* ============ Ajustes extra (Mapbox + accesibilidad) ============ */

/* Si por cualquier motivo se usa solo .map-legend (sin .fm-legend), mantenemos el fondo accesible */
.map-legend{
  background: rgba(5, 21, 41, 0.75);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 12px 26px rgba(0,0,0,0.22);
  backdrop-filter: blur(6px);
  border-radius: 12px;
  padding: 10px 12px;
}

/* En el selector de estilo, evitamos que el theme lo “aplane” */
.topbar select{
  min-height: 34px;
}

/* Pequeño ajuste para que el mapa no quede tapado por elementos del tema si hay otros z-index */
.map-section{ z-index: 1; }


/* Marker: resaltar los que estan en Mi itinerario */
.fm-marker.is-itinerary{ 
	/* outline: 2px solid rgba(14, 255, 171, 0.9);  */
	outline-offset: 2px; 
	border-radius: 999px; 
}


/* =========================================================
   FM – Acciones “Añadir/Eliminar + Visitado” (panel mapa)
   Mismo look que Mi Itinerario (píldola + círculo)
   ========================================================= */

.content-map-info-info .fm-obra-actions{
  display:flex;
  flex-direction:column;
  row-gap:16px;
  margin: 14px 0 35px;
}

/* Botón tipo “label” */
.content-map-info-info .fm-obra-action{
  appearance:none;
  border:none;
  cursor:pointer;

  background: rgba(0, 74, 118, 0.10);
  border-radius: 50px;

  padding: 10px 20px 10px 48px;
  min-height: 50px;

  color: #004A76;
  letter-spacing: -0.5px;
  font-family: 'Syne-Medium';
  font-size: 20px;
  line-height: 28px;

  display:inline-flex;
  align-items:center;
  position:relative;

  text-transform:none;
  text-align:left;
  max-width:100%;
}

.content-map-info-info .fm-obra-action:hover{
  background: rgba(0, 74, 118, 0.14);
}

/* “Circulito” */
.content-map-info-info .fm-obra-action__icon{
  position:absolute;
  left:20px;
  top:13px;

  width:20px;
  height:20px;
  border-radius:50px;

  border:2px solid #004A76;
  background:none;
  box-sizing:border-box;
}

/* Activo (is-active o aria-pressed="true") */
.content-map-info-info .fm-obra-action.is-active,
.content-map-info-info .fm-obra-action[aria-pressed="true"]{
  background:#004A76;
  color:#ffffff;
}

.content-map-info-info .fm-obra-action.is-active .fm-obra-action__icon,
.content-map-info-info .fm-obra-action[aria-pressed="true"] .fm-obra-action__icon{
  background:#0EFFAB;
  border-color:#004A76;
}

@media screen and (max-width:1023px){
  .content-map-info-info .fm-obra-action{
    font-size:16px;
    letter-spacing:-0.17px;
  }
}
@media screen and (max-width:479px){
  .content-map-info-info .fm-obra-action{
    padding:10px 20px 10px 44px;
  }
  .content-map-info-info .fm-obra-action__icon{
    left:14px;
  }
}
