.community-travel-page{display:grid;gap:22px;min-width:0;--portal-card:var(--app-surface,var(--card,#fff));--portal-soft:var(--app-surface-subtle,var(--card2,#f5f6f8));--portal-border:var(--app-border,var(--line,#dfe3e8));--portal-muted:var(--app-text-muted,var(--app-text-secondary,var(--muted,#68707e)))}
.community-travel-page a{text-underline-offset:2px}
.community-travel-eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--app-accent);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.community-travel-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px;overflow:visible}
.community-travel-hero-copy{min-width:0;max-width:760px}
.community-travel-hero h1{margin:0 0 7px;font-size:clamp(1.8rem,4vw,2.75rem);line-height:1.06}
.community-travel-hero p{margin:0;color:var(--app-text-muted);font-size:1rem;line-height:1.55}
.community-travel-hero-compact{align-items:center}
.community-travel-hero-compact h1{font-size:clamp(1.65rem,3vw,2.3rem)}
.community-travel-hero-actions{display:flex;gap:9px;align-items:center;justify-content:flex-end;flex-wrap:wrap;flex:0 0 auto}
.community-travel-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:18px;padding:7px 7px 7px 13px;border:1px solid var(--app-border);border-radius:14px;background:var(--app-surface)}
.community-travel-search>span{display:flex;color:var(--app-text-muted)}
.community-travel-search>span svg{width:20px;height:20px}
.community-travel-search input{width:100%;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:0;padding:8px 2px}
.community-travel-section{display:grid;gap:14px;min-width:0}
.community-travel-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.community-travel-section-head h2{margin:0 0 3px;font-size:clamp(1.18rem,2vw,1.42rem)}
.community-travel-section-head p{margin:0;color:var(--app-text-muted);font-size:.9rem;line-height:1.45}
.community-travel-subheading{margin:4px 0 -2px;font-size:1rem}
.community-travel-place-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:15px}
.community-travel-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.community-travel-destination-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:15px}
.community-travel-place-card,.community-travel-destination-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}
.community-travel-place-card:hover,.community-travel-destination-card:hover{transform:translateY(-2px);box-shadow:var(--app-shadow,0 8px 24px rgba(0,0,0,.08))}
.community-travel-card-media{position:relative;display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;background:var(--app-surface-subtle);color:var(--app-text-muted)}
.community-travel-destination-card .community-travel-card-media{aspect-ratio:16/10}
.community-travel-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.community-travel-card-media>span svg{width:42px;height:42px}
.community-travel-card-body{display:grid;gap:6px;padding:14px 15px 16px;min-width:0}
.community-travel-card-body h2,.community-travel-card-body h3{margin:0;font-size:1.04rem;line-height:1.3;color:var(--app-text)}
.community-travel-card-body h2 a,.community-travel-card-body h3 a{text-decoration:none;color:inherit}
.community-travel-card-body>p{margin:0;color:var(--app-text-muted);font-size:.88rem;line-height:1.45}
.community-travel-card-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--app-text-muted);font-size:.8rem;font-weight:650}
.community-travel-location-line{display:flex;align-items:flex-start;gap:5px;color:var(--app-text-muted);font-size:.86rem;line-height:1.35}
.community-travel-location-line svg{width:15px;height:15px;flex:0 0 15px;margin-top:1px}
.community-travel-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.community-travel-category-card{display:flex;align-items:center;gap:11px;padding:14px;text-decoration:none;color:inherit;min-width:0}
.community-travel-category-card>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:var(--app-surface-subtle);color:var(--app-accent)}
.community-travel-category-card>span svg{width:21px;height:21px}
.community-travel-category-card strong{display:block;line-height:1.2}
.community-travel-category-card small{display:block;margin-top:3px;color:var(--app-text-muted)}
.community-travel-callout{display:flex;align-items:center;gap:14px;padding:17px;overflow:visible}
.community-travel-callout>span{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:var(--app-surface-subtle);color:var(--app-accent)}
.community-travel-callout>span svg{width:23px;height:23px}
.community-travel-callout>div{min-width:0;flex:1}.community-travel-callout strong{display:block;margin-bottom:2px}.community-travel-callout p{margin:0;color:var(--app-text-muted);font-size:.9rem}
.community-travel-empty{padding:28px;text-align:center}.community-travel-empty h2,.community-travel-empty h3{margin:0 0 6px}.community-travel-empty p{margin:0 auto 14px;max-width:660px;color:var(--app-text-muted)}
.community-travel-pagination{display:flex;justify-content:center;gap:9px;padding:4px 0 10px}
.community-travel-event-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}

