/* ======================================================================
   Tarjeta de destino (.tur-destino-card)
   ======================================================================
   Usada por partials/_destinos.blade.php en home, destinosMaps,
   favoritos, publicaciones activas/pausadas y perfil de usuario.

   Reemplaza el texto superpuesto sobre la foto (ilegible según la
   imagen) por un cuerpo de tarjeta con fondo sólido: la foto queda
   puramente visual, arriba, con esquinas cuadradas; el cuerpo abajo
   lleva toda la información y es el único lugar con esquinas
   redondeadas (16px, solo abajo).

   Colores de tema oscuro en dark-mode.css, como el resto del sitio.
   ====================================================================== */

.tur-destino-grid {
	margin-left: -12px;
	margin-right: -12px;
}
.tur-destino-grid > div {
	padding-left: 12px;
	padding-right: 12px;
}

.tur-destino-card {
	display: flex;
	flex-direction: column;
	border-radius: 0 0 16px 16px;
	overflow: hidden;
}

/* Foto: cuadrada arriba, sin el degradado oscuro que necesitaba el
   texto superpuesto (ya no hay texto sobre la imagen). */
.tur-destino-card-media {
	aspect-ratio: 4 / 3;
	height: auto !important;
	border-radius: 0 !important;
}
.tur-destino-card-media img {
	border-radius: 0 !important;
}
.tur-destino-card-media:before {
	display: none;
}

.tur-destino-card-like {
	right: 10px !important;
	bottom: 10px !important;
	width: 34px !important;
	height: 34px !important;
	font-size: 14px !important;
}
/* Centrado real con top:50% + translateY, en vez del top:Npx fijo del
   original (pensado para su círculo de 44px, no para este de 34px).
   Se mantiene el position:absolute porque :before/:after se apilan
   exactamente uno sobre el otro para el crossfade del corazón. */
.tur-destino-card-like:before,
.tur-destino-card-like:after {
	top: 50% !important;
}
.tur-destino-card-like:before {
	transform: translateY(-50%) scale(0.95) !important;
}
.tur-destino-card-like:after {
	transform: translateY(-50%) scale(0.5) !important;
}
.tur-destino-card-like.liked:after {
	transform: translateY(-50%) scale(0.95) !important;
}

.tur-destino-card-body {
	padding: 14px 16px 16px;
	height: 150px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.tur-destino-card-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
}

/* Insignia de categoría: tag "de color" con borde 1px del mismo tono
   pero más marcado. Cada una de las 13 categorías reales tiene su
   propio color, elegido para evocarla (ver .tur-cat-N más abajo);
   estos valores son el fallback por si idCategoria no matchea ninguna. */
.tur-destino-card-category {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	background-color: #feecef;
	border: 1px solid #f19dac;
	color: #aa1833;
	font-size: 10.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	padding: 2px 8px;
	border-radius: 20px;
	line-height: 1.5;
}

/* Colores por categoría (tema claro) — elegidos por asociación: museos
   en café, playas en amarillo sol, bares en morado nocturno, etc. Los
   valores de tema oscuro están en dark-mode.css. */
