/* KAZ.HOLIDAY homepage: existing platform blocks in the approved sidebar layout. */
.premium-home {
  --home-sidebar: 216px;
  margin: 0;
  padding-left: var(--home-sidebar);
  font-size: 15px;
  line-height: 1.5;
  color: #f8fafc;
  overflow-x: clip;
}
.premium-home * {
  box-sizing: border-box;
}
.premium-home a {
  text-decoration: none;
  color: inherit;
}
.premium-home img {
  display: block;
  max-width: 100%;
}
.premium-home button {
  cursor: pointer;
  font: inherit;
}
.premium-home [hidden] {
  display: none !important;
}
.premium-home h1,
.premium-home h2,
.premium-home h3,
.premium-home p {
  margin-top: 0;
}
.premium-home h1 {
  font-size: 26px;
  margin-bottom: 20px;
}
.premium-home h2 {
  font-size: 23px;
  line-height: 1.25;
  margin: 0;
}
.premium-home h3 {
  font-size: 17px;
  margin-bottom: 8px;
}
.premium-home p {
  color: #a9b8cd;
}
.premium-home input,
.premium-home select,
.premium-home textarea {
  font: inherit;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  max-width: 100%;
}
.premium-home .platform-sidebar {
  width: var(--home-sidebar);
  position: fixed;
  inset: 0 auto 0 0;
  overflow-y: auto;
  z-index: 70;
  padding: 22px 14px;
  border-right: 1px solid #ffffff0d;
}
.platform-brand {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 2px 8px 22px;
}
.platform-mark {
  width: 20px;
  height: 20px;
  display: block;
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.platform-brand-copy strong {
  font-size: 19px;
}
.platform-brand-copy small {
  display: block;
  color: #64748b;
  font-size: 12px;
}
.platform-section {
  padding: 16px 0;
  border-top: 1px solid #ffffff0d;
}
.platform-section-title {
  font-size: 12px;
  color: #718096;
  margin: 0 10px 10px;
  display: flex;
  justify-content: space-between;
}
.platform-menu {
  display: grid;
  gap: 3px;
}
.platform-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  font-size: 14px;
}
.platform-menu i {
  width: 18px;
  color: #93a6bf;
  font-style: normal;
  text-align: center;
}
.platform-menu a:hover {
  color: #fbbf24;
}
.premium-card {
  padding: 15px;
  font-size: 13px;
}
.premium-card p {
  font-size: 12px;
}
.premium-card a {
  color: #c4b5fd;
}
.ph-top {
  height: 72px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 0 32px;
  border-bottom: 1px solid #ffffff0d;
  background: #202227e8;
}
.ph-top nav {
  display: flex;
  gap: 25px;
  font-size: 14px;
  color: #a9b8cd;
}
.ph-wordmark {
  font-weight: 800;
  font-size: 18px;
  letter-spacing: 0.5px;
}
.ph-wordmark span {
  color: #fbbf24;
}
.ph-account {
  margin-left: auto;
  display: flex;
  gap: 20px;
  align-items: center;
  font-size: 13px;
}
.ph-account a {
  padding: 8px 14px;
  border: 1px solid #ffffff1a;
  border-radius: 10px;
}
.ph-menu-toggle {
  display: none;
  border: 1px solid #ffffff1a;
  background: #202227;
  color: #fff;
  border-radius: 10px;
  padding: 8px;
}
.ph-main {
  max-width: 1480px;
  padding: 30px 32px 0;
  margin: auto;
}
.ph-search {
  padding: 24px;
  background: linear-gradient(145deg, #202227, #202227);
  border: 1px solid #38bdf83b;
  border-radius: 22px;
}
.ph-search-fields {
  display: grid;
  grid-template-columns: 1fr 1.15fr 1.1fr 0.8fr 1fr auto;
  gap: 12px;
  align-items: end;
}
.ph-search label,
.ph-extra label,
.ph-dating-tools label {
  display: grid;
  gap: 7px;
  color: #94a3b8;
  font-size: 13px;
}
.ph-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 19px;
  border: 1px solid #f59e0b;
  border-radius: 12px;
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: #0f172a !important;
  font-weight: 700;
  font-size: 14px;
  text-align: center;
}
.ph-button:hover {
  filter: brightness(1.08);
}
.ph-extra {
  margin-top: 17px;
  font-size: 13px;
  color: #94a3b8;
}
.ph-extra summary,
.ph-compose-toggle summary {
  cursor: pointer;
}
.ph-extra-fields {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr 1fr;
  gap: 12px;
  margin-top: 16px;
}
.ph-stories {
  display: flex;
  gap: 22px;
  align-items: center;
  margin: 28px 0;
  overflow-x: auto;
  padding: 2px 0 6px;
}
.ph-story {
  display: grid;
  justify-items: center;
  gap: 7px;
  flex: none;
  font-size: 12px;
  color: #a9b8cd;
}
.ph-story > span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 1px solid #fbbf2470;
  font-size: 20px;
  font-weight: 700;
  background: #202227;
}
.ph-stories-all {
  margin-left: auto;
  font-size: 13px;
  white-space: nowrap;
  color: #94a3b8 !important;
}
.portrait-0 {
  background: linear-gradient(135deg, #202227, #202227) !important;
}
.portrait-1 {
  background: linear-gradient(135deg, #202227, #202227) !important;
}
.portrait-2 {
  background: linear-gradient(135deg, #202227, #202227) !important;
}
.portrait-3 {
  background: linear-gradient(135deg, #695133, #202227) !important;
}
.portrait-4 {
  background: linear-gradient(135deg, #202227, #202227) !important;
}
.ph-community {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr);
  gap: 24px;
  align-items: start;
}
.ph-community > * {
  min-width: 0;
}
.ph-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.ph-heading > a {
  font-size: 12px;
  color: #94a3b8;
  white-space: nowrap;
}
.ph-heading > a:hover {
  color: #fbbf24;
}
.ph-compose-toggle {
  padding: 14px 18px;
  background: #202227;
  border: 1px solid #ffffff14;
  border-radius: 14px;
  margin-bottom: 14px;
  color: #a9b8cd;
  font-size: 14px;
}
.composer {
  margin-top: 15px;
}
.composer-top {
  display: flex;
  align-items: start;
  gap: 12px;
}
.composer-avatar,
.post-logo {
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #202227;
  color: #fff;
  font-weight: 700;
  flex: none;
  width: 40px;
  height: 40px;
  font-size: 14px;
}
.composer-top textarea {
  min-height: 90px;
  resize: vertical;
}
.composer-bottom {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  align-items: center;
}
.media-btn {
  border: 1px solid #ffffff26;
  background: #202227;
  border-radius: 10px;
  color: #cbd5e1;
  padding: 9px 12px;
}
.publish {
  margin-left: auto;
}
.composer-success {
  display: none;
}
.composer-success.show {
  display: block;
}
.ph-feed-tabs,
.ph-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.ph-feed-tabs {
  margin-bottom: 18px;
}
.ph-feed-tabs button,
.ph-pills button {
  color: #94a3b8;
  border: 1px solid #ffffff14;
  background: #202227;
  padding: 7px 13px;
  border-radius: 9px;
  font-size: 13px;
}
.ph-feed-tabs button.active,
.ph-pills button.active {
  color: #fde68a;
  background: #f59e0b1c;
  border-color: #f59e0b70;
}
.feed-grid {
  display: grid;
  gap: 20px;
}
.premium-home .post {
  padding: 20px;
  min-width: 0;
}
.post-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
}
.post-head small {
  display: block;
  font-size: 12px;
  color: #94a3b8;
}
.official {
  margin-left: auto;
  color: #fbbf24;
  font-size: 12px;
}
.post h3 {
  font-size: 20px;
}
.post .kicker {
  font-size: 12px;
  color: #fbbf24;
}
.post-image {
  width: 100%;
  height: 290px;
  object-fit: cover;
  border-radius: 14px;
  margin: 16px 0;
}
.post-actions {
  margin-top: 15px;
}
.post-actions button {
  font-size: 13px;
  min-height: 36px;
  padding: 6px 10px;
}
.post-media-stage {
  position: relative;
}
.post-media-content {
  min-width: 0;
}
.premium-home .post-comments {
  position: static !important;
  background: transparent !important;
  max-width: 100%;
  width: auto !important;
  max-height: 420px;
  overflow-y: auto;
  box-shadow: none !important;
}
.comment-overlay-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.comments-close {
  background: transparent;
  border: 0;
  color: #94a3b8;
  font-size: 24px;
}
.premium-home .comment-item {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin: 10px 0 10px auto;
  max-width: 100%;
  align-items: center;
}
.comment-item > div:first-child {
  flex: 1;
  min-width: 0;
}
.comment-identity {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
}
.comment-identity strong {
  font-size: 12px;
}
.comment-avatar {
  width: 30px;
  height: 30px;
}
.comment-item p {
  margin: 0 0 3px;
  color: #f8fafc;
  font-size: 14px;
}
.comment-item small {
  font-size: 11px;
}
.live-comments {
  display: grid;
  gap: 8px;
}
.live-comment {
  background: #202227;
  padding: 10px;
  border-radius: 12px;
}
.ph-utility {
  display: grid;
  gap: 24px;
}
.ph-widget {
  padding: 20px;
  border: 1px solid #38bdf829;
  border-radius: 20px;
  background: #202227bf;
}
.ph-widget h2 {
  font-size: 20px;
}
.ph-widget .ph-heading > a {
  font-size: 11px;
}
.ph-muted {
  color: #94a3b8;
  font-size: 12px;
}
.ph-event {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 14px 0;
  border-bottom: 1px solid #ffffff0d;
}
.ph-event > span {
  font-size: 24px;
  font-weight: 700;
  width: 45px;
  flex: none;
  text-align: center;
  color: #fbbf24;
}
.ph-event small {
  display: block;
  font-size: 11px;
  color: #94a3b8;
}
.ph-event h3 {
  font-size: 15px;
  margin: 0 0 5px;
}
.ph-event p {
  font-size: 12px;
  margin: 0;
}
.ph-widget > small {
  display: block;
  margin-top: 12px;
}
.premium-home #weather .resort-weather-card {
  padding: 20px;
  background: #202227bf;
  border: 1px solid #38bdf829;
  border-radius: 20px;
}
.premium-home #weather h2 {
  font-size: 22px;
}
.premium-home #weather .kicker {
  color: #f8fafc;
  font-size: 19px;
  font-weight: 700;
}
.premium-home #weather .resort-weather-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-height: 310px;
  overflow-y: auto;
  padding-right: 3px;
}
.premium-home #weather .resort-weather-item {
  padding: 12px;
  min-height: 85px;
}
.premium-home #weather .resort-weather-item h3 {
  font-size: 13px;
  margin-bottom: 6px;
}
.premium-home #weather .resort-weather-item p {
  font-size: 11px;
}
.premium-home #weather .weather-country-slider {
  max-width: 100%;
  overflow-x: auto;
}
.premium-home #weather .resort-weather-footer p {
  font-size: 11px;
}
.premium-home #weather .resort-weather-heading {
  margin-bottom: 14px;
}
.premium-home #weather .resort-weather-temp {
  font-size: 23px;
}
.ph-section {
  margin-top: 32px;
  min-width: 0;
  scroll-margin-top: 20px;
}
.ph-dating-tools {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin: 0 0 18px;
}
.ph-dating-tools label {
  width: 180px;
}
.ph-dating-tools select {
  min-height: 36px;
  padding: 5px 10px;
}
.ph-people {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.ph-person {
  overflow: hidden;
  border: 1px solid #38bdf826;
  border-radius: 18px;
  background: #202227;
}
.ph-person-portrait {
  height: 150px;
  display: grid;
  place-items: center;
  font-size: 58px;
  font-weight: 500;
  color: #ffffffc9;
}
.ph-person-body {
  padding: 17px;
}
.ph-person-body p {
  font-size: 13px;
  margin-bottom: 12px;
}
.ph-person-body > p:not(.ph-city) {
  min-height: 58px;
}
.ph-person .ph-button {
  width: 100%;
  font-size: 12px;
}
.ph-badge {
  display: inline-block;
  border-radius: 999px;
  color: #93c5fd;
  background: #20222714;
  font-size: 11px;
  padding: 4px 9px;
  margin-bottom: 13px;
}
.ph-city {
  font-size: 12px !important;
}
.ph-two-sections {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.ph-mini-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.ph-photo-card {
  display: block;
  overflow: hidden;
  border: 1px solid #38bdf829;
  background: #202227;
  border-radius: 16px;
}
.ph-photo-card img {
  width: 100%;
  height: 170px;
  object-fit: cover;
}
.ph-photo-card > div {
  padding: 14px;
}
.ph-photo-card h3 {
  font-size: 15px;
  margin-bottom: 5px;
}
.ph-photo-card p {
  font-size: 12px;
  margin: 0;
}
.ph-photo-card:hover {
  border-color: #fbbf2466;
}
.ph-mini-cards .ph-photo-card img {
  height: 115px;
}
.ph-mini-cards .ph-photo-card > div {
  padding: 11px;
}
.ph-mini-cards .ph-photo-card h3 {
  font-size: 14px;
}
.ph-mini-cards .ph-photo-card p {
  font-size: 11px;
}
.ph-battle {
  display: grid;
  grid-template-columns: 1fr 38px 1fr;
  align-items: center;
  gap: 12px;
}
.ph-battle img {
  height: 190px;
}
.ph-vs {
  display: grid;
  place-items: center;
  font-size: 13px;
  color: #fbbf24;
  border: 1px solid #fbbf24;
  border-radius: 50%;
  width: 38px;
  height: 38px;
}
.ph-text-link {
  display: inline-block;
  color: #94a3b8 !important;
  font-size: 12px;
  margin-top: 12px;
}
.ph-promo {
  display: grid;
  grid-template-columns: 40% 60%;
  border: 1px solid #38bdf826;
  border-radius: 16px;
  overflow: hidden;
  background: #202227;
  min-height: 215px;
}
.ph-promo > img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.ph-promo > div {
  padding: 22px;
}
.ph-promo p {
  font-size: 13px;
}
.ph-testimonials {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.ph-testimonials article {
  padding: 18px;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  background: #202227;
}
.ph-testimonials h3 {
  font-size: 14px;
  margin-top: 10px;
}
.ph-testimonials p {
  font-size: 13px;
  margin: 0;
}
.ph-initial {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #202227;
  font-size: 16px;
  font-weight: 700;
  color: #fde68a;
}
.ph-news {
  display: grid;
  gap: 12px;
}
.ph-news a {
  display: flex;
  gap: 15px;
  align-items: center;
  background: #202227;
  border-radius: 14px;
  padding: 10px;
  font-size: 14px;
}
.ph-news img {
  width: 100px;
  height: 65px;
  object-fit: cover;
  border-radius: 9px;
}
.ph-news small {
  display: block;
  font-size: 12px;
  color: #94a3b8;
  margin-top: 6px;
}
.ph-ambassador {
  display: flex;
  gap: 15px;
  padding: 22px;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  background: #202227;
  align-items: center;
}
.ph-ambassador h3 {
  margin: 0 0 5px;
}
.ph-ambassador p {
  font-size: 13px;
  margin: 0;
}
.ph-partners {
  display: flex;
  gap: 25px;
  justify-content: space-around;
  align-items: center;
  padding: 28px 10px;
  border-top: 1px solid #ffffff0d;
  border-bottom: 1px solid #ffffff0d;
  flex-wrap: wrap;
}
.ph-partners a {
  font-size: 21px;
  letter-spacing: 2px;
  color: #cbd5e1;
}
.ph-footer {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 35px 0;
  margin-top: 20px;
  flex-wrap: wrap;
}
.ph-footer nav {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 12px;
  color: #94a3b8;
}
.ph-footer small {
  font-size: 11px;
  color: #64748b;
  margin-left: auto;
}
@media (min-width: 1700px) {
  .ph-main {
    padding-top: 40px;
  }
  .ph-section {
    margin-top: 44px;
  }
  .ph-person-portrait {
    height: 185px;
  }
  .post-image {
    height: 360px;
  }
}
@media (max-width: 1200px) {
  .premium-home {
    --home-sidebar: 190px;
  }
  .ph-main {
    padding: 22px;
  }
  .ph-top {
    padding: 0 22px;
    gap: 18px;
  }
  .ph-top nav {
    gap: 15px;
  }
  .ph-community {
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, 1fr);
  }
  .ph-search-fields {
    grid-template-columns: repeat(3, 1fr);
  }
  .ph-people {
    grid-template-columns: repeat(2, 1fr);
  }
  .ph-person {
    display: grid;
    grid-template-columns: 35% 65%;
  }
  .ph-person-portrait {
    height: 100%;
    font-size: 42px;
  }
  .ph-person-body > p:not(.ph-city) {
    min-height: 40px;
  }
  .ph-two-sections {
    grid-template-columns: 1fr;
  }
  .ph-top .ph-wordmark {
    display: none;
  }
  .ph-mini-cards .ph-photo-card img {
    height: 170px;
  }
}
@media (max-width: 850px) {
  .premium-home {
    padding-left: 0;
  }
  .premium-home .platform-sidebar {
    transform: translateX(-100%);
    transition: transform 0.2s;
    box-shadow: 15px 0 40px #0009;
  }
  .premium-home.menu-open .platform-sidebar {
    transform: translateX(0);
  }
  .ph-menu-toggle {
    display: block;
  }
  .ph-top {
    height: 64px;
    position: sticky;
    top: 0;
    z-index: 80;
  }
  .ph-top nav {
    display: none;
  }
  .ph-top .ph-wordmark {
    display: block;
  }
  .ph-account {
    gap: 14px;
  }
  .ph-community {
    grid-template-columns: 1fr;
  }
  .ph-utility {
    grid-template-columns: 1fr 1fr;
  }
  .ph-utility > section:last-child {
    display: none;
  }
  .ph-main {
    padding: 22px;
  }
  .ph-people {
    gap: 14px;
  }
  .post-image {
    height: 340px;
  }
  .ph-person {
    display: block;
  }
  .ph-person-portrait {
    height: 130px;
  }
  .ph-stories {
    gap: 18px;
  }
  .ph-footer small {
    margin-left: 0;
  }
}
@media (max-width: 560px) {
  .ph-main {
    padding: 18px 14px 0;
  }
  .ph-top {
    padding: 0 14px;
    gap: 12px;
  }
  .ph-account > span {
    display: none;
  }
  .ph-search {
    padding: 18px;
  }
  .ph-search-fields {
    grid-template-columns: 1fr 1fr;
  }
  .ph-search-fields > .ph-button {
    grid-column: 1/-1;
  }
  .ph-extra-fields {
    grid-template-columns: 1fr 1fr;
  }
  .ph-search label {
    font-size: 12px;
  }
  .ph-search input,
  .ph-search select {
    font-size: 13px;
    min-width: 0;
  }
  .ph-utility {
    grid-template-columns: 1fr;
  }
  .ph-people {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .ph-person-body {
    padding: 12px;
  }
  .ph-person h3 {
    font-size: 16px;
  }
  .ph-person p {
    font-size: 12px;
  }
  .ph-person .ph-button {
    font-size: 11px;
    padding: 8px;
  }
  .ph-dating-tools {
    display: block;
  }
  .ph-dating-tools label {
    width: 100%;
    margin-top: 12px;
  }
  .ph-mini-cards {
    grid-template-columns: 1fr;
  }
  .ph-mini-cards .ph-photo-card {
    display: grid;
    grid-template-columns: 40% 60%;
    align-items: center;
  }
  .ph-mini-cards .ph-photo-card img {
    height: 120px;
  }
  .ph-battle {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .ph-vs {
    margin: auto;
  }
  .ph-battle img {
    height: 170px;
  }
  .ph-promo {
    grid-template-columns: 1fr;
  }
  .ph-promo > img {
    height: 170px;
  }
  .ph-testimonials {
    grid-template-columns: 1fr;
  }
  .ph-heading h2 {
    font-size: 21px;
  }
  .post-image {
    height: 235px;
  }
  .premium-home .post {
    padding: 15px;
  }
  .comment-identity {
    flex-wrap: wrap;
    max-width: 95px;
    justify-content: flex-end;
  }
  .composer-bottom {
    flex-wrap: wrap;
  }
  .composer-bottom .publish {
    margin-left: 0;
  }
  .ph-partners a {
    font-size: 17px;
  }
  .ph-footer {
    gap: 20px;
  }
  .ph-footer nav {
    gap: 14px;
  }
  .ph-stories-all {
    display: none;
  }
  .ph-story > span {
    width: 50px;
    height: 50px;
  }
  .ph-section {
    margin-top: 28px;
  }
}
.premium-home #weather .resort-weather-item > strong {
  font-size: 22px;
}
.premium-home #weather .resort-weather-icon {
  font-size: 24px;
  flex-basis: 26px;
}
.premium-home #weather .resort-weather-item {
  gap: 7px;
}
.ph-compose-toggle .photo-upload-status,
.ph-compose-toggle .photo-attachments {
  margin-left: 0;
}
.ph-community .feed-grid > .post {
  align-self: start;
}
/* Scope ANEX feed geometry to the homepage's narrower column. */
html:has(body.premium-home) {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
body.premium-home {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.premium-home
  :is(
    .ph-main,
    .ph-top,
    .ph-community,
    .ph-utility,
    .ph-section,
    .ph-two-sections,
    .ph-search,
    .ph-search-fields,
    .ph-search-fields > *,
    #feed
  ) {
  min-width: 0;
  max-width: 100%;
}
.premium-home .ph-main {
  width: 100%;
  box-sizing: border-box;
}
.premium-home .ph-heading h2 a {
  color: inherit;
  white-space: normal;
  font-size: inherit;
}
.premium-home .ph-heading h2 a:hover {
  color: #fde68a;
}
body.premium-home:not([data-feed-archive]) #feed .feed-grid,
body.premium-home:not([data-feed-archive]) #feed .feed-grid:has(.comment-writing) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: none !important;
  grid-auto-columns: auto !important;
  grid-auto-rows: auto !important;
  grid-auto-flow: row !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  gap: 20px;
  overflow: visible;
  padding: 0;
}
body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post,
body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post[data-feed-slot],
body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post.comment-writing {
  grid-column: auto !important;
  grid-row: auto !important;
  display: flex;
  flex-direction: column;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden;
  align-self: start;
}
body.premium-home:not([data-feed-archive]) #feed .post > .post-media-stage,
body.premium-home:not([data-feed-archive]) #feed .post.comment-writing > .post-media-stage {
  position: relative;
  flex: none;
  min-width: 0;
  width: 100%;
  height: auto;
  min-height: 260px;
  aspect-ratio: 4/3;
  margin: 14px 0;
  overflow: hidden;
}
body.premium-home:not([data-feed-archive]) #feed .post > h3,
body.premium-home:not([data-feed-archive]) #feed .post > p {
  display: block;
  max-height: none;
  overflow: visible;
  -webkit-line-clamp: unset;
  overflow-wrap: anywhere;
}
body.premium-home #feed .post > .post-comments {
  position: static !important;
  inset: auto !important;
  display: flex;
  flex-direction: column;
  width: 100% !important;
  max-width: 100%;
  height: auto;
  max-height: none;
  overflow: visible;
  margin: 10px 0 0;
  padding: 12px 0;
  border-top: 1px solid #ffffff14;
  background: transparent !important;
  backdrop-filter: none;
}
body.premium-home #feed .post > .post-comments[hidden] {
  display: none !important;
}
body.premium-home #feed .comment-form {
  width: 100%;
  min-width: 0;
  margin: 0;
  gap: 12px;
}
body.premium-home #feed .comment-form textarea {
  height: 72px;
  min-height: 72px;
  resize: vertical;
}
body.premium-home #feed .post-head {
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}
body.premium-home #feed .post-head > div {
  min-width: 0;
}
.premium-home #feed .post-head b {
  overflow-wrap: anywhere;
}
body.premium-home #feed .live-comments {
  position: absolute;
  display: flex;
  bottom: 0;
  right: 0;
  background: transparent !important;
  max-width: 100%;
  pointer-events: none;
}
body.premium-home #feed .live-comments .comment-list {
  pointer-events: auto;
  overscroll-behavior: contain;
}
body.premium-home #feed .post-actions {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: none;
}
body.premium-home #feed .post-actions button {
  min-width: 0;
}
body.premium-home #feed .post-actions svg {
  width: 20px;
  height: 20px;
  flex: none;
}
body.premium-home .ph-testimonials article {
  cursor: pointer;
}
body.premium-home .ph-testimonials article:hover {
  border-color: #fbbf2466;
}
body.premium-home :is(.ph-news a, .ph-ambassador, .ph-person, .ph-photo-card, .ph-partners a) {
  min-width: 0;
  overflow-wrap: anywhere;
}
body.premium-home #weather .resort-weather-heading > div {
  min-width: 0;
}
body.premium-home #weather .weather-slider-arrows {
  flex: none;
  gap: 6px;
}
body.premium-home #weather .resort-weather-item {
  min-width: 0;
  overflow: hidden;
}
body.premium-home #weather .resort-weather-item > strong {
  font-size: 20px;
}
@media (max-width: 560px) {
  body.premium-home:not([data-feed-archive]) #feed .post > .post-media-stage {
    min-height: 220px;
    aspect-ratio: 1/1;
  }
  .premium-home .ph-top {
    flex-wrap: nowrap;
  }
  .premium-home .ph-account {
    min-width: 0;
    flex: none;
  }
  .premium-home .ph-heading {
    align-items: flex-start;
  }
  .premium-home .ph-heading h2 {
    min-width: 0;
  }
  .premium-home .ph-heading > a {
    white-space: normal;
    text-align: right;
    max-width: 85px;
  }
  .premium-home .ph-search-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .premium-home .ph-extra-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .premium-home .ph-pills button {
    font-size: 12px;
  }
  .premium-home .ph-person-body .ph-button {
    white-space: normal;
  }
}
/* Grid children must shrink before their country slider scrolls. */
body.premium-home .ph-community {
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
}
body.premium-home .ph-utility {
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
}
body.premium-home .ph-utility > section,
body.premium-home #weather,
body.premium-home #weather .resort-weather-card {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
body.premium-home #weather .weather-country-slider {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  flex-wrap: nowrap;
}
body.premium-home #weather .weather-country-slider button {
  flex: 0 0 auto;
}
body.premium-home #weather .resort-weather-grid {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.premium-home .ph-community {
  margin-top: 28px;
}
@media (max-width: 1200px) {
  body.premium-home .ph-community {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  }
}
@media (max-width: 850px) {
  body.premium-home .ph-community {
    grid-template-columns: minmax(0, 1fr);
  }
  body.premium-home .ph-utility {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  body.premium-home .ph-utility {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Approved ANEX-style preview: one featured card and two compact cards. */
body.premium-home .ph-community {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}
body.premium-home:not([data-feed-archive]) #feed .feed-grid,
body.premium-home:not([data-feed-archive]) #feed .feed-grid:has(.comment-writing) {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important;
  grid-template-rows: 340px 340px !important;
  grid-auto-rows: 340px !important;
  gap: 16px;
  height: 696px !important;
  overflow: hidden;
}
body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post,
body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post[data-feed-slot],
body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post.comment-writing {
  height: 340px !important;
  max-height: 340px !important;
  min-height: 0 !important;
  padding: 14px;
  gap: 8px;
  overflow: hidden;
}
body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post[data-feed-slot='1'] {
  grid-column: 1 !important;
  grid-row: 1/3 !important;
  height: 696px !important;
  max-height: 696px !important;
}
body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post[data-feed-slot='2'] {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post[data-feed-slot='3'] {
  grid-column: 2 !important;
  grid-row: 2 !important;
}
body.premium-home:not([data-feed-archive]) #feed .post > .post-media-stage,
body.premium-home:not([data-feed-archive]) #feed .post.comment-writing > .post-media-stage {
  flex: 1 1 0;
  min-height: 70px;
  height: auto;
  aspect-ratio: auto;
  margin: 0;
}
body.premium-home #feed .post-head {
  flex-wrap: nowrap;
  margin: 0;
  gap: 8px;
}
.premium-home #feed .post-head b {
  font-size: 13px;
}
.premium-home #feed .post-head small {
  font-size: 11px;
}
.premium-home #feed .official {
  font-size: 10px;
}
.premium-home #feed .post-logo {
  width: 32px;
  height: 32px;
  font-size: 11px;
}
body.premium-home:not([data-feed-archive]) #feed .post > h3 {
  font-size: 15px;
  line-height: 1.3;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.premium-home:not([data-feed-archive]) #feed .post > p {
  font-size: 12px;
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.premium-home #feed .post > .kicker {
  font-size: 10px;
}
.premium-home #feed .post-actions {
  margin: 0;
  gap: 5px;
}
.premium-home #feed .post-actions button {
  min-height: 30px;
  font-size: 12px;
  padding: 4px 6px;
}
.ph-read-post {
  display: block;
  flex: none;
  padding: 8px 10px;
  font-size: 12px;
  text-align: center;
  color: #0f172a !important;
  background: #fbbf24;
  border-radius: 9px;
  font-weight: 700;
}
.ph-feed-history {
  margin-top: 16px;
  text-align: center;
  padding: 12px;
  border: 1px solid #ffffff14;
  border-radius: 12px;
  font-size: 14px;
  color: #fbbf24;
}
body.premium-home #feed .post.comment-writing > .ph-read-post,
body.premium-home #feed .post.comment-writing > .kicker,
body.premium-home #feed .post.comment-writing > p {
  display: none;
}
body.premium-home #feed .post > .post-comments {
  padding: 6px 0 0;
  margin: 0;
  flex: none;
}
.premium-home #feed .post-comments .comment-form {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px;
}
.premium-home #feed .post-comments .comment-form textarea {
  height: 42px;
  min-height: 42px;
  grid-column: 1/-1;
  padding: 6px;
  font-size: 12px;
}
.premium-home #feed .post-comments .comment-form button {
  min-height: 28px;
  padding: 5px 8px;
  font-size: 12px;
}
.premium-home #feed .comment-overlay-head h4 {
  font-size: 12px;
}
.premium-home #feed .comments-close {
  width: 26px;
  height: 26px;
  font-size: 20px;
}
.premium-home #feed .comment-composer-identity {
  font-size: 12px;
}
.premium-home #feed .post-comments .comment-form .comment-avatar {
  width: 24px;
  height: 24px;
  flex-basis: 24px;
}
.premium-home #feed .comment-overlay-head {
  margin-bottom: 4px;
}
@media (max-width: 1100px) {
  body.premium-home .ph-community {
    grid-template-columns: minmax(0, 1fr);
  }
  body.premium-home .ph-utility {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
  }
  .premium-home .ph-utility > section:last-child {
    display: block;
  }
}
@media (max-width: 700px) {
  body.premium-home .ph-utility {
    grid-template-columns: minmax(0, 1fr);
  }
  body.premium-home:not([data-feed-archive]) #feed .feed-grid,
  body.premium-home:not([data-feed-archive]) #feed .feed-grid:has(.comment-writing) {
    display: flex !important;
    height: 540px !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    gap: 12px;
    padding-bottom: 14px;
  }
  body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post,
  body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post[data-feed-slot],
  body.premium-home:not([data-feed-archive]) #feed .feed-grid > .post.comment-writing {
    flex: 0 0 88%;
    width: 88% !important;
    height: 520px !important;
    max-height: 520px !important;
    scroll-snap-align: start;
  }
}
/* Expand a selected compact post inside the fixed right column. */
@media (min-width: 701px) {
  body.premium-home:not([data-feed-archive])
    #feed
    .feed-grid
    > .post[data-feed-slot='2'].comment-writing,
  body.premium-home:not([data-feed-archive])
    #feed
    .feed-grid
    > .post[data-feed-slot='3'].comment-writing {
    grid-column: 2 !important;
    grid-row: 1/3 !important;
    position: relative;
    z-index: 15;
    height: 696px !important;
    max-height: 696px !important;
    min-height: 0 !important;
    background: #202227 !important;
    box-shadow: 0 0 0 1px #20222744;
  }
  body.premium-home:not([data-feed-archive])
    #feed
    .feed-grid
    > .post.comment-writing
    > .post-media-stage {
    min-height: 220px;
    flex: 1 1 0;
  }
}

