/* Partner directory login & gated access */
.partner-access-bar {
    background: #f8f3eb;
    border: 1px solid #C4A26E;
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}

.partner-access-bar .access-text {
    color: #5b4630;
    font-size: 14px;
    margin: 0;
}

.partner-access-bar .access-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.partner-access-btn {
    background: #B7202e;
    border: none;
    color: #fff;
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
}

.partner-access-btn.secondary {
    background: transparent;
    color: #B7202e;
    border: 1px solid #B7202e;
}

.filter-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 6px;
    vertical-align: middle;
}

.filter-badge.public {
    background: #e8f5e9;
    color: #2e7d32;
}

.filter-badge.gated {
    background: #fff3e0;
    color: #e65100;
    cursor: pointer;
}

.filter-badge.gated:hover {
    opacity: 0.85;
}

.left-filter-box label.gated-filter {
    opacity: 0.85;
}

.left-filter-box label.gated-filter.locked {
    cursor: pointer;
}

.left-filter-box label.gated-filter.locked input {
    pointer-events: none;
}

.category-heading {
    font-size: 12px;
    font-weight: 700;
    color: #8a6d4b;
    text-transform: uppercase;
    margin: 12px 0 8px;
}

#partner-access-modal .modal-content {
    border-radius: 12px;
    border: none;
}

#partner-access-modal .modal-header {
    background: #B7202e;
    color: #fff;
    border-radius: 12px 12px 0 0;
}

#partner-access-modal .modal-header .btn-close {
    filter: invert(1);
}

#partner-access-modal .form-control {
    border-color: #C4A26E;
    border-radius: 8px;
    padding: 12px;
}

#partner-access-modal .step-title {
    font-weight: 600;
    color: #5b4630;
    margin-bottom: 12px;
}

#partner-access-modal .help-text {
    font-size: 13px;
    color: #666;
}

#partner-access-modal .error-text {
    color: #B7202e;
    font-size: 13px;
    margin-top: 8px;
}

#partner-access-modal .success-text {
    color: #2e7d32;
    font-size: 13px;
    margin-top: 8px;
}

.partner-guest-notice {
    background: #fff8e1;
    border-left: 4px solid #C4A26E;
    padding: 10px 14px;
    margin-bottom: 16px;
    font-size: 13px;
    color: #5b4630;
}
