/* =====================================================================
   APD 19.0 · Ficha de alojamiento de precisión
   La disponibilidad, reservas, precios, favoritos y evaluaciones siguen
   perteneciendo a Homey. Esta hoja controla estructura y presentación.
   ===================================================================== */
:root {
    --apd19-ink: #222222;
    --apd19-muted: #6a6a6a;
    --apd19-line: #dddddd;
    --apd19-soft: #f7f7f7;
    --apd19-blue: #123b8f;
    --apd19-blue-hover: #0d2f78;
    --apd19-heart: #e61e4d;
    --apd19-shell: 1120px;
    --apd19-nav-height: 80px;
    --apd19-radius: 12px;
    --apd19-shadow: 0 6px 20px rgba(0,0,0,.12);
}

html { scroll-padding-top: 96px !important; }
body.single-listing.apd-marketplace-ui {
    overflow-x: clip !important;
    color: var(--apd19-ink) !important;
    background: #fff !important;
}
body.single-listing.apd-marketplace-ui *,
body.single-listing.apd-marketplace-ui *::before,
body.single-listing.apd-marketplace-ui *::after { box-sizing: border-box !important; }
body.single-listing .apd52-listing-page { background:#fff !important; }
body.single-listing .apd52-shell {
    width: min(calc(100% - 48px), var(--apd19-shell)) !important;
    max-width: var(--apd19-shell) !important;
    margin-inline: auto !important;
}
body.single-listing .apd52-icon { flex:0 0 auto; }

/* ------------------------------------------------------------------
   Encabezado: una sola fila, como en el inicio compacto
   ------------------------------------------------------------------ */
body.single-listing .apd5-header.is-detail-context {
    position: relative !important;
    inset: auto !important;
    z-index: 300 !important;
    width: 100% !important;
    height: 80px !important;
    min-height: 80px !important;
    display: block !important;
    overflow: visible !important;
    background:#fff !important;
    border:0 !important;
    border-bottom:1px solid #ebebeb !important;
    box-shadow:none !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-header-row {
    width:min(calc(100% - 48px), 1440px) !important;
    height:80px !important;
    min-height:80px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns: 220px minmax(360px, 440px) 1fr !important;
    align-items:center !important;
    gap:24px !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-logo {
    position:static !important;
    width:112px !important;
    height:48px !important;
    display:flex !important;
    align-items:center !important;
    transform:none !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-logo img {
    width:112px !important;
    height:44px !important;
    object-fit:contain !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-main-nav { display:none !important; }
body.single-listing .apd5-header.is-detail-context > .apd5-header-search-row { display:none !important; }
body.single-listing .apd5-header.is-detail-context .apd19-detail-header-search {
    position:static !important;
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    padding:0 !important;
    margin:0 !important;
    display:block !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
}
body.single-listing .apd5-header.is-detail-context .apd19-detail-header-search .apd5-search {
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1.25fr) 1px minmax(0,1fr) 1px minmax(0,.72fr) 48px !important;
    align-items:center !important;
    overflow:hidden !important;
    border:1px solid var(--apd19-line) !important;
    border-radius:999px !important;
    background:#fff !important;
    box-shadow:0 3px 12px rgba(0,0,0,.12) !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-search-field,
body.single-listing .apd5-header.is-detail-context .apd5-search-field > button {
    min-width:0 !important;
    height:46px !important;
    border:0 !important;
    background:transparent !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-search-field > button {
    width:100% !important;
    padding:0 16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-search-field span { display:none !important; }
body.single-listing .apd5-header.is-detail-context .apd5-search-field strong {
    min-width:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    color:#222 !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-search-divider {
    width:1px !important;
    height:24px !important;
    background:#ddd !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-search-submit {
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    margin:6px !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    border:0 !important;
    border-radius:50% !important;
    color:#fff !important;
    background:var(--apd19-blue) !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-header-actions {
    position:static !important;
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-host-trigger {
    color:#222 !important;
    font-size:13px !important;
    font-weight:650 !important;
    text-decoration:none !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-language-button {
    width:40px !important;
    height:40px !important;
    display:grid !important;
    place-items:center !important;
    border:0 !important;
    border-radius:50% !important;
    background:#fff !important;
}
body.single-listing .apd5-header.is-detail-context .apd5-account-button {
    min-width:72px !important;
    width:auto !important;
    height:44px !important;
    padding:4px 5px 4px 13px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    border:1px solid #ddd !important;
    border-radius:999px !important;
    background:#fff !important;
}
body.single-listing .apd12-header-spacer { display:none !important; }

/* ------------------------------------------------------------------
   Título, acciones y galería
   ------------------------------------------------------------------ */
body.single-listing .apd52-listing-head {
    min-height:0 !important;
    padding:24px 0 20px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:end !important;
    gap:24px !important;
}
body.single-listing .apd52-eyebrow { display:none !important; }
body.single-listing .apd52-listing-head h1 {
    margin:0 !important;
    color:#222 !important;
    font-size:26px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
    letter-spacing:-.35px !important;
}
body.single-listing .apd52-head-meta {
    margin-top:8px !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:7px 12px !important;
    color:var(--apd19-muted) !important;
    font-size:13px !important;
}
body.single-listing .apd52-head-meta > * { color:var(--apd19-muted) !important; }
body.single-listing .apd52-head-meta svg { width:14px !important; height:14px !important; }
body.single-listing .apd52-head-actions { display:flex !important; align-items:center !important; gap:4px !important; }
body.single-listing .apd52-text-action {
    min-height:40px !important;
    padding:0 10px !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    border:0 !important;
    border-radius:8px !important;
    color:#222 !important;
    background:transparent !important;
    font-size:13px !important;
    font-weight:600 !important;
    text-decoration:underline !important;
}
body.single-listing .apd52-text-action:hover { background:#f7f7f7 !important; }
body.single-listing .apd52-text-action svg { width:18px !important; height:18px !important; }
body.single-listing .apd17-favorite-button.is-saved,
body.single-listing .apd17-favorite-button[aria-pressed="true"] { color:var(--apd19-heart) !important; }
body.single-listing .apd17-favorite-button.is-saved svg,
body.single-listing .apd17-favorite-button[aria-pressed="true"] svg { fill:var(--apd19-heart) !important; stroke:var(--apd19-heart) !important; }

body.single-listing .apd52-gallery {
    position:relative !important;
    height:448px !important;
    min-height:448px !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:2fr 1fr 1fr !important;
    grid-template-rows:1fr 1fr !important;
    gap:8px !important;
    overflow:hidden !important;
    border-radius:12px !important;
    background:#ededed !important;
}
body.single-listing .apd52-gallery-item {
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:0 !important;
    background:#ddd !important;
}
body.single-listing .apd52-gallery-item-1 { grid-column:1; grid-row:1 / span 2; }
body.single-listing .apd52-gallery-item-2 { grid-column:2; grid-row:1; }
body.single-listing .apd52-gallery-item-3 { grid-column:3; grid-row:1; }
body.single-listing .apd52-gallery-item-4 { grid-column:2; grid-row:2; }
body.single-listing .apd52-gallery-item-5 { grid-column:3; grid-row:2; }
body.single-listing .apd52-gallery img {
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
    transition:filter .18s ease !important;
}
body.single-listing .apd52-gallery:hover img { filter:brightness(.92); }
body.single-listing .apd52-gallery-item:hover img { filter:brightness(1); }
body.single-listing .apd19-gallery-count-1 { grid-template-columns:1fr !important; }
body.single-listing .apd19-gallery-count-1 .apd52-gallery-item-1 { grid-column:1; }
body.single-listing .apd19-gallery-count-2 { grid-template-columns:1fr 1fr !important; }
body.single-listing .apd19-gallery-count-2 .apd52-gallery-item-1 { grid-column:1; }
body.single-listing .apd19-gallery-count-2 .apd52-gallery-item-2 { grid-column:2; grid-row:1 / span 2; }
body.single-listing .apd19-gallery-count-3 { grid-template-columns:2fr 1fr !important; }
body.single-listing .apd19-gallery-count-3 .apd52-gallery-item-1 { grid-column:1; }
body.single-listing .apd19-gallery-count-3 .apd52-gallery-item-2 { grid-column:2; grid-row:1; }
body.single-listing .apd19-gallery-count-3 .apd52-gallery-item-3 { grid-column:2; grid-row:2; }
body.single-listing .apd19-gallery-count-4 { grid-template-columns:2fr 1fr !important; grid-template-rows:repeat(3,1fr) !important; }
body.single-listing .apd19-gallery-count-4 .apd52-gallery-item-1 { grid-column:1; grid-row:1 / span 3; }
body.single-listing .apd19-gallery-count-4 .apd52-gallery-item-2 { grid-column:2; grid-row:1; }
body.single-listing .apd19-gallery-count-4 .apd52-gallery-item-3 { grid-column:2; grid-row:2; }
body.single-listing .apd19-gallery-count-4 .apd52-gallery-item-4 { grid-column:2; grid-row:3; }
body.single-listing .apd52-show-all-photos {
    position:absolute !important;
    right:16px !important;
    bottom:16px !important;
    z-index:3 !important;
    min-height:36px !important;
    padding:0 14px !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    border:1px solid #222 !important;
    border-radius:8px !important;
    color:#222 !important;
    background:#fff !important;
    box-shadow:none !important;
    font-size:12px !important;
    font-weight:600 !important;
}
body.single-listing .apd52-show-all-photos svg { width:16px !important; height:16px !important; }
body.single-listing .apd17-mobile-gallery-actions { display:none !important; }

/* ------------------------------------------------------------------
   Barra secundaria al desplazarse
   ------------------------------------------------------------------ */
body.single-listing .apd52-detail-nav {
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:9100 !important;
    height:80px !important;
    min-height:80px !important;
    margin:0 !important;
    display:block !important;
    border:0 !important;
    border-bottom:1px solid #e6e6e6 !important;
    background:#fff !important;
    box-shadow:0 2px 10px rgba(0,0,0,.08) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-100%) !important;
    transition:transform .22s ease, opacity .18s ease, visibility .18s ease !important;
}
body.single-listing.apd19-detail-nav-visible .apd52-detail-nav {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
}
body.single-listing .apd52-detail-nav-inner {
    height:80px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:28px !important;
}
body.single-listing .apd52-detail-nav-links { display:flex !important; align-items:stretch !important; gap:28px !important; height:80px !important; }
body.single-listing .apd52-detail-nav-links a {
    position:relative !important;
    height:80px !important;
    display:flex !important;
    align-items:center !important;
    color:#222 !important;
    font-size:13px !important;
    font-weight:600 !important;
    text-decoration:none !important;
}
body.single-listing .apd52-detail-nav-links a.is-active::after {
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:2px !important;
    background:#222 !important;
}
body.single-listing .apd52-detail-nav-book {
    display:flex !important;
    align-items:center !important;
    gap:20px !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(5px) !important;
    transition:opacity .18s ease, transform .18s ease !important;
}
body.single-listing.apd19-compact-booking .apd52-detail-nav-book {
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
}
body.single-listing .apd19-nav-price-copy { min-width:130px !important; display:grid !important; grid-template-columns:auto 1fr !important; align-items:baseline !important; column-gap:5px !important; }
body.single-listing .apd19-nav-price-copy strong { color:#222 !important; font-size:14px !important; font-weight:700 !important; text-decoration:underline !important; }
body.single-listing .apd19-nav-price-copy > span { color:#222 !important; font-size:11px !important; }
body.single-listing .apd19-nav-price-copy small { grid-column:1 / -1 !important; margin-top:2px !important; display:flex !important; align-items:center !important; gap:4px !important; color:#222 !important; font-size:10px !important; }
body.single-listing .apd19-nav-price-copy small svg { width:10px !important; height:10px !important; fill:#222 !important; }
body.single-listing .apd52-detail-nav-book .apd52-btn { min-width:126px !important; height:48px !important; border-radius:10px !important; }

/* ------------------------------------------------------------------
   Columna principal y reserva
   ------------------------------------------------------------------ */
body.single-listing .apd52-content-grid {
    position:relative !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0, 650px) 370px !important;
    justify-content:space-between !important;
    align-items:start !important;
    column-gap:64px !important;
}
body.single-listing .apd52-main-column { min-width:0 !important; }
body.single-listing .apd52-section {
    margin:0 !important;
    padding:40px 0 !important;
    border:0 !important;
    border-bottom:1px solid #e4e4e4 !important;
}
body.single-listing .apd52-section h2 {
    margin:0 0 24px !important;
    color:#222 !important;
    font-size:22px !important;
    line-height:1.25 !important;
    font-weight:600 !important;
    letter-spacing:-.25px !important;
}
body.single-listing .apd52-summary-section {
    padding:28px 0 20px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
}
body.single-listing .apd52-summary-copy h2 { margin:0 0 4px !important; font-size:22px !important; }
body.single-listing .apd52-summary-copy p { margin:0 !important; color:#444 !important; font-size:14px !important; }
body.single-listing .apd52-host-avatar-link { display:none !important; }

body.single-listing .apd13-guest-favorite {
    min-height:88px !important;
    margin:20px 0 0 !important;
    padding:18px 22px !important;
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto auto !important;
    align-items:center !important;
    gap:20px !important;
    border:1px solid #ddd !important;
    border-radius:12px !important;
    background:#fff !important;
}
body.single-listing .apd13-laurel { display:none !important; }
body.single-listing .apd13-favorite-copy { display:grid !important; grid-template-columns:auto minmax(0,1fr) !important; align-items:center !important; gap:16px !important; }
body.single-listing .apd13-favorite-copy::before { content:"❧" !important; color:#222 !important; font-size:33px !important; transform:rotate(-28deg) !important; }
body.single-listing .apd13-favorite-copy strong { font-size:14px !important; line-height:1.15 !important; }
body.single-listing .apd13-favorite-copy span { max-width:190px !important; color:#222 !important; font-size:13px !important; line-height:1.25 !important; }
body.single-listing .apd13-favorite-rating,
body.single-listing .apd13-favorite-count { min-width:74px !important; padding-left:18px !important; display:flex !important; flex-direction:column !important; align-items:center !important; border-left:1px solid #ddd !important; }
body.single-listing .apd13-favorite-rating strong,
body.single-listing .apd13-favorite-count strong { font-size:18px !important; line-height:1.2 !important; }
body.single-listing .apd13-favorite-rating span,
body.single-listing .apd13-favorite-count span { margin-top:2px !important; color:#222 !important; font-size:10px !important; text-align:center !important; }

body.single-listing .apd19-host-strip {
    padding:24px 0 !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    border-bottom:1px solid #e4e4e4 !important;
}
body.single-listing .apd19-host-strip-avatar { position:relative !important; width:44px !important; height:44px !important; flex:0 0 44px !important; }
body.single-listing .apd19-host-strip-avatar img { width:44px !important; height:44px !important; border-radius:50% !important; object-fit:cover !important; }
body.single-listing .apd19-host-strip-avatar span { position:absolute !important; right:-2px !important; bottom:-2px !important; width:18px !important; height:18px !important; display:grid !important; place-items:center !important; border:2px solid #fff !important; border-radius:50% !important; color:#fff !important; background:var(--apd19-heart) !important; font-size:10px !important; font-weight:800 !important; }
body.single-listing .apd19-host-strip > div { display:flex !important; flex-direction:column !important; gap:2px !important; }
body.single-listing .apd19-host-strip strong { font-size:14px !important; }
body.single-listing .apd19-host-strip span { color:var(--apd19-muted) !important; font-size:12px !important; }

body.single-listing .apd52-highlights { padding:18px 0 24px !important; }
body.single-listing .apd52-highlights article {
    min-height:58px !important;
    padding:10px 0 !important;
    display:grid !important;
    grid-template-columns:28px minmax(0,1fr) !important;
    gap:16px !important;
    align-items:start !important;
}
body.single-listing .apd52-highlight-icon svg { width:22px !important; height:22px !important; color:#222 !important; }
body.single-listing .apd52-highlights h3 { margin:0 0 3px !important; color:#222 !important; font-size:14px !important; font-weight:600 !important; }
body.single-listing .apd52-highlights p { margin:0 !important; color:var(--apd19-muted) !important; font-size:13px !important; line-height:1.35 !important; }
body.single-listing .apd52-description { padding:28px 0 !important; }
body.single-listing .apd52-description-content { color:#222 !important; font-size:15px !important; line-height:1.55 !important; }
body.single-listing .apd52-btn-secondary {
    min-height:44px !important;
    padding:0 18px !important;
    border:1px solid #222 !important;
    border-radius:8px !important;
    color:#222 !important;
    background:#fff !important;
    font-size:13px !important;
    font-weight:600 !important;
}
body.single-listing .apd52-btn-primary {
    min-height:48px !important;
    padding:0 22px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:0 !important;
    border-radius:10px !important;
    color:#fff !important;
    background:var(--apd19-blue) !important;
    font-size:14px !important;
    font-weight:700 !important;
    text-decoration:none !important;
}
body.single-listing .apd52-btn-primary:hover { background:var(--apd19-blue-hover) !important; }

body.single-listing .apd52-booking-column {
    position:relative !important;
    width:370px !important;
    min-width:0 !important;
    padding-top:28px !important;
    align-self:stretch !important;
}
body.single-listing .apd52-booking-card {
    position:sticky !important;
    top:28px !important;
    z-index:80 !important;
    width:100% !important;
    margin:0 !important;
    padding:24px !important;
    overflow:visible !important;
    border:1px solid #ddd !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:var(--apd19-shadow) !important;
    transition:top .2s ease, opacity .18s ease, transform .18s ease !important;
}
body.single-listing.apd19-detail-nav-visible .apd52-booking-card { top:104px !important; }
body.single-listing.apd19-compact-booking .apd52-booking-column {
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}
body.single-listing .apd19-booking-price-summary {
    margin:0 0 20px !important;
    display:flex !important;
    align-items:baseline !important;
    gap:5px !important;
}
body.single-listing .apd19-booking-price-summary strong { color:#222 !important; font-size:22px !important; font-weight:700 !important; text-decoration:underline !important; }
body.single-listing .apd19-booking-price-summary span { color:#222 !important; font-size:12px !important; }
body.single-listing .apd52-booking-card .sidebar-booking-module,
body.single-listing .apd52-booking-card .sidebar-booking-module .block,
body.single-listing .apd52-booking-card .sidebar-booking-module-body,
body.single-listing .apd52-booking-card .block-body-sidebar,
body.single-listing .apd52-booking-card .homey_notification {
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
body.single-listing .apd52-booking-card .sidebar-booking-module-header { display:none !important; }
body.single-listing .apd52-booking-card #single-listing-date-range {
    position:relative !important;
    width:100% !important;
    margin:0 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    border:1px solid #b0b0b0 !important;
    border-radius:9px 9px 0 0 !important;
    overflow:visible !important;
    background:#fff !important;
}
body.single-listing .apd52-booking-card .search-date-range-arrive,
body.single-listing .apd52-booking-card .search-date-range-depart { position:relative !important; min-width:0 !important; }
body.single-listing .apd52-booking-card .search-date-range-arrive { border-right:1px solid #b0b0b0 !important; }
body.single-listing .apd52-booking-card .search-date-range-arrive::before,
body.single-listing .apd52-booking-card .search-date-range-depart::before {
    position:absolute !important;
    left:12px !important;
    top:9px !important;
    z-index:2 !important;
    color:#222 !important;
    font-size:9px !important;
    line-height:1 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    pointer-events:none !important;
}
body.single-listing .apd52-booking-card .search-date-range-arrive::before { content:"CHECK-IN" !important; }
body.single-listing .apd52-booking-card .search-date-range-depart::before { content:"CHECK-OUT" !important; }
body.single-listing .apd52-booking-card .check_in_date,
body.single-listing .apd52-booking-card .check_out_date {
    width:100% !important;
    height:58px !important;
    margin:0 !important;
    padding:24px 12px 7px !important;
    border:0 !important;
    border-radius:0 !important;
    color:#222 !important;
    background:#fff !important;
    box-shadow:none !important;
    font-size:12px !important;
    line-height:1.2 !important;
}
body.single-listing .apd52-booking-card .search-guests {
    position:relative !important;
    width:100% !important;
    margin:-1px 0 0 !important;
    border:1px solid #b0b0b0 !important;
    border-radius:0 0 9px 9px !important;
    background:#fff !important;
}
body.single-listing .apd52-booking-card .search-guests::before {
    content:"VIAJEROS" !important;
    position:absolute !important;
    left:12px !important;
    top:9px !important;
    z-index:2 !important;
    color:#222 !important;
    font-size:9px !important;
    line-height:1 !important;
    font-weight:800 !important;
}
body.single-listing .apd52-booking-card .search-guests > input.form-control {
    width:100% !important;
    height:58px !important;
    margin:0 !important;
    padding:24px 38px 7px 12px !important;
    border:0 !important;
    border-radius:0 0 9px 9px !important;
    color:#222 !important;
    background:#fff !important;
    box-shadow:none !important;
    font-size:12px !important;
}
body.single-listing .apd52-booking-card .search-guests::after {
    content:"⌄" !important;
    position:absolute !important;
    right:14px !important;
    top:20px !important;
    color:#222 !important;
    font-size:18px !important;
    pointer-events:none !important;
}
body.single-listing .apd52-booking-card .single-form-guests-js {
    z-index:1000 !important;
    width:100% !important;
    min-width:300px !important;
    margin-top:8px !important;
    padding:16px !important;
    border:1px solid #ddd !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:0 8px 30px rgba(0,0,0,.16) !important;
}
body.single-listing .apd52-booking-card .search-message,
body.single-listing .apd52-booking-card .new_reser_request_user_email { display:none !important; }
body.single-listing .apd52-booking-card #homey_booking_cost { margin:14px 0 0 !important; }
body.single-listing .apd52-booking-card .payment-list-price-detail-total-price { font-weight:700 !important; }
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 {
    width:100% !important;
    height:48px !important;
    margin:14px 0 0 !important;
    border:0 !important;
    border-radius:10px !important;
    color:#fff !important;
    background:var(--apd19-blue) !important;
    box-shadow:none !important;
    font-size:14px !important;
    font-weight:700 !important;
}
body.single-listing .apd13-no-charge { margin:14px 0 0 !important; color:#555 !important; font-size:11px !important; text-align:center !important; }
body.single-listing .apd52-report-link {
    width:100% !important;
    margin:18px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    color:#555 !important;
    background:transparent !important;
    font-size:11px !important;
    text-align:center !important;
    text-decoration:underline !important;
}

/* ------------------------------------------------------------------
   Servicios
   ------------------------------------------------------------------ */
body.single-listing .apd52-amenity-grid {
    margin:0 0 24px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:20px 48px !important;
}
body.single-listing .apd52-amenity-grid > div {
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:24px minmax(0,1fr) !important;
    align-items:center !important;
    gap:14px !important;
    color:#222 !important;
    font-size:14px !important;
}
body.single-listing .apd19-amenity-icon { width:22px !important; height:22px !important; color:#222 !important; }
body.single-listing .apd52-sleep-card { max-width:330px !important; overflow:hidden !important; border:1px solid #ddd !important; border-radius:12px !important; }
body.single-listing .apd52-sleep-card img { width:100% !important; height:190px !important; object-fit:cover !important; }
body.single-listing .apd52-sleep-card > div { padding:16px !important; }

/* ------------------------------------------------------------------
   Calendario Homey con diseño limpio de dos meses
   ------------------------------------------------------------------ */
body.single-listing .apd52-native-calendar { position:relative !important; padding:42px 0 56px !important; }
body.single-listing .apd13-calendar-heading { margin:0 0 24px !important; display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:20px !important; }
body.single-listing .apd13-calendar-heading h2 { margin:0 0 5px !important; }
body.single-listing .apd13-calendar-heading p { margin:0 !important; color:var(--apd19-muted) !important; font-size:13px !important; }
body.single-listing .apd13-calendar-clear { align-self:flex-start !important; padding:0 !important; border:0 !important; color:#222 !important; background:transparent !important; font-size:12px !important; font-weight:600 !important; text-decoration:underline !important; }
body.single-listing .apd52-native-calendar .single-listing-calendar,
body.single-listing .apd52-booking-card #single-booking-search-calendar {
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:#fff !important;
    box-shadow:none !important;
}
body.single-listing .apd52-native-calendar .apd18-calendar-month-grid,
body.single-listing .apd52-native-calendar .apd19-calendar-month-grid {
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:46px !important;
}
body.single-listing .apd52-native-calendar .single-listing-calendar-wrap {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    border:0 !important;
    background:#fff !important;
}
body.single-listing .single-listing-calendar-wrap .month { height:auto !important; margin:0 0 18px !important; padding:0 !important; text-align:center !important; }
body.single-listing .single-listing-calendar-wrap .month h4 { margin:0 !important; color:#222 !important; font-size:15px !important; font-weight:600 !important; }
body.single-listing .single-listing-calendar-wrap .month h4 span { font-weight:400 !important; }
body.single-listing .single-listing-calendar-wrap ul.weekdays,
body.single-listing .single-listing-calendar-wrap ul.days {
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:repeat(7,1fr) !important;
    gap:5px 3px !important;
    list-style:none !important;
}
body.single-listing .single-listing-calendar-wrap ul.weekdays { margin-bottom:8px !important; }
body.single-listing .single-listing-calendar-wrap ul.weekdays li {
    width:auto !important;
    height:26px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    color:#717171 !important;
    background:transparent !important;
    font-size:11px !important;
    font-weight:500 !important;
    text-transform:none !important;
}
body.single-listing .single-listing-calendar-wrap ul.days li {
    position:relative !important;
    width:auto !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    overflow:visible !important;
    border:0 !important;
    border-radius:0 !important;
    color:#222 !important;
    background:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    font-size:12px !important;
    font-weight:500 !important;
    cursor:pointer !important;
    transform:none !important;
}
body.single-listing .single-listing-calendar-wrap ul.days li::before,
body.single-listing .single-listing-calendar-wrap ul.days li::after { display:none !important; }
body.single-listing .single-listing-calendar-wrap ul.days li .day-number {
    position:relative !important;
    z-index:2 !important;
    width:40px !important;
    height:40px !important;
    display:grid !important;
    place-items:center !important;
    border:1px solid transparent !important;
    border-radius:50% !important;
    color:inherit !important;
    background:transparent !important;
    text-decoration:none !important;
}
body.single-listing .single-listing-calendar-wrap ul.days li.future-day:hover .day-number { border-color:#222 !important; }
body.single-listing .single-listing-calendar-wrap ul.days li.current-day .day-number { border-color:#222 !important; }
body.single-listing .single-listing-calendar-wrap ul.days li.day-disabled,
body.single-listing .single-listing-calendar-wrap ul.days li.past-day,
body.single-listing .single-listing-calendar-wrap ul.days li.homey-not-available-for-booking,
body.single-listing .single-listing-calendar-wrap ul.days li.day-booked,
body.single-listing .single-listing-calendar-wrap ul.days li.day-pending,
body.single-listing .single-listing-calendar-wrap ul.days li.day-unavailable {
    color:#b0b0b0 !important;
    background:transparent !important;
    background-image:none !important;
    cursor:not-allowed !important;
}
body.single-listing .single-listing-calendar-wrap ul.days li.homey-not-available-for-booking .day-number,
body.single-listing .single-listing-calendar-wrap ul.days li.day-booked .day-number,
body.single-listing .single-listing-calendar-wrap ul.days li.day-pending .day-number,
body.single-listing .single-listing-calendar-wrap ul.days li.day-unavailable .day-number { text-decoration:line-through !important; }
body.single-listing .single-listing-calendar-wrap ul.days li.selected,
body.single-listing .single-listing-calendar-wrap ul.days li.active,
body.single-listing .single-listing-calendar-wrap ul.days li.apd19-selected-date { color:#fff !important; }
body.single-listing .single-listing-calendar-wrap ul.days li.selected .day-number,
body.single-listing .single-listing-calendar-wrap ul.days li.active .day-number,
body.single-listing .single-listing-calendar-wrap ul.days li.apd19-selected-date .day-number { color:#fff !important; background:#222 !important; }
body.single-listing .single-listing-calendar-wrap ul.days li.in-between,
body.single-listing .single-listing-calendar-wrap ul.days li.apd19-in-range { background:#f2f2f2 !important; }
body.single-listing .apd52-native-calendar .calendar-navigation {
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    z-index:4 !important;
    height:36px !important;
    pointer-events:none !important;
}
body.single-listing .apd52-native-calendar .listing-cal-prev,
body.single-listing .apd52-native-calendar .listing-cal-next {
    width:36px !important;
    height:36px !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    border:0 !important;
    border-radius:50% !important;
    color:#222 !important;
    background:transparent !important;
    box-shadow:none !important;
    pointer-events:auto !important;
}
body.single-listing .apd52-native-calendar .listing-cal-prev { position:absolute !important; left:0 !important; }
body.single-listing .apd52-native-calendar .listing-cal-next { position:absolute !important; right:0 !important; }
body.single-listing .apd52-native-calendar .listing-cal-prev:hover,
body.single-listing .apd52-native-calendar .listing-cal-next:hover { background:#f7f7f7 !important; }
body.single-listing .apd52-native-calendar #calendar-cross-btn { display:none !important; }

/* calendario desplegable de la tarjeta */
body.single-listing .apd52-booking-card #single-booking-search-calendar {
    position:absolute !important;
    top:76px !important;
    right:calc(100% + 16px) !important;
    z-index:1200 !important;
    width:650px !important;
    padding:24px !important;
    border:1px solid #ddd !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 16px 50px rgba(0,0,0,.20) !important;
}
body.single-listing .apd52-booking-card #single-booking-search-calendar .apd18-calendar-month-grid,
body.single-listing .apd52-booking-card #single-booking-search-calendar .apd19-calendar-month-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:36px !important; }
body.single-listing .apd52-booking-card #single-booking-search-calendar .single-listing-calendar-wrap { width:100% !important; float:none !important; }
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li { height:38px !important; min-height:38px !important; }
body.single-listing .apd52-booking-card #single-booking-search-calendar ul.days li .day-number { width:36px !important; height:36px !important; }

/* ------------------------------------------------------------------
   Evaluaciones en ancho completo
   ------------------------------------------------------------------ */
body.single-listing .apd17-wide-sections {
    width:min(calc(100% - 48px), var(--apd19-shell)) !important;
    max-width:var(--apd19-shell) !important;
    margin:0 auto !important;
}
body.single-listing .apd17-wide-sections > .apd52-section { padding:52px 0 !important; }
body.single-listing .apd52-reviews-head { display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:20px !important; }
body.single-listing .apd52-reviews-section.has-reviews > .apd52-reviews-head { display:none !important; }
body.single-listing .apd19-review-hero {
    min-height:245px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
    text-align:center !important;
}
body.single-listing .apd19-review-hero > div { max-width:420px !important; }
body.single-listing .apd19-review-hero strong { display:block !important; color:#222 !important; font-size:64px !important; line-height:1 !important; font-weight:650 !important; letter-spacing:-2px !important; }
body.single-listing .apd19-review-hero h3 { margin:18px 0 8px !important; color:#222 !important; font-size:18px !important; font-weight:600 !important; }
body.single-listing .apd19-review-hero p { margin:0 auto 8px !important; color:var(--apd19-muted) !important; font-size:14px !important; line-height:1.4 !important; }
body.single-listing .apd19-review-hero a { color:#555 !important; font-size:12px !important; text-decoration:underline !important; }
body.single-listing .apd19-review-laurel { color:#222 !important; font-size:72px !important; line-height:1 !important; }
body.single-listing .apd19-review-laurel.is-left { transform:rotate(-28deg) !important; }
body.single-listing .apd19-review-laurel.is-right { transform:scaleX(-1) rotate(-28deg) !important; }
body.single-listing .apd52-rating-overview {
    margin:0 0 38px !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:1.35fr repeat(6,1fr) !important;
    gap:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
}
body.single-listing .apd52-rating-overview > div {
    min-height:96px !important;
    padding:0 18px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    border-left:1px solid #ddd !important;
}
body.single-listing .apd52-rating-overview > div:first-child { padding-left:0 !important; border-left:0 !important; }
body.single-listing .apd52-rating-overview span { color:#222 !important; font-size:12px !important; font-weight:600 !important; }
body.single-listing .apd52-rating-overview strong { color:#222 !important; font-size:18px !important; font-weight:600 !important; }
body.single-listing .apd52-rating-main strong { font-size:22px !important; }
body.single-listing .apd52-review-grid {
    margin:0 0 28px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:36px 70px !important;
}
body.single-listing .apd52-review-card { min-width:0 !important; padding:0 !important; border:0 !important; background:#fff !important; }
body.single-listing .apd52-review-card header { margin:0 0 10px !important; display:flex !important; align-items:center !important; gap:12px !important; }
body.single-listing .apd52-review-card header img { width:44px !important; height:44px !important; border-radius:50% !important; object-fit:cover !important; }
body.single-listing .apd52-review-card h3 { margin:0 0 2px !important; font-size:14px !important; font-weight:600 !important; }
body.single-listing .apd52-review-card header p { margin:0 !important; color:var(--apd19-muted) !important; font-size:11px !important; }
body.single-listing .apd52-review-stars { margin:0 0 5px !important; color:#222 !important; font-size:10px !important; letter-spacing:1px !important; }
body.single-listing .apd52-review-card > p { margin:0 !important; color:#222 !important; font-size:14px !important; line-height:1.45 !important; }
body.single-listing .apd52-empty-reviews { padding:24px !important; display:flex !important; gap:18px !important; border:1px solid #ddd !important; border-radius:12px !important; }

/* ------------------------------------------------------------------
   Mapa, anfitrión, reglas, cercanos y ruta
   ------------------------------------------------------------------ */
body.single-listing .apd52-map-section h2 { margin-bottom:12px !important; }
body.single-listing .apd52-map-address { margin:0 0 22px !important; color:#444 !important; font-size:14px !important; }
body.single-listing .apd52-map-section .map-wrap,
body.single-listing .apd52-map-section #homey-single-map,
body.single-listing .apd52-map-section #homey-halfmap,
body.single-listing .apd52-map-section #homey_listing_map,
body.single-listing .apd52-map-section .homey_map,
body.single-listing .apd52-map-section .google-map,
body.single-listing .apd52-map-section iframe {
    width:100% !important;
    max-width:none !important;
    height:500px !important;
    min-height:500px !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:12px !important;
    filter:none !important;
    opacity:1 !important;
}
body.single-listing .apd52-map-section .gm-style,
body.single-listing .apd52-map-section .gm-style > div { filter:none !important; opacity:1 !important; }
body.single-listing .apd52-map-section .leaflet-tile-pane,
body.single-listing .apd52-map-section .leaflet-map-pane,
body.single-listing .apd52-map-section .leaflet-layer { filter:none !important; opacity:1 !important; }
body.single-listing .apd52-map-section .apd16-map-shell,
body.single-listing .apd52-map-section .apd16-map-shell .block,
body.single-listing .apd52-map-section .map-wrap { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
body.single-listing .apd52-map-section::before,
body.single-listing .apd52-map-section::after { display:none !important; }

body.single-listing .apd52-host-grid {
    display:grid !important;
    grid-template-columns:400px minmax(0,1fr) !important;
    gap:64px !important;
    align-items:center !important;
}
body.single-listing .apd52-host-card {
    min-height:210px !important;
    padding:28px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 118px !important;
    align-items:center !important;
    gap:20px !important;
    border:0 !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 6px 24px rgba(0,0,0,.12) !important;
}
body.single-listing .apd16-host-identity { text-align:center !important; }
body.single-listing .apd16-host-avatar-wrap { position:relative !important; width:92px !important; height:92px !important; margin:0 auto 12px !important; }
body.single-listing .apd16-host-avatar-wrap img { width:92px !important; height:92px !important; border-radius:50% !important; object-fit:cover !important; }
body.single-listing .apd16-verified-badge { position:absolute !important; right:0 !important; bottom:2px !important; width:24px !important; height:24px !important; display:grid !important; place-items:center !important; border:2px solid #fff !important; border-radius:50% !important; color:#fff !important; background:var(--apd19-heart) !important; font-size:12px !important; }
body.single-listing .apd16-host-identity h3 { margin:0 !important; font-size:25px !important; font-weight:650 !important; }
body.single-listing .apd16-host-identity p { margin:4px 0 0 !important; font-size:12px !important; }
body.single-listing .apd16-host-identity small { display:block !important; margin-top:3px !important; color:var(--apd19-muted) !important; font-size:10px !important; }
body.single-listing .apd16-host-stats { margin:0 !important; }
body.single-listing .apd16-host-stats > div { padding:12px 0 !important; border-top:1px solid #ddd !important; }
body.single-listing .apd16-host-stats > div:first-child { border-top:0 !important; }
body.single-listing .apd16-host-stats dd { margin:0 !important; color:#222 !important; font-size:20px !important; font-weight:650 !important; }
body.single-listing .apd16-host-stats dt { color:#555 !important; font-size:10px !important; line-height:1.15 !important; }
body.single-listing .apd52-host-info h3 { margin:0 0 18px !important; font-size:18px !important; }
body.single-listing .apd52-host-info p { max-width:560px !important; color:#444 !important; font-size:14px !important; line-height:1.45 !important; }
body.single-listing .apd16-reputation-line { display:flex !important; flex-wrap:wrap !important; gap:10px 18px !important; margin:0 0 16px !important; }
body.single-listing .apd16-reputation-line span { font-size:12px !important; }
body.single-listing .apd52-host-actions { margin-top:20px !important; display:flex !important; gap:12px !important; }

body.single-listing .apd52-rules-grid { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:48px !important; }
body.single-listing .apd52-rules-grid article { min-width:0 !important; }
body.single-listing .apd52-rules-grid article > span svg { width:22px !important; height:22px !important; }
body.single-listing .apd52-rules-grid h3 { margin:16px 0 8px !important; font-size:14px !important; }
body.single-listing .apd52-rules-grid p { margin:0 !important; color:#555 !important; font-size:13px !important; line-height:1.45 !important; }

body.single-listing .apd52-similar-section { padding:42px 0 34px !important; }
body.single-listing .apd52-similar-section h2 { margin:0 0 24px !important; font-size:20px !important; }
body.single-listing .apd52-similar-grid {
    display:grid !important;
    grid-template-columns:repeat(6, minmax(0,1fr)) !important;
    gap:16px !important;
    overflow:hidden !important;
}
body.single-listing .apd52-similar-grid .apd5-card,
body.single-listing .apd52-similar-grid article { min-width:0 !important; width:auto !important; }
body.single-listing .apd52-similar-grid img { width:100% !important; aspect-ratio:1.05 / 1 !important; object-fit:cover !important; border-radius:10px !important; }
body.single-listing .apd19-breadcrumbs {
    margin-top:12px !important;
    padding:24px 0 !important;
    border-top:1px solid #ddd !important;
    border-bottom:1px solid #ddd !important;
    background:#f7f7f7 !important;
}
body.single-listing .apd19-breadcrumbs .apd52-shell { display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:8px !important; }
body.single-listing .apd19-breadcrumbs a,
body.single-listing .apd19-breadcrumbs span { color:#555 !important; font-size:12px !important; text-decoration:none !important; }
body.single-listing .apd19-breadcrumbs a:hover { text-decoration:underline !important; }

body.single-listing .apd13-mobile-booking-bar { display:none !important; }

/* ------------------------------------------------------------------
   Modales por encima de la navegación
   ------------------------------------------------------------------ */
body.single-listing .apd16-gallery-modal,
body.single-listing .apd16-share-modal,
body.single-listing .apd52-info-modal,
body.single-listing #modal-contact-host,
body.single-listing #apd5-auth-modal { z-index:20000 !important; }
body.single-listing .apd5-modal-backdrop { z-index:19900 !important; }

/* ------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------ */
@media (max-width: 1180px) {
    :root { --apd19-shell: 1040px; }
    body.single-listing .apd52-content-grid { grid-template-columns:minmax(0,620px) 340px !important; gap:48px !important; }
    body.single-listing .apd52-booking-column { width:340px !important; }
    body.single-listing .apd52-gallery { height:420px !important; min-height:420px !important; }
    body.single-listing .apd52-host-grid { grid-template-columns:360px minmax(0,1fr) !important; gap:42px !important; }
}

@media (max-width: 991px) {
    html { scroll-padding-top:72px !important; }
    body.single-listing { padding-bottom:86px !important; }
    body.single-listing .apd5-header.is-detail-context {
        position:sticky !important;
        top:0 !important;
        height:64px !important;
        min-height:64px !important;
        z-index:9000 !important;
    }
    body.single-listing .apd5-header.is-detail-context .apd5-header-row {
        width:100% !important;
        height:64px !important;
        min-height:64px !important;
        padding:0 16px !important;
        display:grid !important;
        grid-template-columns:1fr auto !important;
    }
    body.single-listing .apd5-header.is-detail-context .apd5-logo { width:96px !important; height:42px !important; }
    body.single-listing .apd5-header.is-detail-context .apd5-logo img { width:96px !important; height:40px !important; }
    body.single-listing .apd5-header.is-detail-context .apd19-detail-header-search,
    body.single-listing .apd5-header.is-detail-context .apd5-host-trigger,
    body.single-listing .apd5-header.is-detail-context .apd5-language-button { display:none !important; }
    body.single-listing .apd5-header.is-detail-context .apd5-header-actions { grid-column:2 !important; }
    body.single-listing .apd52-shell,
    body.single-listing .apd17-wide-sections { width:min(calc(100% - 32px), 760px) !important; }
    body.single-listing .apd52-listing-head { padding:18px 0 16px !important; }
    body.single-listing .apd52-listing-head h1 { font-size:24px !important; }
    body.single-listing .apd52-head-actions { display:none !important; }
    body.single-listing .apd52-gallery {
        width:100% !important;
        max-width:none !important;
        height:auto !important;
        min-height:0 !important;
        aspect-ratio:16 / 10 !important;
        display:block !important;
        border-radius:0 !important;
    }
    body.single-listing .apd52-gallery-item { display:none !important; }
    body.single-listing .apd52-gallery-item-1 { width:100% !important; height:100% !important; display:block !important; }
    body.single-listing .apd52-show-all-photos { right:14px !important; bottom:14px !important; }
    body.single-listing .apd17-mobile-gallery-actions { position:absolute !important; left:14px !important; right:14px !important; top:14px !important; z-index:10 !important; display:flex !important; align-items:center !important; gap:10px !important; }
    body.single-listing .apd17-mobile-action-spacer { flex:1 !important; }
    body.single-listing .apd17-mobile-action { width:38px !important; height:38px !important; padding:0 !important; display:grid !important; place-items:center !important; border:0 !important; border-radius:50% !important; color:#222 !important; background:#fff !important; box-shadow:0 2px 8px rgba(0,0,0,.16) !important; }
    body.single-listing .apd17-mobile-action svg { width:19px !important; height:19px !important; }
    body.single-listing .apd52-detail-nav { display:none !important; }
    body.single-listing .apd52-content-grid { width:min(calc(100% - 32px),760px) !important; display:block !important; }
    body.single-listing .apd52-booking-column { display:none !important; }
    body.single-listing .apd13-guest-favorite { grid-template-columns:minmax(0,1fr) auto auto !important; gap:12px !important; padding:16px !important; }
    body.single-listing .apd13-favorite-copy span { display:none !important; }
    body.single-listing .apd13-favorite-copy { display:flex !important; }
    body.single-listing .apd13-favorite-copy::before { font-size:26px !important; }
    body.single-listing .apd52-amenity-grid { gap:18px 24px !important; }
    body.single-listing .apd52-native-calendar .apd18-calendar-month-grid,
    body.single-listing .apd52-native-calendar .apd19-calendar-month-grid { grid-template-columns:1fr !important; gap:0 !important; }
    body.single-listing .apd52-review-grid { gap:30px !important; }
    body.single-listing .apd52-rating-overview { grid-template-columns:repeat(3,1fr) !important; row-gap:24px !important; }
    body.single-listing .apd52-rating-overview > div:nth-child(4) { border-left:0 !important; }
    body.single-listing .apd52-host-grid { grid-template-columns:330px minmax(0,1fr) !important; gap:32px !important; }
    body.single-listing .apd52-rules-grid { gap:28px !important; }
    body.single-listing .apd52-similar-grid { grid-template-columns:repeat(3, minmax(0,1fr)) !important; }
    body.single-listing .apd13-mobile-booking-bar {
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        z-index:9500 !important;
        min-height:78px !important;
        padding:12px 18px calc(12px + env(safe-area-inset-bottom)) !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:16px !important;
        border-top:1px solid #ddd !important;
        background:#fff !important;
        box-shadow:0 -5px 18px rgba(0,0,0,.08) !important;
    }
    body.single-listing .apd13-mobile-booking-bar > div { display:grid !important; grid-template-columns:auto 1fr !important; column-gap:4px !important; align-items:baseline !important; }
    body.single-listing .apd13-mobile-booking-bar strong { font-size:15px !important; text-decoration:underline !important; }
    body.single-listing .apd13-mobile-booking-bar span { font-size:11px !important; }
    body.single-listing .apd13-mobile-booking-bar small { grid-column:1 / -1 !important; display:flex !important; align-items:center !important; gap:4px !important; font-size:10px !important; }
    body.single-listing .apd13-mobile-booking-bar .apd52-btn { min-width:126px !important; }
}

@media (max-width: 680px) {
    body.single-listing .apd52-shell,
    body.single-listing .apd17-wide-sections,
    body.single-listing .apd52-content-grid { width:calc(100% - 32px) !important; }
    body.single-listing .apd52-listing-head { grid-template-columns:1fr !important; }
    body.single-listing .apd52-head-meta { font-size:12px !important; }
    body.single-listing .apd52-gallery { width:calc(100% + 32px) !important; margin-left:-16px !important; }
    body.single-listing .apd52-section { padding:32px 0 !important; }
    body.single-listing .apd52-section h2 { font-size:20px !important; }
    body.single-listing .apd52-summary-copy h2 { font-size:20px !important; }
    body.single-listing .apd13-guest-favorite { grid-template-columns:minmax(0,1fr) auto !important; }
    body.single-listing .apd13-favorite-count:nth-of-type(2) { display:none !important; }
    body.single-listing .apd52-amenity-grid { grid-template-columns:1fr !important; gap:18px !important; }
    body.single-listing .apd13-calendar-heading { display:block !important; }
    body.single-listing .apd13-calendar-clear { margin-top:16px !important; }
    body.single-listing .single-listing-calendar-wrap ul.days li { height:40px !important; min-height:40px !important; }
    body.single-listing .single-listing-calendar-wrap ul.days li .day-number { width:38px !important; height:38px !important; }
    body.single-listing .apd19-review-hero { min-height:210px !important; gap:10px !important; }
    body.single-listing .apd19-review-hero strong { font-size:48px !important; }
    body.single-listing .apd19-review-laurel { font-size:46px !important; }
    body.single-listing .apd52-rating-overview { display:flex !important; overflow-x:auto !important; scroll-snap-type:x mandatory !important; }
    body.single-listing .apd52-rating-overview > div { min-width:130px !important; scroll-snap-align:start !important; }
    body.single-listing .apd52-review-grid { grid-template-columns:1fr !important; }
    body.single-listing .apd52-map-section .map-wrap,
    body.single-listing .apd52-map-section #homey-single-map,
    body.single-listing .apd52-map-section #homey-halfmap,
    body.single-listing .apd52-map-section #homey_listing_map,
    body.single-listing .apd52-map-section .homey_map,
    body.single-listing .apd52-map-section .google-map,
    body.single-listing .apd52-map-section iframe { height:360px !important; min-height:360px !important; }
    body.single-listing .apd52-host-grid { grid-template-columns:1fr !important; }
    body.single-listing .apd52-host-card { width:100% !important; max-width:400px !important; }
    body.single-listing .apd52-rules-grid { grid-template-columns:1fr !important; gap:32px !important; }
    body.single-listing .apd52-similar-grid { display:flex !important; overflow-x:auto !important; gap:14px !important; scroll-snap-type:x mandatory !important; }
    body.single-listing .apd52-similar-grid > * { min-width:220px !important; scroll-snap-align:start !important; }
}
