/* APD 480 — single guest visual owner. */
@media (max-width:767px){
  :root{--apd480-blue:#2853bf;--apd480-blue-deep:#20469f;--apd480-ink:#222;--apd480-muted:#6a6a6a;--apd480-nav-h:84px;--apd480-nav:calc(var(--apd480-nav-h) + env(safe-area-inset-bottom,0px));--apd480-gate-z:2147483620;--apd480-auth-z:2147483630;--apd480-nav-z:2147483646}

  /* Persistent guest navigation ------------------------------------------------ */
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav{
    position:fixed!important;inset:auto 0 0 0!important;width:100%!important;height:var(--apd480-nav)!important;min-height:var(--apd480-nav-h)!important;
    padding:6px 18px env(safe-area-inset-bottom,0px)!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:stretch!important;justify-items:stretch!important;z-index:var(--apd480-nav-z)!important;opacity:1!important;visibility:visible!important;
    transform:none!important;background:rgba(255,255,255,.985)!important;border-top:1px solid #e8e8e8!important;box-shadow:0 -2px 16px rgba(0,0,0,.035)!important;
    backdrop-filter:saturate(150%) blur(15px);-webkit-backdrop-filter:saturate(150%) blur(15px);
  }
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav>:is(a,button){
    width:100%!important;min-width:0!important;min-height:72px!important;height:72px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;color:#6d6d6d!important;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,Arial,sans-serif!important;text-decoration:none!important;
    transition:color .08s ease,transform .08s ease!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
  }
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav>:is(a,button)::before{background:transparent!important;box-shadow:none!important}
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav>:is(a,button):active{transform:scale(.96)!important;color:var(--apd480-blue)!important}
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav>:is(a,button).is-active,
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav>:is(a,button)[aria-current="page"]{color:var(--apd480-blue)!important}
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav>:is(a,button).is-active span,
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav>:is(a,button)[aria-current="page"] span{color:var(--apd480-blue)!important;font-weight:700!important}
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav .apd5-icon{width:29px!important;height:29px!important;stroke-width:1.7!important}
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav span{font-size:12px!important;line-height:1!important}

  /* Hide page chrome behind guest overlays, never the nav. */
  body.apd17-auth-open #apd5-header,body.apd17-auth-open #apd5-fixed-header,
  body.apd15-favorites-open #apd5-header,body.apd15-favorites-open #apd5-fixed-header{visibility:hidden!important;pointer-events:none!important}
  body.apd17-auth-open #apd5-modal-backdrop{display:none!important}

  /* Authentication page ------------------------------------------------------- */
  html body #apd5-auth-modal.apd5-auth-modal{
    position:fixed!important;inset:0 0 var(--apd480-nav) 0!important;bottom:var(--apd480-nav)!important;width:auto!important;height:auto!important;max-height:none!important;
    margin:0!important;padding:0!important;display:block!important;background:#fff!important;overflow:hidden!important;z-index:var(--apd480-auth-z)!important;
  }
  html body #apd5-auth-modal[hidden]{display:none!important}
  html body #apd5-auth-modal .apd5-auth-host-canvas{display:none!important}
  html body #apd5-auth-modal .apd54-auth-dialog{
    position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important;
    padding:calc(48px + env(safe-area-inset-top,0px)) 24px 34px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,Arial,sans-serif!important;
  }
  html body #apd5-auth-modal .apd5-auth-close{display:none!important}
  html body #apd5-auth-modal .apd471-auth-brand{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0!important;margin:8px auto 28px!important;
  }
  html body #apd5-auth-modal .apd471-auth-brand::before,html body #apd5-auth-modal .apd471-auth-brand::after{content:none!important}
  html body #apd5-auth-modal .apd471-auth-brand img{display:block!important;width:158px!important;height:auto!important;max-height:64px!important;object-fit:contain!important}
  html body #apd5-auth-modal .apd471-auth-brand strong{display:none!important}
  html body #apd5-auth-modal #apd5-auth-title{
    margin:0 0 34px!important;color:var(--apd480-ink)!important;text-align:center!important;font-size:31px!important;line-height:1.08!important;font-weight:760!important;letter-spacing:-.045em!important;
  }
  html body #apd5-auth-modal #apd5-auth-subtitle{display:none!important}
  html body #apd5-auth-modal .apd54-legal-copy{display:none!important}

  /* One physical border only: shell owns it, input is borderless. */
  html body #apd5-auth-modal .apd54-identifier-shell,
  html body #apd5-auth-modal .apd5-auth-identifier-shell{
    position:relative!important;width:100%!important;min-height:66px!important;margin:0!important;padding:0!important;
    border:1.25px solid #929292!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;outline:0!important;overflow:hidden!important;
    transition:border-color .12s ease!important;
  }
  html body #apd5-auth-modal .apd54-identifier-shell:focus-within,
  html body #apd5-auth-modal .apd5-auth-identifier-shell:focus-within{border-color:#222!important;box-shadow:none!important;outline:0!important}
  html body #apd5-auth-modal #apd5-auth-identifier{
    box-sizing:border-box!important;width:100%!important;height:64px!important;min-height:64px!important;margin:0!important;padding:0 20px!important;
    border:0!important;border-width:0!important;border-style:none!important;border-radius:0!important;outline:0!important;box-shadow:none!important;
    background:transparent!important;color:#222!important;font-size:17px!important;line-height:1.2!important;font-weight:400!important;
    -webkit-appearance:none!important;appearance:none!important;
  }
  html body #apd5-auth-modal #apd5-auth-identifier:focus,html body #apd5-auth-modal #apd5-auth-identifier:focus-visible{border:0!important;outline:0!important;box-shadow:none!important}
  html body #apd5-auth-modal #apd5-auth-identifier::placeholder{color:#777!important;opacity:1!important}
  html body #apd5-auth-modal .apd54-country{height:64px!important;min-width:74px!important;border:0!important;border-right:1px solid #e3e3e3!important;background:#fff!important}
  html body #apd5-auth-modal #apd54-country-code{height:64px!important;border:0!important;outline:0!important;box-shadow:none!important;background:#fff!important}

  html body #apd5-auth-modal #apd5-auth-identifier-form>.apd5-auth-primary,
  html body #apd5-auth-modal .apd471-auth-primary{
    width:100%!important;min-height:58px!important;margin-top:18px!important;border:0!important;border-radius:15px!important;
    background:linear-gradient(180deg,#3459c8 0%,#2648a8 100%)!important;color:#fff!important;box-shadow:none!important;
    font-size:18px!important;font-weight:760!important;letter-spacing:-.015em!important;
  }
  html body #apd5-auth-modal .apd5-auth-divider{margin:28px 0 22px!important}
  html body #apd5-auth-modal .apd5-auth-divider::before{background:#e3e3e3!important}
  html body #apd5-auth-modal .apd5-auth-divider span{padding:0 16px!important;background:#fff!important;color:#222!important;font-size:15px!important;font-weight:600!important}

  /* Airbnb-style social squares. */
  html body #apd5-auth-modal .apd54-social-area .apd5-auth-socials{
    width:100%!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:26px!important;
    grid-template-columns:none!important;
  }
  html body #apd5-auth-modal .apd54-social-area .apd5-auth-social.apd56-social-button,
  html body #apd5-auth-modal .apd54-social-area .apd5-auth-social.apd5-auth-social--icon.apd56-social-button{
    flex:0 0 76px!important;width:76px!important;min-width:76px!important;max-width:76px!important;height:76px!important;min-height:76px!important;max-height:76px!important;
    margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:0!important;grid-template-columns:none!important;
    border:1px solid #d4d4d4!important;border-radius:18px!important;background:#fff!important;color:#111!important;box-shadow:0 1px 0 rgba(0,0,0,.02)!important;overflow:hidden!important;
  }
  html body #apd5-auth-modal .apd54-social-area .apd5-auth-social.apd56-social-button:active{transform:scale(.97)!important;background:#f7f7f7!important}
  html body #apd5-auth-modal .apd54-social-area .apd5-auth-social-icon{grid-column:auto!important;width:30px!important;height:30px!important;margin:0!important;display:grid!important;place-items:center!important}
  html body #apd5-auth-modal .apd54-social-area .apd5-auth-social-icon svg{width:30px!important;height:30px!important;display:block!important}
  html body #apd5-auth-modal .apd54-social-area .apd56-social-label,
  html body #apd5-auth-modal .apd54-social-area .apd56-social-spacer{display:none!important}

  /* Remembered user / Apple / alternative methods ---------------------------- */
  html body #apd5-auth-modal.apd471-premium-step .apd471-auth-brand,
  html body #apd5-auth-modal.apd471-premium-step #apd5-auth-title,
  html body #apd5-auth-modal.apd471-premium-step #apd5-auth-subtitle,
  html body #apd5-auth-modal.apd471-premium-step #apd5-auth-message,
  html body #apd5-auth-modal.apd471-premium-step .apd5-auth-step,
  html body #apd5-auth-modal.apd471-premium-step #apd54-social-area{display:none!important}
  html body #apd5-auth-modal .apd471-auth-step[hidden],html body #apd5-auth-modal .apd471-auth-methods[hidden]{display:none!important}
  html body #apd5-auth-modal .apd471-auth-returning{min-height:calc(100% - 24px)!important;padding:58px 0 28px!important;text-align:center!important}
  html body #apd5-auth-modal .apd471-auth-avatar{width:126px!important;height:126px!important;margin:0 auto 26px!important;border-radius:50%!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,#2853bf,#8eb3ff)!important;color:#fff!important;font-size:30px!important;font-weight:800!important}
  html body #apd5-auth-modal .apd471-auth-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
  html body #apd5-auth-modal .apd471-auth-returning h3{max-width:600px!important;margin:0 auto 24px!important;color:#222!important;font-size:31px!important;line-height:1.1!important;font-weight:760!important;letter-spacing:-.045em!important}
  html body #apd5-auth-modal .apd471-auth-returning-email{margin:0 0 44px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:13px!important;color:#222!important;font-size:20px!important}
  html body #apd5-auth-modal .apd471-auth-returning-copy{margin:0 0 30px!important;text-align:left!important;color:#666!important;font-size:17px!important;line-height:1.48!important}
  html body #apd5-auth-modal .apd471-auth-switch{margin:24px auto 0!important;border:0!important;background:transparent!important;color:#222!important;font-size:18px!important;font-weight:700!important}

  html body #apd5-auth-modal .apd471-auth-apple,html body #apd5-auth-modal .apd471-auth-password{position:relative!important;min-height:calc(100% - 20px)!important;padding:58px 0 28px!important;text-align:center!important}
  html body #apd5-auth-modal .apd471-auth-back{position:absolute!important;left:-8px!important;top:0!important;width:44px!important;height:44px!important;border:0!important;background:transparent!important;color:#222!important;font-size:29px!important}
  html body #apd5-auth-modal .apd471-auth-apple-mark{margin:18px auto 20px!important;font-size:65px!important;line-height:1!important;color:#111!important}
  html body #apd5-auth-modal .apd471-auth-apple h3,html body #apd5-auth-modal .apd471-auth-password h3{margin:0 0 14px!important;color:#222!important;font-size:30px!important;line-height:1.12!important;font-weight:760!important;letter-spacing:-.04em!important}
  html body #apd5-auth-modal .apd471-auth-apple>p{margin:0 auto 110px!important;max-width:360px!important;color:#666!important;font-size:18px!important;line-height:1.4!important}
  html body #apd5-auth-modal .apd471-auth-apple-primary,html body #apd5-auth-modal .apd471-auth-apple-secondary{width:100%!important;min-height:58px!important;border:0!important;border-radius:15px!important;font-size:18px!important;font-weight:720!important}
  html body #apd5-auth-modal .apd471-auth-apple-primary{background:#222!important;color:#fff!important}
  html body #apd5-auth-modal .apd471-auth-apple-secondary{margin-top:14px!important;background:#f2f2f2!important;color:#222!important}
  html body #apd5-auth-modal .apd471-auth-password-brand{display:flex!important;flex-direction:column!important;align-items:center!important;margin:12px auto 22px!important}
  html body #apd5-auth-modal .apd471-auth-password-brand img{width:126px!important;height:auto!important;object-fit:contain!important}
  html body #apd5-auth-modal .apd471-auth-password-brand strong{display:none!important}

  html body #apd5-auth-modal .apd471-auth-methods{
    position:absolute!important;z-index:30!important;left:0!important;right:0!important;bottom:0!important;max-height:calc(100% - 24px)!important;padding:38px 24px 34px!important;
    border-radius:30px 30px 0 0!important;background:#fff!important;box-shadow:0 -18px 50px rgba(0,0,0,.17)!important;transform:translateY(102%)!important;transition:transform .18s cubic-bezier(.2,.8,.2,1)!important;overflow:auto!important;
  }
  html body #apd5-auth-modal.apd471-methods-open .apd471-auth-methods{transform:translateY(0)!important}
  html body #apd5-auth-modal.apd471-methods-open::before{content:""!important;position:absolute!important;z-index:29!important;inset:0!important;background:rgba(0,0,0,.34)!important}
  html body #apd5-auth-modal .apd471-auth-methods-close{position:absolute!important;top:18px!important;right:18px!important;width:40px!important;height:40px!important;border:0!important;background:transparent!important;color:#222!important;font-size:34px!important}
  html body #apd5-auth-modal .apd471-auth-methods h3{margin:0 44px 28px 0!important;color:#222!important;font-size:29px!important;line-height:1.1!important;font-weight:760!important;letter-spacing:-.04em!important}
  html body #apd5-auth-modal .apd471-auth-method{width:100%!important;display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;align-items:center!important;gap:18px!important;padding:12px 0!important;border:0!important;background:transparent!important;color:#222!important;text-align:left!important}
  html body #apd5-auth-modal .apd471-method-icon{width:64px!important;height:64px!important;display:grid!important;place-items:center!important;border-radius:16px!important;background:#f5f5f5!important;font-size:29px!important}
  html body #apd5-auth-modal .apd471-auth-method strong{display:block!important;font-size:18px!important;line-height:1.24!important;font-weight:700!important}
  html body #apd5-auth-modal .apd471-auth-method small{display:block!important;margin-top:4px!important;color:#666!important;font-size:14.5px!important}

  /* Favorites guest page ------------------------------------------------------ */
  html body #apd15-favorites-gate.apd15-favorites-gate{
    position:fixed!important;inset:0 0 var(--apd480-nav) 0!important;bottom:var(--apd480-nav)!important;width:auto!important;height:auto!important;z-index:var(--apd480-gate-z)!important;background:#fff!important;padding:0!important;
  }
  html body #apd15-favorites-gate .apd15-favorites-page{min-height:100%!important;padding:clamp(150px,22vh,190px) 24px 34px!important;background:#fff!important}
  html body #apd15-favorites-gate .apd15-favorites-page>h2{margin:0 0 52px!important;color:#222!important;font-size:36px!important;line-height:1!important;font-weight:760!important;letter-spacing:-.045em!important}
  html body #apd15-favorites-gate .apd15-favorites-empty h3{font-size:27px!important;line-height:1.16!important;font-weight:720!important;letter-spacing:-.035em!important}
  html body #apd15-favorites-gate .apd15-favorites-empty p{margin:16px 0 30px!important;max-width:540px!important;color:#6a6a6a!important;font-size:17px!important;line-height:1.48!important}
  html body #apd15-favorites-gate .apd15-favorites-login{min-width:160px!important;min-height:54px!important;padding:0 26px!important;border:0!important;border-radius:13px!important;background:linear-gradient(180deg,#3459c8 0%,#2648a8 100%)!important;color:#fff!important;font-size:17px!important;font-weight:730!important;box-shadow:none!important}
}

