/* ================= BASE ================= */

.service-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    width: 100%;
    padding: 12px 16px;
    box-sizing: border-box;

    background: var(--color-bg-row);
    border: var(--border-default);
    border-radius: var(--radius-lg);

    box-shadow: var(--shadow-sm);
    overflow: hidden; /* 🔒 KEEP */

    transition:
        background var(--transition-fast),
        border-color var(--transition-fast);
}

.service-row:hover {
    background: var(--color-bg-row-hover);
}


/* LEFT */
.service-left {
    display: flex;
    flex-direction: column;
    gap: 2px;

    flex: 1;
    min-width: 0;
}

.service-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-primary);
    line-height: 1.3;
}

.service-desc {
    font-size: 12.5px;
    color: var(--color-text-secondary);
    line-height: 1.4;
    opacity: 0.85;
}


/* RIGHT */
.service-right {
    display: flex;
    align-items: center;
    gap: 16px;

    flex-shrink: 0;
    margin-top: 2px;
}

.service-duration {
    font-size: 12.5px;
    color: var(--color-text-secondary);
}

.service-price {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-primary);
    letter-spacing: 0.2px;
}


/* REMOVE */
.service-remove {
    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: var(--radius-full);
    cursor: pointer;

    font-size: 16px;
    color: #9ca3af;

    transition:
        background var(--transition-fast),
        color var(--transition-fast);
}

.service-remove:hover {
    background: var(--color-bg-row-hover);
    color: var(--color-text-primary);
}


/* ================= VARIANTS ================= */

/* ADDON */
.service-row.addon {
    background: #fcfcfc; /* giữ nguyên */
    border: 1px dashed var(--color-border-default);
}

.service-row.addon .service-name {
    font-weight: 500;
}

.service-row.addon .service-price {
    color: var(--color-text-secondary);
}


/* SELECTED */
.service-row.selected {
    background: linear-gradient(90deg, #a78bfa, #8b5cf6);
    border: none;
    border-radius: var(--radius-lg);
}

.service-row.selected .service-name,
.service-row.selected .service-price {
    color: #ffffff;
}

.service-row.selected .service-desc,
.service-row.selected .service-duration {
    color: rgba(255,255,255,0.85);
}

.service-row.selected .service-remove {
    color: rgba(255,255,255,0.8);
}


/* EDITING */
.service-row.editing {
    border: 1px solid #6366f1;
    box-shadow: 0 0 0 2px rgba(99,102,241,0.12);
    background: #ffffff;
}


/* DISABLED */
.service-row.disabled {
    opacity: 0.6; /* 🔥 FIX BUG */
    filter: grayscale(20%);
}