/* 관광 다중복합검색 — tour/search.php (간편필터 + 상세검색 분리) */
.tms-wrap {
    padding: 16px 0 48px;
    font-family: 'Pretendard', 'Noto Sans KR', -apple-system, sans-serif;
    --tms-accent: #0891b2;
    --pub-accent: var(--tms-accent);
    --pub-page-accent: var(--tms-accent);
    --nms-accent: var(--tms-accent);
}
.tms-notice {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    margin-bottom: 14px;
    background: #f0fdfa;
    border: 1px solid #99f6e4;
    border-radius: 12px;
    font-size: 15px;
    color: #0f766e;
}
.tms-notice a {
    color: #0e7490;
    font-weight: 700;
    text-decoration: none;
}
.tms-notice a:hover { text-decoration: underline; }
.tms-wrap .tms-search-wrap { margin: 14px 0 16px; }
.tms-wrap .tms-search-wrap .ev-basic-search { flex-wrap: wrap; }
.tms-go { flex-shrink: 0; }

.tms-section-label {
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.tms-section-label .badge-simple {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    background: #10b981;
    border-radius: 6px;
    padding: 2px 8px;
}
.tms-section-label .badge-detail {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    background: #6366f1;
    border-radius: 6px;
    padding: 2px 8px;
}

.tms-simple {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 12px;
}
.tms-simple .tms-chips { margin-top: 4px; }

.tms-filters {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 16px;
}
.tms-filters-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 16px;
    border-bottom: 1px solid #f1f5f9;
    background: #f8fafc;
}
.tms-filters-bar .ttl {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 7px;
}
.tms-filters-bar .cnt {
    font-size: 14px;
    font-weight: 800;
    color: #fff;
    background: var(--tms-accent);
    border-radius: 99px;
    padding: 1px 9px;
    min-width: 20px;
    text-align: center;
}
.tms-filters-bar .spacer { flex: 1; }
.tms-mini-btn {
    border: 1px solid #e2e8f0;
    background: #fff;
    border-radius: 8px;
    padding: 7px 13px;
    font-size: 14px;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
    font-family: inherit;
}
.tms-mini-btn:hover { border-color: var(--tms-accent); color: var(--tms-accent); }