/* Weather follows the feed; events and the tour remain alongside it. */
body.premium-home .ph-community {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  align-items: start;
}
body.premium-home .ph-community > #feed {
  grid-column: 1;
  grid-row: 1;
}
body.premium-home .ph-community > .ph-utility {
  grid-column: 2;
  grid-row: 1/3;
  grid-template-columns: minmax(0, 1fr);
}
body.premium-home .ph-community > #weather {
  grid-column: 1;
  grid-row: 2;
}
body.premium-home .ph-utility > section:last-child {
  display: block;
}
body.premium-home #weather .resort-weather-heading h2 {
  color: #fde68a;
  text-shadow: 0 0 18px #facc1538;
}
@media (max-width: 1100px) {
  body.premium-home .ph-community {
    grid-template-columns: minmax(0, 1fr);
  }
  body.premium-home .ph-community > #feed {
    grid-column: 1;
    grid-row: 1;
  }
  body.premium-home .ph-community > #weather {
    grid-column: 1;
    grid-row: 2;
  }
  body.premium-home .ph-community > .ph-utility {
    grid-column: 1;
    grid-row: 3;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  body.premium-home .ph-community > .ph-utility {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Home services beside the feed, with the hot tour immediately after weather. */
body.premium-home .ph-community > #hot-tour {
  grid-column: 1;
  grid-row: 3;
  min-width: 0;
}
body.premium-home .ph-community > .ph-utility {
  grid-column: 2;
  grid-row: 1/4;
}
body.premium-home .ph-utility .ph-mini-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
body.premium-home .ph-utility .ph-mini-cards .ph-photo-card {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  align-items: center;
}
body.premium-home .ph-utility .ph-mini-cards .ph-photo-card img {
  height: 85px;
  width: 100%;
  object-fit: cover;
}
body.premium-home .ph-utility .ph-mini-cards .ph-photo-card > div {
  padding: 12px;
}
.ph-service-card {
  display: block;
  background: #202227;
  padding: 20px;
  border-radius: 14px;
}
.ph-service-card > span:first-child {
  font-size: 20px;
  font-weight: 700;
}
.ph-service-card p {
  margin: 10px 0 18px;
}
@media (max-width: 1100px) {
  body.premium-home .ph-community > .ph-utility {
    grid-column: 1;
    grid-row: 4;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.premium-home .ph-utility .ph-mini-cards .ph-photo-card {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 700px) {
  body.premium-home .ph-community > .ph-utility {
    grid-template-columns: minmax(0, 1fr);
  }
  body.premium-home .ph-utility .ph-mini-cards .ph-photo-card {
    grid-template-columns: 105px minmax(0, 1fr);
  }
}

/* Apartments above goods; three hotel choices followed by resort weather. */
body.premium-home .ph-community > #hot-tour {
  grid-column: 1;
  grid-row: 2;
}
body.premium-home .ph-community > #weather {
  grid-column: 1;
  grid-row: 3;
}
.ph-apartment-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.ph-apartment-pair .ph-photo-card img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}
.ph-apartment-pair .ph-photo-card > div {
  padding: 12px;
}
.ph-apartment-pair h3 {
  font-size: 16px;
}
.ph-apartment-pair p {
  font-size: 13px;
}
.ph-goods-list {
  display: grid;
  gap: 12px;
}
.ph-goods-list > a {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 14px;
  background: #202227;
  border: 1px solid #38bdf825;
  border-radius: 14px;
  min-width: 0;
}
.ph-goods-list > a > span {
  font-size: 36px;
  flex: none;
}
.ph-goods-list h3 {
  font-size: 16px;
  margin: 0 0 5px;
}
.ph-goods-list p {
  font-size: 13px;
  margin: 0;
  color: #94a3b8;
}
.ph-hotels-three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.ph-hotels-three .ph-photo-card img {
  height: 180px;
  width: 100%;
  object-fit: cover;
}
.ph-hotels-three .ph-photo-card > div {
  padding: 14px;
}
.ph-hotels-three h3 {
  font-size: 16px;
  margin-bottom: 6px;
}
.ph-hotels-three p {
  font-size: 13px;
}
@media (max-width: 1100px) {
  body.premium-home .ph-community > #hot-tour {
    grid-row: 2;
  }
  body.premium-home .ph-community > #weather {
    grid-row: 3;
  }
  body.premium-home .ph-community > .ph-utility {
    grid-row: 4;
  }
}
@media (max-width: 700px) {
  .ph-hotels-three {
    grid-template-columns: minmax(0, 1fr);
  }
  .ph-hotels-three .ph-photo-card {
    display: grid;
    grid-template-columns: 40% minmax(0, 1fr);
    align-items: center;
  }
  .ph-hotels-three .ph-photo-card img {
    height: 140px;
  }
  .ph-apartment-pair .ph-photo-card img {
    height: 130px;
  }
}

