/* Shared authentication and marketplace improvements. */
.auth-page{background:#f5f8f6}.auth-page .codex-nav{display:flex;justify-content:space-between;min-height:68px}.auth-page .codex-links,.auth-page .codex-post,.auth-page .codex-avatar{display:none}.auth-page .codex-page{max-width:580px;padding:40px 20px;margin:auto}.auth-page .codex-layout{display:block}.auth-page .codex-content{display:block}.auth-page .codex-section-title{font-size:28px;margin-bottom:8px}.auth-page .codex-muted{margin-bottom:24px}.auth-page .codex-card{border-radius:18px;box-shadow:0 8px 32px #12372408}.auth-page .codex-card-body{padding:26px}.auth-page .codex-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 20px;gap:8px}.auth-page .codex-role{padding:12px;text-align:left}.auth-page .codex-role span{font-size:11px}.auth-page .auth-terms{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.6}.auth-page .auth-terms input{display:inline-block;width:18px;min-height:18px;height:18px;flex-shrink:0;margin-top:3px;padding:0!important}.auth-page .switch{padding-top:20px;font-size:14px}.auth-page .legal,.auth-page .footer-note{font-size:11px;line-height:1.6;color:#718079;margin-top:16px}.auth-page .notice{padding:12px;border-radius:8px;font-size:13px}.auth-page .notice.good{background:#e8f8ef;color:#006b44}.auth-page .notice.bad{background:#fff0ed;color:#9c3024}.auth-page .codex-primary{width:100%;cursor:pointer}.auth-page .form p{font-size:12px;line-height:1.6;margin:0}
.photo{position:relative}.photo-link{position:absolute!important;inset:0!important;z-index:1;pointer-events:auto!important}.photo .favorite{z-index:2}.search-page .photo{display:block;position:relative}.search-page .photo-wrap{position:relative}
.property-photo-grid{display:grid;grid-template-columns:2fr 1fr;gap:8px;height:430px;margin-bottom:22px;border-radius:16px;overflow:hidden}.property-photo-grid button{border:0;padding:0;cursor:pointer;background:#e5ece8;position:relative;min-width:0;min-height:0}.property-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.property-photo-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:8px}.property-photo-previews:empty{display:none}.property-photo-grid:has(.property-photo-previews:empty){grid-template-columns:1fr}.gallery-count{position:absolute;bottom:16px;right:16px;background:#fff;color:#143c2a;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:700;box-shadow:0 2px 8px #0003}.property-lightbox{background:#111816;color:white;border:0;width:96vw;max-width:1400px;height:94dvh;max-height:94dvh;padding:16px;border-radius:12px}.property-lightbox::backdrop{background:#000c}.property-lightbox button{cursor:pointer;border:1px solid #ffffff50;background:#26342f;color:white;border-radius:8px;padding:10px 16px}.lightbox-top{display:flex;align-items:center;justify-content:space-between;height:44px}.lightbox-stage{height:calc(100% - 150px);position:relative;display:flex;align-items:center;justify-content:center}.lightbox-stage>img{max-width:100%;max-height:100%;object-fit:contain}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);font-size:28px}.gallery-prev{left:0}.gallery-next{right:0}.lightbox-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:12px 0;height:94px}.lightbox-thumbnails button{padding:0;flex:0 0 88px;overflow:hidden}.lightbox-thumbnails img{height:100%;width:100%;object-fit:cover}.lightbox-thumbnails .active{outline:3px solid #20be7b;outline-offset:-3px}button:focus-visible,a:focus-visible{outline:3px solid #009e63;outline-offset:2px}
@media(max-width:768px){.auth-page .codex-page{padding:24px 16px}.auth-page .codex-card-body{padding:20px}.auth-page .codex-brand{font-size:18px!important}.auth-page .codex-user{font-size:12px}.content .cards,.search-page .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.content .card,.search-page .card{display:block!important;min-width:0;min-height:0;overflow:hidden}.content .photo,.search-page .photo{height:140px!important;min-height:0!important}.content .card-body,.search-page .body{padding:10px!important}.content .price,.search-page .price{font-size:14px!important;overflow-wrap:anywhere}.content .title,.search-page .title{font-size:12px!important;line-height:1.4;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-page .loc{font-size:10px}.search-page .specs,.content .specs{gap:4px;flex-wrap:wrap}.search-page .spec{font-size:9px;padding:3px 5px}.search-page .photo .badge{font-size:9px;padding:5px;max-width:calc(100% - 12px)}.search-page .compare-toggle{font-size:9px;padding:5px}.search-page .page{padding:16px}.mobile-discovery{padding-top:14px}.mobile-promos{gap:10px}.mobile-promos a{flex-basis:120px;min-height:88px;font-size:12px}.mobile-promos a>span{font-size:36px}.mobile-recommendations{margin-top:14px}.recommendation-track img{height:94px}.mobile-category-grid{gap:14px 8px;padding:16px 14px}.hero .hero-inner{padding-top:22px!important}.hero{min-height:150px!important}.property-photo-grid{height:260px;grid-template-columns:1fr}.property-photo-previews{display:none}.property-detail-page .meta{grid-template-columns:repeat(2,minmax(0,1fr))}.property-detail-page .panel{padding:16px}.property-detail-page .similar{grid-template-columns:repeat(2,minmax(0,1fr))}.property-detail-page .mini-img{height:130px}.property-lightbox{width:100vw;height:100dvh;max-height:100dvh;max-width:100vw;border-radius:0;padding:10px}.lightbox-stage{height:calc(100% - 145px)}}
@media(max-width:768px){.content .cards .badge,.content .cards .spec,.content .cards .location,.content .cards .favorite{font-size:10px!important}.content .card-body .badges{gap:4px;margin-bottom:6px}.content .cards .card-body .badge{padding:3px 5px}.mobile-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.mobile-category-grid button{font-size:11px!important}.mobile-category-grid button>span{height:56px!important}.content .cards .spec{padding:3px 4px}.content .cards .favorite{width:34px;height:34px}}

/* Hide the diaspora investor invitation on mobile. */
@media(max-width:768px){.investor-gateway{display:none}}

/* Two-column mobile property cards with images filling each card. */
@media(max-width:768px){
 .content .cards,.search-page .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .content .cards .card,.search-page .cards .card{width:100%;min-width:0}
 .content .cards .photo,.search-page .cards .photo{width:100%!important;height:auto!important;aspect-ratio:16/10;background-size:cover;background-position:center}
 .content .cards .card-body,.search-page .cards .body{padding:10px!important}
 .content .cards .price,.search-page .cards .price{font-size:14px!important}
 .content .cards .title,.search-page .cards .title{font-size:12px!important}
}