.tms-group { border-bottom: 1px solid #f1f5f9; }
.tms-group:last-child { border-bottom: none; }
.tms-group-head {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 16px;
    background: #fff;
    border: none;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
}
.tms-group-head .g-name { font-size: 16px; font-weight: 800; color: #0f172a; }
.tms-group-head .g-hint { font-size: 14px; color: #94a3b8; margin-left: 4px; }
.tms-group-head .g-badge {
    font-size: 14px;
    font-weight: 800;
    color: #fff;
    background: var(--tms-accent);
    border-radius: 99px;
    padding: 0 8px;
    min-width: 18px;
    text-align: center;
    display: none;
}
.tms-group-head .g-arrow { margin-left: auto; color: #94a3b8; font-size: 14px; transition: 0.2s; }
.tms-group.open .g-arrow { transform: rotate(180deg); }
.tms-group-body { display: none; padding: 0 16px 14px; }
.tms-group.open .tms-group-body { display: block; }

.tms-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.tms-chip {
    font-size: 14px;
    padding: 7px 14px;
    border-radius: 99px;
    cursor: pointer;
    border: 1.5px solid #e2e8f0;
    background: #fff;
    color: #475569;
    transition: 0.12s;
    user-select: none;
}
.tms-chip:hover { border-color: var(--tms-accent); color: var(--tms-accent); }
.tms-chip.active {
    background: var(--tms-accent);
    border-color: var(--tms-accent);
    color: #fff;
    font-weight: 700;
}
.tms-chip--l3 { font-size: 14px; }

.tms-emd { display: none; margin-top: 12px; padding: 12px; background: #f8fafc; border-radius: 10px; }
.tms-emd.open { display: block; }
.tms-emd-lbl { font-size: 14px; font-weight: 700; color: #64748b; margin-bottom: 8px; }

.tms-ri-row {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 12px;
    flex-wrap: wrap;
}
.tms-ri-row label { font-size: 14px; font-weight: 700; color: #64748b; flex-shrink: 0; }
.tms-ri-input {
    flex: 1;
    min-width: 140px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 15px;
    font-family: inherit;
}

.tms-l3-wrap { margin-top: 12px; }
.tms-l3-empty { font-size: 14px; color: #94a3b8; margin: 8px 0 0; }

.tms-actionbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}
.tms-active-tags { display: flex; flex-wrap: wrap; gap: 6px; flex: 1; min-width: 0; }
.tms-active-tag {
    font-size: 14px;
    padding: 5px 10px;
    border-radius: 99px;
    background: #eff6ff;
    color: #1e40af;
    border: 1px solid #bfdbfe;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.tms-active-tag .rm { cursor: pointer; font-weight: 800; opacity: 0.7; }
.tms-active-tag .rm:hover { opacity: 1; }
.tms-active-tags .empty-hint { font-size: 14px; color: #94a3b8; }
.tms-sort {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 15px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
}

.tms-result-count { font-size: 15px; color: #475569; margin: 0 0 12px; }
.tms-result-count strong { color: var(--tms-accent); }
.tms-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }

.tms-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.15s;
}
.tms-card:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); }
.tms-card-link { display: block; text-decoration: none; color: inherit; }
.tms-card-thumb { height: 160px; background: #f1f5f9; position: relative; overflow: hidden; }
.tms-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.tms-card-ph {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #94a3b8;
    font-size: 14px;
}
.tms-card-ph i { font-size: 28px; }
.tms-card-body { padding: 12px 14px 14px; }
.tms-card-cat { font-size: 14px; color: #64748b; margin-bottom: 4px; }
.tms-card-cat i { margin-right: 4px; }
.tms-card-cls { font-size: 14px; color: #94a3b8; margin-bottom: 4px; }
.tms-card-title { font-size: 17px; font-weight: 800; color: #0f172a; margin: 0 0 6px; line-height: 1.35; }
.tms-card-meta { font-size: 14px; color: #64748b; }

.tms-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 20px; flex-wrap: wrap; }
.tms-page-btn {
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1.5px solid #e2e8f0;
    background: #fff;
    color: #1e293b;
    font-size: 14px;
    cursor: pointer;
    text-decoration: none;
    transition: 0.14s;
}
.tms-page-btn:hover,
.tms-page-btn.active { background: var(--tms-accent); border-color: var(--tms-accent); color: #fff; }
.tms-page-btn.disabled { opacity: 0.35; pointer-events: none; }

.tms-state {
    text-align: center;
    padding: 54px 20px;
    color: #94a3b8;
    background: #fff;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
}
.tms-state strong { display: block; font-size: 16px; color: #475569; margin-bottom: 6px; }
.tms-state p { margin: 0; font-size: 14px; }

/* 목록 페이지 간편 필터 */
.tour-quick-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px 0 4px;
    margin-bottom: 8px;
}
.tour-quick-filter-label {
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    flex-shrink: 0;
}
.tour-quick-filter-label i { margin-right: 4px; color: var(--pub-accent, #0891b2); }
.tour-quick-filter-chips { display: flex; flex-wrap: wrap; gap: 6px; flex: 1; }
.tour-qchip {
    font-size: 14px;
    padding: 6px 12px;
    border-radius: 99px;
    border: 1.5px solid #e2e8f0;
    background: #fff;
    color: #475569;
    text-decoration: none;
    font-weight: 600;
    transition: 0.12s;
}
.tour-qchip:hover { border-color: var(--pub-accent, #0891b2); color: var(--pub-accent, #0891b2); }
.tour-qchip.active {
    background: var(--pub-accent, #0891b2);
    border-color: var(--pub-accent, #0891b2);
    color: #fff;
}
.tour-quick-filter-more {
    font-size: 14px;
    font-weight: 700;
    color: #0891b2;
    text-decoration: none;
    white-space: nowrap;
}
.tour-quick-filter-more i { margin-right: 4px; }

/* ── tour hub index (phs-hub-search--tour) ── */
.phs-hub-search--tour {
    --tms-accent: var(--pub-accent, #0891b2);
    margin-bottom: 8px;
}
.phs-hub-search--tour .ev-basic-search {
    flex-wrap: wrap;
    gap: 8px;
}
.phs-hub-search--tour .ev-search-box {
    flex: 1 1 220px;
    min-width: 0;
}
.phs-tour-detail {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px 16px 16px;
    margin-top: 10px;
}
.phs-tour-detail-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f1f5f9;
}
.phs-tour-detail-title {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.phs-tour-composite-link {
    font-size: 14px;
    font-weight: 700;
    color: var(--tms-accent);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.phs-tour-composite-link:hover { text-decoration: underline; }
.phs-tour-filter-block { margin-bottom: 14px; }
.phs-tour-filter-block:last-of-type { margin-bottom: 0; }
.phs-tour-filter-label {
    font-size: 15px;
    font-weight: 800;
    color: #475569;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.phs-tour-filter-hint {
    font-size: 14px;
    font-weight: 700;
    color: #94a3b8;
}
.phs-hub-search--tour .tms-chip {
    font-family: inherit;
    appearance: none;
}
.phs-tour-detail-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #f1f5f9;
}
.phs-tour-active {
    flex: 1 1 180px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}
.phs-tour-active-empty {
    font-size: 14px;
    color: #94a3b8;
}
.phs-tour-active-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    border-radius: 99px;
    padding: 5px 10px;
    font-size: 14px;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
    font-family: inherit;
}
.phs-tour-active-tag:hover {
    border-color: var(--tms-accent);
    color: var(--tms-accent);
}
.phs-tour-submit { margin-left: auto; }
.phs-hub-search--tour .phs-tour-emd { margin-top: 10px; }

@media (max-width: 768px) {
    .phs-hub-search--tour .ev-search-btn-main,
    .phs-hub-search--tour .ev-detail-toggle {
        flex: 1 1 calc(50% - 4px);
        justify-content: center;
    }
    .phs-tour-detail-actions { flex-direction: column; align-items: stretch; }
    .phs-tour-submit { margin-left: 0; width: 100%; }
    .phs-tour-composite-link { width: 100%; justify-content: flex-end; }
}

@media (max-width: 640px) {
    .tms-wrap .tms-search-wrap .ev-basic-search { gap: 8px; }
    .tms-wrap .tms-search-wrap .ev-search-box { flex: 1 1 100%; }
    .tms-grid { grid-template-columns: 1fr; }
    .tour-quick-filter { flex-direction: column; align-items: flex-start; }
}