.tur-cat-1  { background-color: #f7efe9 !important; border-color: #e0b18f !important; color: #774522 !important; } /* Patrimonio y Cultura */
.tur-cat-2  { background-color: #fae8e5 !important; border-color: #f28d7d !important; color: #8a200f !important; } /* Gastronomía y Vida Nocturna */
.tur-cat-3  { background-color: #f1e7f8 !important; border-color: #c088e7 !important; color: #551b7e !important; } /* Bares y Discotecas */
.tur-cat-4  { background-color: #e9f7f0 !important; border-color: #8fe0b8 !important; color: #22774d !important; } /* Naturaleza y Parques */
.tur-cat-5  { background-color: #eff6ea !important; border-color: #b1dd92 !important; color: #467326 !important; } /* Plazas y Parques */
.tur-cat-6  { background-color: #fbf5e4 !important; border-color: #f6d779 !important; color: #8e6d0b !important; } /* Playas y Costa */
.tur-cat-7  { background-color: #f8e7eb !important; border-color: #e788a0 !important; color: #7e1b34 !important; } /* Pastelerías y Cafés */
.tur-cat-8  { background-color: #eaf6f4 !important; border-color: #92ddd3 !important; color: #267369 !important; } /* Bienestar y Termas */
.tur-cat-9  { background-color: #f8e7f3 !important; border-color: #e788c8 !important; color: #7e1b5d !important; } /* Eventos y Festivales */
.tur-cat-10 { background-color: #f8f1e7 !important; border-color: #e7c088 !important; color: #7e551b !important; } /* Artesanía y Compras */
.tur-cat-11 { background-color: #faece6 !important; border-color: #efa581 !important; color: #863913 !important; } /* Food Trucks */
.tur-cat-12 { background-color: #f5f7e9 !important; border-color: #d5e08f !important; color: #6b7722 !important; } /* Aventura y Deporte */
.tur-cat-13 { background-color: #eaeff5 !important; border-color: #96b2d9 !important; color: #2a476f !important; } /* Monumentos Nacionales */

/* Categorías nuevas (14 a 17). Las 3, 5, 7, 11 y 13 se fusionaron en otras y ya no existen. */
.tur-cat-14 { background-color: #eceefa !important; border-color: #97a3e6 !important; color: #2c3a8c !important; } /* Astroturismo */
.tur-cat-15 { background-color: #f6e8ee !important; border-color: #d98aa6 !important; color: #7a1f45 !important; } /* Enoturismo */
.tur-cat-16 { background-color: #f2f0e4 !important; border-color: #cfc38a !important; color: #5d5316 !important; } /* Turismo Rural y Pueblos Originarios */
.tur-cat-17 { background-color: #e6f2f7 !important; border-color: #8ec3da !important; color: #1c5872 !important; } /* Guías de Turismo */

/* Colores por categoría de RUTA (tema claro) — mismo criterio, set
   aparte porque los idCategoriaRuta (1-7) se solapan con los de
   destino de arriba. Usado en partials/_rutasMaps.blade.php. */
.tur-catruta-1 { background-color: #faeae6 !important; border-color: #ef9781 !important; color: #862a13 !important; } /* Ruta Gastronómica */
.tur-catruta-2 { background-color: #e9f7ef !important; border-color: #8fe0b1 !important; color: #227745 !important; } /* Ruta de Naturaleza */
.tur-catruta-3 { background-color: #e7f4f8 !important; border-color: #88d0e7 !important; color: #1b657e !important; } /* Ruta Costera */
.tur-catruta-4 { background-color: #f5f7e9 !important; border-color: #d5e08f !important; color: #6b7722 !important; } /* Ruta Aventura */
.tur-catruta-5 { background-color: #f7efe9 !important; border-color: #e0b18f !important; color: #774522 !important; } /* Ruta Patrimonial */
.tur-catruta-6 { background-color: #f9f2e7 !important; border-color: #ebc584 !important; color: #825b17 !important; } /* Ruta Familiar */
.tur-catruta-7 { background-color: #f1e7f8 !important; border-color: #c088e7 !important; color: #551b7e !important; } /* Ruta Cultural */

.tur-destino-card-rating {
	flex-shrink: 0;
	font-size: 15px;
	white-space: nowrap;
}
.tur-destino-card-rating .rating__icon {
	margin-left: 1px;
}

.tur-destino-card-title {
	font-size: 16px !important;
	font-weight: 700;
	line-height: 1.5 !important;
	margin: 0 0 4px 0 !important;
	color: #222;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tur-destino-card-city {
	display: block;
	font-size: 12.5px !important;
	color: #767676;
	margin-bottom: 10px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.tur-destino-card-city i {
	font-size: 11px;
	margin-right: 3px;
	opacity: 0.8;
}

.tur-destino-card-event {
	font-size: 11.5px !important;
	color: #888;
	margin: -4px 0 8px 0 !important;
}
.tur-destino-card-clamp {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}

/* Fila de tags: una sola línea siempre (así la tarjeta nunca crece en
   alto por tener 3 tags en vez de 1). Si no entran todos, se puede
   arrastrar/hacer scroll horizontal, con un desvanecido a la derecha
   como pista visual de que sigue habiendo más — en vez de un scrollbar
   feo o cortar el último tag a la mitad. */
.tur-destino-card-tags {
	margin-top: auto;
	display: flex;
	flex-wrap: nowrap;
	gap: 5px;
	padding-top: 2px;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 18px), transparent 100%);
	mask-image: linear-gradient(to right, #000 calc(100% - 18px), transparent 100%);
}
.tur-destino-card-tags::-webkit-scrollbar {
	display: none;
}

/* Tags libres (no la categoría): neutros y discretos a propósito —
   ya la categoría lleva el color, si los tags también compitieran en
   color la tarjeta se vería recargada. Gris translúcido sobre el
   fondo blanco de la tarjeta; en oscuro usa el mismo gris pero como
   relleno traslúcido (ver dark-mode.css). */
.tur-destino-card-tags .tagDiseno {
	display: inline-flex !important;
	align-items: center !important;
	flex-shrink: 0;
	max-width: 140px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	border-radius: 20px !important;
	padding: 2px 8px !important;
	font-weight: 600 !important;
	font-size: 10.5px !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	background-color: #4f4f4f14 !important;
	border: 1px solid #d5d5d5;
	color: #4f4f4f !important;
}

/* Responsive: a partir de 4 columnas la tarjeta ya es angosta; en
   pantallas chicas (mobile, 1 por fila) se puede dar un poco más de
   aire sin que se vea apretada. */
@media (max-width: 767px) {
	.tur-destino-card-title { font-size: 17px !important; }
}

/* Variante compacta (.tur-destino-grid--compact), solo en celular: 2
   tarjetas por fila en vez de 1, para ver más publicaciones sin scrollear
   tanto. La tarjeta queda de ~165px de ancho, así que se compacta: menos
   padding, textos más chicos y la valoración pasa debajo de la categoría en
   vez de compartir fila con ella. La usan el home, destinosMaps, eventosMaps,
   rutas y el perfil público; favoritos y "mis publicaciones" siguen con 1 por
   fila. */
@media (max-width: 767px) {
	/* .row de este grid es display:block (columnas por float en los
	   breakpoints grandes), así que a <576px cada col apilaba 1 por fila;
	   flex-wrap las pone de a 2. Los :before/:after del clearfix se
	   ocultan para que no cuenten como ítems flex. */
	.tur-destino-grid--compact {
		display: flex;
		flex-wrap: wrap;
		margin-left: -6px;
		margin-right: -6px;
	}
	.tur-destino-grid--compact:before,
	.tur-destino-grid--compact:after {
		display: none;
	}
	/* Estado vacío de rutas (col-md-12 dentro del grid): ancho completo. */
	.tur-destino-grid--compact > .col-md-12 {
		flex-basis: 100%;
		max-width: 100%;
	}
	.tur-destino-grid--compact > div {
		flex: 0 0 50%;
		max-width: 50%;
		padding-left: 6px;
		padding-right: 6px;
	}
	.tur-destino-grid--compact .tur-destino-card-like {
		right: 6px !important;
		bottom: 6px !important;
		width: 28px !important;
		height: 28px !important;
		font-size: 12px !important;
	}
	/* Cinta diagonal Abierto/Cerrado: la original (200px de largo, 28px
	   de alto) cubría media foto en una tarjeta de 179px. Esta es una
	   cinta mínima pegada a la esquina superior derecha: su eje corta
	   cada borde a ~34px de la esquina. */
	.tur-destino-grid--compact .tur-destino-card .listing-badge {
		width: 96px;
		right: -28px;
		top: 6px;
		font-size: 9px;
		line-height: 16px;
		letter-spacing: 0.1px;
	}
	/* Separación vertical entre filas de tarjetas. */
	.tur-destino-grid--compact > div {
		margin-bottom: 3px;
	}
	.tur-destino-grid--compact .tur-destino-card-body {
		padding: 10px 10px 11px;
		height: 138px;
	}
	.tur-destino-grid--compact .tur-destino-card-meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 3px;
		margin-bottom: 5px;
	}
	.tur-destino-grid--compact .tur-destino-card-category {
		font-size: 9px;
		padding: 1px 7px;
		letter-spacing: 0.3px;
	}
	.tur-destino-grid--compact .tur-destino-card-rating {
		font-size: 11px;
	}
	.tur-destino-grid--compact .tur-destino-card-title {
		font-size: 14px !important;
		line-height: 1.35 !important;
		margin-bottom: 2px !important;
	}
	.tur-destino-grid--compact .tur-destino-card-city {
		font-size: 11.5px !important;
		margin-bottom: 6px;
	}
	.tur-destino-grid--compact .tur-destino-card-event {
		font-size: 10.5px !important;
		margin: -2px 0 5px 0 !important;
	}
	.tur-destino-grid--compact .tur-destino-card-tags .tagDiseno {
		max-width: 100px;
		font-size: 9.5px !important;
		padding: 1px 7px !important;
	}
}

/* ======================================================================
   Barra de filtros en "píldoras separadas" (.tur-filter-pills)
   ======================================================================
   Mismo lenguaje visual que el buscador flotante de destinosMaps/
   eventosMaps (inputs redondeados independientes, no una sola barra
   continua con divisores) pero como clases reales en vez del estilo
   inline que usa ese buscador sobre el mapa — así funciona en Mis
   Publicaciones (activas/pausadas) y Destinos Favoritos, que no tienen
   mapa, y hereda automáticamente los colores de dark-mode.css porque
   sigue usando las mismas clases base (.main-search-input-item, etc).
   ====================================================================== */
.tur-filter-pills.main-search-input {
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	border-radius: 0;
	max-height: none;
	gap: 10px;
	padding: 0;
	align-items: center;
}
.tur-filter-pills .main-search-input-item {
	flex: 0 1 220px;
	border-right: none !important;
	border-radius: 26px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	padding: 0 20px !important;
	margin-top: 0;
}
.tur-filter-pills .main-search-input-item.location {
	flex-basis: 200px;
}
/* Select2 dentro de las barras de búsqueda (.main-search-input-item):
   sin caja propia, de la misma altura que los demás campos de la barra.
   Reemplaza al Chosen "custom dropdown" de style.css (~línea 5995). */
.main-search-input-item .select2-container {
	width: 100% !important;
	font-size: 16px;
}
html body .main-search-input-item .select2-container--default .select2-selection--single {
	height: 44px !important;
	background: transparent !important;
	border: 1px solid transparent !important;
	border-radius: 4px;
	box-shadow: none;
}
.main-search-input-item .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 30px 0 15px !important;
	line-height: 44px !important;
	color: #888 !important;
}
html[data-theme="dark"] .main-search-input-item .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--tur-text-muted) !important;
}
.main-search-input-item .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px !important;
	right: 6px !important;
}
/* En la barra en píldoras el aire lateral lo pone la propia píldora. */
html body .tur-filter-pills .main-search-input-item .select2-container--default .select2-selection--single {
	border-radius: 26px;
}
.tur-filter-pills .main-search-input-item .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: 0 !important;
	padding-right: 26px !important;
}
.tur-filter-pills .main-search-input-item .select2-container--default .select2-selection--single .select2-selection__arrow {
	right: 0 !important;
}
/* Buscador en píldoras: la píldora exterior es la única "caja" (los campos de dentro van planos),
   así siempre se ve redondeada, también en móvil. */
html body .tur-filter-pills .main-search-input-item input,
html body .tur-filter-pills .main-search-input-item .select2-selection,
html body .tur-filter-pills .main-search-input-item .chosen-single {
	background: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
	border-radius: 26px !important;
}
.tur-filter-pills .main-search-input-item .chosen-container .chosen-drop { overflow: hidden; border-radius: 16px; }
@media (max-width: 767px) {
	.tur-filter-pills.main-search-input { gap: 10px; }
	.tur-filter-pills .main-search-input-item,
	.tur-filter-pills .main-search-input-item.location { flex: 1 1 100%; min-height: 48px; border-radius: 26px !important; }
	.tur-filter-pills .main-search-input-item input { min-height: 46px; }
	.tur-filter-pills .main-search-input-item:last-child,
	.tur-filter-pills .main-search-input .main-search-input-item:nth-last-child(2) { padding-left: 20px !important; padding-right: 20px !important; }
}
.tur-filter-pills button.button {
	flex-shrink: 0;
	width: 45px;
	height: 45px;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 50%;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ======================================================================
   DataTable de "Mis Publicaciones" (activas/pausadas)
   ====================================================================== */

/* Botón de acción de una sola columna (Modificar/Suscribirse): antes
   heredaba .button (círculo gris de fondo vía border-radius:50px) y el
   ícono quedaba descentrado dentro — se saca esa clase del <a> en el
   blade y esto queda como el único estilo: solo el ícono, sin fondo ni
   círculo, sin el :before de hover de .button. */
.tur-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: transparent;
	border: none;
	border-radius: 0;
	color: #66676b;
	font-size: 16px;
	transition: color 0.2s;
}
.tur-icon-btn:hover {
	color: #f91942;
}
.tur-icon-btn i {
	margin: 0;
}

/* Sin líneas internas: solo el borde exterior de la tabla. Bootstrap
   pone un border-top en cada celda aunque no se use .table-bordered,
   así que hay que apagarlo explícitamente. */
table.tur-datatable {
	border: 1px solid #dee2e6;
	border-collapse: collapse;
}
table.tur-datatable th,
table.tur-datatable td {
	border: none !important;
}

/* Buscador del datatable: por defecto ocupa todo el ancho de su columna
   con la altura de un input grande — se deja más chico y compacto.
   style.css le pone line-height:51px a todo <input> (buscar "Forms
   Reset" ahí), que "Buscar:" no hereda pero el <input> sí — con eso
   activo, el alto real renderizado no coincidía con el height puesto
   acá y el flex del label centraba mal el texto contra esa caja
   inflada. Se resetea el line-height y se pasa a border-box para que
   height sea de verdad el alto final. */
.dataTables_filter {
	text-align: left !important;
}
.dataTables_filter label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 400;
	line-height: 30px;
}
.dataTables_filter input {
	box-sizing: border-box;
	width: 235px !important;
	max-width: 100%;
	height: 30px;
	line-height: normal;
	padding: 4px 10px !important;
	font-size: 13px;
	margin: 0 !important;
}
