/* Brand and navigation layer, loaded after the marketplace styles on every page.
   The logo navy replaces lime, with the R mark beside the rebo wordmark. */
:root{--ink:#0c1a33;--brand:#0c1a33;--lime:#0c1a33}
/* Keep navigation in the same positions when moving between home and discovery. */
:root{--home-header-h:78px}
:where(.home,.discovery-page) .market-header{padding-inline:28px 18px;gap:16px;flex-wrap:nowrap}
:where(.home,.discovery-page) .market-header .market-nav{flex:none;flex-wrap:nowrap;gap:12px}
:where(.home,.discovery-page) .market-header .nav-provider{display:none}
:where(.home,.discovery-page) .market-header .market-nav>.nav-find{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border:1px solid #d8dde3;border-radius:999px;background:#f4f6f8;text-decoration:none}
:where(.home,.discovery-page) .market-header .market-nav>.nav-find:hover{background:#e9edf2;text-decoration:none}
/* Reserve the homepage action's place so the account and menu never move routes. */
.discovery-page .market-header .market-nav>.nav-find{visibility:hidden;pointer-events:none}
.home .market-header .market-nav>.nav-find{border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.1)}
.home .market-header .market-nav>.nav-find:hover{background:rgba(255,255,255,.18)}
:where(.home,.discovery-page)[data-header-account-hidden] .market-header .market-nav .nav-account,:where(.home,.discovery-page)[data-search-docked] .market-header .nav-bookings{display:none}
:where(.home,.discovery-page)[data-header-compact] .market-header{padding-inline:18px 12px;gap:12px}
:where(.home,.discovery-page)[data-header-compact] .market-header .wordmark,:where(.home,.discovery-page)[data-header-compact] .market-header .brand-logo{font-size:32px}
:where(.home,.discovery-page)[data-header-compact] .market-header .market-nav{gap:10px}
:where(.home,.discovery-page)[data-header-compact] .market-header .market-nav>.nav-find{min-height:38px;padding:8px 11px;font-size:.75rem}
:where(.home,.discovery-page)[data-header-minimal] .market-header{padding-inline:12px;gap:10px}
:where(.home,.discovery-page)[data-header-minimal] .market-header .wordmark{font-size:34px}
:where(.home,.discovery-page)[data-header-minimal] .market-header .brand-logo,:where(.home,.discovery-page)[data-header-minimal] .market-header .market-nav>.nav-find{display:none}
@media(max-width:700px){:root{--home-header-h:72px}}
.wordmark{display:flex;align-items:center;gap:.16em;font-size:48px}
/* R mark, sized to the wordmark's ascender height so stroke weights match. */
.wordmark:before{content:"";flex:none;width:.72em;height:.72em;background:var(--brand);-webkit-mask:url('/assets/rebo-mark.svg') center/contain no-repeat;mask:url('/assets/rebo-mark.svg') center/contain no-repeat;transform:translateY(.02em)}
.brand-logo{width:auto;color:var(--brand)}
@media(max-width:600px){.wordmark{font-size:38px}}
/* Sign in is a text action; account access stays available in the menu on small screens. */
.market-header .nav-account[data-sign-in]{min-height:44px;padding:10px 0;border:0;border-radius:0;background:transparent;color:inherit}
.market-header .nav-account[data-sign-in]:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:600px){.market-header .nav-account[data-sign-in]{display:none}}
/* Shared account geometry keeps Sign in's text fixed when its pill appears. */
:where(.home,.discovery-page) .market-header .market-nav .nav-account{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:999px;line-height:1.4}
.discovery-page .market-header .nav-account[data-sign-in]{border-color:rgba(12,26,51,.12);background:#fff;color:#0c1a33;box-shadow:0 2px 8px rgba(12,26,51,.06);transition:background .18s,box-shadow .18s}
.discovery-page .market-header .nav-account[data-sign-in]:hover{background:#f7f9fc;box-shadow:0 3px 10px rgba(12,26,51,.1);text-decoration:none}
.discovery-page .market-header .nav-account:not([data-sign-in]){border-color:rgba(12,26,51,.14);background:rgba(255,255,255,.5)}
@media(max-width:600px){:where(.home,.discovery-page) .market-header .market-nav .nav-account{min-height:38px;padding:8px 12px;font-size:.75rem}}
/* On the homepage, the navigation is part of the hero photograph. */
.home .market-header .brand-logo{color:inherit}
.home .market-header .wordmark:before{background:currentColor;-webkit-mask:url('/assets/rebo-mark.svg') center/contain no-repeat;mask:url('/assets/rebo-mark.svg') center/contain no-repeat}
.home .market-header .market-nav>a:hover{color:inherit}
.home .market-header .nav-account{border-color:transparent;background:transparent;color:inherit}
.home .market-header .nav-account:hover{text-decoration:underline;text-underline-offset:5px}
.home .market-header .site-menu-button{border-color:rgba(255,255,255,.55);background:transparent;color:inherit}
.home .market-header .nav-avatar{background:#fff;color:#0c1a33}
.home .market-header .site-menu-button:hover,.home .market-header .site-menu.is-open .site-menu-button{border-color:#fff;background:rgba(255,255,255,.12);box-shadow:none}
.home .market-header :focus-visible{outline-color:#fff}
.home .market-header .site-menu-panel :focus-visible{outline-color:#0c1a33}
.market-nav>a:hover{color:#0c1a33;text-decoration:underline;text-underline-offset:8px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#0c1a33}
/* Former lime surfaces become navy with white marks. */
.discovery-search-submit,.search-submit,.button-lime,.onboarding-success-icon{color:#fff}
.discovery-search-submit:hover,.button-lime:hover{background:#1c2e4f}

/* Site menu (site-menu.js): a three-line button with a dropdown, on every page. */
.site-menu{position:relative;display:flex}
.site-menu-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:#0c1a33;transition:box-shadow .18s,border-color .18s}
.site-menu-button:hover,.site-menu.is-open .site-menu-button{border-color:#cfd5dc;box-shadow:0 2px 10px rgba(12,26,51,.12)}
.site-menu-button svg{width:20px;height:20px}
.site-menu-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:60;width:260px;padding:8px;border:1px solid #e7eaee;border-radius:18px;background:#fff;box-shadow:0 18px 48px rgba(12,26,51,.16),0 2px 8px rgba(12,26,51,.06);animation:site-menu-in .18s cubic-bezier(.22,1,.36,1)}
.site-menu-group+.site-menu-group{margin-top:6px;padding-top:6px;border-top:1px solid #edf0f2}
.site-menu-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:#0c1a33;font-size:.88rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.site-menu-item:hover,.site-menu-item:focus-visible{background:#f4f6f8;text-decoration:none}
.site-menu-item:focus-visible{outline:2px solid #0c1a33;outline-offset:-2px}
.site-menu-item svg{width:19px;height:19px;flex:none;color:#4b5767}
@keyframes site-menu-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:600px){.site-menu-button{width:38px;height:38px}.site-menu-panel{position:fixed;top:72px;left:12px;right:12px;width:auto}}
/* Keep account and menu controls within the viewport during host setup. */
@media(max-width:600px){body:not(.home):not(.discovery-page) .market-header{padding-inline:16px;gap:8px}body:not(.home):not(.discovery-page) .market-header .market-nav{gap:8px}body:not(.home):not(.discovery-page) .market-header .market-nav .nav-find{display:none}}
@media(max-width:359px){body:not(.home):not(.discovery-page) .market-header :is(.wordmark,.brand-logo){font-size:32px}}
@media(prefers-reduced-motion:reduce){.site-menu-panel{animation:none}}

/* Site footer (site-menu.js): dark navy, logo left, link columns right, fine print below. */
.market-footer.site-footer{padding:88px 0 36px;border-top:0;background:var(--brand);color:#fff;font-size:.9rem}
.site-footer-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:48px;padding-bottom:64px}
.site-footer-logo{display:inline-flex;align-items:center;gap:.16em;color:#fff;font-size:40px;font-weight:700;letter-spacing:-.065em;line-height:1}
.site-footer-logo:before{content:"";flex:none;width:.72em;height:.72em;background:#fff;-webkit-mask:url('/assets/rebo-mark.svg') center/contain no-repeat;mask:url('/assets/rebo-mark.svg') center/contain no-repeat;transform:translateY(.02em)}
.site-footer-brand p{max-width:280px;margin:18px 0 0;color:rgba(255,255,255,.62);font-size:.88rem;line-height:1.6}
.site-footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.site-footer-columns h2{margin:0 0 18px;color:#fff;font-size:.92rem;font-weight:600;letter-spacing:-.01em}
.site-footer-columns ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.site-footer-columns a,.market-footer.site-footer .site-footer-columns a{color:rgba(255,255,255,.66);font-weight:400;transition:color .15s}
.site-footer-columns a:hover{color:#fff}
.site-footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.55);font-size:.78rem;letter-spacing:.02em}
.site-footer a:focus-visible{outline-color:#fff}
@media(max-width:850px){.site-footer-inner{grid-template-columns:1fr;gap:40px}}
@media(max-width:600px){.market-footer.site-footer{padding:64px 0 28px}.site-footer-columns{grid-template-columns:1fr 1fr;gap:32px 20px}.site-footer-bottom{flex-direction:column;gap:6px}}


/* Partner logos retain their proportions in the host profile. */
.store-hero-image.store-hero-logo{object-fit:contain;padding:clamp(56px,9vw,100px);background:#f6f7f6}
/* A completed booking request has a quiet, dedicated landing page. */
.request-confirmation{max-width:680px;margin:clamp(20px,5vh,56px) auto 12px;text-align:center;padding:0 12px}
.request-confirmation-mark{width:112px;height:112px;margin:0 auto 31px;border-radius:50%;background:#eef2f7;color:#0c1a33;display:grid;place-items:center}
.request-confirmation-mark svg{width:72px;height:72px}
.request-confirmation-mark-muted{background:#f3efed;color:#7d625b}
.request-confirmation h1{max-width:630px;margin:0 auto 20px;font-size:clamp(2.2rem,4.1vw,3.35rem);line-height:1.15;letter-spacing:-.05em;text-wrap:balance}
.request-confirmation-description{max-width:470px;margin:0 auto 30px;font-size:18px;line-height:1.7;color:#68717b;text-wrap:pretty}
.request-confirmation-summary{display:grid;gap:7px;max-width:460px;margin:0 auto 28px;font-size:16px;color:#68717b;line-height:1.6}
.request-confirmation-summary strong{font-size:18px;color:#0c1a33}
.request-confirmation-total{color:#0c1a33;font-weight:600;margin-top:3px}
.request-confirmation-actions{display:flex;flex-direction:column;align-items:center;gap:20px}
.request-confirmation-actions .button{min-width:220px}
.request-confirmation-actions .button,.request-confirmation-actions .text-button{font-size:16px}
@media(max-width:600px){.request-confirmation{padding:0;margin-top:20px}.request-confirmation-mark{width:96px;height:96px;margin-bottom:27px}.request-confirmation-mark svg{width:62px;height:62px}.request-confirmation h1{font-size:2.3rem;max-width:350px}.request-confirmation-description{max-width:330px;margin-bottom:25px}}
.request-confirmation h1:focus { outline: none; }
