/*
 * Style dla strony Użytkownicy
 * Customer Management Plugin
 *
 * Założenia:
 * - Desktop: 5 kolumn
 * - Tablet: 2 kolumny
 * - Telefon: 1 kolumna
 */

.cmp-uzytkownicy-container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 20px;
}

.cmp-uzytkownicy-header {
    margin-bottom: 18px;
}

.cmp-uzytkownicy-header h2 {
    margin: 0 0 6px 0;
    font-size: 28px;
    font-weight: 700;
    color: #111;
}

.cmp-uzytkownicy-count {
    margin: 0;
    font-size: 14px;
    color: #666;
}

/* ============================================
   SIATKA UŻYTKOWNIKÓW
   ============================================ */

.cmp-uzytkownicy-lista {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

@media (max-width: 1023px) {
    .cmp-uzytkownicy-lista {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

@media (max-width: 767px) {
    .cmp-uzytkownicy-lista {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

/* Brak użytkowników */
.cmp-no-users {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    background: #f8f9fa;
    border-radius: 14px;
    border: 1px solid #e6e8ee;
}

.cmp-no-users p {
    margin: 0;
    font-size: 16px;
    color: #666;
}

/* ============================================
   KARTA UŻYTKOWNIKA
   ============================================ */

.cmp-user-card {
    background: #fff;
    border: 1px solid #e6e8ee;
    border-radius: 14px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: box-shadow 0.2s, transform 0.2s;
}

/* ============================================
   INNER CIRCLE (admin)
   Złota ramka dla użytkowników ze statusem "Inner Circle"
   ============================================ */

.cmp-user-card.cmp-user-card-inner-circle {
    border: 2px solid #d4af37 !important;
    box-shadow: 0 8px 18px rgba(212, 175, 55, 0.14);
}

.cmp-user-card.cmp-user-card-inner-circle:hover {
    box-shadow: 0 10px 22px rgba(212, 175, 55, 0.18) !important;
    transform: translateY(-2px);
}

.cmp-user-card:hover {
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.guzik-smietnika{
	width:10%;
}

.cmp-user-avatar{
	width:20%;
}

.cmp-user-meta{
	width:70%;
	padding-left:20px;
}

.cmp-user-top {
    display: flex;
    position: relative;
    align-items: flex-start;
}

.cmp-user-avatar img {
    width: 72px;
    height: auto;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #f3f4f6;
}

/* ONLINE indicator */
.cmp-user-avatar-wrap{
    position: relative;
    display: inline-block;
    line-height: 0;
}

.cmp-online-dot{
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #22c55e;
    border: 2px solid #ffffff;
    bottom: 4px;
    right: 4px;
    display: none;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.08);
}

.cmp-user-online-label{
    display: none;
    margin-left: 8px;
    font-size: 12px;
    font-weight: 700;
    color: #22c55e;
}

.cmp-user-card-online .cmp-online-dot{
    display: block;
}

.cmp-user-card-online .cmp-user-online-label{
    display: inline-block;
}


.cmp-user-meta {
    flex: 1;
    min-width: 0;
}

.cmp-user-name h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
    color: #111;
    line-height: 1.2;
}

.cmp-user-specialization {
   
    font-size: 13px;
    color: #222;
    font-weight: 600;
}

.cmp-user-location {
    margin-top: 4px;
    font-size: 13px;
    color: #666;
}

/* Usuwanie (śmietnik) */
.cmp-btn-delete {
  
    top: 0;
    right: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 6px;
    border-radius: 10px;
    transition: background 0.2s, transform 0.2s;
    font-size: 18px;
    color: #dc3545;
}

.cmp-btn-delete:hover {
    background: #fff1f2;
    transform: scale(1.05);
}

/* ============================================
   IKONY KONTAKTU + SOCIAL
   ============================================ */

.cmp-users-contact-icons,
.cmp-users-social-icons {
    display: flex;
    gap: 15px;
    flex-wrap: nowrap; /* nie rób "kratki" */
    align-items: center;
    justify-content: center;
  

    /* twarde zabezpieczenie przed nadpisaniami z motywu */
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
}

.cmp-users-icon-link,
.cmp-users-social-link {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f6f7f900;
    color: #111;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, transform 0.2s;

    /* twarde zabezpieczenie przed nadpisaniami z motywu */
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
}

.cmp-users-icon-link:hover,
.cmp-users-social-link:hover {
    background: #eef1f500;
    transform: scale(0.92);
}

.cmp-users-icon {
    display: inline-flex;
    width: 18px;
    height: 18px;
    line-height: 0;
}
.cmp-users-icon-img {
    width: 18px;
    height: 18px;
    display: block;
    object-fit: contain;
}

/* Fallback dla WWW, jeśli brak ikony pliku */
.cmp-users-www-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.2px;
    color: #111;
    background: transparent;
}

/* Disabled: szare i nieklikalne */
.cmp-users-icon-link.is-disabled .cmp-users-icon-img,
.cmp-users-social-link.is-disabled .cmp-users-icon-img {
    filter: grayscale(1);
    opacity: 0.10;
}

.cmp-users-social-link.is-disabled .cmp-users-www-badge,
.cmp-users-icon-link.is-disabled .cmp-users-www-badge {
    opacity: 0.10;
}


.cmp-users-icon-link.is-disabled,
.cmp-users-social-link.is-disabled {
    background: #f2f3f500;
    color: #b6bcc6;
    pointer-events: none;
}

/* Dodatkowe zabezpieczenie przed nadpisaniem przez motyw/Elementor */
.cmp-uzytkownicy-container .cmp-users-contact-icons,
.cmp-uzytkownicy-container .cmp-users-social-icons {
    display: flex !important;
    position: relative !important;
}

.cmp-uzytkownicy-container .cmp-users-contact-icons .cmp-users-icon-link,
.cmp-uzytkownicy-container .cmp-users-social-icons .cmp-users-social-link {
    display: inline-flex !important;
    position: relative !important;
}

/* Na bardzo wąskich ekranach pozwól zawijać, aby nie wychodziło poza kartę */
@media (max-width: 360px) {
    .cmp-users-contact-icons,
    .cmp-users-social-icons {
        flex-wrap: wrap;
    }
}


/* ============================================
   AKCJE
   ============================================ */

.cmp-user-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cmp-user-actions .cmp-btn {
    width: 100%;
}

/* ============================================
   PAGINACJA
   ============================================ */

.cmp-uzytkownicy-pagination {
    margin-top: 18px;
    display: flex;
    justify-content: center;
}

.cmp-pagination-inner {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.cmp-page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border-radius: 12px;
    border: 1px solid #e6e8ee;
    background: #fff;
    text-decoration: none;
    color: #111;
    font-weight: 700;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.cmp-page-link:hover {
    background: #111;
    color: #fff;
    border-color: #111;
}

.cmp-page-link.is-active {
    background: #111;
    color: #fff;
    border-color: #111;
}

.cmp-page-link.is-disabled {
    opacity: 0.4;
    pointer-events: none;
}

/* Mobile tweaks */
@media (max-width: 767px) {
    .cmp-uzytkownicy-header h2 {
        font-size: 22px;
    }

    .cmp-user-avatar img {
        width: 64px;
        height: 64px;
    }
}