/* APD 480 — atomic transitions, iOS scroll containment, native catalog acceleration. */
@media (max-width:767px){
  html.apd480-overlay-lock,html.apd480-overlay-lock body{overflow:hidden!important;overscroll-behavior:none!important}

  html body #apd5-auth-modal.apd5-auth-modal{
    top:0!important;right:0!important;bottom:var(--apd480-nav)!important;left:0!important;
    height:calc(100dvh - var(--apd480-nav))!important;min-height:0!important;max-height:calc(100dvh - var(--apd480-nav))!important;
    background:#fff!important;contain:paint!important;overscroll-behavior:none!important;
    z-index:var(--apd480-auth-z)!important;
  }
  html body #apd5-auth-modal .apd54-auth-dialog{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;
    border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow-x:hidden!important;overflow-y:auto!important;
    overscroll-behavior-y:none!important;-webkit-overflow-scrolling:touch!important;
  }
  html body #apd5-auth-modal::before,html body #apd5-auth-modal::after{background:#fff!important}
  html body.apd17-auth-open .apd5-footer,html body.apd15-favorites-open .apd5-footer{visibility:hidden!important;pointer-events:none!important}

  html body #apd15-favorites-gate.apd15-favorites-gate{
    top:0!important;right:0!important;bottom:var(--apd480-nav)!important;left:0!important;
    height:calc(100dvh - var(--apd480-nav))!important;min-height:0!important;max-height:calc(100dvh - var(--apd480-nav))!important;
    overflow:hidden!important;overscroll-behavior:none!important;z-index:var(--apd480-gate-z)!important;
  }
  html body #apd15-favorites-gate .apd15-favorites-page{height:100%!important;min-height:100%!important;overflow-y:auto!important;overscroll-behavior-y:none!important}

  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav{
    transition:transform .19s cubic-bezier(.32,.72,0,1),opacity .14s ease,visibility 0s linear 0s!important;
    transform:translate3d(0,0,0)!important;opacity:1!important;visibility:visible!important;will-change:transform,opacity!important;
  }
  html body.apd-marketplace-ui:not(.logged-in).apd480-nav-hidden:not(.apd5-modal-open):not(.apd15-favorites-open):not(.apd17-auth-open) .apd10-mobile-nav{
    transform:translate3d(0,calc(100% + env(safe-area-inset-bottom,0px) + 14px),0)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  }
  html body.apd-marketplace-ui:not(.logged-in):is(.apd5-modal-open,.apd15-favorites-open,.apd17-auth-open,.apd480-handoff) .apd10-mobile-nav{
    transform:translate3d(0,0,0)!important;opacity:1!important;visibility:visible!important;
  }

  html body .apd5-main-nav[data-apd-clean-navigation] > a{
    -webkit-tap-highlight-color:transparent!important;touch-action:manipulation!important;
    transition:transform .08s ease,background-color .10s ease,box-shadow .10s ease!important;
  }
  html body .apd5-main-nav[data-apd-clean-navigation] > a.apd480-pending{transform:scale(.97)!important}

  html body.home .apd5-main > section,html body.home .apd182-service-strip,html body.home .apd155-inspiration{content-visibility:visible!important;contain-intrinsic-size:none!important}
  html body.home .apd155-inspiration{margin-bottom:0!important}
}


