/* ============================================
   SEARCH FORM — matching Noticias pattern
   ============================================ */
.search-form-group {
    display: flex;
    border: 2px solid var(--tenant-primary);
    border-radius: 50rem;
    overflow: hidden;
    background: #fff;
}

.search-form-input,
input.search-form-input {
    flex: 1;
    border: none;
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
    outline: none;
    background: transparent;
    color: var(--tenant-primary, #1075ad);
    caret-color: var(--tenant-primary, #1075ad);
    -webkit-text-fill-color: var(--tenant-primary, #1075ad);
}

.search-form-input::placeholder,
input.search-form-input::placeholder {
    color: #adb5bd;
    -webkit-text-fill-color: #adb5bd;
}

.search-form-btn {
    border: none;
    background: var(--tenant-primary);
    color: #fff;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
}

.search-form-btn:hover {
    background: var(--tenant-primary);
    filter: brightness(90%);
}

/* ============================================
   ASSOCIADO CARDS
   ============================================ */
.associado-card {
    cursor: pointer;
    transition: all .3s ease;
    border-radius: 12px;
    overflow: hidden;
}

.associado-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,.1);
}

/* Equal-height cards: force row to stretch all columns */
.associados-grid-row {
    align-items: stretch;
}

/* Ensure team-content inside flex-column cards fills space properly */
.associado-card .team-content {
    min-height: 0; /* allow flex-shrink on children */
}

/* Description clamp: max 4 lines with ellipsis, fallback for long single-word text */
.associado-card .team-content p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

/* ============================================
   MODAL SCROLL CONSTRAINT
   ============================================ */
.associado-modal-body {
    max-height: 75vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* ============================================
    TAG FILTER PILLS
    ============================================ */
.associado-tag-check {
    margin-bottom: 0;
}

/* Unchecked: outline with tenant color */
.associados-filter-section .associado-tag-label,
.associados-filter-section .btn.btn-sm.btn-outline-primary.rounded-pill.associado-tag-label {
    color: var(--tenant-primary, #1075ad);
    border-color: var(--tenant-primary, #1075ad);
    background-color: transparent;
    font-size: 0.8rem;
    font-weight: 500;
    transition: all 0.15s ease;
}

/* Checked: filled with tenant color (specificity must beat unchecked rule) */
.associados-filter-section .associado-tag-check .btn-check:checked + .associado-tag-label,
.associado-tag-check .btn-check:checked + .associado-tag-label {
    background-color: var(--tenant-primary, #1075ad) !important;
    color: #fff !important;
    border-color: var(--tenant-primary, #1075ad) !important;
}

/* Hover: filled with tenant color */
.associados-filter-section .associado-tag-label:hover {
    background-color: var(--tenant-primary, #1075ad);
    color: #fff;
    border-color: var(--tenant-primary, #1075ad);
}

/* Focus ring */
.associado-tag-check .btn-check:focus + .associado-tag-label {
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb, 13, 110, 253), 0.25);
}

/* ============================================
   REGIONAL SELECT
   ============================================ */
.associados-regional-select {
    border: 2px solid var(--tenant-primary);
    border-radius: 50rem;
    padding: 0.75rem 2.5rem 0.75rem 1.25rem;
    font-size: 1rem;
    color: var(--tenant-primary, #1075ad);
    background-color: #fff;
    cursor: pointer;
    transition: border-color 0.15s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%231075ad' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 16px 12px;
    width: auto;
    min-width: 200px;
    max-width: 320px;
}

.associados-regional-select:focus {
    border-color: var(--tenant-primary);
    outline: none;
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb, 13, 110, 253), 0.25);
}

/* ============================================
   FILTER SECTION
   ============================================ */
.associados-filter-section {
    background-color: var(--section-bg, #fff);
}

/* ============================================
   CATEGORY FILTER BUTTONS — portal primary color
   ============================================ */
.btn-primary {
    --bs-btn-bg: var(--tenant-primary);
    --bs-btn-border-color: var(--tenant-primary);
    --bs-btn-hover-bg: var(--tenant-primary);
    --bs-btn-hover-border-color: var(--tenant-primary);
    --bs-btn-active-bg: var(--tenant-primary);
    --bs-btn-active-border-color: var(--tenant-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--tenant-primary);
    --bs-btn-border-color: var(--tenant-primary);
    --bs-btn-hover-bg: var(--tenant-primary);
    --bs-btn-hover-border-color: var(--tenant-primary);
    --bs-btn-active-bg: var(--tenant-primary);
    --bs-btn-active-border-color: var(--tenant-primary);
}

/* ============================================
   OVERRIDE GLOBAL .btn BORDER-RADIUS FOR PILLS
   ============================================ */
.associados-filter-section .btn.rounded-pill {
    border-radius: 50rem !important;
}

/* ============================================
   PREVENT NICE SELECT DUPLICATE ARROWS
   ============================================ */
.associados-filter-section .nice-select {
    display: none !important;
}

.associados-filter-section select.form-select {
    display: block !important;
    width: 100% !important;
}
