/* Homepage — compact mobile feed */

@media (max-width: 768px) {
  body.page-home .site-content {
    padding: 0 10px calc(12px + var(--safe-bottom, 0px));
  }

  body.page-home .wrap {
    margin: 4px 0 12px;
    padding: 0;
  }

  body.page-home .flash-success {
    padding: 10px 12px;
    margin-bottom: 10px;
    font-size: 13px;
    border-radius: 10px;
  }

  /* Hero — one compact strip */
  body.page-home .hero {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 11px 12px;
    margin-bottom: 8px;
    border-radius: 12px;
  }

  body.page-home .hero h1 {
    font-size: 0.98rem;
    line-height: 1.28;
    letter-spacing: -0.01em;
  }

  body.page-home .hero p {
    display: none;
  }

  body.page-home .hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 6px;
    width: 100%;
  }

  body.page-home .pill {
    padding: 8px 10px;
    font-size: 12px;
    min-height: 36px;
  }

  /* Filters — 2 compact columns */
  body.page-home .filter-toolbar {
    gap: 0;
    margin-bottom: 8px;
    padding: 8px;
    border-radius: 10px;
  }

  body.page-home .filter-toolbar__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.page-home .filter-toolbar__row:has(.filter-field:only-child) {
    grid-template-columns: 1fr;
  }

  body.page-home .filter-field {
    flex: unset;
    gap: 3px;
  }

  body.page-home .filter-field__label {
    font-size: 10px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  body.page-home .filter-field__select {
    padding: 7px 9px;
    border-radius: 8px;
    font-size: 13px;
  }

  body.page-home .feed-panel {
    margin-bottom: 10px;
    padding: 12px;
    border-radius: 11px;
  }

  body.page-home .feed-panel h3 {
    font-size: 14px;
    margin-bottom: 6px;
  }

  body.page-home .feed-panel p {
    font-size: 13px;
    margin-bottom: 10px;
  }

  body.page-home .feed-panel .feed-btn {
    min-height: 36px;
    padding: 8px 12px;
    font-size: 12px;
  }

  body.page-home .online-filter {
    margin-bottom: 10px;
    gap: 8px;
  }

  body.page-home .online-filter form {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
  }

  body.page-home .online-filter label {
    font-size: 11px !important;
    margin: 0 !important;
  }

  body.page-home .online-filter select {
    min-width: 0;
    width: 100%;
    padding: 7px 9px;
    font-size: 13px;
  }

  body.page-home .online-filter button {
    width: 100%;
    min-height: 36px;
    padding: 8px 12px;
    font-size: 12px;
  }

  /* Premium block */
  body.page-home .premium-section-title,
  body.page-home .section-head {
    margin: 8px 0 6px;
  }

  body.page-home .section-title {
    font-size: 13px;
    gap: 6px;
  }

  body.page-home .section-title__icon {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    font-size: 11px;
  }

  body.page-home .grid-prem,
  body.page-home .premium-grid {
    gap: 6px;
    margin-bottom: 6px;
  }

  body.page-home .tile-prem,
  body.page-home .premium-tile {
    border-radius: 11px;
  }

  body.page-home .tile-prem .name,
  body.page-home .premium-tile .name {
    font-size: 11px;
  }

  body.page-home .tile-prem .info {
    padding: 28px 8px 8px;
  }

  body.page-home .premium-tile .info {
    padding: 7px 8px 8px;
  }

  body.page-home .btn-want,
  body.page-home .premium-want {
    min-height: 56px;
    padding: 10px 12px;
    gap: 10px;
    border-radius: 11px;
  }

  body.page-home .btn-want__icon,
  body.page-home .premium-want__icon {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    font-size: 16px;
  }

  body.page-home .btn-want__body strong,
  body.page-home .premium-want__body strong {
    font-size: 13px;
  }

  body.page-home .btn-want__body span,
  body.page-home .premium-want__body span {
    font-size: 11px;
  }

  /* Listing cards — denser, badge in corner */
  body.page-home .rows-list {
    gap: 6px;
  }

  body.page-home .row-item {
    position: relative;
    grid-template-columns: 64px minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 0 10px;
    padding: 8px 10px;
    border-radius: 11px;
    align-items: start;
  }

  body.page-home .row-img {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    align-self: start;
  }

  body.page-home .row-content h3 {
    font-size: 14px;
    margin: 0 48px 3px 0;
    line-height: 1.28;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  body.page-home .row-desc {
    font-size: 12px;
    line-height: 1.35;
    -webkit-line-clamp: 1;
    margin-bottom: 2px;
  }

  body.page-home .row-meta {
    margin-top: 4px;
    gap: 4px;
    font-size: 10px;
  }

  body.page-home .row-meta span {
    padding: 2px 6px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.page-home .row-meta__purpose {
    background: rgba(188, 19, 254, 0.14);
    border: 1px solid rgba(188, 19, 254, 0.22);
    color: #e8c8ff;
    font-weight: 700;
    flex-shrink: 0;
  }

  body.page-home .row-right {
    position: absolute;
    top: 8px;
    right: 10px;
    grid-column: unset;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    margin: 0;
    padding: 0;
    border: none;
    text-align: right;
    font-size: 10px;
  }

  body.page-home .row-right > div[style] {
    font-size: 10px !important;
  }

  body.page-home .badge-online {
    font-size: 10px;
    gap: 4px;
  }

  body.page-home .badge-online::before {
    width: 6px;
    height: 6px;
  }

  body.page-home .pagination-simple {
    margin: 16px auto 4px;
    gap: 8px;
  }

  body.page-home .pag-btn {
    padding: 8px 10px;
    font-size: 12px;
  }

  body.page-home .pag-info {
    padding: 7px 10px;
    font-size: 12px;
  }

  body.page-home .site-empty-guest,
  body.page-home .site-empty-default {
    padding: 24px 16px;
    border-radius: 12px;
  }
}

@media (max-width: 480px) {
  body.page-home .hero h1 {
    font-size: 0.92rem;
  }

  body.page-home .hero-actions {
    grid-template-columns: 1fr 1fr;
  }

  body.page-home .filter-toolbar__row {
    grid-template-columns: 1fr;
  }

  body.page-home .row-item {
    grid-template-columns: 56px minmax(0, 1fr);
    padding: 7px 9px;
  }

  body.page-home .row-img {
    width: 56px;
    height: 56px;
  }

  body.page-home .row-content h3 {
    font-size: 13px;
    margin-right: 44px;
    -webkit-line-clamp: 2;
  }

  body.page-home .row-desc {
    display: none;
  }

  body.page-home .row-meta__age {
    display: none;
  }

  body.page-home .row-meta__seek {
    max-width: 46%;
  }

  body.page-home .row-meta__loc {
    max-width: 52%;
  }

  body.page-home .grid-prem,
  body.page-home .premium-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }
}

@media (max-width: 360px) {
  body.page-home .pill {
    font-size: 11px;
    padding: 7px 8px;
  }

  body.page-home .row-content h3 {
    -webkit-line-clamp: 2;
  }
}