/* Standalone listing cards follow the apartment and shop references. */
.home-catalog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.home-listing-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #202227;
  border: 1px solid #38bdf82a;
  border-radius: 15px;
  overflow: hidden;
  color: #f8fafc;
  transition:
    border-color 0.2s,
    transform 0.2s;
}
.home-listing-card:hover {
  border-color: #fbbf2480;
  transform: translateY(-2px);
}
.home-listing-photo {
  position: relative;
  height: 145px;
  overflow: hidden;
  background: #fff;
  isolation: isolate;
}
.home-listing-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-listing-photo.room-0 img,
.home-listing-photo.room-1 img,
.home-listing-photo.room-2 img,
.home-listing-photo.room-3 img {
  position: absolute;
  width: 200%;
  height: 200%;
  max-width: none;
}
.home-listing-photo.room-0 img {
  left: 0;
  top: 0;
}
.home-listing-photo.room-1 img {
  right: 0;
  top: 0;
}
.home-listing-photo.room-2 img {
  left: 0;
  bottom: 0;
}
.home-listing-photo.room-3 img {
  right: 0;
  bottom: 0;
}
.home-listing-photo.product-left img,
.home-listing-photo.product-right img {
  position: absolute;
  width: 200%;
  max-width: none;
  object-fit: contain;
}
.home-listing-photo.product-left img {
  left: 0;
}
.home-listing-photo.product-right img {
  right: 0;
}
.home-listing-city {
  position: absolute;
  top: 9px;
  left: 9px;
  background: #202227e8;
  color: #8de2ff;
  border: 1px solid #38bdf84a;
  padding: 4px 8px;
  border-radius: 20px;
  font-size: 12px;
}
.home-listing-body {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  flex: 1;
  min-width: 0;
  text-align: center;
}
.home-listing-body h3 {
  font-size: 14px;
  line-height: 1.4;
  margin: 0;
  overflow-wrap: normal;
  min-height: 40px;
}
.home-listing-body p {
  font-size: 12px;
  color: #a8b8cc;
  margin: 0;
  line-height: 1.5;
}
.home-listing-body strong {
  font-size: 18px;
  color: #ffb900;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #ffffff14;
}
.home-listing-body strong small {
  font-weight: 400;
  font-size: 12px;
  color: #94a3b8;
}
.home-listing-body .home-listing-seller {
  border-top: 1px solid #ffffff14;
  padding-top: 9px;
  color: #cbd5e1;
}
.home-listing-action {
  display: block;
  width: fit-content;
  min-width: 88px;
  margin: 0 auto;
  text-align: center;
  padding: 8px;
  border-radius: 9px;
  background: linear-gradient(100deg, #d9b431, #ffa800);
  color: #071019;
  font-size: 13px;
  font-weight: 700;
}
.home-city-label {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #8de2ff;
  margin-top: 5px;
}
.home-demo-label {
  font-size: 12px;
  color: #94a3b8;
  margin: -5px 0 12px;
}
.home-catalog-empty {
  grid-column: 1/-1;
}
#listingDetail {
  max-width: 420px;
}
@media (min-width: 701px) and (max-width: 1100px) {
  body.premium-home .ph-community > .ph-utility {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.premium-home .ph-community > .ph-utility > section:last-child {
    grid-column: 1/-1;
  }
  .home-listing-photo {
    height: 160px;
  }
}
@media (max-width: 400px) {
  .home-catalog-grid {
    gap: 8px;
  }
  .home-listing-body {
    padding: 10px;
  }
  .home-listing-photo {
    height: 135px;
  }
}

/* Keep the left stack compact regardless of the services column height. */
body.premium-home .ph-community > .ph-feed-column {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  display: grid;
  gap: 18px;
  align-content: start;
  align-items: start;
}
body.premium-home .ph-community > .ph-utility {
  grid-column: 2;
  grid-row: 1 !important;
  align-self: start;
}
body.premium-home .ph-feed-column > #hot-tour,
body.premium-home .ph-feed-column > #weather {
  margin: 0;
  min-width: 0;
  width: 100%;
}
.home-listing-photo.single-iron,
.home-listing-photo.single-kettle {
  height: auto;
  aspect-ratio: 1;
  background: #fff;
}
.home-listing-photo.single-iron img,
.home-listing-photo.single-kettle img {
  position: absolute;
  width: 200%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  top: 0;
  display: block;
}
.home-listing-photo.single-iron img {
  right: 0;
}
.home-listing-photo.single-kettle img {
  left: 0;
}
.home-product-condition {
  position: absolute;
  bottom: 9px;
  right: 9px;
  padding: 4px 7px;
  background: #202227e8;
  color: #fff;
  font-size: 12px;
  border-radius: 6px;
}
.home-product-zoom {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 26px;
  height: 26px;
  border: 1px solid #ffffff45;
  border-radius: 50%;
  background: #202227b8;
  color: #dce8f2;
  font-size: 15px;
  line-height: 1;
  cursor: zoom-in;
}
.home-product-zoom:hover { background: #fbbf24; color: #111827; }
.home-photo-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 32px;
  background: #202227e8;
}
.home-photo-lightbox img {
  max-width: min(92vw, 1100px);
  max-height: 88vh;
  object-fit: contain;
  border-radius: 14px;
  box-shadow: 0 24px 80px #000b;
}
.home-photo-lightbox-close {
  position: fixed;
  top: 20px;
  right: 24px;
  width: 42px;
  height: 42px;
  border: 1px solid #ffffff55;
  border-radius: 50%;
  background: #202227;
  color: #fff;
  font-size: 30px;
  cursor: pointer;
}
.home-tour-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid #ffffff20;
  border-radius: 16px;
  overflow: hidden;
  background: #202227;
  color: #fff;
}
.home-tour-photo {
  position: relative;
  height: 165px;
}
.home-tour-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-tour-photo > strong {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #fde68a;
  background: #202227c9;
  border: 1px solid #fbbf24;
  padding: 5px 9px;
  border-radius: 20px;
  font-size: 13px;
}
.home-tour-body {
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  flex: 1;
}
.home-tour-meta {
  display: flex;
  gap: 9px;
  align-items: center;
  justify-content: space-between;
  color: #94a3b8;
  font-size: 12px;
}
.home-tour-meta > span:first-child {
  color: #fbbf24;
}
.home-tour-body h3 {
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
}
.home-tour-body p {
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  color: #94a3b8;
}
.home-tour-body .home-tour-departure {
  font-size: 13px;
  color: #dbeafe;
}
.home-tour-body .home-listing-action {
  margin-top: auto;
}
.home-seller-grid {
  max-width: 760px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
/* Show every resort in the available weather panel instead of clipping the list. */
body.premium-home #weather .resort-weather-grid {
  max-height: none;
  overflow-y: visible;
  padding-right: 0;
}
.home-listing-card.featured-bath-card {
  border-color: #fbbf2480;
  box-shadow:
    0 12px 32px #0004,
    0 0 0 1px #fbbf2426;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease;
}
.home-listing-card.featured-bath-card:hover {
  transform: translateY(-3px);
  border-color: #fbbf24;
}
.featured-bath-card .home-listing-body h3 {
  color: #fde68a;
}
@media (max-width: 1100px) {
  body.premium-home .ph-community > .ph-feed-column {
    grid-column: 1;
    grid-row: 1;
  }
  body.premium-home .ph-community > .ph-utility {
    grid-column: 1;
    grid-row: 2 !important;
  }
}
@media (max-width: 700px) {
  .ph-hotels-three .home-tour-card {
    display: grid;
    grid-template-columns: 40% minmax(0, 1fr);
  }
  .home-tour-photo {
    height: 100%;
    min-height: 190px;
  }
  .home-tour-photo > strong {
    font-size: 12px;
    right: 5px;
    left: 5px;
    text-align: center;
  }
  .home-tour-body {
    padding: 12px;
  }
  .home-tour-meta {
    flex-wrap: wrap;
    gap: 5px;
  }
}

