/*
 * APD 25.1 — sincronización visual final de fechas.
 * Mantiene la escala aprobada y corrige únicamente la composición interna
 * de la tarjeta y el estado compartido de los dos calendarios.
 */

/* Las dos fechas tienen el mismo aire vertical que la referencia: la etiqueta
   y el valor conservan su posición, mientras el divisor inferior queda más
   abajo y deja de rozar el texto. */
body.single-listing .apd52-booking-card #single-listing-date-range {
    height: 80px !important;
    min-height: 80px !important;
}

body.single-listing .apd52-booking-card #single-listing-date-range > .search-date-range-arrive,
body.single-listing .apd52-booking-card #single-listing-date-range > .search-date-range-depart {
    position: relative !important;
    height: 80px !important;
    min-height: 80px !important;
    overflow: hidden !important;
}

body.single-listing .apd52-booking-card #single-listing-date-range > .search-date-range-arrive::before,
body.single-listing .apd52-booking-card #single-listing-date-range > .search-date-range-depart::before {
    top: 12px !important;
    left: 14px !important;
    right: 12px !important;
    line-height: 12px !important;
}

body.single-listing .apd52-booking-card #single-listing-date-range .apd20-card-date-value {
    position: absolute !important;
    z-index: 4 !important;
    top: 29px !important;
    right: 12px !important;
    bottom: auto !important;
    left: 14px !important;
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #222222 !important;
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    pointer-events: none !important;
}

body.single-listing .apd52-booking-card #single-listing-date-range .check_in_date.apd20-date-source,
body.single-listing .apd52-booking-card #single-listing-date-range .check_out_date.apd20-date-source {
    inset: 0 !important;
    width: 100% !important;
    height: 80px !important;
    min-height: 80px !important;
}

/* El espacio agregado dentro de las fechas se compensa antes del botón para
   conservar la altura y la posición general aprobadas de toda la tarjeta. */
body.single-listing .apd52-booking-card #instance_reservation,
body.single-listing .apd52-booking-card #request_for_reservation,
body.single-listing .apd52-booking-card .btn-primary,
body.single-listing .apd52-booking-card .apd52-btn-primary {
    margin-top: 6px !important;
}

/* La selección es la misma en el calendario permanente y en el desplegable. */
body.single-listing .apd52-native-calendar ul.days li.apd20-in-range,
body.single-listing .apd52-native-calendar ul.days li.in-between,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-in-range,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.in-between,
body.single-listing .apd52-native-calendar ul.days li.apd20-range-start,
body.single-listing .apd52-native-calendar ul.days li.apd20-range-end,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-range-start,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-range-end,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.from-day,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.to-day {
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #222222 !important;
}

body.single-listing .apd52-native-calendar ul.days li.apd20-in-range::before,
body.single-listing .apd52-native-calendar ul.days li.apd20-in-range::after,
body.single-listing .apd52-native-calendar ul.days li.in-between::before,
body.single-listing .apd52-native-calendar ul.days li.in-between::after,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-in-range::before,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-in-range::after,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.in-between::before,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.in-between::after,
body.single-listing .apd52-native-calendar ul.days li.apd20-range-start::before,
body.single-listing .apd52-native-calendar ul.days li.apd20-range-end::before,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-range-start::before,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-range-end::before {
    content: none !important;
    display: none !important;
    background: transparent !important;
}

body.single-listing .apd52-native-calendar ul.days li.apd20-in-range .day-number,
body.single-listing .apd52-native-calendar ul.days li.in-between .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-in-range .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.in-between .day-number {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #222222 !important;
}

body.single-listing .apd52-native-calendar ul.days li.apd20-selected .day-number,
body.single-listing .apd52-native-calendar ul.days li.apd20-range-start .day-number,
body.single-listing .apd52-native-calendar ul.days li.apd20-range-end .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-selected .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-range-start .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-range-end .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.from-day .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.to-day .day-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    border: 0 !important;
    border-radius: 50% !important;
    outline: 0 !important;
    background: #222222 !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* No se inventan bloqueos: estas reglas sólo respetan los estados reales que
   entrega Homey para fechas pasadas, reservas y bloqueos del propietario. */
