/* APD 151 — final responsive system: phone, tablet and desktop. */
:root{
  --apd151-edge:32px;
  --apd151-radius:14px;
  --apd151-shadow:0 6px 20px rgba(0,0,0,.12);
}

html{scroll-behavior:smooth}
body.apd141-manual-ui{overflow-x:hidden}
body.apd141-manual-ui .apd5-card-media img{width:100%!important;height:100%!important;object-fit:cover!important}
body.apd141-manual-ui .apd5-card-title-row h3,
body.apd141-manual-ui .apd5-card-title-row h3 a{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body.apd141-manual-ui .apd5-card-location,
body.apd141-manual-ui .apd5-card-price-row{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body.apd141-manual-ui button,
body.apd141-manual-ui a{-webkit-tap-highlight-color:transparent}

/* Desktop — Airbnb density and readable rhythm. */
@media (min-width:1180px){
  body.home.apd141-manual-ui .apd5-main{width:calc(100% - 64px)!important;max-width:1472px!important;margin-inline:auto!important}
  body.home.apd141-manual-ui .apd5-discovery-rail{margin-block:28px 34px!important}
  body.home.apd141-manual-ui .apd5-section-head{margin-bottom:12px!important}
  body.home.apd141-manual-ui .apd5-section-head h2{font-size:18px!important;line-height:24px!important;letter-spacing:-.25px!important}
  body.home.apd141-manual-ui .apd5-card-media{aspect-ratio:1/1!important;height:auto!important;border-radius:var(--apd151-radius)!important}
  body.home.apd141-manual-ui .apd5-card-body{padding-top:8px!important}
  body.home.apd141-manual-ui .apd5-card-title-row h3,
  body.home.apd141-manual-ui .apd5-card-title-row h3 a{font-size:14px!important;line-height:18px!important}
  body.home.apd141-manual-ui .apd5-card-location,
  body.home.apd141-manual-ui .apd5-card-price,
  body.home.apd141-manual-ui .apd5-card-rating{font-size:12px!important;line-height:17px!important}
}

/* Tablet landscape/portrait — four balanced cards, centered modals. */
@media (min-width:768px) and (max-width:1179px){
  :root{--apd151-edge:24px}
  body.apd141-manual-ui #apd5-header{position:sticky!important;top:0!important;z-index:1200!important;background:rgba(255,255,255,.98)!important;box-shadow:0 1px 0 rgba(0,0,0,.08)!important}
  body.apd141-manual-ui .apd5-header-row{padding-inline:var(--apd151-edge)!important}
  body.apd141-manual-ui .apd5-main{width:100%!important;max-width:none!important;padding-inline:var(--apd151-edge)!important;margin-inline:auto!important}
  body.apd141-manual-ui .apd5-discovery-rail{margin-block:26px 32px!important}
  body.apd141-manual-ui .apd5-section-head{margin-bottom:12px!important}
  body.apd141-manual-ui .apd5-section-head h2{font-size:20px!important;line-height:26px!important}
  body.apd141-manual-ui .apd5-card-rail,
  body.apd141-manual-ui .apd130-recent-rail{grid-auto-columns:calc((100% - 36px)/4)!important;gap:12px!important;scroll-padding-inline:var(--apd151-edge)!important}
  body.apd141-manual-ui .apd5-card-media{aspect-ratio:1/1!important;height:auto!important;border-radius:14px!important}
  body.apd141-manual-ui .apd5-card-title-row h3,
  body.apd141-manual-ui .apd5-card-title-row h3 a{font-size:14px!important;line-height:19px!important}
  body.apd141-manual-ui .apd5-card-location,
  body.apd141-manual-ui .apd5-card-price,
  body.apd141-manual-ui .apd5-card-rating{font-size:12px!important;line-height:17px!important}
  body.apd141-manual-ui .apd5-search-panel{position:fixed!important;left:50%!important;right:auto!important;top:138px!important;transform:translateX(-50%)!important;max-width:calc(100vw - 48px)!important;max-height:calc(100dvh - 166px)!important;overflow:auto!important;border-radius:24px!important;box-shadow:0 14px 40px rgba(0,0,0,.18)!important}
  body.apd141-manual-ui .apd5-date-panel{width:min(850px,calc(100vw - 48px))!important}
  body.apd141-manual-ui .apd5-location-panel,
  body.apd141-manual-ui .apd5-guests-panel{width:min(430px,calc(100vw - 48px))!important}
  body.apd141-manual-ui .apd5-footer{padding-inline:var(--apd151-edge)!important}
  body.apd141-manual-ui .apd5-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:34px!important}

  body.apd145-listing-final .apd52-shell{width:calc(100% - 48px)!important;max-width:none!important}
  body.apd145-listing-final .apd52-content-grid{grid-template-columns:minmax(0,1fr) 330px!important;gap:32px!important}
  body.apd145-listing-final .apd52-gallery{height:420px!important}
}

/* Phone — native Airbnb-like rails, sheets and safe-area navigation. */
@media (max-width:767px){
  :root{--apd151-edge:16px;--apd151-radius:12px}
  html,body{max-width:100%;overflow-x:hidden}
  body.apd141-manual-ui{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  body.apd141-manual-ui #apd5-header{position:sticky!important;top:0!important;z-index:4000!important;height:76px!important;min-height:76px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 1px 0 rgba(0,0,0,.08)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  body.apd141-manual-ui .apd5-header-row{height:76px!important;min-height:76px!important;padding:10px var(--apd151-edge)!important;display:flex!important;align-items:center!important;gap:10px!important}
  body.apd141-manual-ui .apd5-logo{width:34px!important;min-width:34px!important;overflow:hidden!important}
  body.apd141-manual-ui .apd5-logo img{width:auto!important;max-width:none!important;height:30px!important}
  body.apd141-manual-ui .apd5-header-actions{margin-left:auto!important;gap:8px!important}
  body.apd141-manual-ui .apd5-host-link{display:none!important}
  body.apd141-manual-ui .apd10-mobile-search-trigger{display:flex!important;flex:1!important;min-width:0!important;height:54px!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;padding:0 16px!important;border:1px solid #ddd!important;border-radius:999px!important;background:#fff!important;box-shadow:0 3px 10px rgba(0,0,0,.12)!important}
  body.apd141-manual-ui .apd10-mobile-search-trigger strong{font-size:14px!important;line-height:18px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  body.apd141-manual-ui .apd5-header-search-row,
  body.apd141-manual-ui #apd5-search{display:none!important}

  body.apd141-manual-ui .apd5-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body.apd141-manual-ui .apd130-continuity,
  body.apd141-manual-ui .apd130-trip-strip,
  body.apd141-manual-ui .apd130-recent-wrap{margin-inline:var(--apd151-edge)!important}
  body.apd141-manual-ui .apd5-discovery-rail{width:100%!important;margin:26px 0 32px!important;padding-left:var(--apd151-edge)!important}
  body.apd141-manual-ui .apd5-section-head{padding-right:var(--apd151-edge)!important;margin-bottom:12px!important;align-items:center!important}
  body.apd141-manual-ui .apd5-section-head h2{font-size:20px!important;line-height:25px!important;letter-spacing:-.35px!important}
  body.apd141-manual-ui .apd5-rail-controls{display:none!important}
  body.apd141-manual-ui .apd5-card-rail,
  body.apd141-manual-ui .apd130-recent-rail{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:78%!important;gap:12px!important;width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;scroll-snap-type:x mandatory!important;scroll-padding-left:var(--apd151-edge)!important;padding:0 var(--apd151-edge) 6px 0!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
  body.apd141-manual-ui .apd5-card-rail::-webkit-scrollbar,
  body.apd141-manual-ui .apd130-recent-rail::-webkit-scrollbar{display:none!important}
  body.apd141-manual-ui .apd5-card{scroll-snap-align:start!important;width:100%!important;min-width:0!important}
  body.apd141-manual-ui .apd5-card-media{width:100%!important;height:auto!important;aspect-ratio:1.08/1!important;border-radius:var(--apd151-radius)!important;overflow:hidden!important}
  body.apd141-manual-ui .apd5-card-body{padding:9px 2px 0!important}
  body.apd141-manual-ui .apd5-card-title-row h3,
  body.apd141-manual-ui .apd5-card-title-row h3 a{font-size:15px!important;line-height:20px!important}
  body.apd141-manual-ui .apd5-card-location,
  body.apd141-manual-ui .apd5-card-price,
  body.apd141-manual-ui .apd5-card-price small,
  body.apd141-manual-ui .apd5-card-rating{font-size:13px!important;line-height:18px!important}
  body.apd141-manual-ui .apd5-favorite,
  body.apd141-manual-ui button[aria-label="Guardar"]{width:36px!important;height:36px!important;top:10px!important;right:10px!important}

  body.apd141-manual-ui .apd5-search-backdrop:not([hidden]){position:fixed!important;inset:0!important;z-index:4990!important;background:rgba(0,0,0,.34)!important;display:block!important}
  body.apd141-manual-ui .apd5-search-panel{position:fixed!important;z-index:5100!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;max-width:none!important;max-height:88dvh!important;margin:0!important;padding:22px var(--apd151-edge) calc(24px + env(safe-area-inset-bottom))!important;overflow:auto!important;border:0!important;border-radius:24px 24px 0 0!important;background:#fff!important;box-shadow:0 -12px 36px rgba(0,0,0,.18)!important;transform:none!important}
  body.apd141-manual-ui .apd5-date-panel{height:min(88dvh,720px)!important}
  body.apd141-manual-ui .apd5-calendar-grid{grid-template-columns:1fr!important;gap:0!important}
  body.apd141-manual-ui .apd5-calendar-month:nth-child(n+2){display:none!important}
  body.apd141-manual-ui .apd5-guest-row{min-height:74px!important;padding:14px 0!important}
  body.apd141-manual-ui .apd5-counter button{width:34px!important;height:34px!important}

  body.apd141-manual-ui .apd5-footer{margin-top:36px!important;margin-bottom:0!important;padding:0 var(--apd151-edge) calc(28px + env(safe-area-inset-bottom))!important}
  body.apd141-manual-ui .apd5-footer-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important}
  body.apd141-manual-ui .apd5-footer-grid>div{padding:22px 0!important;border-bottom:1px solid #ddd!important}
  body.apd141-manual-ui .apd24-footer-bottom{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:16px!important;margin-top:20px!important;padding-top:0!important;border:0!important;font-size:12px!important}
  body.apd141-manual-ui .apd24-footer-legal{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
  body.apd141-manual-ui .apd24-footer-controls{display:flex!important;flex-wrap:wrap!important;gap:12px!important}
  body.apd141-manual-ui .apd10-mobile-nav{z-index:4800!important;min-height:76px!important;padding-bottom:max(7px,env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.98)!important;box-shadow:0 -1px 0 rgba(0,0,0,.08)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}

  body.apd145-listing-final .apd52-shell{width:100%!important;max-width:none!important;padding-left:var(--apd151-edge)!important;padding-right:var(--apd151-edge)!important}
  body.apd145-listing-final .apd52-content-grid{display:flex!important;flex-direction:column!important;gap:24px!important}
  body.apd145-listing-final .apd52-gallery{height:auto!important;aspect-ratio:1.08/1!important;border-radius:0!important;margin-inline:calc(var(--apd151-edge) * -1)!important;width:calc(100% + (var(--apd151-edge) * 2))!important}
  body.apd145-listing-final .apd52-gallery .apd52-gallery-item:not(:first-child){display:none!important}
  body.apd145-listing-final .apd52-booking-column{position:static!important;width:100%!important;order:2!important}
  body.apd145-listing-final .apd52-booking-card{position:static!important;width:100%!important;border-radius:16px!important;box-shadow:0 6px 20px rgba(0,0,0,.12)!important}
  body.apd145-listing-final h1{font-size:26px!important;line-height:32px!important;letter-spacing:-.5px!important}
}

@media (max-width:380px){
  body.apd141-manual-ui .apd5-section-head h2{font-size:18px!important}
  body.apd141-manual-ui .apd5-card-rail,
  body.apd141-manual-ui .apd130-recent-rail{grid-auto-columns:84%!important}
  body.apd141-manual-ui .apd10-mobile-search-trigger{padding-inline:13px!important}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
}