/* Shared rows align the top and bottom edges of each pair of blocks. */
body.premium-home .ph-aligned-community {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  gap: 20px 24px;
  align-items: stretch;
}
body.premium-home .ph-aligned-community > #feed {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  align-self: stretch;
}
body.premium-home .ph-aligned-community > #home-apartments {
  grid-column: 2;
  grid-row: 1;
}
body.premium-home .ph-aligned-community > .ph-travel-weather {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  align-self: stretch;
}
body.premium-home .ph-travel-weather > #hot-tour,
body.premium-home .ph-travel-weather > #weather {
  margin: 0;
  width: 100%;
  min-width: 0;
}
body.premium-home .ph-travel-weather > #weather {
  flex: 1;
  display: flex;
  align-items: stretch;
}
body.premium-home .ph-travel-weather > #weather > .resort-weather-card {
  height: 100%;
}
body.premium-home .ph-aligned-community > #home-goods {
  grid-column: 2;
  grid-row: 2;
}
body.premium-home .ph-aligned-community > #home-baths {
  grid-column: 1/-1;
  grid-row: 3;
}
body.premium-home .ph-aligned-community > #home-apartments,
body.premium-home .ph-aligned-community > #home-goods {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
body.premium-home .ph-aligned-community :is(#home-apartments, #home-goods) > .home-catalog-grid {
  flex: 1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: none;
  align-items: stretch;
}