body.single-listing .apd52-native-calendar ul.days li.day-disabled .day-number,
body.single-listing .apd52-native-calendar ul.days li.past-day .day-number,
body.single-listing .apd52-native-calendar ul.days li.homey-not-available-for-booking .day-number,
body.single-listing .apd52-native-calendar ul.days li.day-booked .day-number,
body.single-listing .apd52-native-calendar ul.days li.day-pending .day-number,
body.single-listing .apd52-native-calendar ul.days li.day-unavailable .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.day-disabled .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.past-day .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.homey-not-available-for-booking .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.day-booked .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.day-pending .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.day-unavailable .day-number {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #b0b0b0 !important;
    text-decoration: line-through !important;
}

/* ========================================================================== 
   APD 26.3 · cierre de ficha sincronizada
   ========================================================================== */

body.single-listing {
    --apd18-header-height: 82px;
}

/* El aviso de tarifas, la tarjeta y el enlace de denuncia se desplazan como un
   único bloque, siempre por debajo de la navegación fija de la ficha. */
body.single-listing.apd19-detail-nav-visible .apd52-booking-column,
body.single-listing.apd18-detail-nav-visible .apd52-booking-column {
    top: calc(var(--apd18-header-height) + var(--apd18-detail-nav-height) + 24px) !important;
}

/* Rango continuo como la referencia: extremos oscuros y noches intermedias en
   gris. Se aplica a ambos calendarios, sin modificar disponibilidad ni crear
   bloqueos. */
body.single-listing .apd52-native-calendar ul.days li.apd20-in-range,
body.single-listing .apd52-native-calendar ul.days li.in-between,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-in-range,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.in-between {
    border-radius: 0 !important;
    background: #f0f0f0 !important;
    background-image: none !important;
    color: #222222 !important;
}

body.single-listing .apd52-native-calendar.apd20-has-complete-range ul.days li.apd20-range-start,
body.single-listing .apd52-booking-card #single-booking-search-calendar.apd20-has-complete-range ul.days li.apd20-range-start {
    background: linear-gradient(to right, transparent 0 50%, #f0f0f0 50% 100%) !important;
}

body.single-listing .apd52-native-calendar.apd20-has-complete-range ul.days li.apd20-range-end,
body.single-listing .apd52-booking-card #single-booking-search-calendar.apd20-has-complete-range ul.days li.apd20-range-end {
    background: linear-gradient(to left, transparent 0 50%, #f0f0f0 50% 100%) !important;
}

body.single-listing .apd52-native-calendar ul.days li.apd20-range-start .day-number,
body.single-listing .apd52-native-calendar ul.days li.apd20-range-end .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-range-start .day-number,
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li.apd20-range-end .day-number {
    position: relative !important;
    z-index: 5 !important;
}

/* Perfiles clickeables y estado inicial transparente de las evaluaciones. */
body.single-listing .apd26-review-profile-link,
body.single-listing .apd26-host-profile-link,
.apd16-profile-page .apd26-review-profile-link {
    color: inherit !important;
    text-decoration: none !important;
}

body.single-listing .apd26-review-profile-link,
.apd16-profile-page .apd26-review-profile-link {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

body.single-listing .apd26-host-profile-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

body.single-listing .apd26-review-profile-link:hover strong,
body.single-listing .apd26-host-profile-link:hover h3,
.apd16-profile-page .apd26-review-profile-link:hover strong {
    text-decoration: underline !important;
}

body.single-listing .apd26-review-zero {
    min-height: 230px !important;
}

body.single-listing .apd26-review-zero .apd19-review-laurel {
    color: #b8b8b8 !important;
}

body.single-listing .apd26-zero-rating-overview > div strong {
    color: #717171 !important;
}

@media (max-width: 991px) {
    body.single-listing .apd52-booking-card #single-listing-date-range .apd20-card-date-value {
        top: 29px !important;
    }
}

/* ========================================================================== 
   APD 26.4 · buscador de la ficha con geometría compacta de referencia
   ========================================================================== */