/* Local discovery / Geoapify picker. */
.community-travel-near-controls{position:relative;z-index:70;padding:16px;overflow:visible!important}
.community-travel-near-form{position:relative;z-index:71;display:grid;grid-template-columns:minmax(300px,2fr) repeat(3,minmax(130px,.65fr)) auto;gap:11px;align-items:end;overflow:visible}
.community-travel-near-form>label,.community-travel-location-picker>label{display:grid;gap:6px}
.community-travel-near-form label>span,.community-travel-place-form label>span{font-size:.8rem;font-weight:750;color:var(--app-text-muted)}
.community-travel-near-form input,.community-travel-near-form select{width:100%}
.community-travel-location-picker{position:relative;z-index:72;min-width:0;overflow:visible}
.community-travel-location-picker>label,.community-travel-location-picker .community-location-input-row,.community-travel-location-picker .community-location-combobox{overflow:visible}
.community-travel-location-picker .community-location-input-row{display:flex;gap:8px;align-items:stretch}
.community-travel-location-picker .community-location-combobox{position:relative;min-width:0;flex:1}
.community-travel-location-picker [data-location-input]{width:100%}
.community-travel-location-picker .community-location-results{position:absolute;z-index:1200;top:calc(100% + 5px);left:0;right:0;max-height:300px;overflow:auto;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface);box-shadow:0 14px 34px rgba(0,0,0,.2)}
.community-travel-location-picker .community-location-result{display:grid;width:100%;gap:2px;padding:10px 12px;border:0;border-bottom:1px solid var(--app-border);background:transparent;color:inherit;text-align:left;cursor:pointer}
.community-travel-location-picker .community-location-result:last-child{border-bottom:0}
.community-travel-location-picker .community-location-result:hover,.community-travel-location-picker .community-location-result.is-active{background:var(--app-surface-subtle)}
.community-travel-location-picker .community-location-result span{color:var(--app-text-muted);font-size:.82rem}
.community-travel-location-picker .community-location-status{margin:6px 0 0;color:var(--app-text-muted);font-size:.8rem;line-height:1.4}
.community-travel-location-picker .community-location-status.is-error{color:var(--app-danger,#b42318)}

/* Destination guide. */
.community-travel-destination-page{display:grid;gap:22px}
.community-travel-destination-hero{position:relative;min-height:300px;overflow:hidden;background:linear-gradient(135deg,var(--app-surface-subtle),var(--app-surface));isolation:isolate}
.community-travel-destination-hero.has-image{background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.22)),var(--travel-hero-image);background-size:cover;background-position:center}
.community-travel-destination-overlay{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;width:100%;min-height:300px;padding:28px}
.community-travel-destination-overlay>div:first-child{max-width:760px}
.community-travel-destination-hero h1{margin:0 0 7px;font-size:clamp(2rem,5vw,3.35rem);line-height:1.02}
.community-travel-destination-hero p{margin:0;max-width:720px;color:var(--app-text-muted);font-size:1rem;line-height:1.55}
.community-travel-destination-hero.has-image,.community-travel-destination-hero.has-image h1,.community-travel-destination-hero.has-image .community-travel-eyebrow{color:#fff}
.community-travel-destination-hero.has-image p,.community-travel-destination-hero.has-image .community-travel-destination-stats{color:rgba(255,255,255,.86)}
.community-travel-destination-stats{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px;color:var(--app-text-muted);font-size:.86rem;font-weight:700}
.community-travel-destination-stats span{display:inline-flex;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--app-surface-subtle) 86%,transparent)}
.community-travel-destination-hero.has-image .community-travel-destination-stats span{background:rgba(0,0,0,.35)}
.community-travel-category-tabs{display:flex;gap:7px;overflow:auto;padding:3px 1px 6px;scrollbar-width:thin}
.community-travel-category-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-surface);color:inherit;text-decoration:none;white-space:nowrap;font-size:.85rem;font-weight:700}
.community-travel-category-tabs a.is-active{border-color:var(--app-accent);background:var(--app-accent);color:var(--app-accent-contrast,#fff)}
.community-travel-inline-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.community-travel-inline-filter label{display:flex;align-items:center;gap:7px;color:var(--app-text-muted);font-size:.84rem;font-weight:700}.community-travel-inline-filter select{min-width:140px}
.community-travel-guide-copy{padding:20px;line-height:1.65}.community-travel-guide-copy h2{margin:0 0 10px}.community-travel-guide-copy p:first-child{margin-top:0}.community-travel-guide-copy p:last-child{margin-bottom:0}
.community-travel-community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:11px}
.community-travel-community-card{display:flex;align-items:center;gap:11px;padding:12px;text-decoration:none;color:inherit;min-width:0}
.community-travel-community-card img{width:48px;height:48px;flex:0 0 48px;border-radius:50%;object-fit:cover;background:var(--app-surface-subtle)}
.community-travel-community-card>div{min-width:0}.community-travel-community-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-travel-community-card small{display:block;margin-top:3px;color:var(--app-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Place profile. */
.community-travel-place-page{display:grid;gap:18px}
.community-travel-place-hero{overflow:hidden}
.community-travel-place-cover{display:grid;place-items:center;aspect-ratio:21/8;overflow:hidden;background:var(--app-surface-subtle);color:var(--app-text-muted)}
.community-travel-place-cover img{display:block;width:100%;height:100%;object-fit:cover}
.community-travel-place-cover>span svg{width:54px;height:54px}
.community-travel-place-hero-body{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:20px}
.community-travel-place-hero-body h1{margin:0 0 6px;font-size:clamp(1.75rem,3.5vw,2.55rem);line-height:1.08}
.community-travel-place-address{display:flex;align-items:center;gap:6px;margin:0;color:var(--app-text-muted)}
.community-travel-place-address svg{width:17px;height:17px}
.community-travel-place-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;color:var(--app-text-muted);font-size:.84rem;font-weight:700}
.community-travel-place-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,330px);gap:18px;align-items:start}
.community-travel-place-main,.community-travel-place-side{display:grid;gap:16px;min-width:0;align-content:start}
.community-travel-place-side{position:sticky;top:82px}
.community-travel-place-about{padding:20px;line-height:1.65}.community-travel-place-about h2{margin:0 0 10px}.community-travel-place-about p{white-space:pre-wrap}
.community-travel-place-facts,.community-travel-claim,.community-travel-contribute,.community-travel-linked-page{padding:17px}
.community-travel-place-facts h2,.community-travel-claim h2,.community-travel-contribute h2,.community-travel-linked-page h2{margin:0 0 12px;font-size:1.06rem}
.community-travel-place-facts>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;padding:9px 0;border-bottom:1px solid var(--app-border)}
.community-travel-place-facts>div:last-child{border-bottom:0}.community-travel-place-facts>div>span{color:var(--app-accent)}.community-travel-place-facts svg{width:19px;height:19px}.community-travel-place-facts p{margin:0}.community-travel-place-facts strong,.community-travel-place-facts small{display:block}.community-travel-place-facts small{margin-top:2px;color:var(--app-text-muted);line-height:1.4;overflow-wrap:anywhere}
.community-travel-claim p,.community-travel-contribute p,.community-travel-linked-page p{margin:0 0 12px;color:var(--app-text-muted);line-height:1.5;font-size:.9rem}
.community-travel-claim form,.community-travel-contribute form{display:grid;gap:10px}.community-travel-claim label,.community-travel-contribute label{display:grid;gap:6px}.community-travel-claim label>span,.community-travel-contribute label>span{font-size:.8rem;font-weight:750;color:var(--app-text-muted)}.community-travel-claim select,.community-travel-claim textarea,.community-travel-contribute input,.community-travel-contribute textarea{width:100%}.community-travel-claim textarea,.community-travel-contribute textarea{min-height:84px;resize:vertical}
.community-travel-small-note{margin-top:9px!important;font-size:.8rem!important}
.community-travel-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.community-travel-photo-grid figure{margin:0;overflow:hidden;border:1px solid var(--app-border);border-radius:12px;background:var(--app-surface)}
.community-travel-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.community-travel-photo-grid figcaption{padding:8px 9px;color:var(--app-text-muted);font-size:.8rem;line-height:1.4}