/* These two catalog blocks are presented as one horizontal row. */
body.premium-home .ph-aligned-community :is(#home-apartments, #home-goods) > .home-catalog-grid {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}
body.premium-home .ph-aligned-community :is(#home-apartments, #home-goods) > .home-catalog-grid > .home-listing-card {
  min-width: 0;
}

body.premium-home #home-apartments .home-listing-photo {
  height: clamp(170px, 15vw, 250px);
}
body.premium-home #home-baths .home-catalog-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.premium-home #home-baths .home-listing-photo {
  height: 190px;
}
.ph-ambassador-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}
.ph-ambassador-profile {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #202227;
  border: 1px solid #38bdf82b;
  border-radius: 18px;
  padding: 20px;
  min-width: 0;
  text-align: center;
  align-items: center;
}
.ph-ambassador-avatar {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  flex: none;
  border-radius: 50%;
  background: linear-gradient(140deg, #202227, #202227);
  color: #bceaff;
  font-size: 26px;
  font-weight: 700;
  border: 1px solid #38bdf850;
}
.ph-ambassador-profile h3 {
  font-size: 16px;
  margin: 4px 0 0;
  line-height: 1.4;
}
.ph-ambassador-profile p {
  font-size: 14px;
  margin: 0;
  color: #94a3b8;
}
.ph-ambassador-profile small {
  font-size: 12px;
  color: #8de2ff;
  overflow-wrap: anywhere;
}
.ph-ambassador-profile .home-listing-action {
  align-self: stretch;
  margin-top: auto;
  font-size: 12px;
}
@media (max-width: 1400px) {
  .ph-ambassador-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 1100px) {
  body.premium-home .ph-aligned-community {
    grid-template-columns: minmax(0, 1fr);
  }
  body.premium-home .ph-aligned-community > #feed {
    grid-column: 1;
    grid-row: 1;
  }
  body.premium-home .ph-aligned-community > #home-apartments {
    grid-column: 1;
    grid-row: 2;
  }
  body.premium-home .ph-aligned-community > .ph-travel-weather {
    grid-column: 1;
    grid-row: 3;
  }
  body.premium-home .ph-aligned-community > #home-goods {
    grid-column: 1;
    grid-row: 4;
  }
  body.premium-home .ph-aligned-community > #home-baths {
    grid-column: 1;
    grid-row: 5;
  }
  body.premium-home #home-apartments .home-catalog-grid,
  body.premium-home #home-goods .home-catalog-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: auto;
  }
}
@media (max-width: 700px) {
  body.premium-home #home-apartments .home-catalog-grid,
  body.premium-home #home-goods .home-catalog-grid,
  body.premium-home #home-baths .home-catalog-grid {
    grid-template-columns: repeat(4, minmax(220px, 1fr));
  }
  .ph-ambassador-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .ph-ambassador-profile {
    padding: 15px;
  }
  body.premium-home #home-baths .home-listing-photo {
    height: 150px;
  }
}

