/* =============================================================================
   LISTADO v2 (23/10/2026) — el formato de guiadecabanias.com en los portales.
   inc/front/listado-v2.php · inc/partials/tarjeta-listado-v2.php
   Se carga sólo en listados de rubros en v2 (hoy alojamientos), después de consulta.css.
   ========================================================================== */
.mdpd-v2-listado {
	--v2-acento: var(--fs-color-primary, #329ac1);
	--v2-acento-suave: color-mix(in srgb, var(--v2-acento) 10%, #fff);
	--v2-acento-texto: color-mix(in srgb, var(--v2-acento) 70%, #000);
	--v2-borde: #e7e5df;
	--v2-suave: #f6f5f1;
	--v2-texto2: #6b6a65;
	--v2-radio: 14px;
}

/* Grilla: la tarjeta ocupa una celda, la fila el ancho entero */
.mdpd-lista-v2 { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); column-gap: 18px; row-gap: 0; margin-bottom: 1.5em; }
.mdpd-lista-v2:has(> .mdpd-card)::before { content: var(--mdpd-v2-rotulo, "Destacados"); grid-column: 1 / -1; font-size: .85em; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--v2-texto2); margin: .6em 0 .7em; }
.mdpd-lista-v2 > * { min-width: 0; } /* el nowrap de la fila no puede ensanchar la grilla */
.mdpd-lista-v2 > .mdpd-fila { grid-column: 1 / -1; }
.mdpd-lista-v2 > .mdpd-card + .mdpd-fila { margin-top: 1em; }

/* El estilo viejo de .alojamientoItemList (style.css) no corre acá */
.mdpd-v2-listado .alojamientoItemList.mdpd-card,
.mdpd-v2-listado .alojamientoItemList.mdpd-fila { background: none; border: 0; padding: 0; margin: 0; border-radius: 0; }

/* Clientes: tarjetas */
.mdpd-v2-listado .alojamientoItemList.mdpd-card { display: flex; flex-direction: column; margin-bottom: 18px; border: 1px solid var(--v2-borde); border-radius: var(--v2-radio); overflow: hidden; background: #fff; transition: transform .15s ease, box-shadow .15s ease; }
.mdpd-v2-listado .mdpd-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(40, 40, 30, .10); }
.mdpd-v2-listado .mdpd-card__foto { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--v2-suave); overflow: hidden; }
.mdpd-v2-listado .mdpd-card__foto img { width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; object-fit: cover; display: block; }
.mdpd-v2-listado .mdpd-card__foto--vacia { display: flex; align-items: center; justify-content: center; padding: 1em; text-align: center; font-weight: 700; color: #555; }
.mdpd-v2-listado .mdpd-card__nfotos { position: absolute; right: 10px; bottom: 10px; background: rgba(255, 255, 255, .92); color: #333; font-size: 12px; padding: 2px 10px; border-radius: 999px; }
.mdpd-v2-listado .mdpd-card__cuerpo { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.mdpd-v2-listado .mdpd-card__nombre { margin: 0 0 2px; font-weight: 600; font-size: 1.05em; line-height: 1.3; text-transform: none; letter-spacing: 0; }
.mdpd-v2-listado .mdpd-card__nombre a { color: #222; }
.mdpd-v2-listado .mdpd-card__meta { margin: 0 0 6px; font-size: .8em; color: var(--v2-texto2); }
.mdpd-v2-listado .mdpd-card__contacto { margin: 0 0 10px; }
.mdpd-v2-listado .mdpd-card__contacto .mdpd-telephoner { margin: 0; }
.mdpd-v2-listado .mdpd-card__acciones { margin-top: auto; display: flex; gap: 10px; align-items: center; }
.mdpd-v2-listado .mdpd-card__acciones .mdpd-btn { flex: 1; }
.mdpd-estrellas { color: #e8a317; font-size: .9em; letter-spacing: 1px; margin-left: .35em; white-space: nowrap; cursor: help; }

/* Botones */
.mdpd-v2-listado .mdpd-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 18px; margin: 0; border-radius: 999px; border: 1px solid var(--v2-acento); color: var(--v2-acento-texto); background: #fff; font-weight: 600; font-size: .9em; text-transform: none; letter-spacing: 0; line-height: 1; }
.mdpd-v2-listado .mdpd-btn:hover { background: var(--v2-acento-suave); }

/* Sobre «+»: la casilla real queda oculta y accesible */
.mdpd-v2-listado .mdpd-add { position: relative; flex-shrink: 0; width: 40px; height: 40px; }
.mdpd-v2-listado .mdpd-add input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.mdpd-v2-listado .mdpd-add label { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0; padding: 0; border-radius: 50%; border: 1px solid #cfcdc6; background: #fff; color: #444; cursor: pointer; transition: background .12s, border-color .12s; line-height: 1; }
.mdpd-v2-listado .mdpd-add label:hover { border-color: var(--v2-acento); }
.mdpd-v2-listado .mdpd-add__ok { display: none; font-size: 18px; }
.mdpd-v2-listado .mdpd-add__mas { position: relative; display: inline-flex; color: #555; }
.mdpd-v2-listado .mdpd-add__mas::before { content: ""; display: block; width: 19px; height: 15px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 19' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='1.5' y='1.5' width='21' height='16' rx='2.5'/%3E%3Cpath d='M2.5 3l9.5 7.5L21.5 3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 19' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='1.5' y='1.5' width='21' height='16' rx='2.5'/%3E%3Cpath d='M2.5 3l9.5 7.5L21.5 3'/%3E%3C/svg%3E") center / contain no-repeat; }
.mdpd-v2-listado .mdpd-add__mas b { position: absolute; right: -11px; top: -12px; width: 20px; height: 20px; border-radius: 50%; background: var(--v2-acento); color: #fff; font-size: 16px; line-height: 20px; text-align: center; font-weight: 700; box-shadow: 0 0 0 2px #fff; }
.mdpd-v2-listado .mdpd-add label:hover .mdpd-add__mas { color: var(--v2-acento-texto); }
.mdpd-v2-listado .mdpd-add input:checked + label { background: var(--v2-acento); border-color: var(--v2-acento); color: #fff; }
.mdpd-v2-listado .mdpd-add input:checked + label .mdpd-add__mas { display: none; }
.mdpd-v2-listado .mdpd-add input:checked + label .mdpd-add__ok { display: inline; }
.mdpd-v2-listado .mdpd-add input:focus-visible + label { outline: 2px solid var(--v2-acento); outline-offset: 2px; }

/* No clientes: filas compactas */
.mdpd-v2-listado .alojamientoItemList.mdpd-fila { display: flex; align-items: center; gap: 14px; padding: 12px 4px; border-bottom: 1px solid var(--v2-borde); }
.mdpd-v2-listado .mdpd-fila:hover { background: var(--v2-suave); }
.mdpd-v2-listado .mdpd-fila__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mdpd-v2-listado .mdpd-fila__nombre { margin: 0; font-weight: 600; color: #222; font-size: .97em; line-height: 1.3; text-transform: none; letter-spacing: 0; }
.mdpd-v2-listado .mdpd-fila__dir { font-size: .86em; color: var(--v2-texto2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mdpd-v2-listado .mdpd-fila__tel { font-size: .86em; color: var(--v2-texto2); max-width: 34%; text-align: right; line-height: 1.35; }
.mdpd-v2-listado .mdpd-fila__tel::before { content: "☎ "; color: #b0aea7; }

/* Barra fija al pie */
.mdpd-barra { position: fixed; left: 50%; bottom: 12px; transform: translateX(-50%); width: min(760px, 94vw); z-index: 900; display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 18px; background: #fff; border: 1px solid var(--v2-borde); border-radius: 999px; box-shadow: 0 6px 24px rgba(40, 40, 30, .14); }
.mdpd-barra[hidden] { display: none; }
.mdpd-barra__txt { flex: 1; min-width: 0; font-size: .92em; color: #444; overflow: hidden; text-overflow: ellipsis; }
.mdpd-barra--con { border-color: var(--v2-acento); }
.mdpd-barra__corto { display: none; }
.mdpd-barra .mdpd-barra__btn { flex: 0 0 auto; margin: 0; border-radius: 999px; white-space: nowrap; text-transform: uppercase; letter-spacing: .03em; }
body.mdpd-consulta-abierta .mdpd-barra { display: none; }

/* Panel de consulta como ventana. Sin abrir no se ve: lo abren el sobre y la barra. */
.mdpd-v2-listado .mdpd-consulta-panel:not([data-mdpd-consulta-fija]):not(.is-open) { display: none; }
body.mdpd-consulta-abierta { overflow: hidden; }
.mdpd-v2-listado .mdpd-consulta-panel.is-open:not([data-mdpd-consulta-fija]) { position: fixed; z-index: 100000; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(820px, 94vw); max-height: 90vh; overflow: auto; margin: 0; padding: 18px 20px 12px; border-radius: 18px; box-shadow: 0 0 0 200vmax rgba(20, 20, 15, .55), 0 20px 60px rgba(0, 0, 0, .3); }
.mdpd-v2-listado .mdpd-consulta-panel.is-open .mdpd-consulta-panel__body-inner { overflow: visible; }
.mdpd-v2-listado .mdpd-consulta-panel .mdpd-consulta__items,
.mdpd-v2-listado .mdpd-consulta-panel .mdpd-consulta__select-all { display: none !important; }
.mdpd-v2-listado .mdpd-consulta-panel .mdpd-consulta__seleccion { margin-bottom: .6em; }
.mdpd-v2-listado .mdpd-consulta-panel .mdpd-consulta__flash { position: sticky; bottom: 0; }
.mdpd-v2-listado .flatpickr-calendar, .mdpd-v2-listado .mdpd-drp-modal { z-index: 100002 !important; }
.mdpd-v2-listado .iti--container, .mdpd-v2-listado .iti__dropdown-content { z-index: 100003 !important; }

@media (max-width: 549px) {
	.mdpd-lista-v2 { grid-template-columns: 1fr; }
	.mdpd-v2-listado .alojamientoItemList.mdpd-card { margin-bottom: 14px; }
	.mdpd-v2-listado .alojamientoItemList.mdpd-fila { flex-wrap: wrap; gap: 4px 12px; }
	.mdpd-v2-listado .mdpd-fila__info { flex-basis: calc(100% - 56px); }
	.mdpd-v2-listado .mdpd-fila .mdpd-add { order: 2; }
	.mdpd-v2-listado .mdpd-fila__tel { order: 3; flex-basis: 100%; max-width: none; text-align: left; }
	.mdpd-barra { bottom: 8px; gap: 8px; padding: 8px 8px 8px 12px; }
	.mdpd-barra__largo { display: none; }
	.mdpd-barra__corto { display: inline; }
	.mdpd-barra__txt { font-size: .88em; white-space: normal; line-height: 1.15; }
	.mdpd-barra .mdpd-barra__btn { padding-left: 14px; padding-right: 14px; letter-spacing: 0; font-size: .9em; }
	/* La ventana sube desde abajo; al escribir ocupa toda la pantalla */
	.mdpd-v2-listado .mdpd-consulta-panel.is-open:not([data-mdpd-consulta-fija]) { top: auto; bottom: 0; transform: translateX(-50%); width: 100vw; max-height: 94vh; max-height: 94dvh; border-radius: 18px 18px 0 0; padding: 12px 12px calc(12px + env(safe-area-inset-bottom)); -webkit-overflow-scrolling: touch; }
	.mdpd-v2-listado .mdpd-consulta-panel.is-open:not([data-mdpd-consulta-fija]):focus-within { top: 0; max-height: 100vh; max-height: 100dvh; border-radius: 0; }
}
@media (max-width: 359px) {
	.mdpd-barra__txt { display: none; }
	.mdpd-barra .mdpd-barra__btn { flex: 1 1 auto; }
}