/* Add-place form. */
.community-travel-place-form{position:relative;padding:20px;overflow:visible!important}
.community-travel-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;overflow:visible}
.community-travel-form-grid>label{display:grid;gap:6px}.community-travel-form-grid .is-full{grid-column:1/-1}.community-travel-place-form input,.community-travel-place-form select,.community-travel-place-form textarea{width:100%}.community-travel-place-form textarea{resize:vertical}
.community-travel-form-actions{display:flex;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid var(--app-border)}

@media(max-width:1050px){
  .community-travel-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .community-travel-near-form{grid-template-columns:1fr 1fr 1fr}.community-travel-location-picker{grid-column:1/-1}.community-travel-near-form>.community-btn{justify-self:start}
  .community-travel-destination-overlay{align-items:flex-start;flex-direction:column;justify-content:flex-end}
}
@media(max-width:820px){
  .community-travel-hero,.community-travel-place-hero-body{align-items:flex-start;flex-direction:column}.community-travel-hero-actions{justify-content:flex-start}
  .community-travel-place-layout{grid-template-columns:1fr}.community-travel-place-side{position:static}
  .community-travel-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .community-travel-page{gap:17px}.community-travel-hero{padding:19px}.community-travel-hero-actions{width:100%}.community-travel-hero-actions .community-btn{flex:1 1 auto}
  .community-travel-search{grid-template-columns:auto minmax(0,1fr);padding-right:10px}.community-travel-search .community-btn{grid-column:1/-1;width:100%}
  .community-travel-section-head{align-items:flex-start;flex-direction:column}.community-travel-section-head>.community-btn{width:100%}
  .community-travel-preview-grid,.community-travel-place-grid,.community-travel-destination-grid{grid-template-columns:1fr}
  .community-travel-callout{align-items:flex-start;flex-wrap:wrap}.community-travel-callout .community-btn{width:100%}
  .community-travel-near-form{grid-template-columns:1fr}.community-travel-location-picker{grid-column:auto}.community-travel-location-picker .community-location-input-row{flex-direction:column}.community-travel-near-form>.community-btn{width:100%}
  .community-travel-destination-hero,.community-travel-destination-overlay{min-height:260px}.community-travel-destination-overlay{padding:20px}
  .community-travel-form-grid{grid-template-columns:1fr}.community-travel-form-grid .is-full{grid-column:auto}.community-travel-form-actions .community-btn{width:100%}
  .community-travel-photo-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){.community-travel-photo-grid{grid-template-columns:1fr}.community-travel-community-grid{grid-template-columns:1fr}.community-travel-category-grid{grid-template-columns:1fr 1fr}.community-travel-category-card{padding:11px}.community-travel-category-card>span{width:36px;height:36px;flex-basis:36px}}