/* Baths on the left; two travel profiles above two social profiles on the right. */
body.premium-home .ph-aligned-community > .home-baths-social {
  grid-column: 1/-1;
  grid-row: 3;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
  min-width: 0;
}
body.premium-home .home-baths-social > #home-baths {
  min-width: 0;
}
body.premium-home .home-baths-social #home-baths .home-catalog-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.home-social-aside {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 18px;
  min-width: 0;
}
.home-social-group {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.home-social-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  flex: 1;
}
.home-social-profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  min-width: 0;
  background: #202227;
  border: 1px solid #38bdf825;
  border-radius: 14px;
  padding: 20px 10px;
  color: #f8fafc;
}
.home-social-profile h3 {
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
}
.home-social-profile p {
  font-size: 14px;
  color: #94a3b8;
  margin: 0;
}
.home-social-profile small {
  font-size: 12px;
  color: #8de2ff;
}
.home-social-profile .home-listing-action {
  margin-top: auto;
  align-self: stretch;
  font-size: 12px;
}
body.premium-home .ph-partners {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
body.premium-home .ph-partners a {
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  text-align: center;
  padding: 12px;
  border: 1px solid #ffffff12;
  border-radius: 12px;
  background: #202227;
}
@media (max-width: 1100px) {
  body.premium-home .ph-aligned-community > .home-baths-social {
    grid-row: 5;
    grid-template-columns: minmax(0, 1fr);
  }
  .home-social-aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }
  body.premium-home .home-baths-social #home-baths .home-catalog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .home-social-aside {
    grid-template-columns: minmax(0, 1fr);
  }
  body.premium-home .home-baths-social #home-baths .home-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.premium-home .ph-partners {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.premium-home .ph-partners a {
    font-size: 16px;
  }
}

/* Four bath cards and four profiles share the same outer height. */
body.premium-home .home-baths-social {
  align-items: stretch;
}
body.premium-home .home-baths-social > #home-baths {
  display: flex;
  flex-direction: column;
  height: 100%;
}
body.premium-home .home-baths-social #home-baths > .home-catalog-grid {
  flex: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
}
body.premium-home .home-baths-social > .home-social-aside {
  height: 100%;
  align-self: stretch;
  grid-template-rows: repeat(2, minmax(0, 1fr));
}
body.premium-home .home-baths-social .home-social-group {
  height: 100%;
}
@media (min-width: 1101px) {
  body.premium-home .home-baths-social > #home-baths {
    min-height: 0;
    height: 634px;
    max-height: 634px;
    overflow: hidden;
  }
  body.premium-home .home-baths-social #home-baths > .home-catalog-grid {
    min-height: 0;
    grid-auto-rows: minmax(0, 1fr);
    overflow: hidden;
  }
  body.premium-home .home-baths-social #home-baths .home-listing-card {
    min-height: 0;
  }
  body.premium-home .home-baths-social #home-baths .home-listing-photo {
    height: 120px;
  }
}
@media (max-width: 1100px) {
  body.premium-home .home-baths-social > .home-social-aside {
    height: auto;
    grid-template-rows: auto;
  }
  body.premium-home .home-baths-social > #home-baths {
    height: auto;
  }
}

/* Content-sized actions; the bath action sits at the right edge of its card. */
.ph-read-post,
.home-listing-action {
  width: fit-content;
  max-width: 100%;
  align-self: flex-start;
  padding-inline: 16px;
  box-sizing: border-box;
}
#home-baths .home-listing-action.kh-open-action {
  align-self: flex-end !important;
}

