/**
 * Trevinfo PRO — Partners list view stílusok.
 * Prefix: .trv-  · Önálló szelet-fájl (a fő trevinfopro.css-t nem érinti).
 */

.trv-list-view { --trv-gap: 1rem; }

/* Eszköztár */
.trv-list-toolbar {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    margin-bottom: var(--trv-gap);
}
.trv-list-count { margin-left: auto; color: #666; font-size: .9rem; }

.trv-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem .9rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    font: inherit;
    line-height: 1;
}
.trv-btn:hover { background: #f4f4f4; }
.trv-btn-primary { background: #1a73e8; border-color: #1a73e8; color: #fff; }
.trv-btn-primary:hover { background: #1666cf; }
.trv-btn[aria-expanded="true"] { background: #eef4ff; border-color: #1a73e8; }
.trv-btn.trv-loading { opacity: .6; pointer-events: none; }
.trv-btn.trv-located { border-color: #22a06b; color: #22a06b; }

/* Szűrőpanel */
.trv-filter-panel {
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: var(--trv-gap);
    background: #fafafa;
}
.trv-filter-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .75rem;
    margin-bottom: .75rem;
}
.trv-field { display: flex; flex-direction: column; gap: .25rem; font-size: .85rem; }
.trv-field > span { color: #555; font-weight: 600; }
.trv-field input, .trv-field select {
    padding: .45rem .6rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    font: inherit;
}
.trv-field-radius, .trv-field-zip { max-width: 160px; }
.trv-filter-actions { display: flex; gap: .5rem; justify-content: flex-end; }

/* Térkép */
.trv-map-wrap { margin-bottom: var(--trv-gap); }
.trv-map-canvas { width: 100%; height: 420px; border-radius: 8px; overflow: hidden; }
.trv-map-error { padding: 2rem; text-align: center; color: #999; }

/* Kártyarács */
.trv-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--trv-gap);
}
.trv-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow .15s ease, transform .15s ease;
}
.trv-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.08); transform: translateY(-2px); }

.trv-card-logo { display: block; aspect-ratio: 16 / 9; background: #f2f2f2; }
.trv-card-logo img { width: 100%; height: 100%; object-fit: cover; }

.trv-card-body { padding: .9rem 1rem 1rem; display: flex; flex-direction: column; gap: .4rem; }
.trv-card-title { margin: 0; font-size: 1.1rem; line-height: 1.25; }
.trv-card-title a { color: inherit; text-decoration: none; }
.trv-card-title a:hover { text-decoration: underline; }
.trv-card-slogan { margin: 0; color: #666; font-style: italic; font-size: .9rem; }
.trv-card-location { margin: 0; color: #555; font-size: .85rem; }
.trv-card-desc {
    margin: 0; color: #444; font-size: .9rem;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.trv-card-footer {
    margin-top: auto;
    padding-top: .5rem;
    display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
}

/* Jelvények */
.trv-badge {
    display: inline-block;
    padding: .2rem .5rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .02em;
}
.trv-badge-featured {
    position: absolute; top: .6rem; left: .6rem; z-index: 2;
    background: #ffcf33; color: #4a3b00;
}
.trv-badge-discount { background: #e8f5ee; color: #1c7a4a; }

/* Nyitva / Zárva */
.trv-open-status { font-size: .82rem; font-weight: 600; }
.trv-open-status.is-open { color: #1c7a4a; }
.trv-open-status.is-closed { color: #b23; }

/* Üres állapot + lapozás */
.trv-empty { padding: 2rem; text-align: center; color: #888; }
.trv-pagination { margin-top: 1.5rem; display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.trv-pagination-counter { color: #888; font-size: .85rem; }

/* Reszponzív finomítás */
@media (max-width: 600px) {
    .trv-card-grid { grid-template-columns: 1fr; }
    .trv-list-count { width: 100%; margin: .3rem 0 0; }
}