@media (min-width: 1180px) {
    /* La fila conserva la escala de la ficha, pero usa el mismo ancho útil de
       la referencia. El buscador se centra respecto de la ventana, no respecto
       del espacio que queda entre el logo y las acciones. */
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-header-row {
        position: relative !important;
        width: min(calc(100vw - 96px), 1460px) !important;
        max-width: 1460px !important;
        height: 82px !important;
        min-height: 82px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: 108px 1fr auto !important;
        column-gap: 0 !important;
        align-items: center !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-logo {
        grid-column: 1 !important;
        justify-self: start !important;
        margin: 0 !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-main-nav {
        display: none !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-header-actions {
        grid-column: 3 !important;
        justify-self: end !important;
        margin: 0 !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd19-detail-header-search {
        position: absolute !important;
        z-index: 20 !important;
        top: 50% !important;
        left: 50% !important;
        width: 405px !important;
        min-width: 405px !important;
        max-width: 405px !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        justify-self: auto !important;
        box-sizing: border-box !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd19-detail-header-search .apd5-search,
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd19-detail-header-search .apd5-search.has-open-panel {
        position: relative !important;
        width: 405px !important;
        min-width: 405px !important;
        max-width: 405px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 35px 0 42px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1.02fr) 1px minmax(0, 1.28fr) 1px minmax(0, .62fr) !important;
        align-items: center !important;
        border: 1px solid #dddddd !important;
        border-radius: 999px !important;
        background: #ffffff !important;
        box-shadow: 0 2px 9px rgba(0, 0, 0, .12) !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd20-detail-search-home {
        position: absolute !important;
        z-index: 22 !important;
        top: 50% !important;
        left: 10px !important;
        width: 26px !important;
        height: 26px !important;
        display: block !important;
        transform: translateY(-50%) !important;
        pointer-events: none !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd26-search-leading-icon {
        display: none !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field,
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field > button:first-child {
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field > button:first-child {
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 5px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: transparent !important;
        white-space: nowrap !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field > button:first-child:hover {
        background: #f7f7f7 !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field > button:first-child > span:not(.apd26-search-leading-icon),
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field > button:first-child > strong[id] {
        display: none !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field .apd26-compact-summary {
        display: block !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
        color: #222222 !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        letter-spacing: -.08px !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-separator {
        position: static !important;
        width: 1px !important;
        height: 24px !important;
        margin: 0 !important;
        align-self: center !important;
        background: #dddddd !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-submit,
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search.has-open-panel .apd5-search-submit {
        position: absolute !important;
        z-index: 23 !important;
        top: 5px !important;
        right: 5px !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: linear-gradient(145deg, #173f91, #004bd6) !important;
        box-shadow: none !important;
        color: #ffffff !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-submit .apd5-icon,
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-submit svg {
        width: 15px !important;
        height: 15px !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-submit > span {
        display: none !important;
    }
}

/* ========================================================================== 
   APD 26.5 · popovers funcionales y tarjeta estable
   ========================================================================== */

/* La tarjeta antigua recibía un desplazamiento propio al aparecer la barra de
   secciones. Se neutraliza en todos los estados para que aviso, tarjeta y
   denuncia se mantengan siempre juntos dentro de la única columna sticky. */
body.single-listing .apd52-booking-column {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
}

body.single-listing.apd19-detail-nav-visible .apd52-booking-card,
body.single-listing.apd18-detail-nav-visible .apd52-booking-card,
body.single-listing.apd13-listing-deep .apd52-booking-card,
body.single-listing.apd13-listing-scrolled .apd52-booking-card {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
}

body.single-listing .apd25-fees-banner {
    flex: 0 0 auto !important;
    margin: 0 0 14px !important;
}

body.single-listing .apd52-booking-card {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* Un solo contorno visual para fechas y viajeros: el borde inferior de las
   fechas es el único divisor horizontal y el borde vertical termina limpio. */
body.single-listing .apd52-booking-card .search-date-range {
    overflow: hidden !important;
    border: 1px solid #8d8d8d !important;
    border-radius: 10px 10px 0 0 !important;
}

body.single-listing .apd52-booking-card .search-date-range-arrive {
    border-right: 1px solid #8d8d8d !important;
}

body.single-listing .apd52-booking-card .search-guests {
    margin: 0 0 16px !important;
    border: 1px solid #8d8d8d !important;
    border-top: 0 !important;
    border-radius: 0 0 10px 10px !important;
}

@media (min-width: 1180px) {
    /* El encabezado permanece blanco y estable mientras el resto de la página
       se atenúa. La pastilla conserva exactamente sus 405 × 40 px. */
    body.apd15-search-popover-open.single-listing .apd5-header.is-detail-context {
        z-index: 5001 !important;
        background: #ffffff !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd19-detail-header-search,
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd19-detail-header-search .apd5-search,
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd19-detail-header-search .apd5-search.has-open-panel {
        width: 405px !important;
        min-width: 405px !important;
        max-width: 405px !important;
        height: 40px !important;
        min-height: 40px !important;
    }

    /* Lugar se vuelve un campo real al abrirse sin ensanchar ni mover la barra. */
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field[data-search-field="location"].is-open > button:first-child > * {
        opacity: 0 !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field[data-search-field="location"].is-open .apd26-inline-editor {
        position: absolute !important;
        inset: 0 27px 0 7px !important;
        z-index: 24 !important;
        display: flex !important;
        align-items: center !important;
        pointer-events: auto !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field[data-search-field="location"].is-open .apd26-inline-editor > span {
        display: none !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field[data-search-field="location"].is-open .apd26-search-inline-input {
        min-width: 0 !important;
        color: #222222 !important;
        font-size: 12px !important;
        line-height: 1 !important;
        font-weight: 600 !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-search-field[data-search-field="location"].is-open .apd26-field-clear:not([hidden]) {
        right: 2px !important;
        display: grid !important;
        width: 20px !important;
        min-width: 20px !important;
        height: 20px !important;
        min-height: 20px !important;
        font-size: 14px !important;
    }

    /* Destinos tiene la altura útil de la referencia, búsqueda progresiva y
       búsquedas recientes reales guardadas en este navegador. */
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-location-panel {
        top: calc(100% + 12px) !important;
        left: 0 !important;
        right: auto !important;
        width: 340px !important;
        max-width: min(340px, calc(100vw - 40px)) !important;
        max-height: 435px !important;
        padding: 24px 18px 18px !important;
        transform: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-location-panel > .apd5-panel-title {
        display: none !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd26-recent-destinations {
        margin: 0 7px 10px !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd26-recent-destinations > strong {
        display: block !important;
        margin: 0 0 8px !important;
        color: #222222 !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        font-weight: 600 !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd26-destination-section-title {
        display: block !important;
        margin: 0 7px 8px !important;
        color: #222222 !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        font-weight: 600 !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd26-recent-destination > span svg {
        width: 23px !important;
        height: 23px !important;
    }

    /* Dos meses completos y separados. El panel se centra respecto de la
       pastilla compacta, pero la pastilla nunca se expande. */
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-date-panel,
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-date-panel.is-flexible-mode {
        top: calc(100% + 12px) !important;
        right: auto !important;
        left: 50% !important;
        width: 680px !important;
        max-width: calc(100vw - 48px) !important;
        min-height: 0 !important;
        padding: 25px 28px 27px !important;
        transform: translateX(-50%) !important;
        overflow: hidden !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-date-panel .apd5-calendar-months {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 46px !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-date-panel .apd5-calendar-weekdays span,
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-date-panel .apd5-calendar-days button,
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-date-panel .apd5-calendar-days > span {
        width: 38px !important;
        height: 38px !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-date-panel .apd15-date-flexibility {
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }

    /* Viajeros mantiene cuatro filas reales y todos los botones activos. */
    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-guests-panel {
        top: calc(100% + 12px) !important;
        right: 0 !important;
        left: auto !important;
        width: 340px !important;
        max-width: min(340px, calc(100vw - 40px)) !important;
        padding: 20px 28px !important;
        transform: none !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-guests-panel .apd5-guest-row {
        min-height: 74px !important;
        padding: 13px 0 !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-guests-panel .apd5-guest-row strong {
        font-size: 14px !important;
        font-weight: 600 !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-guests-panel .apd5-guest-row span {
        font-size: 12px !important;
    }

    body.single-listing.apd-marketplace-ui .apd5-header.is-detail-context .apd5-guests-panel .apd5-guest-row button {
        width: 32px !important;
        height: 32px !important;
        cursor: pointer !important;
    }
}