/* Final desktop arrangement for the two horizontal catalog sections. */
@media (min-width: 701px) {
  body.premium-home .ph-aligned-community {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto auto !important;
  }
  body.premium-home .ph-aligned-community > #feed {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  body.premium-home .ph-aligned-community > #home-apartments {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  body.premium-home .ph-aligned-community > .ph-travel-weather {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }
  body.premium-home .ph-aligned-community > #home-goods {
    grid-column: 1 !important;
    grid-row: 4 !important;
  }
  body.premium-home .ph-aligned-community > .home-baths-social {
    grid-column: 1 !important;
    grid-row: 5 !important;
  }
  body.premium-home .ph-aligned-community :is(#home-apartments, #home-goods) > .home-catalog-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
  }
}
/* Live shop products */
#home-goods.home-marketplace{min-width:0}.shop-search{display:grid;grid-template-columns:minmax(180px,2fr) minmax(120px,1fr) minmax(130px,1fr) auto;gap:10px;margin:14px 0}.shop-search label{display:grid;gap:6px;color:#bdc5d1;font-size:14px}.shop-search input,.shop-search select,.shop-categories select{width:100%;box-sizing:border-box;min-width:0;background:#202227;color:#eef0f4;border:1px solid #414a57;border-radius:8px;padding:11px;font-size:14px}.shop-search button,.shop-buy{background:#ffce33;color:#11151b;border:0;border-radius:8px;padding:11px 16px;font-weight:700;align-self:end;text-decoration:none;text-align:center}.shop-categories{display:flex;gap:8px;flex-wrap:wrap}.shop-categories select{flex:1;min-width:140px;max-width:100%}#shop-status{font-size:14px;color:#aeb8c6;margin:12px 0}.shop-product-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,230px);gap:14px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity;scrollbar-width:thin}.shop-product{background:#202227;border:1px solid #394350;border-radius:12px;overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column}.shop-product-photo{position:relative;height:170px;background:#202227}.shop-product-photo>a{display:block;width:100%;height:100%}.shop-product-photo img{display:block;width:100%;height:100%;object-fit:cover}.shop-product-body{padding:14px;display:flex;flex-direction:column;gap:9px;flex:1}.shop-product-body>small{font-size:12px;color:#bbc5d5}.shop-product-title{color:#f3f4f7!important;text-decoration:none;font-size:16px;font-weight:650;line-height:1.35}.shop-product-body strong{font-size:22px;color:#f1ce70}.shop-product-body p{font-size:13px;color:#bbc5d5;margin:0}.shop-buy{margin-top:auto;font-size:14px;display:block}.shop-used{position:absolute;bottom:9px;right:9px;background:#202227dd;color:#f7d569;font-size:12px;padding:4px 8px;border-radius:5px}.shop-slide{position:absolute;top:50%;transform:translateY(-50%);background:#202227cc;color:#fff;border:0;border-radius:6px;width:30px;height:32px;font-size:22px}.shop-slide.prev{left:7px}.shop-slide.next{right:7px}.shop-photo-count{position:absolute;left:8px;top:8px;background:#202227cc;color:#eee;padding:3px 6px;font-size:12px;border-radius:4px}@media(max-width:1000px){.shop-search{grid-template-columns:1fr 1fr}.shop-search label:first-child{grid-column:1/-1}.shop-product-row{grid-auto-columns:200px}}@media(max-width:600px){.shop-search{grid-template-columns:1fr 1fr}.shop-product-row{grid-auto-columns:180px}.shop-product-photo{height:150px}.shop-categories select{min-width:100%;}.shop-search button{width:100%;grid-column:1/-1}}

