/* APD 378 lean discovery bundle: HOME/CATALOG ONLY. Mobile search is modular and excluded. */

/* ===== apd-mobile-home-v182-hard.css ===== */
/* =====================================================================
   APD 182.0.0 — HARD MOBILE HOME PARITY
   Loaded directly by header-apd-discovery.php and duplicated at the end of
   apd-marketplace.css so it does not depend on optional mobile modules.
   ===================================================================== */
@media (max-width: 767px) {
  /* Discovery header: search first, categories second. */
  #apd5-header.apd5-header.is-discovery-context,
  #apd5-header.apd5-header.is-discovery-context.is-compact,
  #apd5-header.apd5-header.is-discovery-context.is-search-expanded {
    position: sticky !important;
    top: 0 !important;
    z-index: 9800 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid #ededed !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    backdrop-filter: saturate(180%) blur(18px) !important;
    -webkit-backdrop-filter: saturate(180%) blur(18px) !important;
  }

  #apd5-header.is-discovery-context > .apd5-header-search-row {
    order: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 18px 20px 11px !important;
    display: block !important;
    position: relative !important;
    inset: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    background: #fff !important;
  }

  #apd5-header.is-discovery-context > .apd5-header-row {
    order: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 0 14px !important;
    display: block !important;
    position: relative !important;
    inset: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: #fff !important;
  }

  /* Remove the old APD logo + hamburger row on discovery pages only. */
  #apd5-header.is-discovery-context .apd5-logo,
  #apd5-header.is-discovery-context .apd5-header-actions,
  #apd5-header.is-discovery-context .apd25-account-cluster,
  #apd5-header.is-discovery-context .apd5-account-button {
    display: none !important;
  }

  #apd5-header.is-discovery-context #apd5-search {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    position: relative !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  #apd5-header.is-discovery-context #apd5-search > .apd5-search-field,
  #apd5-header.is-discovery-context #apd5-search > .apd5-search-separator,
  #apd5-header.is-discovery-context #apd5-search > i,
  #apd5-header.is-discovery-context #apd5-search > .apd5-search-submit,
  #apd5-header.is-discovery-context #apd5-search > .apd5-search-panel {
    display: none !important;
  }

  #apd5-header.is-discovery-context #apd5-search .apd10-mobile-search-trigger {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 58px !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    position: relative !important;
    inset: auto !important;
    border: 1px solid #dddddd !important;
    border-radius: 999px !important;
    color: #222 !important;
    background: #fff !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.10) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    overflow: hidden !important;
  }

  #apd5-header.is-discovery-context #apd5-search .apd10-mobile-search-trigger .apd5-icon,
  #apd5-header.is-discovery-context #apd5-search .apd10-mobile-search-trigger svg {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #222 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    stroke: currentColor !important;
  }

  #apd5-header.is-discovery-context #apd5-search .apd10-mobile-search-trigger strong {
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #222 !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: -.2px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Horizontal category chips. */
  #apd5-header.is-discovery-context .apd5-main-nav,
  body.apd15-scroll-down #apd5-header.is-discovery-context .apd5-main-nav {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 50px !important;
    max-height: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 2px 16px 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    border: 0 !important;
    background: #fff !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
  }
  #apd5-header.is-discovery-context .apd5-main-nav::-webkit-scrollbar { display: none !important; }

  #apd5-header.is-discovery-context .apd5-main-nav > a {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: 1px solid #dedede !important;
    border-radius: 999px !important;
    color: #222 !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 3px 8px rgba(0,0,0,.10) !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    scroll-snap-align: start !important;
  }
  #apd5-header.is-discovery-context .apd5-main-nav > a::after { display: none !important; }
  #apd5-header.is-discovery-context .apd5-main-nav > a > span {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  #apd5-header.is-discovery-context .apd5-main-nav > a > span svg,
  #apd5-header.is-discovery-context .apd5-main-nav > a > span img,
  #apd5-header.is-discovery-context .apd5-main-nav > a > span .apd5-icon {
    width: 22px !important;
    height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
  }
  #apd5-header.is-discovery-context .apd5-main-nav > a strong {
    display: block !important;
    margin: 0 !important;
    color: #222 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 550 !important;
    letter-spacing: -.15px !important;
    white-space: nowrap !important;
  }
  #apd5-header.is-discovery-context .apd5-main-nav > a.is-active,
  #apd5-header.is-discovery-context .apd5-main-nav > a[aria-current="page"] {
    border-color: #d5d5d5 !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 4px 10px rgba(0,0,0,.10), inset 0 2px 5px rgba(0,0,0,.10) !important;
  }
  #apd5-header.is-discovery-context .apd5-main-nav > a.is-active strong,
  #apd5-header.is-discovery-context .apd5-main-nav > a[aria-current="page"] strong { font-weight: 600 !important; }

  /* Do not let older scroll code collapse the top shell. */
  body.apd15-scroll-down #apd5-header.is-discovery-context,
  body.apd15-scroll-down #apd5-header.is-discovery-context > .apd5-header-row,
  body.apd15-scroll-down #apd5-header.is-discovery-context > .apd5-header-search-row,
  body.apd15-scroll-down #apd5-header.is-discovery-context .apd10-mobile-search-trigger {
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }
  body.apd15-scroll-down #apd5-header.is-discovery-context .apd10-mobile-search-trigger {
    min-height: 58px !important;
    height: 58px !important;
  }

  /* Main homepage/card geometry: two cards visible, like the reference. */
  body.home .apd5-main,
  body.home .apd5-main.apd5-catalog-main,
  body.home .apd40-home {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 20px 0 30px !important;
  }
  body.home .apd5-rail {
    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
  }
  body.home .apd5-section-head {
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }
  body.home .apd5-section-head h2,
  body.home .apd5-section-head h1 {
    margin: 0 !important;
    color: #222 !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
    font-weight: 650 !important;
    letter-spacing: -.65px !important;
  }
  body.home .apd5-section-head h2 a,
  body.home .apd5-section-head h1 a { color: inherit !important; text-decoration: none !important; }
  body.home .apd5-section-head h2 span {
    width: 38px !important;
    height: 38px !important;
    margin-left: 6px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #f4f4f4 !important;
    font-size: 20px !important;
  }
  body.home .apd5-rail-controls { display: none !important; }
  body.home .apd5-card-rail {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 16px 4px !important;
    display: flex !important;
    grid-auto-columns: unset !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 16px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
  }
  body.home .apd5-card-rail::-webkit-scrollbar { display: none !important; }
  body.home .apd5-card-rail > .apd5-card,
  body.home .apd5-card-rail .apd5-card {
    flex: 0 0 clamp(138px, calc((100vw - 48px) / 2.12), 332px) !important;
    width: clamp(138px, calc((100vw - 48px) / 2.12), 332px) !important;
    min-width: clamp(138px, calc((100vw - 48px) / 2.12), 332px) !important;
    max-width: clamp(138px, calc((100vw - 48px) / 2.12), 332px) !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start !important;
  }
  body.home .apd5-card-media {
    width: 100% !important;
    aspect-ratio: 1.05 / 1 !important;
    min-height: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #ededed !important;
  }
  body.home .apd5-card-media img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }
  body.home .apd5-card-body { padding: 8px 0 0 !important; }
  body.home .apd5-card-title-row h3 {
    min-height: 0 !important;
    margin: 0 !important;
    color: #222 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: -.1px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    white-space: normal !important;
  }
  body.home .apd5-card-location {
    display: none !important;
  }
  body.home .apd5-card-price-row {
    margin-top: 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    min-width: 0 !important;
    color: #666 !important;
  }
  body.home .apd5-card-price,
  body.home .apd5-card-rating {
    color: #666 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
  }
  body.home .apd5-card-price small { font-size: inherit !important; font-weight: inherit !important; }
  body.home .apd5-card-badge {
    top: 10px !important;
    left: 10px !important;
    max-width: calc(100% - 52px) !important;
    min-height: 0 !important;
    padding: 6px 9px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.94) !important;
    color: #222 !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
  }
  body.home .apd5-favorite {
    top: 8px !important;
    right: 7px !important;
    width: 34px !important;
    height: 34px !important;
    padding: 5px !important;
    background: transparent !important;
    border: 0 !important;
  }
  body.home .apd5-favorite .apd5-icon,
  body.home .apd5-favorite svg {
    width: 26px !important;
    height: 26px !important;
    color: #fff !important;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.5)) !important;
  }

  /* Service category strip added to the homepage. */
  .apd182-service-strip {
    width: 100% !important;
    margin: 0 0 30px !important;
    padding: 0 !important;
  }
  .apd182-service-strip > h2 {
    margin: 0 0 14px !important;
    padding: 0 20px !important;
    color: #222 !important;
    font-size: 23px !important;
    line-height: 1.1 !important;
    font-weight: 650 !important;
    letter-spacing: -.55px !important;
  }
  .apd182-service-strip-track {
    width: 100vw !important;
    padding: 0 20px 3px !important;
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .apd182-service-strip-track::-webkit-scrollbar { display:none !important; }
  .apd182-service-tile {
    flex: 0 0 118px !important;
    width: 118px !important;
    color: #222 !important;
    text-decoration: none !important;
  }
  .apd182-service-tile img {
    width: 118px !important;
    height: 118px !important;
    display: block !important;
    border-radius: 16px !important;
    object-fit: cover !important;
    background: #f5f5f5 !important;
  }
  .apd182-service-tile strong {
    display: block !important;
    margin-top: 8px !important;
    color: #222 !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 550 !important;
    white-space: nowrap !important;
  }

  /* Bottom nav behaves like the reference: visible at rest/up, hides down. */
  .apd10-mobile-nav {
    grid-template-columns: repeat(5, minmax(0,1fr)) !important;
    transition: transform .24s ease, opacity .18s ease !important;
    will-change: transform, opacity !important;
  }
  .apd10-mobile-nav > a,
  .apd10-mobile-nav > button {
    min-width: 0 !important;
    width: auto !important;
  }
  body.apd182-bottom-nav-hidden:not(.apd5-search-open):not(.apd5-modal-open):not(.apd15-favorites-open) .apd10-mobile-nav {
    transform: translateY(calc(100% + env(safe-area-inset-bottom, 0px))) !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .apd10-mobile-nav .is-active,
  .apd10-mobile-nav a[aria-current="page"] {
    color: #e21c5d !important;
  }
}



/* ===== apd-mobile-catalog-parity-v188.css ===== */
/* =====================================================================
   APD 188.0.0 — MOBILE DISCOVERY CATALOG PARITY
   Final mobile override for /alojamientos/, /experiencias/ and /servicios/.
   Goal: large horizontal cards (about 2 visible), readable metadata and
   Airbnb-like service category tiles. Loaded inline after all legacy layers.
   ===================================================================== */
@media (max-width: 767px) {
  html body .apd23-discovery-page,
  html body.apd-marketplace-ui .apd23-discovery-page,
  html body.apd141-manual-ui .apd23-discovery-page,
  html body.apd155-visual-master .apd23-discovery-page {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 28px 0 calc(106px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: clip !important;
  }

  html body .apd23-discovery-page > .apd130-compact-wrap,
  html body .apd23-discovery-page > .apd130-recent {
    margin-left: 20px !important;
    margin-right: 20px !important;
    max-width: calc(100% - 40px) !important;
  }

  html body .apd23-discovery-page .apd23-rail,
  html body.apd-marketplace-ui .apd23-discovery-page .apd23-rail,
  html body.apd141-manual-ui .apd23-discovery-page .apd23-rail {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 34px !important;
    padding: 0 !important;
  }

  html body .apd23-discovery-page .apd5-section-head,
  html body.apd-marketplace-ui .apd23-discovery-page .apd5-section-head {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  html body .apd23-discovery-page .apd5-section-head > div:first-child {
    width: 100% !important;
    min-width: 0 !important;
  }

  html body .apd23-discovery-page .apd5-section-head h1,
  html body .apd23-discovery-page .apd5-section-head h2,
  html body .apd23-discovery-page .apd5-section-head h2 a,
  html body.apd-marketplace-ui .apd23-discovery-page .apd5-section-head h1,
  html body.apd-marketplace-ui .apd23-discovery-page .apd5-section-head h2,
  html body.apd-marketplace-ui .apd23-discovery-page .apd5-section-head h2 a {
    width: 100% !important;
    margin: 0 !important;
    color: #222 !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
    font-weight: 650 !important;
    letter-spacing: -.62px !important;
    text-decoration: none !important;
  }

  html body .apd23-discovery-page .apd5-section-head h2 a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  html body .apd23-discovery-page .apd5-section-head h2 a > span {
    flex: 0 0 38px !important;
    width: 36px !important;
    height: 36px !important;
    margin: -1px 0 0 !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #f5f5f5 !important;
    color: #222 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
  }

  html body .apd23-discovery-page .apd5-section-head p {
    margin: 6px 0 0 !important;
    color: #717171 !important;
    font-size: 15px !important;
    line-height: 1.32 !important;
    font-weight: 400 !important;
  }

  html body .apd23-discovery-page .apd5-rail-controls {
    display: none !important;
  }

  /* The key fix: legacy APD 141 forced seven grid columns on mobile. */
  html body .apd23-discovery-page .apd5-card-rail,
  html body.apd-marketplace-ui .apd23-discovery-page .apd5-card-rail,
  html body.apd141-manual-ui .apd23-discovery-page .apd5-card-rail,
  html body.apd155-visual-master .apd23-discovery-page .apd5-card-rail {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 16px 4px !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    grid-template-columns: none !important;
    grid-auto-flow: unset !important;
    grid-auto-columns: unset !important;
    gap: 8px !important;
    align-items: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 16px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
  }
  html body .apd23-discovery-page .apd5-card-rail::-webkit-scrollbar { display: none !important; }

  html body .apd23-discovery-page .apd5-card-rail > .apd5-card,
  html body .apd23-discovery-page .apd5-card-rail .apd5-card,
  html body.apd141-manual-ui .apd23-discovery-page .apd5-card-rail .apd5-card {
    flex: 0 0 clamp(138px, calc((100vw - 48px) / 2.12), 332px) !important;
    width: clamp(138px, calc((100vw - 48px) / 2.12), 332px) !important;
    min-width: clamp(138px, calc((100vw - 48px) / 2.12), 332px) !important;
    max-width: clamp(138px, calc((100vw - 48px) / 2.12), 332px) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    scroll-snap-align: start !important;
  }

  html body .apd23-discovery-page .apd5-card-media,
  html body.apd-marketplace-ui .apd23-discovery-page .apd5-card-media {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f1f1f1 !important;
  }

  html body .apd23-discovery-page .apd5-card-media > a,
  html body .apd23-discovery-page .apd5-card-media > a > picture {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
  }

  html body .apd23-discovery-page .apd5-card-media img {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }

  html body .apd23-discovery-page .apd5-card-body {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    box-sizing: border-box !important;
  }

  html body .apd23-discovery-page .apd5-card-title-row,
  html body .apd23-discovery-page .apd5-card-title-row h3 {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  html body .apd23-discovery-page .apd5-card-title-row h3,
  html body.apd141-manual-ui .apd23-experiences-page .apd5-card-title-row h3,
  html body.apd141-manual-ui .apd23-services-page .apd5-card-title-row h3 {
    max-height: 2.42em !important;
    color: #222 !important;
    font-size: 14px !important;
    line-height: 1.21 !important;
    font-weight: 600 !important;
    letter-spacing: -.12px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    white-space: normal !important;
    text-overflow: ellipsis !important;
  }

  html body .apd23-discovery-page .apd5-card-location {
    min-height: 0 !important;
    margin: 3px 0 0 !important;
    color: #717171 !important;
    font-size: 12px !important;
    line-height: 1.22 !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  html body .apd23-stays-page .apd5-card-location { display: none !important; }

  html body .apd23-discovery-page .apd5-card-price-row {
    min-width: 0 !important;
    margin: 4px 0 0 !important;
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 3px 5px !important;
    color: #717171 !important;
  }

  html body .apd23-discovery-page .apd5-card-price,
  html body .apd23-discovery-page .apd5-card-price small,
  html body .apd23-discovery-page .apd5-card-rating {
    color: #717171 !important;
    font-size: 12.5px !important;
    line-height: 1.24 !important;
    font-weight: 400 !important;
  }
  html body .apd23-discovery-page .apd5-card-price { white-space: normal !important; }
  html body .apd23-discovery-page .apd5-card-rating { white-space: nowrap !important; }

  html body .apd23-discovery-page .apd5-card-badge {
    top: 10px !important;
    left: 10px !important;
    max-width: calc(100% - 52px) !important;
    min-height: 0 !important;
    padding: 6px 9px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.95) !important;
    color: #222 !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
  }

  html body .apd23-discovery-page .apd5-favorite {
    top: 8px !important;
    right: 7px !important;
    width: 34px !important;
    height: 34px !important;
    padding: 4px !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  html body .apd23-discovery-page .apd5-favorite svg,
  html body .apd23-discovery-page .apd5-favorite .apd5-icon {
    width: 27px !important;
    height: 27px !important;
    color: #fff !important;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.55)) !important;
  }

  /* Experiences title between collections. */
  html body .apd23-discovery-page .apd23-collection-title {
    width: 100% !important;
    max-width: none !important;
    margin: 7px 0 22px !important;
    padding: 0 20px !important;
    color: #222 !important;
    font-size: 30px !important;
    line-height: 1.05 !important;
    font-weight: 650 !important;
    letter-spacing: -.8px !important;
  }

  /* Service category cards: real large visual tiles, not seven tiny pills. */
  html body .apd23-services-page .apd23-service-directory {
    width: 100% !important;
    margin: 0 0 34px !important;
    padding: 0 !important;
  }

  html body .apd23-services-page .apd23-service-category-rail,
  html body.apd141-manual-ui .apd23-services-page .apd23-service-category-rail {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 16px 4px !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    grid-template-columns: none !important;
    grid-auto-flow: unset !important;
    grid-auto-columns: unset !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  html body .apd23-services-page .apd23-service-category-rail::-webkit-scrollbar { display: none !important; }

  html body .apd23-services-page .apd23-service-category-rail > a,
  html body.apd141-manual-ui .apd23-services-page .apd23-service-category-rail > a {
    flex: 0 0 118px !important;
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    color: #222 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    scroll-snap-align: start !important;
  }

  html body .apd23-services-page .apd188-service-category-media,
  html body .apd23-services-page .apd23-service-category-rail > a > span {
    width: 118px !important;
    height: 118px !important;
    min-width: 118px !important;
    min-height: 118px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    background: #f7f7f7 !important;
    font-size: 44px !important;
    line-height: 1 !important;
  }

  html body .apd23-services-page .apd188-service-category-media img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  html body .apd23-services-page .apd23-service-category-rail > a > strong {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    color: #222 !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 550 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Filtered results keep a usable 2-column catalog on phones. */
  html body .apd23-discovery-page .apd31-catalog-grid,
  html body.apd141-manual-ui .apd23-discovery-page .apd31-catalog-grid {
    width: 100% !important;
    padding: 0 20px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 24px 8px !important;
  }
  html body .apd23-discovery-page .apd31-catalog-grid .apd5-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  /* Footer should begin only after the marketplace rows, with clean separation. */
  html body .apd23-discovery-page + .apd5-footer,
  html body .apd23-discovery-page ~ .apd5-footer {
    margin-top: 4px !important;
  }
}



/* ===== apd-mobile-fidelity-v190.css ===== */
/* =====================================================================
   APD 190.0.0 — MOBILE FIDELITY: NAV PILLS + CARD SPACING
   Final visual override for the public mobile discovery surfaces.
   It intentionally loads inline after APD 182/188 so older mobile rules
   cannot reintroduce oversized gaps or different chip geometry.
   ===================================================================== */
@media (max-width: 767px) {
  /* ---------------------------------------------------------------
     1) Top category buttons — geometry matched to the mobile reference.
     --------------------------------------------------------------- */
  html body #apd5-header.is-discovery-context .apd5-main-nav,
  html body.apd15-scroll-down #apd5-header.is-discovery-context .apd5-main-nav {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 2px 20px 5px !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-inline: 20px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  html body #apd5-header.is-discovery-context .apd5-main-nav::-webkit-scrollbar { display: none !important; }

  html body #apd5-header.is-discovery-context .apd5-main-nav > a {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 17px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: 1px solid #dedede !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #222 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 3px 8px rgba(0,0,0,.09) !important;
    text-decoration: none !important;
    transform: none !important;
    scroll-snap-align: start !important;
  }
  html body #apd5-header.is-discovery-context .apd5-main-nav > a > span {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body #apd5-header.is-discovery-context .apd5-main-nav > a > span :is(svg,img,.apd5-icon),
  html body #apd5-header.is-discovery-context .apd5-main-nav > a > span:is(svg,img,.apd5-icon) {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
  }
  html body #apd5-header.is-discovery-context .apd5-main-nav > a strong {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: -.12px !important;
    white-space: nowrap !important;
  }
  html body #apd5-header.is-discovery-context .apd5-main-nav > a.is-active,
  html body #apd5-header.is-discovery-context .apd5-main-nav > a[aria-current="page"] {
    border-color: #d7d7d7 !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 4px 10px rgba(0,0,0,.10), inset 0 2px 5px rgba(0,0,0,.08) !important;
  }
  html body #apd5-header.is-discovery-context .apd5-main-nav > a.is-active strong,
  html body #apd5-header.is-discovery-context .apd5-main-nav > a[aria-current="page"] strong {
    font-weight: 600 !important;
  }

  /* ---------------------------------------------------------------
     2) HOME rails — force true consecutive cards; no phantom whitespace.
     --------------------------------------------------------------- */
  html body.home.apd-marketplace-ui .apd5-rail,
  html body.home .apd5-rail {
    margin-bottom: 28px !important;
  }
  html body.home.apd-marketplace-ui .apd5-card-rail,
  html body.home .apd5-card-rail {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 20px 4px !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    grid-template-columns: none !important;
    grid-auto-columns: unset !important;
    grid-auto-flow: unset !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 20px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  html body.home .apd5-card-rail::-webkit-scrollbar { display: none !important; }

  html body.home.apd-marketplace-ui .apd5-card-rail > .apd5-card,
  html body.home.apd-marketplace-ui .apd5-card-rail .apd5-card,
  html body.home .apd5-card-rail > .apd5-card,
  html body.home .apd5-card-rail .apd5-card {
    box-sizing: border-box !important;
    flex: 0 0 calc((100vw - 54px) / 2) !important;
    width: calc((100vw - 54px) / 2) !important;
    min-width: calc((100vw - 54px) / 2) !important;
    max-width: calc((100vw - 54px) / 2) !important;
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    align-self: flex-start !important;
    scroll-snap-align: start !important;
  }
  html body.home .apd5-card-rail .apd5-card + .apd5-card {
    margin-left: 0 !important;
  }
  html body.home .apd5-card-media {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1.055 / 1 !important;
    margin: 0 0 8px !important;
    border-radius: 14px !important;
  }
  html body.home .apd5-card-body {
    margin: 0 !important;
    padding: 0 2px !important;
  }
  html body.home .apd5-section-head {
    margin-bottom: 12px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  /* ---------------------------------------------------------------
     3) Alojamientos / Experiencias / Servicios catalog rails.
     Same card width and exact 12px inter-card separation as HOME.
     --------------------------------------------------------------- */
  html body .apd23-discovery-page .apd5-card-rail,
  html body.apd-marketplace-ui .apd23-discovery-page .apd5-card-rail,
  html body.apd141-manual-ui .apd23-discovery-page .apd5-card-rail,
  html body.apd155-visual-master .apd23-discovery-page .apd5-card-rail {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 20px 4px !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    grid-template-columns: none !important;
    grid-auto-columns: unset !important;
    grid-auto-flow: unset !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 20px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  html body .apd23-discovery-page .apd5-card-rail::-webkit-scrollbar { display: none !important; }

  html body .apd23-discovery-page .apd5-card-rail > .apd5-card,
  html body .apd23-discovery-page .apd5-card-rail .apd5-card,
  html body.apd141-manual-ui .apd23-discovery-page .apd5-card-rail .apd5-card {
    box-sizing: border-box !important;
    flex: 0 0 calc((100vw - 54px) / 2) !important;
    width: calc((100vw - 54px) / 2) !important;
    min-width: calc((100vw - 54px) / 2) !important;
    max-width: calc((100vw - 54px) / 2) !important;
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    align-self: flex-start !important;
    scroll-snap-align: start !important;
  }
  html body .apd23-discovery-page .apd5-card-rail .apd5-card + .apd5-card {
    margin-left: 0 !important;
  }
  html body .apd23-discovery-page .apd5-card-media {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1.055 / 1 !important;
    margin: 0 0 8px !important;
    border-radius: 14px !important;
  }
  html body .apd23-discovery-page .apd5-card-body {
    margin: 0 !important;
    padding: 0 2px !important;
  }
  html body .apd23-discovery-page .apd5-section-head {
    padding-left: 22px !important;
    padding-right: 22px !important;
    margin-bottom: 12px !important;
  }

  /* Service category tiles: keep the same tighter rail cadence. */
  html body .apd23-services-page .apd23-service-category-rail {
    padding-left: 20px !important;
    padding-right: 20px !important;
    gap: 10px !important;
    justify-content: flex-start !important;
  }

  /* Small phones: retain two useful cards without squeezing typography. */
  @media (max-width: 390px) {
    html body #apd5-header.is-discovery-context .apd5-main-nav > a {
      height: 43px !important;
      min-height: 43px !important;
      max-height: 43px !important;
      padding-inline: 15px !important;
    }
    html body.home .apd5-card-rail > .apd5-card,
    html body.home .apd5-card-rail .apd5-card,
    html body .apd23-discovery-page .apd5-card-rail > .apd5-card,
    html body .apd23-discovery-page .apd5-card-rail .apd5-card {
      flex-basis: calc((100vw - 52px) / 2) !important;
      width: calc((100vw - 52px) / 2) !important;
      min-width: calc((100vw - 52px) / 2) !important;
      max-width: calc((100vw - 52px) / 2) !important;
    }
  }
}