.community-travel-destination-search{display:grid;grid-template-columns:minmax(260px,1fr) minmax(150px,220px) auto auto;gap:11px;align-items:end}
.community-travel-destination-search label{display:grid;gap:6px}.community-travel-destination-search label>span{font-size:.8rem;font-weight:750;color:var(--app-text-muted)}.community-travel-destination-search input,.community-travel-destination-search select{width:100%}
@media(max-width:760px){.community-travel-destination-search{grid-template-columns:1fr 1fr}.community-travel-destination-search label:first-child{grid-column:1/-1}}
@media(max-width:520px){.community-travel-destination-search{grid-template-columns:1fr}.community-travel-destination-search label:first-child{grid-column:auto}.community-travel-destination-search .community-btn{width:100%}}

/* Gay.us Places v4.0.830 — rich Place profiles */
.community-places-place-page{min-width:0}
.places-place-hero{overflow:hidden;padding:0;margin-bottom:18px}
.places-place-gallery{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(180px,.7fr);grid-template-rows:repeat(2,minmax(145px,220px));gap:4px;background:var(--portal-soft,#eef1f5);min-height:330px}
.places-place-gallery-item{display:block;overflow:hidden;min-width:0;background:var(--portal-soft,#eef1f5)}
.places-place-gallery-item.is-primary{grid-row:1 / -1}
.places-place-gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .22s ease}
.places-place-gallery-item:hover img{transform:scale(1.015)}
.places-place-gallery-count-1{display:block;min-height:360px}
.places-place-gallery-count-1 .places-place-gallery-item{height:420px}
.places-place-gallery-count-2{grid-template-columns:2fr 1fr;grid-template-rows:1fr}
.places-place-gallery-count-2 .places-place-gallery-item{grid-row:auto;min-height:360px}
.places-place-gallery-count-3 .places-place-gallery-item:nth-child(2),.places-place-gallery-count-3 .places-place-gallery-item:nth-child(3){min-height:0}
.places-place-gallery-count-4,.places-place-gallery-count-5{grid-template-columns:minmax(0,1.65fr) repeat(2,minmax(145px,.55fr))}
.places-place-gallery-count-4 .places-place-gallery-item.is-primary,.places-place-gallery-count-5 .places-place-gallery-item.is-primary{grid-row:1 / -1}
.places-place-gallery-empty{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--portal-muted,#68707e);font-size:20px}
.places-place-gallery-empty span{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:var(--portal-soft,#eef1f5)}
.places-place-hero-body{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:24px}
.places-place-heading{min-width:0;flex:1}
.places-place-kickers{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px;font-size:13px;font-weight:700}
.places-place-kickers>a{color:var(--accent-color,#6d4aff);text-decoration:none}
.places-verified-badge,.places-operating-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent-color,#6d4aff) 12%,transparent);color:var(--accent-color,#6d4aff);font-size:12px;font-weight:800}
.places-operating-badge.is-warning{background:rgba(184,105,19,.12);color:#a55c0a}
.places-place-heading h1{margin:0;font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:-.035em}
.places-place-tagline{margin:10px 0 0;font-size:18px;color:var(--portal-muted,#68707e);max-width:780px}
.places-place-summary-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.places-rating-summary{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none}
.places-rating-summary>strong{font-size:18px}
.places-rating-summary>span,.places-review-score>span,.places-review-stars{letter-spacing:1px;color:#db8b00}
.places-rating-summary small{color:var(--portal-muted,#68707e)}
.places-open-state{display:inline-flex;align-items:baseline;gap:6px;font-size:13px;color:var(--portal-muted,#68707e)}
.places-open-state strong,.places-open-state.is-open{color:#16834a}
.places-open-state.is-closed strong,.places-open-state.is-closed{color:#a04736}
.places-open-state small{color:var(--portal-muted,#68707e)}
.places-price{font-weight:800;letter-spacing:2px;color:var(--portal-muted,#68707e)}
.places-place-location-line{margin:12px 0 0;display:flex;align-items:center;gap:6px;color:var(--portal-muted,#68707e)}
.places-place-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:460px}
.places-place-actions form{margin:0}
.places-place-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.places-place-main,.places-place-side{display:grid;gap:18px;min-width:0}
.places-place-side{position:sticky;top:84px}
.places-place-section{padding:22px}
.places-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.places-section-title h2{margin:2px 0 0;font-size:23px;letter-spacing:-.02em}
.places-section-title p{margin:5px 0 0;color:var(--portal-muted,#68707e)}
.places-prose{font-size:16px;line-height:1.65;overflow-wrap:anywhere}
.places-category-chips,.places-feature-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.places-category-chips span,.places-feature-chip{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid var(--portal-border,#dfe3e8);border-radius:999px;background:var(--portal-soft,#f5f6f8);font-size:13px;font-weight:700}
.places-feature-chip.is-pride{border-color:color-mix(in srgb,var(--accent-color,#6d4aff) 28%,var(--portal-border,#dfe3e8));background:color-mix(in srgb,var(--accent-color,#6d4aff) 8%,var(--portal-card,#fff))}
.places-feature-chip.is-accessible{background:color-mix(in srgb,#1676c5 8%,var(--portal-card,#fff));border-color:color-mix(in srgb,#1676c5 25%,var(--portal-border,#dfe3e8))}
.places-feature-group+.places-feature-group{margin-top:22px}
.places-feature-group h3{margin:0;font-size:15px}
.places-linked-page{display:flex;align-items:center;justify-content:space-between;gap:20px}
.places-linked-page h2{margin:3px 0 5px}
.places-linked-page p{margin:0;color:var(--portal-muted,#68707e)}
.places-review-overview{display:grid;grid-template-columns:180px minmax(0,360px);gap:28px;align-items:center;padding:5px 0 22px;border-bottom:1px solid var(--portal-border,#e1e4e8)}
.places-review-score{display:flex;flex-direction:column;align-items:flex-start}
.places-review-score>strong{font-size:48px;line-height:1;font-weight:800;letter-spacing:-.04em}
.places-review-score>span{font-size:19px;margin-top:7px}
.places-review-score>small{margin-top:5px;color:var(--portal-muted,#68707e)}
.places-rating-bars{display:grid;gap:7px}
.places-rating-bars>div{display:grid;grid-template-columns:42px minmax(120px,1fr) 28px;align-items:center;gap:9px;font-size:12px;color:var(--portal-muted,#68707e)}
.places-rating-bars i{display:block;height:8px;border-radius:999px;background:var(--portal-soft,#eef1f5);overflow:hidden}
.places-rating-bars b{display:block;height:100%;border-radius:inherit;background:#db8b00}
.places-review-form{margin-top:22px;padding:18px;border-radius:16px;background:var(--portal-soft,#f6f7f9)}
.places-review-form h3{margin:0 0 12px}
.places-star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px;border:0;padding:0;margin:0 0 15px}
.places-star-input legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.places-star-input input{position:absolute;opacity:0;pointer-events:none}
.places-star-input label{font-size:31px;line-height:1;color:#b8bdc5;cursor:pointer;transition:color .15s ease,transform .15s ease}
.places-star-input label:hover,.places-star-input label:hover~label,.places-star-input input:checked~label{color:#db8b00}
.places-star-input label:hover{transform:translateY(-1px)}
.places-review-fields{display:grid;grid-template-columns:1fr 220px;gap:12px;margin-bottom:14px}
.places-review-fields label{display:grid;gap:6px;font-size:13px;font-weight:700}
.places-review-fields .is-full{grid-column:1/-1}
.places-review-fields input,.places-review-fields textarea{width:100%;box-sizing:border-box}
.places-review-signin{padding:18px 0 4px}
.places-review-list{display:grid;gap:0;margin-top:24px}
.places-review-card{padding:20px 0;border-top:1px solid var(--portal-border,#e1e4e8)}
.places-review-card:first-child{border-top:0}
.places-review-card header{display:flex;align-items:center;justify-content:space-between;gap:15px}
.places-review-author{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.places-review-author img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--portal-soft,#eef1f5)}
.places-review-author span{display:grid;gap:2px}
.places-review-author small{color:var(--portal-muted,#68707e);font-size:12px}
.places-review-card h3{margin:12px 0 6px;font-size:17px}
.places-review-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;color:var(--portal-muted,#68707e)}
.places-review-card footer form{margin:0}
.places-helpful-btn{border:1px solid var(--portal-border,#dfe3e8);border-radius:999px;background:var(--portal-card,#fff);color:inherit;padding:6px 10px;cursor:pointer;font:inherit;font-size:12px;font-weight:700}
.places-helpful-btn.is-active{border-color:var(--accent-color,#6d4aff);color:var(--accent-color,#6d4aff);background:color-mix(in srgb,var(--accent-color,#6d4aff) 7%,var(--portal-card,#fff))}
.places-empty-copy{color:var(--portal-muted,#68707e)}
.places-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.places-photo-grid figure{margin:0;overflow:hidden;border-radius:12px;background:var(--portal-soft,#eef1f5)}
.places-photo-grid a{display:block;aspect-ratio:4/3;overflow:hidden}
.places-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}
.places-photo-grid figcaption{padding:8px 10px;font-size:12px;color:var(--portal-muted,#68707e)}
.places-photo-contribute{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) minmax(150px,1fr) auto;align-items:end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--portal-border,#e1e4e8)}
.places-photo-contribute>div{display:grid;gap:2px}
.places-photo-contribute small{color:var(--portal-muted,#68707e)}
.places-map-card{overflow:hidden;padding:0}
.places-map-card iframe{display:block;width:100%;height:240px;border:0;background:var(--portal-soft,#eef1f5)}
.places-map-body{padding:16px;display:grid;gap:9px}
.places-map-body p{margin:0;color:var(--portal-muted,#68707e);font-size:13px;line-height:1.45}
.places-side-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.places-side-heading h2,.places-hours-card h2,.places-contact-card h2,.places-claim-card h2{margin:0;font-size:18px}
.places-hours-card,.places-contact-card,.places-claim-card{padding:17px}
.places-hours-list{display:grid;gap:0}
.places-hours-list>div{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:8px 6px;border-radius:8px;font-size:13px}
.places-hours-list>div.is-today{background:var(--portal-soft,#f5f6f8)}
.places-hours-list span{text-align:right;color:var(--portal-muted,#68707e)}
.places-hours-note{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--portal-border,#e1e4e8);font-size:12px;color:var(--portal-muted,#68707e);line-height:1.45}
.places-contact-list{display:grid;margin-top:10px}
.places-contact-list a{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--portal-border,#e1e4e8);color:inherit;text-decoration:none}
.places-contact-list a:first-child{border-top:0}
.places-contact-list a span{color:var(--portal-muted,#68707e);font-size:12px;overflow-wrap:anywhere}
.places-contact-list a:hover strong{color:var(--accent-color,#6d4aff)}
.places-claim-card p{color:var(--portal-muted,#68707e);font-size:13px;line-height:1.5}
.places-claim-card form{display:grid;gap:9px}
.places-claim-card label{display:grid;gap:5px;font-size:12px;font-weight:700}
.places-claim-card textarea{min-height:80px}
.places-small-note{font-size:12px!important}

@media(max-width:1050px){.places-place-layout{grid-template-columns:minmax(0,1fr) 300px}.places-place-gallery-count-4,.places-place-gallery-count-5{grid-template-columns:minmax(0,1.6fr) minmax(150px,.7fr)}}
@media(max-width:820px){.places-place-layout{grid-template-columns:1fr}.places-place-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.places-map-card{grid-column:1/-1}.places-place-hero-body{align-items:flex-start;flex-direction:column}.places-place-actions{justify-content:flex-start;max-width:none}.places-review-overview{grid-template-columns:150px 1fr}.places-photo-contribute{grid-template-columns:1fr 1fr}.places-photo-contribute>div{grid-column:1/-1}}
@media(max-width:620px){.places-place-gallery{grid-template-columns:2fr 1fr;grid-template-rows:repeat(2,120px);min-height:244px}.places-place-gallery-count-1{min-height:250px}.places-place-gallery-count-1 .places-place-gallery-item{height:280px}.places-place-gallery-count-2 .places-place-gallery-item{min-height:250px}.places-place-gallery-count-4 .places-place-gallery-item:nth-child(n+4),.places-place-gallery-count-5 .places-place-gallery-item:nth-child(n+4){display:none}.places-place-hero-body{padding:18px}.places-place-heading h1{font-size:32px}.places-place-tagline{font-size:16px}.places-place-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.places-place-actions form,.places-place-actions .community-btn{width:100%;box-sizing:border-box}.places-place-section{padding:17px}.places-place-side{grid-template-columns:1fr}.places-map-card{grid-column:auto}.places-review-overview{grid-template-columns:1fr;gap:16px}.places-review-score>strong{font-size:40px}.places-review-fields{grid-template-columns:1fr}.places-review-fields .is-full{grid-column:auto}.places-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.places-photo-contribute{grid-template-columns:1fr}.places-review-card header{align-items:flex-start;flex-direction:column}.places-review-card footer{align-items:flex-start;flex-direction:column}.places-linked-page{align-items:flex-start;flex-direction:column}}
.places-review-form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* v832: Places reviews and rich profile controls follow the active Gay.us theme. */
.community-travel-page .places-review-form{background:var(--app-surface-subtle,var(--card2,#f6f7f9));color:var(--app-text,var(--text,#1c1e21))}
.community-travel-page .places-review-fields input,.community-travel-page .places-review-fields textarea{border-color:var(--app-border,var(--line,#dfe3e8))!important;background:var(--app-surface,var(--card,#fff))!important;color:var(--app-text,var(--text,#1c1e21))!important}
.community-travel-page .places-review-fields input::placeholder,.community-travel-page .places-review-fields textarea::placeholder{color:var(--app-text-tertiary,var(--muted,#8a919c))!important;opacity:1}
.community-travel-page .places-review-card{color:var(--app-text,var(--text,#1c1e21));border-color:var(--app-border,var(--line,#dfe3e8))}
.community-travel-page .places-review-author small,.community-travel-page .places-review-card footer,.community-travel-page .places-review-score>small,.community-travel-page .places-rating-bars>div{color:var(--app-text-muted,var(--app-text-secondary,var(--muted,#68707e)))}
.community-travel-page .places-helpful-btn{border-color:var(--app-border,var(--line,#dfe3e8));background:var(--app-surface,var(--card,#fff));color:var(--app-text,var(--text,#1c1e21))}
.community-travel-page .places-helpful-btn:hover{background:var(--app-surface-hover,var(--card2,#f1f3f6))}
.community-travel-page .places-helpful-btn.is-active{background:var(--app-accent-soft,color-mix(in srgb,var(--app-accent,#6d4aff) 10%,var(--app-surface,#fff)));border-color:var(--app-accent,var(--accent-color,#6d4aff));color:var(--app-accent,var(--accent-color,#6d4aff))}
.community-travel-page .places-category-chips span,.community-travel-page .places-feature-chip,.community-travel-page .places-hours-list>div.is-today,.community-travel-page .places-photo-grid figure,.community-travel-page .places-review-author img,.community-travel-page .places-rating-bars i{background-color:var(--app-surface-subtle,var(--card2,#eef1f5))}
.community-travel-page .places-map-card iframe{background:var(--app-surface-subtle,var(--card2,#eef1f5))}