/* Compact three-card homepage marketplace. */
#home-goods .shop-product-row{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;scroll-snap-type:none;padding-bottom:0;gap:12px}
#home-goods .shop-product{min-width:0;background:var(--theme-surface);border-color:var(--theme-border)}
#home-goods .shop-product-photo{height:170px;aspect-ratio:auto}
#home-goods .shop-product-body{padding:12px;gap:7px}
#home-goods .shop-product-body>small:first-child{color:#d5b563;font-size:12px;letter-spacing:.6px}
#home-goods .shop-product-title{font-size:16px;min-height:42px}
#home-goods .shop-product-body strong{font-size:22px;font-weight:800;color:#f3f4f7;margin:0}
#home-goods .shop-card-city{padding-bottom:7px;border-bottom:1px solid #363e48}
#home-goods .shop-seller-row{display:flex;justify-content:space-between;align-items:center;gap:8px}
#home-goods .shop-seller-row p{overflow-wrap:anywhere}
#home-goods .shop-buy{padding:3px 0;background:transparent;color:#e3c16c;flex-shrink:0;margin:0}
#home-goods .shop-used{background:#202227dd;color:#eee}
#home-goods .shop-product-body>small:last-child{font-size:13px}
#home-goods .shop-search{margin:10px 0;gap:8px}
#home-goods .shop-search label{gap:4px}
#home-goods .shop-search input,#home-goods .shop-search select,#home-goods .shop-categories select{padding:8px}
#home-goods .shop-categories select{min-width:0;max-width:280px}
#home-goods #shop-status{margin:8px 0}
#dating.home-social-aside{visibility:visible;opacity:1}
@media(max-width:700px){#home-goods .shop-product-row{gap:8px}#home-goods .shop-product-photo{height:120px}#home-goods .shop-product-body{padding:8px}#home-goods .shop-product-title{font-size:14px;min-height:56px}#home-goods .shop-seller-row{flex-wrap:wrap}#home-goods .shop-product-body strong{font-size:18px}#home-goods .shop-categories select{max-width:none;min-width:100%}}
@media(max-width:420px){#home-goods .shop-product-row{grid-template-columns:1fr}#home-goods .shop-product-photo{height:180px}#home-goods .shop-product-title{min-height:0}}

#home-goods .shop-product-photo{background:var(--bg)}
#home-goods .shop-card-city{border-color:var(--theme-border)}

/* Compact portraits share the Bloom & Joy community card style. */
.home-social-profile.compact-person{display:flex;flex-direction:column;padding:0;min-height:220px;gap:0;border:1px solid #b98d77;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#202227,#202227)}
.compact-person-open{display:grid;grid-template-rows:104px 20px 30px 16px;gap:4px;text-align:center;text-decoration:none;color:#edf3f5;width:100%;min-width:0}
.compact-person-photo{position:relative;display:block;width:100%;height:104px;background-image:url('/assets/meet-portraits.png');background-size:300% auto;background-position:var(--portrait-x) var(--portrait-y)}
.compact-person-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,#202227)}
.home-social-profile.compact-person h3{font-size:14px;line-height:20px;margin:0 6px;color:#eef3f5}
.home-social-profile.compact-person p{font-size:12px;line-height:15px;margin:0 7px;color:#becbd0;overflow:hidden}
.home-social-profile.compact-person small{font-size:11px;line-height:16px;margin:0 6px;color:#e29c9f}
.compact-presence{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;border:2px solid #102329;z-index:2;box-shadow:0 1px 4px #0007}.compact-presence.online{background:#38c878}.compact-presence.offline{background:#e54d59}
.compact-person-actions{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:auto;padding:7px 5px}
.compact-person-actions button,.compact-person-actions a{display:grid;place-items:center;width:25px;height:25px;padding:4px;border:1px solid #b98d77;border-radius:6px;background:#202227;color:#ed9aab;box-sizing:border-box;text-decoration:none;cursor:pointer;flex-shrink:0}
.compact-person-actions svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.compact-person-actions button[aria-pressed=true]{background:#4b2637;border-color:#ec8caa}.compact-person-actions button[data-person-action=sympathy][aria-pressed=true] svg{fill:currentColor}
#compact-person-dialog{width:min(420px,calc(100vw - 28px));border:1px solid #405463;border-radius:14px;background:#202227;color:#edf3f5;padding:22px}#compact-person-dialog::backdrop{background:#0009}#compact-person-dialog textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #44606c;border-radius:10px;background:#202227;color:#fff;margin:12px 0}#compact-person-dialog button{padding:9px 14px;background:#202227;color:#fff;border:1px solid #55707c;border-radius:8px;cursor:pointer}#compact-person-dialog p{font-size:14px;line-height:1.5}#compact-person-dialog .compact-dialog-close{float:right}
@media(max-width:380px){.compact-person-actions{gap:3px}.compact-person-actions button,.compact-person-actions a{width:23px;height:25px;padding:3px}}
body.premium-home .home-baths-social > .home-social-aside{height:auto;align-self:start;grid-template-rows:auto}body.premium-home .home-baths-social .home-social-group{height:auto}.home-social-group .home-social-pair{align-items:start;flex:0}

/* Approved horizontal bath cards; keep the update scoped to the homepage bath section. */
body.premium-home .home-baths-social{align-items:stretch}
body.premium-home .home-baths-social > #home-baths{height:auto;max-height:none;overflow:visible;display:flex;flex-direction:column}
body.premium-home .home-baths-social #home-baths > .home-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(220px,1fr));gap:16px;flex:1;overflow:visible}
body.premium-home #home-baths .home-bath-horizontal{display:grid;grid-template-columns:38% minmax(0,1fr);min-width:0;min-height:220px;height:100%;border:1px solid var(--theme-border,#344653);border-radius:14px;overflow:hidden;background:var(--theme-surface,#202227)}
body.premium-home #home-baths .home-bath-horizontal .home-listing-photo{height:100%;min-height:220px;width:100%;aspect-ratio:auto;background:none;border-radius:0}
body.premium-home #home-baths .home-bath-horizontal .home-listing-photo img{width:100%;height:100%;position:static;object-fit:cover;display:block}
body.premium-home #home-baths .home-bath-horizontal .home-listing-body{display:flex;flex-direction:column;min-width:0;padding:16px 13px;gap:10px}
body.premium-home #home-baths .home-bath-horizontal h3{font-size:18px;line-height:1.3;margin:0;white-space:normal;overflow-wrap:anywhere}
#home-baths .home-bath-location{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--muted,#aebcca)}
#home-baths .home-bath-rating{color:#ffcf39;font-size:14px}
#home-baths .home-bath-services{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:auto}
#home-baths .home-bath-services span{font-size:14px;line-height:1.4;padding:4px 6px;border-radius:5px;background:#ffffff08;color:#c8d3df}
body.premium-home #home-baths .home-bath-horizontal strong{font-size:18px;line-height:1.4;margin:0;color:#ffcf39;white-space:normal}
body.premium-home #home-baths .home-bath-horizontal strong small{font-size:14px;color:#b9c4cf}
body.premium-home #home-baths .home-bath-horizontal .home-listing-action{align-self:flex-end!important;margin-top:0;font-size:14px;line-height:1.4;width:auto!important;color:#ffcf39}
body.premium-home .home-baths-social > .home-social-aside{height:100%;align-self:stretch;grid-template-rows:repeat(2,minmax(0,1fr))}
body.premium-home .home-baths-social .home-social-group{height:100%}
@media(max-width:1100px){body.premium-home .home-baths-social > .home-social-aside{height:auto;grid-template-rows:auto}body.premium-home .home-baths-social .home-social-group{height:auto}}
@media(max-width:650px){body.premium-home .home-baths-social #home-baths > .home-catalog-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:minmax(200px,auto)}body.premium-home #home-baths .home-bath-horizontal{min-height:200px;grid-template-columns:38% minmax(0,1fr)}body.premium-home #home-baths .home-bath-horizontal .home-listing-photo{min-height:200px}}

body.premium-home .home-baths-social #home-baths>.home-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;align-items:start;flex:0;gap:18px}
#home-baths .home-bath-premium{min-width:0;overflow:hidden;border:1px solid #d4ab58;border-radius:20px;background:linear-gradient(125deg,#171c21,#101418);color:#f4f1ec}
.bath-premium-top{position:relative}
.bath-premium-photo{display:block;position:relative;aspect-ratio:1.56;overflow:hidden}
.bath-premium-photo img{width:100%;height:100%;object-fit:cover;display:block}
.bath-premium-city{position:absolute;left:12px;top:12px;padding:7px 12px;border:1px solid #f4c86c;border-radius:30px;background:#13191feb;color:#d3d7e2;font-size:14px}
.bath-premium-favorite{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#f5c86c;font-size:34px;line-height:1;padding:0;cursor:pointer}
.bath-premium-body{padding:16px}
#home-baths .bath-premium-body h3{font-family:Georgia,serif;font-size:clamp(24px,2.6vw,38px);line-height:1.15;margin:0 0 16px;color:#f4f1ec;overflow-wrap:anywhere}
.bath-premium-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;margin-bottom:18px}
.bath-premium-services>div{display:flex;gap:9px;align-items:center;min-width:0;color:#c3c9d7;font-size:13px;line-height:1.4}
.bath-premium-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:1px solid #f3c568;border-radius:8px;color:#f3c568}
.bath-premium-icon svg{width:23px;height:23px}
.bath-premium-footer{border-top:1px solid #2a323b;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#home-baths .bath-premium-footer strong{font-size:22px;color:#f4c66b;line-height:1.3;white-space:normal}
#home-baths .bath-premium-footer strong small{font-size:14px;font-weight:400;color:#bfc6d5}
.bath-premium-footer p{font-size:12px;color:#a5adb9;margin:5px 0 0}
.bath-premium-open{display:block;border-radius:12px;padding:12px 18px;background:linear-gradient(#ffda84,#d8a347);color:#111820;font-size:15px;font-weight:700;text-decoration:none}
.bath-premium-open:focus-visible,.bath-premium-favorite:focus-visible,.bath-premium-photo:focus-visible{outline:2px solid #fff;outline-offset:-3px}
@media(max-width:650px){body.premium-home .home-baths-social #home-baths>.home-catalog-grid{grid-template-columns:minmax(0,1fr)}.bath-premium-body{padding:18px}.bath-premium-services>div{font-size:15px}}

/* Content dimensions, independent of neighboring panels. */
@media(min-width:1101px){
body.premium-home .ph-aligned-community{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)!important;grid-template-rows:auto auto auto auto auto!important;align-items:start}
body.premium-home .ph-aligned-community>:is(#feed,#home-apartments,.ph-travel-weather){grid-column:1/-1!important}
body.premium-home .ph-aligned-community>#home-goods{grid-column:1!important;grid-row:4!important}
body.premium-home .ph-aligned-community>.home-baths-social{display:contents}
body.premium-home .ph-aligned-community #home-baths{grid-column:1;grid-row:5;min-width:0}
body.premium-home .ph-aligned-community #dating{grid-column:2;grid-row:4/span 2;align-self:start;height:auto;grid-template-rows:auto auto;min-width:0}
body.premium-home .home-dining-flowers{grid-template-columns:minmax(0,2fr) minmax(0,1.15fr);align-items:start}
}
body.premium-home .home-dining-flowers #home-restaurants>.home-catalog-grid{flex:0;grid-template-rows:none;grid-auto-rows:auto;align-items:start}
body.premium-home .home-dining-flowers #home-restaurants .home-dish-card{display:flex;flex-direction:column;height:auto;min-height:0;min-width:0}
body.premium-home .home-dining-flowers #home-restaurants .home-dish-card .home-listing-photo{height:auto;aspect-ratio:1.6;flex:none;width:100%;min-height:0}
body.premium-home .home-dining-flowers #home-restaurants .home-dish-card .home-listing-photo img{width:100%;height:100%;object-fit:cover;display:block}
body.premium-home .home-dining-flowers #home-restaurants .home-listing-body{flex:0;padding:14px;gap:9px;min-width:0;text-align:left}
body.premium-home .home-dining-flowers #home-restaurants h3{min-height:0;line-height:1.4;overflow-wrap:anywhere;margin:0}
body.premium-home .home-dining-flowers #home-restaurants .home-dish-price{margin:0;padding:0;border:0;line-height:1.4}
body.premium-home .home-dining-flowers #home-restaurants .home-listing-action{margin:4px 0 0;align-self:stretch;white-space:normal;box-sizing:border-box;text-align:center}
body.premium-home .home-dining-flowers>#home-flowers{align-self:start;height:auto;grid-template-rows:auto auto}
@media(max-width:550px){body.premium-home .home-dining-flowers #home-restaurants>.home-catalog-grid{grid-template-columns:minmax(0,1fr)}}

/* Verified in the live browser: flex-basis zero collapsed catalog rows. */
body.premium-home .home-dining-flowers #home-restaurants>.home-catalog-grid{flex:none;height:auto;min-height:0;grid-template-rows:none;grid-auto-rows:auto;align-items:stretch}
body.premium-home .home-dining-flowers>#home-restaurants{height:auto;max-height:none}
body.premium-home .ph-aligned-community #home-baths>.home-catalog-grid{flex:none;height:auto;align-items:stretch}
body.premium-home #home-baths .home-bath-premium{display:flex;flex-direction:column;height:100%;box-sizing:border-box}
body.premium-home #home-baths .bath-premium-body{display:flex;flex-direction:column;flex:1}
body.premium-home #home-baths .bath-premium-body h3{font:600 25px/1.2 Georgia,serif!important;min-height:2.4em;margin-bottom:14px}
body.premium-home #home-baths .bath-premium-services{min-height:80px;align-content:start;flex:1}
body.premium-home #home-baths .bath-premium-footer{min-height:100px;box-sizing:border-box}
body.premium-home #home-baths .bath-premium-open{color:#111820!important}
body.premium-home #home-goods .shop-search{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr);min-width:0}
body.premium-home #home-goods .shop-search button{grid-column:1/-1;justify-self:end}

/* Restore the full-width marketplace above baths and community cards. */
@media(min-width:1101px){
body.premium-home .ph-aligned-community>#home-goods{grid-column:1/-1!important;grid-row:4!important}
body.premium-home .ph-aligned-community #dating{grid-column:2;grid-row:5;}
}
body.premium-home #home-goods .shop-search{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto}
body.premium-home #home-goods .shop-search button{grid-column:auto;justify-self:stretch}
#home-goods .shop-product-row{grid-auto-columns:minmax(190px,1fr)}
@media(max-width:650px){body.premium-home #home-goods .shop-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body.premium-home #home-goods .shop-search label:first-child{grid-column:1/-1}}