/* APD 487 — zero-flash handoff + fast category taps. */
@media (max-width:767px){
  html body .apd480-transition-shield{
    position:fixed!important;inset:0 0 var(--apd480-nav) 0!important;z-index:var(--apd480-shield-z)!important;
    display:block!important;background:#fff!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transition:none!important;contain:strict!important;
  }
  html body .apd480-transition-shield.is-active{opacity:1!important;visibility:visible!important}

  html body .apd5-main-nav[data-apd-clean-navigation] > a{
    contain:layout style!important;will-change:auto!important;touch-action:manipulation!important;
    transition:transform .06s ease,background-color .08s ease,box-shadow .08s ease!important;
  }
  html body .apd5-main-nav[data-apd-clean-navigation] > a.apd480-pending{transform:scale(.975)!important}
}



/* APD 490 — guest shell keeps only its canonical heart/favorites rules.
 * Locale/currency/footer styling is owned exclusively by apd-region-modal-v490.css. */
@media (max-width:767px){
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav{contain:layout style paint!important;-webkit-tap-highlight-color:transparent!important;}
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav>:is(a,button){touch-action:manipulation!important;cursor:pointer!important;}
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav [data-apd-favorites-open]{overflow:visible!important;clip-path:none!important;}
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav [data-apd-favorites-open] .apd5-icon{
    width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;
    display:block!important;overflow:visible!important;clip-path:none!important;fill:none!important;
    stroke:currentColor!important;stroke-width:1.95!important;stroke-linecap:round!important;stroke-linejoin:round!important;
  }
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav [data-apd-favorites-open] .apd5-icon path{vector-effect:non-scaling-stroke!important;}
  html body.apd-marketplace-ui:not(.logged-in) .apd10-mobile-nav [data-apd-favorites-open]:is(.is-active,[aria-current="page"],:active) .apd5-icon{stroke-width:2.05!important;}

  html body #apd15-favorites-gate .apd15-favorites-page{display:block!important;visibility:visible!important;opacity:1!important;}
  html body #apd15-favorites-gate .apd15-favorites-page > h2,
  html body #apd15-favorites-gate .apd15-favorites-empty{display:block!important;visibility:visible!important;opacity:1!important;}
}
