/* Local Rex: an editorial guide, with a quiet app shell and tactile controls. */
body .phone-shell .chat-members{padding-left:4px;padding-right:17px;right:12px;height:40px;top:8px}
body .phone-shell .chat-members>.cue{margin-right:-13px}
body .phone-shell .chat-members .member-avatar{width:30px;height:30px;border:1.5px solid #fff}
.widget-app{background:#fbfaf7;clip-path:inset(0 round 55px);contain:layout style}
.widget-app .app-header{height:58px;padding:2px 19px 10px}
.widget-app .app-header button{width:42px;height:42px;background:#ffffff85;cursor:pointer}
.widget-app svg{width:22px;height:22px;flex:none}
.widget-app .app-header strong{font-size:15px;letter-spacing:-.25px}
.widget-app .app-header .app-header-detail{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8c8d84;width:auto}
.widget-app .app-body{height:calc(100% - 143px)}
.widget-app.guide-app .app-body{padding:0;height:calc(100% - 116px);overflow:hidden}
.city-guide{height:100%;position:relative;color:#2c302d;background:#fbfaf7}
.guide-scroll{height:100%;overflow:auto;padding:8px 23px 124px;scrollbar-width:none;overscroll-behavior:contain}
.guide-intro{padding:12px 0 21px}
.guide-edition{display:flex;justify-content:space-between;font:9px Selecta,sans-serif;letter-spacing:.13em;color:#8d8e7d}
.app-body .guide-intro h1{font:400 30px/1.15 Selecta,Arial,sans-serif;letter-spacing:-.8px;margin:19px 0 13px}
.guide-intro h1 span{display:block;font:13px Selecta,sans-serif;letter-spacing:.02em;margin-top:10px;color:#939580}
.app-body .guide-intro p{font-size:15px;line-height:1.5;color:#737769;margin:0}
.guide-categories{display:flex;border-bottom:1px solid #e0e0d8;gap:20px;margin-bottom:20px;overflow-x:auto;scrollbar-width:none}
.guide-categories button{border:0;background:none;padding:0 0 13px;min-height:38px;font:13px Selecta,sans-serif;color:#697166;white-space:nowrap;position:relative;cursor:pointer}
.guide-categories button[aria-pressed=true]{color:#333e32}
.guide-categories button[aria-pressed=true]::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;border-radius:2px;background:#56684b}
.guide-subcategories{display:flex;gap:6px;overflow:auto;margin:0 -2px 20px;scrollbar-width:none}
.guide-subcategories button{white-space:nowrap;min-height:35px;padding:8px 12px;border-radius:99px;background:#efefe7;border:0;font:11px Selecta,sans-serif;color:#777e6c;cursor:pointer}
.guide-subcategories button[aria-pressed=true]{background:#e0e5d5;color:#3e5037}
.guide-card{position:relative;margin-bottom:18px;min-width:0}
.guide-card-open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}
.guide-card img{display:block;width:100%;height:177px;object-fit:cover;border-radius:19px;background:#e6e6dc}
.guide-feature img{height:228px;border-radius:23px}
.guide-card-copy{display:block;padding:12px 1px 0}
.guide-card-copy small{display:block;font-size:9px;letter-spacing:.01em;color:#687166;margin-bottom:5px}
.guide-card-copy strong{display:block;font:500 19px/1.2 Selecta,Arial,sans-serif;letter-spacing:-.5px}
.guide-feature .guide-card-copy strong{font-size:23px}
.guide-card-copy>span{display:block;font-size:11px;color:#8a8b7d;margin-top:6px}
.guide-heart{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid #ffffffc9;background:#ffffffb8;color:#4e584b;backdrop-filter:blur(10px);cursor:pointer}
.guide-heart svg{width:18px;height:18px}
.guide-heart[aria-pressed=true]{color:#536448}
.guide-heart[aria-pressed=true] svg{fill:currentColor}
.guide-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.guide-pair .guide-card-copy strong{font-size:18px;line-height:1.25}
.app-body .guide-section{margin:29px 0 19px}
.guide-section>span{font-size:9px;letter-spacing:.12em;color:#949584}
.app-body .guide-section h2{font:500 23px/1.2 Selecta,Arial,sans-serif;letter-spacing:-.6px;margin:8px 0}
.app-body .guide-section p{font-size:12px;margin:0;color:#858b7a}
.app-body .guide-section.compact{margin:4px 0 18px}
.guide-row{border-top:1px solid #e2e3db;padding:14px 0}
.guide-row>button{display:flex;align-items:center;gap:13px;width:100%;border:0;background:none;padding:0;color:inherit;text-align:left;cursor:pointer}
.guide-row img{width:69px;height:76px;border-radius:14px;object-fit:cover}
.guide-row span{flex:1}
.guide-row small{display:block;color:#919486;font-size:11px;letter-spacing:.01em}
.guide-row strong{display:block;font-size:15px;font-weight:500;margin:6px 0}
.guide-row em{font-size:11px;color:#999a90;font-style:normal}
.guide-row svg{width:18px;color:#949985}
.guide-nav{position:absolute;bottom:26px;left:18px;right:18px;height:66px;padding:5px 6px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ffffffdb;background:#ffffffd6;border-radius:27px;box-shadow:0 9px 24px #35412315,inset 0 1px 1px #fff;backdrop-filter:blur(20px);z-index:500}
.guide-nav button{border:0;background:none;color:#a4a698;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;border-radius:20px;font:10px Selecta,sans-serif;cursor:pointer}
.guide-nav button[aria-current=page]{color:#4d6041;background:#eef1e6}
.guide-nav svg{width:21px;height:21px}
.guide-nav i{position:absolute;right:13px;top:3px;font:8px Selecta,sans-serif;background:#e6ebde;color:#647457;min-width:13px;padding:1px 3px;border-radius:8px}
.guide-colophon{font-size:10px!important;color:#a0a291!important;line-height:1.6!important;text-align:center;margin:30px 0 6px!important}
.guide-page-head{padding:14px 0 20px}
.guide-page-head>small{font-size:11px;letter-spacing:.02em;color:#687166}
.app-body .guide-page-head h1{font-size:32px;margin:14px 0 10px}
.guide-page-head p{font-size:13px}
.guide-empty{font:18px/1.5 Selecta,Arial,sans-serif;color:#8f947f;text-align:center;padding:70px 15px}
.guide-back{border:0;background:none;display:flex;align-items:center;gap:5px;padding:0;min-height:42px;font:12px Selecta,sans-serif;color:#858e79;cursor:pointer;margin-bottom:12px}
.guide-back svg{width:17px;height:17px}
.guide-detail-photo{position:relative;margin:0 -23px}
.guide-detail-photo>img{display:block;width:100%;height:297px;object-fit:cover}
.guide-detail-photo .guide-heart{right:20px;top:16px}
.guide-detail-copy{padding:25px 0}
.guide-detail-copy>small{color:#8e947e;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.app-body .guide-detail-copy h1{font-size:30px;margin:13px 0}
.app-body .guide-detail-copy .guide-deck{font:400 15px/1.4 Selecta,Arial,sans-serif;color:#899279;margin:0 0 23px}
.app-body .guide-detail-copy p{font-size:14px;line-height:1.6;color:#7e8474}
.guide-note{border-block:1px solid #e2e4d9;display:flex;align-items:center;gap:13px;padding:19px 0;color:#707e62;font-size:13px}
.app-body .guide-detail-copy h2{font:500 18px/1.3 Selecta,Arial,sans-serif;margin-top:23px}
.app-body .guide-address{display:flex;align-items:center;gap:10px;font-size:12px}
.guide-select{display:flex!important;align-items:center;justify-content:space-between;gap:8px;color:#747e68;font-size:12px!important}
.guide-select select{font:12px Selecta,sans-serif;padding:10px;border:1px solid #dfe3d6;border-radius:12px;background:white;color:#647354}
.guide-primary,.guide-secondary{min-height:47px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;margin:11px 0;font:13px Selecta,sans-serif;background:#526343;color:#fff;cursor:pointer}
.guide-secondary{color:#697a58;background:#eef0e7}
.guide-primary svg,.guide-secondary svg{width:18px;height:18px}
.guide-source{display:block;text-align:center;font-size:11px;color:#8b947b;margin:21px 0;text-underline-offset:4px}
.app-body .guide-credit{font-size:9px;color:#a1a28e;text-align:center}
.guide-days{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:27px}
.guide-days button{padding:12px 6px 10px;display:grid;gap:4px;justify-items:center;border:1px solid #e6e7dc;border-radius:18px;background:transparent;color:#939b85;cursor:pointer}
.guide-days button[aria-pressed=true]{background:#e6ebdc;border-color:#e6ebdc;color:#556846}
.guide-days small{font-size:11px}.guide-days b{font:500 23px/1.2 Selecta,Arial,sans-serif}.guide-days span{font-size:8px;letter-spacing:.12em}
.guide-plan-item{display:flex;gap:12px;margin-bottom:22px}
.guide-plan-index{font:13px Selecta,sans-serif;color:#a0a98e;padding-top:18px}
.guide-plan-place{flex:1;border-bottom:1px solid #e0e4d7;padding-bottom:20px}
.guide-plan-place>button:first-child{display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}
.guide-plan-place img{width:67px;height:77px;object-fit:cover;border-radius:14px}
.guide-plan-place small{font-size:9px;color:#8a947d;display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}
.guide-plan-place strong{font:500 18px/1.25 Selecta,Arial,sans-serif}
.app-body .guide-plan-place label{display:flex;align-items:center;justify-content:space-between;font:11px Selecta,sans-serif;color:#919a83;margin-top:13px}
.guide-plan-place input{border:1px solid #e0e4d6;border-radius:10px;background:#fff;padding:7px 10px;font:12px Selecta,sans-serif;color:#5d6e4d}
.guide-remove{padding:10px 0 0;border:0;background:transparent;color:#a3a58d;font:10px Selecta,sans-serif;cursor:pointer}
.guide-feedback{position:absolute;left:0;right:0;bottom:98px;margin:0!important;text-align:center;pointer-events:none;font-size:11px!important;color:#667653!important}
.city-guide.is-map .guide-scroll{padding:0;overflow:hidden}
.guide-map-wrap{position:relative;height:100%}
.guide-map{height:100%;background:#eeefe7;outline-offset:-3px}
.guide-map-heading{position:absolute;z-index:401;top:15px;left:23px;pointer-events:none}
.guide-map-heading small{font-size:9px;letter-spacing:.12em;color:#737e67}
.app-body .guide-map-heading h1{font-size:30px;margin:8px 0}
.guide-map-card{position:absolute;z-index:401;bottom:112px;left:18px;right:18px;min-height:95px;display:flex;flex-wrap:wrap;align-content:center;gap:7px;background:#fffffff0;border:1px solid #fff;border-radius:22px;padding:15px 18px;box-shadow:0 7px 22px #344b2720;backdrop-filter:blur(15px)}
.guide-map-card>small{font-size:8px;letter-spacing:.09em;color:#8a967b;width:100%}
.guide-map-card strong{font:500 18px/1.25 Selecta,Arial,sans-serif;display:block;color:#435335}
.app-body .guide-map-card p{font-size:11px;margin:0;color:#90977e}
.guide-map-card>img{width:65px;height:70px;object-fit:cover;border-radius:14px;margin-right:5px}
.guide-map-card>div{flex:1;align-self:center}
.guide-map-card>div small{font-size:9px;color:#89977a;display:block;margin-bottom:6px}
.guide-map-card button{border:0;background:transparent;display:flex;align-items:center;gap:5px;padding:8px 0 0;font:11px Selecta,sans-serif;color:#899677;cursor:pointer}
.guide-map-card button svg{width:14px;height:14px}
.guide-map-pin span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fffefa;border:1px solid #fff;box-shadow:0 3px 12px #34442b45;color:#536944;font:500 12px Selecta,sans-serif}
.guide-map-pin:focus-visible{outline:3px solid #4f6840;border-radius:50%}
.city-guide .guide-map .leaflet-control-zoom{margin-bottom:225px;margin-right:20px;border:0;box-shadow:0 3px 12px #34442b20;border-radius:13px;overflow:hidden}
.city-guide .guide-map .leaflet-control-zoom a{color:#60784f;background:#fffffff0;width:33px;height:33px;line-height:33px}
.guide-map .leaflet-control-attribution{font-size:8px!important;background:#ffffffbd!important;max-width:100%;line-height:1.4;margin-bottom:4px}
.guide-map .leaflet-control-attribution a{color:#8b937e}
.guide-map-error{padding:150px 30px;color:#7a8770}
@media(hover:hover) and (pointer:fine){.guide-card-open:hover img{filter:brightness(1.035)}}
.city-guide button:active{transform:scale(.98)}
.city-guide button:focus-visible{outline:2px solid #6d8058;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.city-guide button:active{transform:none}}
@media(prefers-reduced-transparency:reduce){.guide-nav,.guide-heart,.guide-map-card{background:#fbfcf8;backdrop-filter:none}}

.guide-map-heading{left:0;right:0;top:0;padding:18px 23px 26px;background:linear-gradient(#fbfaf7f5 20%,#fbfaf7e0 65%,#fbfaf700)}
.guide-group-toggle{pointer-events:auto;display:flex;align-items:center;gap:10px;background:#ffffffdc;border:1px solid #fff;border-radius:22px;padding:6px 11px 6px 6px;color:#768567;font:11px Selecta,sans-serif;box-shadow:0 3px 12px #44563310;cursor:pointer}
.guide-group-toggle>span{display:flex;padding-right:8px}
.guide-group-toggle img{width:24px;height:24px;border:1px solid white;border-radius:50%;object-fit:cover;margin-right:-8px}
.guide-person-pin img{width:39px;height:39px;border:3px solid #fff;border-radius:50%;box-shadow:0 3px 10px #26361c50;object-fit:cover}
.guide-map-card .guide-person-photo{width:58px;height:58px;border-radius:50%}
.guide-map .leaflet-tile-pane{filter:saturate(.35) contrast(.92) brightness(1.03)}

.guide-reservation{display:grid;gap:7px;padding:17px;background:#eef0e7;border-radius:16px;margin:20px 0;color:#536448}
.guide-reservation small{font-size:10px;letter-spacing:.05em}
.guide-reservation strong{font:500 15px/1.4 Selecta,sans-serif}
.guide-reservation span{font-size:12px}
.app-body .guide-reservation p{font-size:10px;line-height:1.4;margin:0;color:#68725d}
.guide-plan-place .guide-booking-status{font-size:10px;text-transform:none;letter-spacing:0;margin:7px 0 0;color:#5b704b}
/* One guide contains both the photographic collection and its Mapbox map. */
.guide-photo-strip{display:flex;gap:8px;margin:10px 0 20px;overflow-x:auto;padding:3px;scrollbar-width:none}
.guide-photo-strip button{flex:0 0 74px;height:62px;padding:0;border:2px solid transparent;border-radius:12px;background:none;overflow:hidden;opacity:.65}
.guide-photo-strip button[aria-pressed=true]{border-color:#435e5c;opacity:1;box-shadow:0 0 0 2px white}
.guide-photo-strip img{display:block;width:100%;height:100%;object-fit:cover}
.guide-photo-count{position:absolute;right:13px;bottom:13px;border-radius:20px;background:#fffdf0d9;color:#293832;font-size:11px;padding:6px 10px;backdrop-filter:blur(12px)}
.guide-map .mapboxgl-ctrl-bottom-right{bottom:4px;right:8px}.guide-map .mapboxgl-ctrl-top-right{top:108px;right:8px}
.guide-map .mapboxgl-ctrl-bottom-left{bottom:4px;left:6px}
.guide-map .mapboxgl-ctrl-attrib{font:9px/1.4 Selecta,sans-serif}
.guide-map button.guide-map-pin,.guide-map button.guide-person-pin{border:0;background:none;padding:0;cursor:pointer;width:36px;height:36px}
.guide-map button.guide-person-pin{width:40px;height:40px}
.guide-map .guide-person-pin img{width:40px;height:40px;object-fit:cover;border-radius:50%;border:2px solid #fff;box-shadow:0 3px 12px #34442b45}
.guide-map .mapboxgl-canvas{outline:none}
.guide-map .mapboxgl-canvas:focus-visible{outline:2px solid #628277;outline-offset:-3px}
.guide-map .mapboxgl-ctrl-group{border-radius:12px;overflow:hidden;box-shadow:0 3px 10px #26392c18}

.widget-app.guide-app,.city-guide{background:#fff}.guide-map-heading{background:linear-gradient(#fffffff5 20%,#ffffffe0 65%,#fff0)}

.guide-result-count{font-size:12px!important;color:#687166!important;margin:0 0 18px!important}
.guide-intro h1{overflow-wrap:anywhere}.guide-card-copy strong,.guide-plan-place strong{overflow-wrap:anywhere}
.guide-pair .guide-card:last-child:nth-child(odd){grid-column:1/-1}.guide-pair .guide-card:last-child:nth-child(odd) img{height:195px}
.guide-credit a{color:inherit;text-underline-offset:3px}
